* [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver @ 2014-05-14 14:27 Helmut Sim 2014-05-14 14:45 ` Thomas Monjalon 0 siblings, 1 reply; 7+ messages in thread From: Helmut Sim @ 2014-05-14 14:27 UTC (permalink / raw) To: dev Hi, I am new to dpdk. I built the dpdk-1.6.0r1 and even was able to compile the apps. Then I am trying to bind my NIC to the dpdk application: #modprobe uio # #insmod x86_64-default-linuxapp-gcc/kmod/igb_uio.ko # # ./tools/pci_unbind.py --status Network devices using IGB_UIO driver ==================================== <none> Network devices using kernel driver =================================== 0000:02:00.0 'RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller' if=eth0 drv=r8169 unused=<none> *Active* 0000:05:0c.0 '82541GI Gigabit Ethernet Controller' if=p3p1 drv=e1000 unused=<none> *Active* 0000:05:0d.0 '82541GI Gigabit Ethernet Controller' if=p3p2 drv=e1000 unused=<none> Other network devices ===================== <none> # ./tools/pci_unbind.py --bind=igb_uio 05:0d.0 Error: bind failed for 0000:05:0d.0 - Cannot bind to driver igb_uio (/sys/bus/pci/drivers/igb_uio/bind) Error: unbind failed for 0000:05:0d.0 - Cannot open /sys/bus/pci/drivers//unbind # 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 my machine data (i am not using any visualization at the moment): # uname -a Linux helmut 3.11.0-18-generic #32-Ubuntu SMP Tue Feb 18 21:11:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux any idea why the unbind failes? Thanks! ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver 2014-05-14 14:27 [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver Helmut Sim @ 2014-05-14 14:45 ` Thomas Monjalon 2014-05-14 14:53 ` Helmut Sim 0 siblings, 1 reply; 7+ messages in thread From: Thomas Monjalon @ 2014-05-14 14:45 UTC (permalink / raw) To: Helmut Sim; +Cc: dev 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver 2014-05-14 14:45 ` Thomas Monjalon @ 2014-05-14 14:53 ` Helmut Sim 2014-05-14 15:44 ` Helmut Sim 0 siblings, 1 reply; 7+ messages in thread From: Helmut Sim @ 2014-05-14 14:53 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev 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@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@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 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver 2014-05-14 14:53 ` Helmut Sim @ 2014-05-14 15:44 ` Helmut Sim 2014-05-15 22:15 ` Thomas Monjalon 0 siblings, 1 reply; 7+ messages in thread From: Helmut Sim @ 2014-05-14 15:44 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev Hi Thomas, I made the required change in order to support the 82541GI chipset and I was able to bind it successfully to the igb_uio ==> thank for your advise. however i am stll not able to bind the 82575EB... although it looks like it is already supported ;( I see there is a 82575EB_COPPER and a 82575EB_FIBER_SERDES, how can i tell if mine is one of them? it is a Dual Port PCI-E X4 Gigabit Server Adapter 575T ( http://www.winyao.com/en/product_view_20_117.html). Thanks On Wed, May 14, 2014 at 5:53 PM, Helmut Sim <simhelmut@gmail.com> wrote: > 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@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@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 >> > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver 2014-05-14 15:44 ` Helmut Sim @ 2014-05-15 22:15 ` Thomas Monjalon 2014-05-18 14:07 ` Helmut Sim 0 siblings, 1 reply; 7+ messages in thread From: Thomas Monjalon @ 2014-05-15 22:15 UTC (permalink / raw) To: Helmut Sim; +Cc: dev Hi Sim, 2014-05-14 18:44, Helmut Sim: > I made the required change in order to support the 82541GI chipset and I > was able to bind it successfully to the igb_uio Don't hesitate to submit a patch after having validated that it's working well. Thanks -- Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver 2014-05-15 22:15 ` Thomas Monjalon @ 2014-05-18 14:07 ` Helmut Sim 2014-05-19 15:12 ` Thomas Monjalon 0 siblings, 1 reply; 7+ messages in thread From: Helmut Sim @ 2014-05-18 14:07 UTC (permalink / raw) To: Thomas Monjalon; +Cc: dev I am on my way to validate it... Is there a pre-defined test or checklist for validating a NIC? Thanks On Fri, May 16, 2014 at 1:15 AM, Thomas Monjalon <thomas.monjalon@6wind.com>wrote: > Hi Sim, > > 2014-05-14 18:44, Helmut Sim: > > I made the required change in order to support the 82541GI chipset and I > > was able to bind it successfully to the igb_uio > > Don't hesitate to submit a patch after having validated that it's working > well. > > Thanks > -- > Thomas > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver 2014-05-18 14:07 ` Helmut Sim @ 2014-05-19 15:12 ` Thomas Monjalon 0 siblings, 0 replies; 7+ messages in thread From: Thomas Monjalon @ 2014-05-19 15:12 UTC (permalink / raw) To: Helmut Sim; +Cc: dev Hi, 2014-05-18 17:07, Helmut Sim: > <thomas.monjalon@6wind.com>wrote: > > 2014-05-14 18:44, Helmut Sim: > > > I made the required change in order to support the 82541GI chipset and I > > > was able to bind it successfully to the igb_uio > > > > Don't hesitate to submit a patch after having validated that it's working > > well. > > I am on my way to validate it... > > Is there a pre-defined test or checklist for validating a NIC? The dedicated tool is testpmd. You should find various options to test all features. -- Thomas ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-05-19 15:12 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2014-05-14 14:27 [dpdk-dev] fail to bind '82541GI Gigabit Ethernet Controller' to IGB_UIO driver Helmut Sim 2014-05-14 14:45 ` Thomas Monjalon 2014-05-14 14:53 ` Helmut Sim 2014-05-14 15:44 ` Helmut Sim 2014-05-15 22:15 ` Thomas Monjalon 2014-05-18 14:07 ` Helmut Sim 2014-05-19 15:12 ` Thomas Monjalon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).