tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: if_wm between netbsd-6 and netbsd-7 issue



Hi, John.

On 2014/12/26 21:12, John Klos wrote:
> Hi,
> 
> I have a machine which is currently running netbsd-6 with six wm* ethernet interfaces. The first four are on a PCIe card which shows up like so:
> 
> pci4: i/o space, memory space enabled, rd/line, wr/inv ok
> wm0 at pci4 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm0: interrupting at ioapic0 pin 17
> wm0: PCI-Express bus
> wm0: 65536 word (16 address bits) SPI EEPROM
> wm0: Ethernet address 00:15:17:73:0d:15
> igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> wm1 at pci4 dev 0 function 1: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm1: interrupting at ioapic0 pin 16
> wm1: PCI-Express bus
> wm1: 65536 word (16 address bits) SPI EEPROM
> wm1: Ethernet address 00:15:17:73:0d:14
> igphy1 at wm1 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> ppb4 at pci3 dev 4 function 0: vendor 0x111d product 0x8018 (rev. 0x0e)
> ppb4: PCI Express 1.0 <Downstream Port of PCI-E Switch>
> pci5 at ppb4 bus 5
> pci5: i/o space, memory space enabled, rd/line, wr/inv ok
> wm2 at pci5 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm2: interrupting at ioapic0 pin 19
> wm2: PCI-Express bus
> wm2: 65536 word (16 address bits) SPI EEPROM
> wm2: Ethernet address 00:15:17:73:0d:17
> igphy2 at wm2 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> wm3 at pci5 dev 0 function 1: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm3: interrupting at ioapic0 pin 18
> wm3: PCI-Express bus
> wm3: 65536 word (16 address bits) SPI EEPROM
> wm3: Ethernet address 00:15:17:73:0d:16
> igphy3 at wm3 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> 
> 
> I was going to upgrade this system to netbsd-7 (built from the sources from three hours ago), but when booting the kernel, this is what I get for wm0 through wm3:
> 
> pci4: i/o space, memory space enabled, rd/line, wr/inv ok
> wm0 at pci4 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm0: interrupting at ioapic0 pin 17
> wm0: PCI-Express bus
> wm0: could not acquire SWSM SMBI
> wm0: wm_nvm_acquire: failed to get semaphore
> wm0: could not acquire SWSM SMBI
> wm0: wm_nvm_acquire: failed to get semaphore
> wm0: No EEPROM
> wm0: unable to read Ethernet address
> wm1 at pci4 dev 0 function 1: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm1: interrupting at ioapic0 pin 16
> wm1: PCI-Express bus
> wm1: could not acquire SWSM SMBI
> wm1: wm_nvm_acquire: failed to get semaphore
> wm1: could not acquire SWSM SMBI
> wm1: wm_nvm_acquire: failed to get semaphore
> wm1: No EEPROM
> wm1: unable to read Ethernet address
> ppb4 at pci3 dev 4 function 0: vendor 0x111d product 0x8018 (rev. 0x0e)
> ppb4: PCI Express capability version 1 <Downstream Port of PCI-E Switch> x4 @ 2.5GT/s
> pci5 at ppb4 bus 5
> pci5: i/o space, memory space enabled, rd/line, wr/inv ok
> wm2 at pci5 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm2: interrupting at ioapic0 pin 19
> wm2: PCI-Express bus
> wm2: 4096 words (16 address bits) SPI EEPROM
> wm2: Ethernet address 00:15:17:73:0d:17
> igphy0 at wm2 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> wm3 at pci5 dev 0 function 1: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm3: interrupting at ioapic0 pin 18
> wm3: PCI-Express bus
> wm3: 4096 words (16 address bits) SPI EEPROM
> wm3: Ethernet address 00:15:17:73:0d:16
> igphy1 at wm3 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> 
> 
> Does anyone know what's not right now with support for these Intel quad gigabit cards?
> 
> Thanks,
> John Klos

