[dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver

Helmut Sim simhelmut at gmail.com
Wed May 14 16:53:47 CEST 2014


Thanks Thomas for your quick answer.

Meantime I tried a different device, which is supported according to the
rule you mentioned.
it is a 82575EB but i got the exact same behavior.

# grep 'RTE_PCI_DEV_ID_DECL.*82575'
lib/librte_eal/common/include/rte_pci_dev_ids.h
RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82575EB_COPPER)
RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL,
E1000_DEV_ID_82575EB_FIBER_SERDES)
RTE_PCI_DEV_ID_DECL_IGB(PCI_VENDOR_ID_INTEL,
E1000_DEV_ID_82575GB_QUAD_COPPER)


# ./tools/pci_unbind.py --status

Network devices using IGB_UIO driver
====================================
<none>

Network devices using kernel driver
===================================
0000:01:00.0 '82575EB Gigabit Network Connection' if=p1p1 drv=igb
unused=<none>
0000:01:00.1 '82575EB Gigabit Network Connection' if=p1p2 drv=igb
unused=<none>
0000:03:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
if=eth0 drv=r8169 unused=<none> *Active*
0000:06:0c.0 '82541GI Gigabit Ethernet Controller' if=p3p1 drv=e1000
unused=<none> *Active*
0000:06:0d.0 '82541GI Gigabit Ethernet Controller' if=rename6 drv=e1000
unused=<none>

Other network devices
=====================
<none>

# ./tools/pci_unbind.py --bind=igb_uio 01:00.0
Error: bind failed for 0000:01:00.0 - Cannot bind to driver igb_uio
(/sys/bus/pci/drivers/igb_uio/bind)
Error: unbind failed for 0000:01:00.0 - Cannot open
/sys/bus/pci/drivers//unbind

# ./tools/pci_unbind.py --status

Network devices using IGB_UIO driver
====================================
<none>

Network devices using kernel driver
===================================
0000:01:00.1 '82575EB Gigabit Network Connection' if=p1p2 drv=igb
unused=<none>
0000:03:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller'
if=eth0 drv=r8169 unused=<none> *Active*
0000:06:0c.0 '82541GI Gigabit Ethernet Controller' if=p3p1 drv=e1000
unused=<none> *Active*
0000:06:0d.0 '82541GI Gigabit Ethernet Controller' if=rename6 drv=e1000
unused=<none>

Other network devices
=====================
0000:01:00.0 '82575EB Gigabit Network Connection' unused=<none>

#

I guess something is wrong with my environment.
BTW I am running as a root.

and this is the objcts under the driver:
# ls -l /sys/bus/pci/drivers/igb_uio/
total 0
--w------- 1 root root 4096 May 14 17:40 bind
lrwxrwxrwx 1 root root    0 May 14 17:48 module ->
../../../../module/igb_uio
--w------- 1 root root 4096 May 14 17:48 new_id
--w------- 1 root root 4096 May 14 17:48 remove_id
--w------- 1 root root 4096 May 14 17:39 uevent
--w------- 1 root root 4096 May 14 17:48 unbind


Thanks!



On Wed, May 14, 2014 at 5:45 PM, Thomas Monjalon
<thomas.monjalon at 6wind.com>wrote:

> Hi,
>
> 2014-05-14 17:27, Helmut Sim:
> > unlike previous cases I went over in this forum, this NIC supposed to be
> > supported (or maybe i read it incorrectly???):
> >
> > # cat lib/librte_eal/common/include/rte_pci_dev_ids.h | grep 82541GI
> > #define E1000_DEV_ID_82541GI                  0x1076
> > #define E1000_DEV_ID_82541GI_LF               0x107C
> > #define E1000_DEV_ID_82541GI_MOBILE           0x1077
>
> This device is known but not supported.
>
> You should use
>         # grep 'RTE_PCI_DEV_ID_DECL.*8254'
> lib/librte_eal/common/include/rte_pci_dev_ids.h
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82540EM)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82545EM_COPPER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82545EM_FIBER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82546EB_COPPER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82546EB_FIBER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82546EB_QUAD_COPPER)
>
> The dedicated page for this information is:
>         http://dpdk.org/doc/nics
>
> You should try to enable this device in the code and see what happens.
> Maybe that its support is straightforward.
>
> Thanks for reporting
> --
> Thomas
>



On Wed, May 14, 2014 at 5:45 PM, Thomas Monjalon
<thomas.monjalon at 6wind.com>wrote:

> Hi,
>
> 2014-05-14 17:27, Helmut Sim:
> > unlike previous cases I went over in this forum, this NIC supposed to be
> > supported (or maybe i read it incorrectly???):
> >
> > # cat lib/librte_eal/common/include/rte_pci_dev_ids.h | grep 82541GI
> > #define E1000_DEV_ID_82541GI                  0x1076
> > #define E1000_DEV_ID_82541GI_LF               0x107C
> > #define E1000_DEV_ID_82541GI_MOBILE           0x1077
>
> This device is known but not supported.
>
> You should use
>         # grep 'RTE_PCI_DEV_ID_DECL.*8254'
> lib/librte_eal/common/include/rte_pci_dev_ids.h
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL, E1000_DEV_ID_82540EM)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82545EM_COPPER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82545EM_FIBER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82546EB_COPPER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82546EB_FIBER)
>         RTE_PCI_DEV_ID_DECL_EM(PCI_VENDOR_ID_INTEL,
> E1000_DEV_ID_82546EB_QUAD_COPPER)
>
> The dedicated page for this information is:
>         http://dpdk.org/doc/nics
>
> You should try to enable this device in the code and see what happens.
> Maybe that its support is straightforward.
>
> Thanks for reporting
> --
> Thomas
>


More information about the dev mailing list