Date: Tue, 11 Oct 2011 11:40:42 -0400 From: Karim <fodillemlinkarim@gmail.com> To: freebsd-net@freebsd.org Subject: if_msk.c link negotiation / packet drops Message-ID: <4E94637A.5090607@gmail.com>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E94637A.5090607>