class LAN – control an Ethernet module¶
This class allows you to control the Ethernet interface. The PHY hardware type is board-specific.
Example usage:
import network
nic = network.LAN(0)
print(nic.ifconfig())
# now use socket as usual
...
Constructors¶
- class network.LAN(id, *, phy_type=<board_default>, phy_addr=<board_default>, ref_clk_mode=<board_default>)¶
Create a LAN driver object, initialise the LAN module using the given PHY driver name, and return the LAN object.
Arguments are:
id is the number of the Ethernet port, either 0 or 1.
phy_type is the name of the PHY driver. For most board the on-board PHY has to be used and is the default. Suitable values are port specific.
phy_addr specifies the address of the PHY interface. As with phy_type, the hardwired value has to be used for most boards and that value is the default.
ref_clk_mode specifies, whether the data clock is provided by the Ethernet controller or the PYH interface. The default value is the one that matches the board. If set to
LAN.OUT
orPin.OUT
orTrue
, the clock is driven by the Ethernet controller, if set toLAN.IN
orPin.IN
orFalse
, the clock is driven by the PHY interface.
For example, with the Seeed Arch Mix board you can use:
nic = LAN(0, phy_type=LAN.PHY_LAN8720, phy_addr=1, ref_clk_mode=Pin.IN)
Methods¶
- LAN.active([state])¶
With a parameter, it sets the interface active if state is true, otherwise it sets it inactive. Without a parameter, it returns the state.
- LAN.isconnected()¶
Returns
True
if the physical Ethernet link is connected and up. ReturnsFalse
otherwise.
- LAN.status()¶
Returns the LAN status.
- LAN.ifconfig([(ip, subnet, gateway, dns)])¶
Get/set IP address, subnet mask, gateway and DNS.
When called with no arguments, this method returns a 4-tuple with the above information.
To set the above values, pass a 4-tuple with the required information. For example:
nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
- LAN.config(config_parameters)¶
Sets or gets parameters of the LAN interface. The only parameter that can be retrieved is the MAC address, using:
mac = LAN.config("mac")
The parameters that can be set are:
trace=n
sets trace levels; suitable values are:2: trace TX
4: trace RX
8: full trace
low_power=bool
sets or clears low power mode, valid values beingFalse
orTrue
.
Specific LAN class implementations¶
On the mimxrt port, suitable values for the phy_type constructor argument are:
PHY_KSZ8081
, PHY_DP83825
, PHY_DP83848
, PHY_LAN8720
, PHY_RTL8211F
.