class LAN – control an Ethernet module
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
network.LAN
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.OUTorPin.OUTorTrue, the clock is driven by the Ethernet controller, if set toLAN.INorPin.INorFalse, 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
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
LAN.isconnected()Returns True if the physical Ethernet link is connected and up.
Returns False otherwise.
LAN.status
LAN.status()Returns the LAN status.
LAN.ifconfig
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
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=nsets trace levels; suitable values are:- 2: trace TX
- 4: trace RX
- 8: full trace
-
low_power=boolsets or clears low power mode, valid values beingFalseorTrue.
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.
