igb: device_attach: igb1 attach returned 6
Roman Bogorodskiy
bogorodskiy at gmail.com
Thu Aug 23 07:51:25 UTC 2018
Kevin Bowling wrote:
> Well I took a look at the phy code and actually don't see that we
> abosrbed those commits. I'll try and audit e1000 vs linux in the next
> 24 hours but in the mean time if you could confirm linux-next or the
> like fix or don't fix the phy we can at least know if this is the
> right path or if we need to ask Intel networking for help.
Yeah, I see the code that resets PHY in e1000_82575.c,
e1000_setup_copper_link_82575(), but I don't see this being called at
all in my dmesg output, so I guess removing that code will not change
anything.
I wasn't able to find a code similar to igb_write_phy_reg_82580(hw,
I347AT4_PAGE_SELECT, 0); from that net-next patch.
There's a code in e1000_phy.c e1000_get_cable_length_m88_gen2() that
writes to I347AT4_PAGE_SELECT (it uses 0x07 or 0x05 instead of 0 though), but I
don't see it in dmesg either...
I'll try to find a spare drive to install Linux, but I'm not sure how
soon I'll be able to do that...
> Regards,
>
> On Thu, Aug 23, 2018 at 12:19 AM, Kevin Bowling
> <kevin.bowling at kev009.com> wrote:
> > Great thanks for the info about it not working on Ubuntu too, that
> > narrows down the problem space considerably.
> >
> > Can you try that patch on FreeBSD -CURRENT? It should apply with
> > minimal changes the phy code is shared by multiple OSes. If it works
> > we can commit.
> >
> > Regards,
> >
> > On Thu, Aug 23, 2018 at 12:16 AM, Roman Bogorodskiy
> > <bogorodskiy at gmail.com> wrote:
> >> I haven't used this hardware before, so I don't if it ever worked. I
> >> only tried 11.2 and it doesn't work. I've also tried Ubuntu 18.04 and it
> >> doesn't work as well. Ubuntu prints the following error:
> >>
> >> [ 343.053031] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
> >> [ 343.053032] igb: Copyright (c) 2007-2014 Intel Corporation.
> >> [ 343.415346] igb 0000:01:00.0: added PHC on eth0
> >> [ 343.415349] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
> >> [ 343.415352] igb 0000:01:00.0: eth0: (PCIe:5.0Gb/s:Width x4) 00:12:c0:00:e9:14
> >> [ 343.415427] igb 0000:01:00.0: eth0: PBA No: 106100-000
> >> [ 343.415430] igb 0000:01:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
> >> [ 343.416422] igb 0000:01:00.0 enp1s0f0: renamed from eth0
> >> [ 343.416827] igb: probe of 0000:01:00.1 failed with error -3
> >> [ 343.485242] IPv6: ADDRCONF(NETDEV_UP): enp1s0f0: link is not ready
> >> [ 343.777894] igb 0000:01:00.2: added PHC on eth0
> >> [ 343.777897] igb 0000:01:00.2: Intel(R) Gigabit Ethernet Network Connection
> >> [ 343.777900] igb 0000:01:00.2: eth0: (PCIe:5.0Gb/s:Width x4) 00:12:c0:00:e9:16
> >> [ 343.777974] igb 0000:01:00.2: eth0: PBA No: 106100-000
> >> [ 343.777977] igb 0000:01:00.2: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
> >> [ 343.781905] igb 0000:01:00.2 enp1s0f2: renamed from eth0
> >> [ 343.849424] IPv6: ADDRCONF(NETDEV_UP): enp1s0f2: link is not ready
> >> [ 344.139715] igb 0000:01:00.3: added PHC on eth0
> >> [ 344.139718] igb 0000:01:00.3: Intel(R) Gigabit Ethernet Network Connection
> >> [ 344.139722] igb 0000:01:00.3: eth0: (PCIe:5.0Gb/s:Width x4) 00:12:c0:00:e9:17
> >> [ 344.139797] igb 0000:01:00.3: eth0: PBA No: 106100-000
> >> [ 344.139800] igb 0000:01:00.3: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
> >> [ 344.141054] igb 0000:01:00.3 enp1s0f3: renamed from eth0
> >> [ 344.213393] IPv6: ADDRCONF(NETDEV_UP): enp1s0f3: link is not ready
> >>
> >> I googled for this error message and found the following patch:
> >>
> >> https://www.spinics.net/lists/netdev/msg515557.html
> >>
> >> I'm not sure if it addresses my problem, but it looks related. I haven't
> >> tried that yet though because I don't have a spare drive to install
> >> Linux and rebuild drivers there.
> >>
> >> Kevin Bowling wrote:
> >>
> >>> The phy code hasn't changed in any material way that I can see in a
> >>> long time. So I wonder if it's timing or some initialization issue.
> >>>
> >>> e1000_get_hw_semaphore
> >>> e1000_put_hw_semaphore
> >>> e1000_read_phy_reg_i2c
> >>>
> >>> This looks a bit funny, I think the hw sem should be held over the i2c
> >>> call. Is there a chance you can get the same log from the working
> >>> kernel?
> >>>
> >>> Regards,
> >>> Kevin
> >>>
> >>> On Wed, Aug 22, 2018 at 2:08 AM, Roman Bogorodskiy
> >>> <bogorodskiy at gmail.com> wrote:
> >>> > Kevin Bowling wrote:
> >>> >
> >>> >> Roman,
> >>> >>
> >>> >> Interesting.. can you set DBG to 1 sys/dev/e1000/e1000_osdep.h Line
> >>> >> 109 so we can see closer what is failing to initialize?
> >>> >
> >>> > Hi Kevin,
> >>> >
> >>> > Here's a relevant bit of dmesg with debug enabled:
> >>> >
> >>> > igb1: <Intel(R) PRO/1000 PCI-Express Network Driver> port 0xe040-0xe05f mem 0xf7800000-0xf79fffff,0xf7c08000-0xf7c0bfff irq 17 at device 0.1 on pci1
> >>> > e1000_set_mac_type
> >>> > igb1: attach_pre capping queues at 8
> >>> > e1000_set_mac_type
> >>> > e1000_init_mac_ops_generic
> >>> > e1000_init_phy_ops_generic
> >>> > e1000_init_nvm_ops_generic
> >>> > e1000_init_function_pointers_82575
> >>> > e1000_init_mac_params_82575
> >>> > e1000_read_sfp_data_byte
> >>> > e1000_read_sfp_data_byte
> >>> > e1000_init_nvm_params_82575
> >>> > e1000_init_phy_params_82575
> >>> > e1000_reset_mdicnfg_82580
> >>> > e1000_sgmii_uses_mdio_82575
> >>> > e1000_get_phy_id_82575
> >>> > e1000_sgmii_uses_mdio_82575
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 1 was unreadable
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 2 was unreadable
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 3 was unreadable
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 4 was unreadable
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 5 was unreadable
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 6 was unreadable
> >>> > e1000_read_phy_reg_sgmii_82575
> >>> > e1000_acquire_phy_82575
> >>> > e1000_acquire_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > e1000_read_phy_reg_i2c
> >>> > I2CCMD Error bit set
> >>> > e1000_release_phy_82575
> >>> > e1000_release_swfw_sync
> >>> > e1000_get_hw_semaphore
> >>> > e1000_put_hw_semaphore
> >>> > PHY address 7 was unreadable
> >>> > PHY Initialization Error
> >>> > igb1: Setup of Shared code failed, error -2
> >>> > igb1: IFDI_ATTACH_PRE failed 6
> >>> > device_attach: igb1 attach returned 6
> >>> >
> >>> > I've also attached a complete dmesg.
> >>> >
> >>> >> Regards,
> >>> >> Kevin
> >>> >>
> >>> >> On Sun, Aug 19, 2018 at 7:21 AM, Roman Bogorodskiy <novel at freebsd.org> wrote:
> >>> >> > Hi,
> >>> >> >
> >>> >> > I have a 4-port Intel I350 network card. When I plug sfp rj45 module to
> >>> >> > one of the ports, devices fails to initialise, e.g. ifconfig(8) only
> >>> >> > shows three igb interfaces (expected to be four):
> >>> >> >
> >>> >> > igb0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >>> >> > options=e505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
> >>> >> > ether 00:12:c0:00:e9:14
> >>> >> > media: Ethernet autoselect
> >>> >> > status: no carrier
> >>> >> > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >>> >> > igb1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >>> >> > options=e505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
> >>> >> > ether 00:12:c0:00:e9:16
> >>> >> > media: Ethernet autoselect
> >>> >> > status: no carrier
> >>> >> > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >>> >> > igb2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >>> >> > options=e505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
> >>> >> > ether 00:12:c0:00:e9:17
> >>> >> > media: Ethernet autoselect
> >>> >> > status: no carrier
> >>> >> > nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >>> >> >
> >>> >> > dmesg has the following:
> >>> >> >
> >>> >> > igb0: <Intel(R) PRO/1000 PCI-Express Network Driver> port 0xe060-0xe07f mem 0xf7a00000-0xf7bfffff,0xf7c0c000-0xf7c0ffff irq 16 at device 0.0 on pci1
> >>> >> > igb0: attach_pre capping queues at 8
> >>> >> > igb0: using 1024 tx descriptors and 1024 rx descriptors
> >>> >> > igb0: msix_init qsets capped at 8
> >>> >> > igb0: pxm cpus: 4 queue msgs: 9 admincnt: 1
> >>> >> > igb0: using 4 rx queues 4 tx queues
> >>> >> > igb0: Using MSIX interrupts with 5 vectors
> >>> >> > igb0: allocated for 4 tx_queues
> >>> >> > igb0: allocated for 4 rx_queues
> >>> >> > igb0: Ethernet address: 00:12:c0:00:e9:14
> >>> >> > igb0: netmap queues/slots: TX 4/1024, RX 4/1024
> >>> >> > igb1: <Intel(R) PRO/1000 PCI-Express Network Driver> port 0xe040-0xe05f mem 0xf7800000-0xf79fffff,0xf7c08000-0xf7c0bfff irq 17 at device 0.1 on pci1
> >>> >> > igb1: attach_pre capping queues at 8
> >>> >> > igb1: Setup of Shared code failed, error -2
> >>> >> > igb1: IFDI_ATTACH_PRE failed 6
> >>> >> > device_attach: igb1 attach returned 6
> >>> >> > igb1: <Intel(R) PRO/1000 PCI-Express Network Driver> port 0xe020-0xe03f mem 0xf7600000-0xf77fffff,0xf7c04000-0xf7c07fff irq 18 at device 0.2 on pci1
> >>> >> > igb1: attach_pre capping queues at 8
> >>> >> > igb1: using 1024 tx descriptors and 1024 rx descriptors
> >>> >> > igb1: msix_init qsets capped at 8
> >>> >> > igb1: pxm cpus: 4 queue msgs: 9 admincnt: 1
> >>> >> > igb1: using 4 rx queues 4 tx queues
> >>> >> > igb1: Using MSIX interrupts with 5 vectors
> >>> >> > igb1: allocated for 4 tx_queues
> >>> >> > igb1: allocated for 4 rx_queues
> >>> >> > igb1: Ethernet address: 00:12:c0:00:e9:16
> >>> >> > igb1: netmap queues/slots: TX 4/1024, RX 4/1024
> >>> >> > igb2: <Intel(R) PRO/1000 PCI-Express Network Driver> port 0xe000-0xe01f mem 0xf7400000-0xf75fffff,0xf7c00000-0xf7c03fff irq 19 at device 0.3 on pci1
> >>> >> > igb2: attach_pre capping queues at 8
> >>> >> > igb2: using 1024 tx descriptors and 1024 rx descriptors
> >>> >> > igb2: msix_init qsets capped at 8
> >>> >> > igb2: pxm cpus: 4 queue msgs: 9 admincnt: 1
> >>> >> > igb2: using 4 rx queues 4 tx queues
> >>> >> > igb2: Using MSIX interrupts with 5 vectors
> >>> >> > igb2: allocated for 4 tx_queues
> >>> >> > igb2: allocated for 4 rx_queues
> >>> >> > igb2: Ethernet address: 00:12:c0:00:e9:17
> >>> >> > igb2: netmap queues/slots: TX 4/1024, RX 4/1024
> >>> >> >
> >>> >> > And in pciconf(8) it shows as:
> >>> >> >
> >>> >> > igb0 at pci0:1:0:0: class=0x020000 card=0x00101b6d chip=0x15228086 rev=0x01 hdr=0x00
> >>> >> > vendor = 'Intel Corporation'
> >>> >> > device = 'I350 Gigabit Fiber Network Connection'
> >>> >> > class = network
> >>> >> > subclass = ethernet
> >>> >> > none1 at pci0:1:0:1: class=0x020000 card=0x00101b6d chip=0x15228086 rev=0x01 hdr=0x00
> >>> >> > vendor = 'Intel Corporation'
> >>> >> > device = 'I350 Gigabit Fiber Network Connection'
> >>> >> > class = network
> >>> >> > subclass = ethernet
> >>> >> > igb1 at pci0:1:0:2: class=0x020000 card=0x00101b6d chip=0x15228086 rev=0x01 hdr=0x00
> >>> >> > vendor = 'Intel Corporation'
> >>> >> > device = 'I350 Gigabit Fiber Network Connection'
> >>> >> > class = network
> >>> >> > subclass = ethernet
> >>> >> > igb2 at pci0:1:0:3: class=0x020000 card=0x00101b6d chip=0x15228086 rev=0x01 hdr=0x00
> >>> >> > vendor = 'Intel Corporation'
> >>> >> > device = 'I350 Gigabit Fiber Network Connection'
> >>> >> > class = network
> >>> >> > subclass = ethernet
> >>> >> >
> >>> >> > Any suggestions what could be wrong with that?
> >>> >> >
> >>> >> > The host is FreeBSD 12.0-ALPHA1 amd64 @ r337885. I don't know how/if it
> >>> >> > worked before, just plugged that in.
> >>> >> >
> >>> >> > Roman Bogorodskiy
> >>> >
> >>> > Roman Bogorodskiy
> >>
> >> Roman Bogorodskiy
Roman Bogorodskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20180823/6f9ed7a9/attachment.sig>
More information about the freebsd-net
mailing list