getting the below with 3.3.3 and 3.3.4 - can compile 18.104.22.168 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 22.214.171.124-9 kernel - once I added some undeclared variables to kcompat.h - but don't know how to get around this error on the 126.96.36.199 -
And it has to be 188.8.131.52 - 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
/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 for the post. LInux driver version 3.3.3 on our Intel website does not support I219 ethernet controller.
What is the exact Linux OS version you used and the exact laptop model?
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 184.108.40.206-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 220.127.116.11 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-18.104.22.168 SUBDIRS=$PWD modules while in the 3.3.3 src directory.as root
in the /home/Margaret/Desktop/Linux-22.214.171.124 directory I have the .config file from my Linux boot env for imaging.
laptop is a HP probook 640G2
00:1f.6 Ethernet controller: Intel Corporation Unknown device 156f (rev 21)
the compiling machine is SUSE SLE 11.1 126.96.36.199-9-default
The kernel I'm compiling against is
I unpack the linux-188.8.131.52.gz
copy in the .config for my boot environment
in my 3.3.3/src directory
make -C linux-184.108.40.206 SUBDIRS=$PWD modules
and I get
kcompat.h: in function __kc_napi_alloc_skb
kcmpat.h:4601 error:'struct napi_struct' has no member name 'dev'
Please try the other driver version posted on the sourceforge website below, feel free to update the result. Thanks.
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 220.127.116.11 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 18.104.22.168-9-default
The versionmagic I need in the .ko is 22.214.171.124
So I extract the kernel source for 126.96.36.199 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
make -C path_to_188.8.131.52 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 184.108.40.206 due to version - even if I try to load with modprobe -f .
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/
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
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 220.127.116.11-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 18.104.22.168 on the resulting ko and not 22.214.171.124-9-default
I untared linux-126.96.36.199.tar.gz into my working directory.
I copied the .config from my target system into that directory
make bzImage in my linux-188.8.131.52 directory
I cd to the directory where I have untar'd the e1000e-3.3.4 source code
make -C path-to-/linux-184.108.40.206 SUBDIRS=$PWD modules
I still get the same error message
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.
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 220.127.116.11 kernel stopped working.
I found I could compile thru 18.104.22.168 but starting at 22.214.171.124 - I could not.
I've tried with both gcc4.1 and 4.3
With 126.96.36.199 - I get that same error message
Our Linux* driver supports kernel version 188.8.131.52 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.