From owner-freebsd-embedded@FreeBSD.ORG Mon Dec 12 20:37:40 2011 Return-Path: Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B22911065673 for ; Mon, 12 Dec 2011 20:37:40 +0000 (UTC) (envelope-from stb@lassitu.de) Received: from gilb.zs64.net (gilb.zs64.net [IPv6:2001:470:1f0b:105e::1ea]) by mx1.freebsd.org (Postfix) with ESMTP id 6187C8FC16 for ; Mon, 12 Dec 2011 20:37:40 +0000 (UTC) Received: by gilb.zs64.net (Postfix, from stb@lassitu.de) id 3CBA05579C for ; Mon, 12 Dec 2011 21:37:39 +0100 (CET) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Apple Message framework v1251.1) From: Stefan Bethke In-Reply-To: <710E2C7A-E9AC-4103-8C61-0EDC4A3AF9DE@lassitu.de> Date: Mon, 12 Dec 2011 21:37:38 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: 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> <6387ABA5-AC55-49DD-9058-E45CC0A3E0A0@lassitu.de> <74E4AF57-3D22-415E-B913-176753B09B16@lassitu.de> <710E2C7A-E9AC-4103-8C61-0EDC4A3AF9DE@lassitu.de> To: freebsd-embedded@freebsd.org X-Mailer: Apple Mail (2.1251.1) Subject: Re: TL-WR1043: switch X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Dec 2011 20:37:40 -0000 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: at addr 0xa8 on = iicbus0 rtl8366rb0: rev. 3 miibus0: on rtl8366rb0 ukphy0: 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: on rtl8366rb0 ukphy1: 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: on rtl8366rb0 ukphy2: 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: on rtl8366rb0 ukphy3: 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: on rtl8366rb0 ukphy4: 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: 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 = ) status active port1 vlangroup 0 media Ethernet autoselect (1000baseT = ) 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 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 Fon +49 151 14070811