Hi List,

Using a Marvell NIC plugged into a CISCO switch I see the auto-negotiation failing and even when forcing the device to full-duplex we sometimes see packet drops.

Here is the device description from dmesg:

mskc0: <Marvell Yukon 88E8053 Gigabit Ethernet> port 0xbe00-0xbeff mem 0xfdefc000-0xfdefffff irq 16 at device 0.0 on pci1
msk0: <Marvell Technology Group Ltd. Yukon EC Id 0xb6 Rev 0x02> on mskc0
msk0: Ethernet address: 00:03:2d:09:94:52
miibus0: <MII bus> on msk0
e1000phy0: <Marvell 88E1111 Gigabit PHY> PHY 0 on miibus0
e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, auto, auto-flow
mskc0: [ITHREAD]

The switch its plugged in (Cisco) is configured for 100baseTX full-duplex.

ifconfig reports:

msk0: flags=608843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,SATELLITE,LAN_NET> metric 0 mtu 1500
        options=40018<VLAN_MTU,VLAN_HWTAGGING>
        ether 00:03:2d:09:94:52
        inet 192.168.122.7 netmask 0xffffff00 broadcast 192.168.122.255
        media: Ethernet autoselect (100baseTX <half-duplex>)
        status: active

I added a bit of debugging code in e1000phy_status in the hope to understand what was going on:

    bmsr = PHY_READ(sc, E1000_SR) | PHY_READ(sc, E1000_SR);
    bmcr = PHY_READ(sc, E1000_CR);
    ssr = PHY_READ(sc, E1000_SSR);

    printf("%s ssr 0x%x bmsr 0x%x bmcr 0x%x\n", __func__, ssr, bmsr, bmcr);

Which consistently gives:

 kernel: e1000phy_status ssr 0x4d00 bmsr 0x796d bmcr 0x1000

Now and then the system will report the device is going inactive and we can see packet drops when that happens. This repeat itself once in a while without being predictable.

By the way on a 7.4 system this was happening every 10 min. Using a driver from FBSD9 back ported to 7.4 we see the issue at a much lower frequency (every 30 min) but the issue is still there.

Cheers,

Karim.


_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to