TL-WR1043: switch
Stefan Bethke
stb at lassitu.de
Mon Dec 12 23:48:29 UTC 2011
http://www.lassitu.de/freebsd/etherswitch-rtl8366rb.patch
Another update: I can now set media and mediaopt:
# kldload rtl8366rb
rtl8366rb0: <RTL8366RB Ethernet Switch Controller> at addr 0xa8 on iicbus0
rtl8366rb0: rev. 3
miibus0: <MII bus> on rtl8366rb0
ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
ukphy0: OUI 0x00e04c, model 0x0016, rev. 1
ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus1: <MII bus> on rtl8366rb0
ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus1
ukphy1: OUI 0x00e04c, model 0x0016, rev. 1
ukphy1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus2: <MII bus> on rtl8366rb0
ukphy2: <Generic IEEE 802.3u media interface> PHY 2 on miibus2
ukphy2: OUI 0x00e04c, model 0x0016, rev. 1
ukphy2: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus3: <MII bus> on rtl8366rb0
ukphy3: <Generic IEEE 802.3u media interface> PHY 3 on miibus3
ukphy3: OUI 0x00e04c, model 0x0016, rev. 1
ukphy3: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
miibus4: <MII bus> on rtl8366rb0
ukphy4: <Generic IEEE 802.3u media interface> PHY 4 on miibus4
ukphy4: OUI 0x00e04c, model 0x0016, rev. 1
ukphy4: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
etherswitch0: <Switch controller> on rtl8366rb0
rtl8366rb0port0: link state changed to DOWN
rtl8366rb0port1: link state changed to DOWN
rtl8366rb0port2: link state changed to DOWN
rtl8366rb0port3: link state changed to DOWN
rtl8366rb0port4: link state changed to DOWN
rtl8366rb0port0: link state changed to UP
rtl8366rb0port1: link state changed to UP
# etherswitchcfg
port0:
vlangroup: 1
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
port1:
vlangroup: 0
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
port2:
vlangroup: 0
media: Ethernet autoselect (none)
status: no carrier
port3:
vlangroup: 0
media: Ethernet autoselect (none)
status: no carrier
port4:
vlangroup: 0
media: Ethernet autoselect (none)
status: no carrier
port5:
vlangroup: 0
media: Ethernet 1000baseT <full-duplex>
status: active
vlangroup0:
vlan: 1
members 1,2,3,4,5
vlangroup1:
vlan: 2
members 0,5t
# etherswitchcfg port0 media 100basetx mediaopt fdx
rtl8366rb0port0: link state changed to DOWN
port0:
vlangroup: 1
media: Ethernet 100baseTX <full-duplex>
status: no carrier
rtl8366rb0port0: link state changed to UP
The code now reuses the if_media.c ioctl code on the kernel side, so it's fairly compact.
Stefan
--
Stefan Bethke <stb at lassitu.de> Fon +49 151 14070811
More information about the freebsd-embedded
mailing list