jump to navigation

Attansic L1 giganet driver on ASUS P5B-E (kernel > 2.6.18) March 13, 2007

Posted by TSAI HONG-BIN in Linux.
trackback

I love trouble !!
If you’re compiling ATL1 module with kernel after 2.6.18, the config.h is no longer there and you’ll receive an error message:

Makefile: Linux kernel source not configured — missing config.h Stop.

Since include/linux/config.h is deprecated, one is suggested to use include/linux/autoconf.h.
No big deal, let’s do it.

1. Edit your Makefile and replace config.h you see to autoconf.h (approx. at line 92 and 96)
2. Edit at.h and replace #include config.h to #include autoconf.h
3. Edit at_main.c and replace all CHECKSUM_HW to CHECKSUM_PARTIAL

now make; make install; insmod atl1.ko;

and enjoy your network interface. Note that if you encounter weird traffic problem like extremely slow uploading traffic through that interface. Try this way

#ethtool -K eth0 tso off

Advertisements

Comments»

1. Attansic L1 giganet driver on ASUS P5B-E « furseal’s lair - March 13, 2007

[…] Attansic L1 giganet driver on ASUS P5B-E (kernel > 2.6.18) […]

2. VDemand - March 17, 2007

Still having problem after following the steps. Is it possible that Step #2 is incomplete? Doesn’t make sense…to replace “#include to #include”. I found an instance of config.h as an include at the beginning of at.h an replaced it with autoconf.h, but I still get a bunch of compilation errors.

Any ideas?

3. TSAI HONG-BIN - March 17, 2007

Thank you for correcting my post, a stupid parsing problem from wordpress… anyway, I need to see the errors to help you out, Since I fixed my alt1 driver just the way as I posted. (on kernel 2.6.19.2288.fc5) (lucky?) =)

4. Guzno - March 30, 2007

Hi!

I had the same problem as VDemand. I’m using FC6, so that might be the reason for the errors. I’ve made all the changes that you suggest above, the respons I get:

make -C /lib/modules/2.6.18-1.2798.fc6/source O=/lib/modules/2.6.18-1.2798.fc6/build SUBDIRS=/root/kernelrpms/AtL1Linux_v1.0.41.0/src modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2798.fc6-x86_64′
CC [M] /root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.o
In file included from /root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c:1:
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at.h:78:5: warning: “DBG” is not defined
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c:109: warning: initialization from incompatible pointer type
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c: In function ‘at_rx_checksum’:
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c:2270: error: ‘CHECKSUM_PARTIAL’ undeclared (first use in this function)
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c:2270: error: (Each undeclared identifier is reported only once
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c:2270: error: for each function it appears in.)
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c: In function ‘at_tx_csum’:
/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.c:2517: error: ‘CHECKSUM_PARTIAL’ undeclared (first use in this function)
make[3]: *** [/root/kernelrpms/AtL1Linux_v1.0.41.0/src/at_main.o] Error 1
make[2]: *** [_module_/root/kernelrpms/AtL1Linux_v1.0.41.0/src] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2798.fc6-x86_64′

5. TSAI HONG-BIN - March 30, 2007

Hello Guzno, sorry I made a little mistake here. If you’re using kernel 2.6.18, the definition of CHECKSUM doesn’t have to change. In other words, you shall keep CHECKSUM_HW as is. =) It’s kernel 2.6.19, 2.6.20 that changes CHECKSUM_HW to CHECKSUM_PARTIAL. good luck.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: