Ethernet Products
Determine ramifications of Intel® Ethernet products and technologies
4808 Discussions

linux e1000e compile error 2.6.27.7 no member named 'dev'

LL_He
Beginner
3,061 Views

getting the below with 3.3.3 and 3.3.4 - can compile 3.1.0.2 but it doesn't have the I219 in it which is the nic in the laptop we are trying to bring online

I can compile 3.3.3 under the 2.6.27.7-9 kernel - once I added some undeclared variables to kcompat.h - but don't know how to get around this error on the 2.6.27.7 -

And it has to be 2.6.27.7 - I can't use a newer kernel - due to other dependencies in our shop.

In file included from /tmp/e1000e-3.3.3/src/e1000.h:32

from /tmp/e1000e-3.3.3/src/netdev.c:48

/tmp/e1000e-3.3.3/src/kcompat.h: In function '_kc_napi_alloc_skb';

/tmp/e1000e-3.3.3/src/kcompat.h:4601:error ;'struct napi_struct' has not member named 'dev'

gcc is 4.3.2

thank you

0 Kudos
23 Replies
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the post. LInux driver version 3.3.3 on our Intel website does not support I219 ethernet controller.

 

https://downloadcenter.intel.com/download/26008/Intel-Network-Adapter-Driver-for-PCI-E-Gigabit-Network-Connections-under-Linux-

 

 

What is the exact Linux OS version you used and the exact laptop model?

 

 

 

rgds,

 

wb

 

 

0 Kudos
LL_He
Beginner
1,744 Views

3.3.3 does support the I219 - you don't list it in the description on the web site - but it is in the readme and the hardware code for it is in the hw.h file.

I get the same error with 3.3.4

I can successfully compile it under suse 2.6.27.7-9-default kernel - and eth0 does go live with modprobe e1000e - if booted to that specific kernel.

but note - I had to add some define statements to kcompat.h - the first time I got undefined parameter messages.

But I cannot compile it under 2.6.27.7 kernel - which is the one our env uses for network imaging.

I get the error message I mentioned above.

"no member named 'dev'" and I haven't figured out what is missing on that one - its a little more complicated than a missing define - on the surface anyway

.

compile statement is

make -C /home/Margaret/Desktop/Linux-2.6.27.7 SUBDIRS=$PWD modules while in the 3.3.3 src directory.as root

in the /home/Margaret/Desktop/Linux-2.6.27.7 directory I have the .config file from my Linux boot env for imaging.

laptop is a HP probook 640G2

lspci shows

00:1f.6 Ethernet controller: Intel Corporation Unknown device 156f (rev 21)

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the clarification and additional information provided. What is the exact Linux version you used? e.g. (Redhat Linux version?? or etc).

 

 

I will further check on your inquiry.

 

 

Thanks,

 

wb

 

0 Kudos
LL_He
Beginner
1,744 Views

Sorry -

the compiling machine is SUSE SLE 11.1 2.6.27.7-9-default

The kernel I'm compiling against is

SUSE 2.6.27.7

I unpack the linux-2.6.27.7.gz

make bzImage

copy in the .config for my boot environment

and do

in my 3.3.3/src directory

make -C linux-2.6.27.7 SUBDIRS=$PWD modules

and I get

e1000.h:32

netdev.c:48

kcompat.h: in function __kc_napi_alloc_skb

kcmpat.h:4601 error:'struct napi_struct' has no member name 'dev'

0 Kudos
idata
Employee
1,744 Views

HI L,

 

 

Thank you for the clarification and additional information provided. I will further check on your concern.

 

 

rgds,

 

wb

 

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Please try the other driver version posted on the sourceforge website below, feel free to update the result. Thanks.

 

https://sourceforge.net/projects/e1000/files/e1000e%20stable/

 

 

rgds,

 

wb

 

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Good day. Please feel free to update me if you have tried the other driver version on sourceforge website?

 

 

Rgds,

 

wb

 

0 Kudos
LL_He
Beginner
1,744 Views

You weren't specific about which driver on sourceforge - they don't have the 3.3.4 driver yet - Their 3.3.3 is the same as yours. Neither of those compiles under SUSE 11.1 2.6.27.7 KernelDevel/sources/Headers- they both give the same error in _kc_napi_alloc_skb - "struct napi_struct has not member name 'dev'"

