Arge1 link status is not updated
Pham Viet Ha
hapvbk at yahoo.co.uk
Sat Aug 24 13:13:28 UTC 2013
Hi Louiz,
Yes, the LAN ports are on arge0 with 4 PHY ports (0-3). The WAN port is on arge1 with PHY4. This is an AG300H board from Buffalo.
At this time I am using phymask 0x0f for arge0. It looks like that we should use phymask 0x00 for this interface as when the etherswitch/arswitch is enabled, it will attach and manage the 4 LAN ports correctly.
If I need to update the arge1 link status from inside the switch driver, what should I do?
Also, the ifnet interfaces are also created during the switch init. How can I make these interfaces available for infconfig command?
Thanks so much.
Viet-Ha
________________________________
From: Luiz Otavio O Souza <lists.br at gmail.com>
To: Pham Viet Ha <hapvbk at yahoo.co.uk>
Cc: freebsd-embedded <freebsd-embedded at freebsd.org>
Sent: Friday, 23 August 2013, 21:06
Subject: Re: Arge1 link status is not updated
On 23 August 2013 17:28, Pham Viet Ha <hapvbk at yahoo.co.uk> wrote:
Hi there,
>
>I am running nanobsd on a MIPS platform, which is an AR7161 CPU with AR8316 switch. Both arge interfaces show up however the link status is not correctly updated.
>
>arge1 (the WAN interface) always show active, even there is no ethernet cable plugged in.
>
>In a post, Adrian mentioned this (http://lists.freebsd.org/pipermail/freebsd-embedded/2013-July/001871.html):
>
>Then arge1 is glued to this "WAN" PHY. It's not owned by arswitch (but
>it could be!) as then arge1 couldn't link to it to get notifications
>about link, speed/duplex changes.
>
>My question is how can we make arge1 update its link status (no carrier/active) when the link is disconnected/connected?
>
>Should it be in arge driver or in the switch driver?
>
>At this time I compiled and load the switch in a separated module.
>
>
>The log from boot:
>argemdio0: <Atheros AR71xx built-in ethernet interface, MDIO controller> at mem 0x19000000-0x19000fff on nexus0
>mdio0: <MDIO> on argemdio0
>mdioproxy0: <MII/MDIO proxy, MDIO side> on mdio0
>arge0: <Atheros AR71xx built-in ethernet interface> at mem 0x19000000-0x19000fff irq 2 on nexus0
>arge0: Overriding MAC from EEPROM
>arge0: arge_attach: overriding MII mode to 'RGMII'
>arge0: sc->arge_mac_unit 0 phymask 15
>arge0: finishing attachment, phymask 000f, proxy null
>miibus0: <MII bus> on arge0
>ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
>ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
>ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
>ukphy1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
>ukphy2: <Generic IEEE 802.3u media interface> PHY 2 on miibus0
>ukphy2: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
>ukphy3: <Generic IEEE 802.3u media interface> PHY 3 on miibus0
>ukphy3: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
>arge0: Ethernet address: 00:03:7f:12:20:00
>arge1: <Atheros AR71xx built-in ethernet interface> at mem 0x1a000000-0x1a000fff irq 3 on nexus0
>arge1: arge_attach: overriding MII mode to 'RGMII'
>arge1: sc->arge_mac_unit 1 phymask 16
>arge1: finishing attachment, phymask 0010, proxy null
>arge1: No PHY, use hard-coded values: arge_multiphy_mediachange, arge_multiphy_mediastatus.
>arge1: Ethernet address: 00:03:7f:12:20:01
>
Looks like your setup is somewhat different or misconfigured because you have 4 PHYs on arge0 (which is not common).
Can you share your board model and you setup ? We maybe able to help you get it right.
Regards,
Luiz
More information about the freebsd-embedded
mailing list