Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Dec 2011 21:37:38 +0100
From:      Stefan Bethke <stb@lassitu.de>
To:        freebsd-embedded@freebsd.org
Subject:   Re: TL-WR1043: switch
Message-ID:  <C2885254-F02C-401B-B56D-39F62933F3CC@lassitu.de>
In-Reply-To: <710E2C7A-E9AC-4103-8C61-0EDC4A3AF9DE@lassitu.de>
References:  <68ABED76-CB1F-405A-8036-EC254F7511FA@lassitu.de> <3B3DB17D-BF87-40EE-B1C1-445F178E8844@lassitu.de> <86030CEE-6839-4B96-ACDC-2BA9AC1E4AE4@lassitu.de> <2D625CC9-A0E3-47AA-A504-CE8FB2F90245@lassitu.de> <203BF1C8-D528-40C9-8611-9C7AC7E43BAB@lassitu.de> <3C0E9CA3-E130-4E9A-ABCC-1782E28999D1@lassitu.de> <CAJ-VmomWsGy9wMb0zA-WjTRP6Qh%2BO2u_Pe-rgkerFFpi04iKnw@mail.gmail.com> <6387ABA5-AC55-49DD-9058-E45CC0A3E0A0@lassitu.de> <CAJ-VmonM91s-kbbEqVDy9PvtH-gxLWYmusGiqzqCWMtfMdoo2A@mail.gmail.com> <EA0807C1-6FEE-4743-8DCA-1AC873664005@lassitu.de> <74E4AF57-3D22-415E-B913-176753B09B16@lassitu.de> <710E2C7A-E9AC-4103-8C61-0EDC4A3AF9DE@lassitu.de>

next in thread | previous in thread | raw e-mail | index | archive | help

Am 11.12.2011 um 11:45 schrieb Stefan Bethke:

> Am 11.12.2011 um 01:06 schrieb Stefan Bethke:
>=20
>> Am 05.12.2011 um 00:22 schrieb Stefan Bethke:
>>=20
>>> Limping along=85
>>>=20
>>> You can find a first version of a kernel driver at
>>> http://www.lassitu.de/freebsd/rtl8366rb.c
>>> http://www.lassitu.de/freebsd/rtl8366rbvar.h
>>>=20
>>> It has no external interface, but it does set up a sensible VLAN =
config for the TL-WR1043RB.
>>=20
>> Here's a much more complete interim version:
>> http://www.lassitu.de/freebsd/etherswitch-rtl8366rb.patch
>=20
> I've updated the patch to include commands to set VLAN configuration =
and membership.
Further update to the patch: every phy is now on it's own minibus, the =
PHYs received a tick every second (enabling link status changes to the =
console), and I've added code to query and print the current media =
status (more or less lifted from ifconfig).

# 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
etherswitch0: Realtek RTL8366RB with 6 ports and 16 VLAN groups
        port0 vlangroup 1 media Ethernet autoselect (10baseT/UTP =
<half-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


Port 0 is set to 10baseT half-duplex on the other side of the link, so =
this is the result of auto negotiation.  I'll add code to also set the =
media on the switch side soon.


Stefan

--=20
Stefan Bethke <stb@lassitu.de>   Fon +49 151 14070811






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C2885254-F02C-401B-B56D-39F62933F3CC>