- I was able to get it to compile under Centos6.4 2.6.32-358.el6.x86-64. We have to do some major rework to switch from imaging using SUSE to Centos to get these new HP640G2 deployed in our organization.

I have a system with SUSE 11.1 2.6.27.7-9-default

The versionmagic I need in the .ko is 2.6.27.7

So I extract the kernel source for 2.6.27.7 into a working directory

I copy my .config into that directory

I do a "make bzImage "

I go to my 3.3.4 driver directory

cd src

make clean

make -C path_to_2.6.27.7 SUBDIRS=$PWD modules

and I get that error

It will compile if I use the 2.7.27-7-9-default kernel source - but I can't use that ko with 2.6.27.7 due to version - even if I try to load with modprobe -f .

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the update, we will check on this. For the meantime, checking on the link, version 3.3.4 is posted on the site https://sourceforge.net/projects/e1000/files/e1000e%20stable/

 

 

rdgs,

 

wb

 

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Have you also contacted HP* for support as this is an onboard NIC on their system. They might have the customized driver.

 

 

Just to double check if you have tried version 3.3.4 posted on sourceforge dated 6-14-2016

 

https://sourceforge.net/projects/e1000/files/e1000e%20stable/3.3.4/

 

 

 

 

Thanks,

 

wb

 

 

 

 

 

0 Kudos
LL_He
Beginner
1,744 Views

Both the sourceforge e1000e-3.3.4 and the Intel e1000e-3.3.4 are the same. Intel just posted theirs before sourceforge got it out there 3 days ago.

I had tried both e1000e-3.3.4 and e1000e-3.3.3 - I get the same message.

I totally rebuild my compiling system today - I have suse 11.1 2.6.27.7-9-default installed from LiveCD. I installed gcc and development and kernel files during installation - rather than adding them after - to make sure they were all the correct default versions and in the correct locations.

I need the versionmagic to be 2.6.27.7 on the resulting ko and not 2.6.27.7-9-default

I untared linux-2.6.27.7.tar.gz into my working directory.

I copied the .config from my target system into that directory

make bzImage in my linux-2.6.27.7 directory

I cd to the directory where I have untar'd the e1000e-3.3.4 source code

cd src

make -C path-to-/linux-2.6.27.7 SUBDIRS=$PWD modules

I still get the same error message

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the feedback, we will further check. and have you also tried contacting HP* support as I understand you are using HP probook 640G2 (laptop).

 

 

Thanks,

 

wb

 

0 Kudos
LL_He
Beginner
1,744 Views

HP has no drivers listed for Linux for this model.

I know this driver compiles and works on this laptop for other versions of Linux. I've done that.

Unfortunately the version that I really need it to work for - I can't get it to compile.

I've been reading thru the code - in the base Linux general Ethernet code the "dev" variable appears to be added to "napi_struct" function in netdev.c only if CONFIG_NETPOLL is set.

that variable is unset in my .config

I'm in the process of looking over the driver code to see what it does with this variable.

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the clarification. I will further check what we can find here.

 

 

Rgds,

 

wb

 

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Just to double check you are referring to HP* does not have the Linux driver for the onboard I219 NIC on your HP* notebook?

 

 

rgds,

 

wb

 

0 Kudos
LL_He
Beginner
1,744 Views

HP does not have Linux drivers for the I219 or the 640G2.

I went back to older versions to see when being able to compile under the 2.6.27.7 kernel stopped working.

I found I could compile thru 3.1.0.2 but starting at 3.2.4.2 - I could not.

I've tried with both gcc4.1 and 4.3

With 3.2.4.2 - I get that same error message

_

0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the update. Just want to double check where did you download 3.2.4.2 and 3.1.0.02? Is it from the sourceforge website?

 

 

Thanks,

 

wb

 

0 Kudos
LL_He
Beginner
1,744 Views
0 Kudos
idata
Employee
1,744 Views

Hi L,

 

 

Thank you for the clarification. We will further check on your concern.

 

 

rgds,

 

wb

 

0 Kudos
idata
Employee
1,525 Views

 

Hi L,

 

 

Our Linux* driver supports kernel version 2.6.27.7 however if you are modifying

 

on kcompat.h file and encountering an error then you need to debug by your own.

 

 

It is recommended to contact HP* for further support if you had tried our driver

 

and the issue still persist.

 

 

Hope this clarified.

 

 

rgds,

 

wb
0 Kudos
Reply