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 at 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 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 >> > >