tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: wm(4) won't negotiate 1000-base-T with Cisco switches and won't operate with manual media settings
On Thu, Nov 24, 2011 at 04:34:32AM -0800, Brian Buhrow wrote:
> hello. I've been running the following chips under NetBSD 4.x for a
> number of years at 100mbits/sec without any problems at all. However,
> recently, when I tried to link one of these up to a gige port on a Cisco
> ME3400 switch, it failed to establish link. If left to autonegotiate, it
> establishes a link with the Cisco at 100mbits/sec, but forcing either side,
> or both sides to 1000-base-t causes the network status to be set to no
> carrier. Worse, it appears that seting the media to anything other than
> auto or 100baseTX or 100baseTX mediaopt full-duplex doesn't work.
> notes from the FreeBSD Intel E1000 driver hint that this might be one
> of the
> problematic chips which fails to establish link with certain link partners,
> a sentiment echoed by their notes for the Windows drivers as well.
> To make sure I've covered my bases, I booted a monolithic kernel from
> the snapshot at nyftp.netbsd.org dated: 201111220010Z with the same
> results. All works fine if all I need is 100mbits/sec, but if I want to
> set the media to anything else, no dice, including 10baseT.
> Does anyone know what the specific bug is in this hardware to cause
> the dire notes in Intel's README files? I spent a good deal of time
> looking at and playing with the if_wm(4) driver in an effort to understand
> what it's doing, since I did almost this same thing for 1000-base-SX if_wm
> cards about 5 years ago, but I'm having a lot of trouble understanding the
> relationship between the mii layer, the phy driver and the if_wm driver
> itself. After pouring over the e1000 driver in FreeBSD-8, I'm not
> convinced we're doing the right things with the phy, but I'm not sure
> enough of the hardware to know if it's a driver bug or a hardware bug. As
> an extra data point, the 1000-base-T mode isn't completely broken in that I
> have one site using this chip negotiating 1000-base-T full-duplex with a
> Force10 switch. Again, if we try to nail it, it doesn't work, but autoneg
> does the right thing in this instance.
>
> Does anyone have any ideas, documents i should read, or patches
> floating around that I should try? I can file a pr, and I will, but I
> thought I'd ask here first.
> Oh, yes, this is under I386, both NetBSD-4 as of early 2008, and the
> NetBSD-current snapshot noted above.
>
> -thanks
> -Brian
>
>
> wm0 at pci0 dev 5 function 0: Intel i82541GI 1000BASE-T Ethernet, rev. 5
> wm0: interrupting at ioapic0 pin 16 (irq 5)
> wm0: 32-bit 66MHz PCI bus
> wm0: 64 word (6 address bits) MicroWire EEPROM
> wm0: Ethernet address 00:30:18:xx:xx:xx
> igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
> 1000baseT-FDX
I have:
wm0 at pci6 dev 7 function 0: Intel i82541GI 1000BASE-T Ethernet, rev. 5
wm0: interrupting at ioapic2 pin 0
wm0: 32-bit 66MHz PCI bus
wm0: 65536 word (16 address bits) SPI EEPROM
wm0: Ethernet address 00:14:22:19:17:73
igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT,
1000baseT-FDX, auto
running netbsd-5. It has no problems negociating gigabit speed with
a cisco 6000 of some sort, and a cisco 3750G.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index