Only first two devices are not good.... strange...

> wm0 at pci4 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)

It's 82571.

My 82571 4 port card works on both netbsd-7 and -current:

> pci0 at mainbus0 bus 0: configuration mode 1
> pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
> pchb0 at pci0 dev 0 function 0: vendor 8086 product 0c08 (rev. 0x06)
> ppb0 at pci0 dev 1 function 0: vendor 8086 product 0c01 (rev. 0x06)
> ppb0: PCI Express capability version 2 <Root Port of PCI-E Root Complex> x8 @ 8.0GT/s
> pci1 at ppb0 bus 1
> pci1: i/o space, memory space enabled, rd/line, wr/inv ok
> ppb1 at pci1 dev 0 function 0: vendor 111d product 8018 (rev. 0x0e)
> ppb1: PCI Express capability version 1 <Upstream Port of PCI-E Switch>
> pci2 at ppb1 bus 2
> pci2: i/o space, memory space enabled, rd/line, wr/inv ok
> ppb2 at pci2 dev 2 function 0: vendor 111d product 8018 (rev. 0x0e)
> ppb2: PCI Express capability version 1 <Downstream Port of PCI-E Switch> x4 @ 2.5GT/s
> pci3 at ppb2 bus 3
> pci3: i/o space, memory space enabled, rd/line, wr/inv ok
> wm0 at pci3 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm0: interrupting at ioapic0 pin 19
> wm0: PCI-Express bus
> wm0: 4096 words (16 address bits) SPI EEPROM
> wm0: Ethernet address 00:18:fe:2e:d6:85
> igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> wm1 at pci3 dev 0 function 1: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm1: interrupting at ioapic0 pin 18
> wm1: PCI-Express bus
> wm1: 4096 words (16 address bits) SPI EEPROM
> wm1: Ethernet address 00:18:fe:2e:d6:84
> igphy1 at wm1 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> ppb3 at pci2 dev 4 function 0: vendor 111d product 8018 (rev. 0x0e)
> ppb3: PCI Express capability version 1 <Downstream Port of PCI-E Switch> x4 @ 2.5GT/s
> pci4 at ppb3 bus 4
> pci4: i/o space, memory space enabled, rd/line, wr/inv ok
> wm2 at pci4 dev 0 function 0: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm2: interrupting at ioapic0 pin 17
> wm2: PCI-Express bus
> wm2: 4096 words (16 address bits) SPI EEPROM
> wm2: Ethernet address 00:18:fe:2e:d6:87
> igphy2 at wm2 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
> wm3 at pci4 dev 0 function 1: Intel PRO/1000 PT Quad Port Server Adapter (rev. 0x06)
> wm3: interrupting at ioapic0 pin 16
> wm3: PCI-Express bus
> wm3: 4096 words (16 address bits) SPI EEPROM
> wm3: Ethernet address 00:18:fe:2e:d6:86
> igphy3 at wm3 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
> igphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto


wm(4) has some debug code:

> #ifdef WM_DEBUG
> #define WM_DEBUG_LINK           0x01
> #define WM_DEBUG_TX             0x02
> #define WM_DEBUG_RX             0x04
> #define WM_DEBUG_GMII           0x08
> #define WM_DEBUG_MANAGE         0x10
> #define WM_DEBUG_NVM            0x20
> int     wm_debug = WM_DEBUG_TX | WM_DEBUG_RX | WM_DEBUG_LINK | WM_DEBUG_GMII
>     | WM_DEBUG_MANAGE | WM_DEBUG_NVM;

Could you define WM_DEBUG and set WM_DEBUG_NVM only in wm_debug, and then
show me the full dmesg?

 Regards.

-- 
-----------------------------------------------
                SAITOH Masanobu (msaitoh%execsw.org@localhost
                                 msaitoh%netbsd.org@localhost)


Home | Main Index | Thread Index | Old Index