Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2018 11:51:18 +0400
From:      Roman Bogorodskiy <bogorodskiy@gmail.com>
To:        Kevin Bowling <kevin.bowling@kev009.com>
Cc:        net@freebsd.org
Subject:   Re: igb: device_attach: igb1 attach returned 6
Message-ID:  <20180823075117.GB4446@kloomba>
In-Reply-To: <CAK7dMtDO_UzhHKBDtNAQ=XKWEFTdDU3K2FVsEmcMo8cbro0S7A@mail.gmail.com>
References:  <20180819142106.GA1539@kloomba> <CAK7dMtCbvFQpZYXgjkZ4gPLhHVhM19YDR8oDo8vEFQT8tCp4-Q@mail.gmail.com> <20180822090811.GA1691@kloomba> <CAK7dMtDsm2%2BwL1R5FLFAZF=5LCJBg8AMuU%2BUWeUWVAD-X7_ctQ@mail.gmail.com> <20180823071626.GA4446@kloomba> <CAK7dMtCEXdB_qSTc7rV_G7RTyDJ=xa6DE4PRJuOdfEG-iJj3_g@mail.gmail.com> <CAK7dMtDO_UzhHKBDtNAQ=XKWEFTdDU3K2FVsEmcMo8cbro0S7A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--s2ZSL+KKDSLx8OML
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

  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), b=
ut 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,
>=20
> On Thu, Aug 23, 2018 at 12:19 AM, Kevin Bowling
> <kevin.bowling@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@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 Con=
nection
> >> [  343.415352] igb 0000:01:00.0: eth0: (PCIe:5.0Gb/s:Width x4) 00:12:c=
0: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 Con=
nection
> >> [  343.777900] igb 0000:01:00.2: eth0: (PCIe:5.0Gb/s:Width x4) 00:12:c=
0: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 Con=
nection
> >> [  344.139722] igb 0000:01:00.3: eth0: (PCIe:5.0Gb/s:Width x4) 00:12:c=
0: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@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-0x=
e05f mem 0xf7800000-0xf79fffff,0xf7c08000-0xf7c0bfff irq 17 at device 0.1 o=
n 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@freebsd.=
org> wrote:
> >>> >> > Hi,
> >>> >> >
> >>> >> > I have a 4-port Intel I350 network card. When I plug sfp rj45 mo=
dule to
> >>> >> > one of the ports, devices fails to initialise, e.g. ifconfig(8) =
only
> >>> >> > shows three igb interfaces (expected to be four):
> >>> >> >
> >>> >> > igb0: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >>> >> >         options=3De505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,J=
UMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_I=
PV6>
> >>> >> >         ether 00:12:c0:00:e9:14
> >>> >> >         media: Ethernet autoselect
> >>> >> >         status: no carrier
> >>> >> >         nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >>> >> > igb1: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >>> >> >         options=3De505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,J=
UMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_I=
PV6>
> >>> >> >         ether 00:12:c0:00:e9:16
> >>> >> >         media: Ethernet autoselect
> >>> >> >         status: no carrier
> >>> >> >         nd6 options=3D29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
> >>> >> > igb2: flags=3D8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
> >>> >> >         options=3De505bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,J=
UMBO_MTU,VLAN_HWCSUM,TSO4,LRO,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_I=
PV6>
> >>> >> >         ether 00:12:c0:00:e9:17
> >>> >> >         media: Ethernet autoselect
> >>> >> >         status: no carrier
> >>> >> >         nd6 options=3D29<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@pci0:1:0:0:        class=3D0x020000 card=3D0x00101b6d chip=
=3D0x15228086 rev=3D0x01 hdr=3D0x00
> >>> >> >     vendor     =3D 'Intel Corporation'
> >>> >> >     device     =3D 'I350 Gigabit Fiber Network Connection'
> >>> >> >     class      =3D network
> >>> >> >     subclass   =3D ethernet
> >>> >> > none1@pci0:1:0:1:       class=3D0x020000 card=3D0x00101b6d chip=
=3D0x15228086 rev=3D0x01 hdr=3D0x00
> >>> >> >     vendor     =3D 'Intel Corporation'
> >>> >> >     device     =3D 'I350 Gigabit Fiber Network Connection'
> >>> >> >     class      =3D network
> >>> >> >     subclass   =3D ethernet
> >>> >> > igb1@pci0:1:0:2:        class=3D0x020000 card=3D0x00101b6d chip=
=3D0x15228086 rev=3D0x01 hdr=3D0x00
> >>> >> >     vendor     =3D 'Intel Corporation'
> >>> >> >     device     =3D 'I350 Gigabit Fiber Network Connection'
> >>> >> >     class      =3D network
> >>> >> >     subclass   =3D ethernet
> >>> >> > igb2@pci0:1:0:3:        class=3D0x020000 card=3D0x00101b6d chip=
=3D0x15228086 rev=3D0x01 hdr=3D0x00
> >>> >> >     vendor     =3D 'Intel Corporation'
> >>> >> >     device     =3D 'I350 Gigabit Fiber Network Connection'
> >>> >> >     class      =3D network
> >>> >> >     subclass   =3D ethernet
> >>> >> >
> >>> >> > Any suggestions what could be wrong with that?
> >>> >> >
> >>> >> > The host is FreeBSD 12.0-ALPHA1 amd64 @ r337885. I don't know ho=
w/if it
> >>> >> > worked before, just plugged that in.
> >>> >> >
> >>> >> > Roman Bogorodskiy
> >>> >
> >>> > Roman Bogorodskiy
> >>
> >> Roman Bogorodskiy

Roman Bogorodskiy

--s2ZSL+KKDSLx8OML
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJbfmd0AAoJEMltX/4IwiJqGtQH/jS5cNFLKaX1dacF0nvUm/3g
gfN9Pxkz7xXBJYcOb6DU50tRWSSNvpvFFt+KSdFKIovX1yQXrFZnYrVrjTU6tWYY
N9SnXRlNsTIXPsrAYr4IYPJ3+Mf+m3LbUoxUF4GFWap2OvgB/TtUtmqZGCJC/HFR
ZdKbLQSxSmy2LRHWv18iDDGWEntytsQZ0aqLyCDXdHh2J7dr94UzcT6jDDmuhnWy
eukR/nkoO6V/yXPVVSJ5ne52p7Rv8ZUqk9eU5533JJX4J7/oHDGq71rCtlKoHAbt
+9CW7xgtgecM7JyH8hVcbYgOuIGQ0rZjoiKa+jrkyt4SpCJ+PlVKghorPHnFz0U=
=QlFE
-----END PGP SIGNATURE-----

--s2ZSL+KKDSLx8OML--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180823075117.GB4446>