Author Topic: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)  (Read 4298 times)

snempaa

  • Newbie
  • *
  • Posts: 18
I am wondering if it will be possible to compile another wifi driver for linux 2.4.20 mipsel? I have little linux knowledge and wonder if there are too many diffences between the 2.6 and the 2.4 kernel to compile the drivers. I have the linksys WUSB54GC stick which uses the Ralink rt73 driver. Thanks for the info!

Any info on where to start will be great too!

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #1 on: October 29, 2009, 01:54:20 PM »
btw. I'm trying to run an wifi access point on the machine, which serves my shared 3g connection. With the zd1211b driver the ad-hoc/master mode don't really work well. 

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #2 on: October 30, 2009, 09:11:22 AM »
What I have done so far is getting the kernel sources from trendtac.nl, patch them with the skytone patches and put them in my /lib/modules/2.4.20-celf3/build folder. When I tried to make the project (make installed via debian etch mipsel repository) i get a include file error:
Code: [Select]
make[1]: Entering directory `/lib/modules/2.4.20-celf3/build'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c
In file included from /usr/include/errno.h:36,
                 from scripts/split-include.c:26:
/usr/include/bits/errno.h:25:26: error: linux/errno.h: No such file or directory
make[1]: *** [scripts/split-include] Error 1
make[1]: Leaving directory `/lib/modules/2.4.20-celf3/build'
rt73.o failed to build!
make: *** [module] Error 1

in the folder /lib/modules/2.4.20-celf3/build/linux/ , the file errno.h does exist!

Any help is welcome!

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #3 on: October 30, 2009, 09:29:42 AM »
I've edited the file that caused the error the rewrite the includes to the right location and now I have another problem:

Code: [Select]
#make
make[1]: Entering directory `/lib/modules/2.4.20-celf3/build'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/mkconfigs scripts/mkconfigs.c
make[1]: *** No rule to make target `include/linux/autoconf.h', needed by `include/config/MARKER'.  Stop.
make[1]: Leaving directory `/lib/modules/2.4.20-celf3/build'
rt73.o failed to build!
make: *** [module] Error 1


And I've also tried to setup a cross-compiler environment which gave me exactly the same errormsg.
« Last Edit: October 30, 2009, 09:38:17 AM by snempaa »

Mijzelf

  • Full Member
  • ***
  • Posts: 140
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #4 on: October 30, 2009, 10:07:52 AM »
Are you trying to build the kernel, or just your module? Anyway you'll first have to do a 'make dep' in the kernelsource directory. If you are low on diskspace you can do 'make clean' hereafter.
Quote
/usr/include/bits/errno.h:25:26: error: linux/errno.h: No such file or directory
Compiling module? I think you'll have to create a symlink 'linux' in the module directory, which points to the kernelsources.

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #5 on: October 30, 2009, 10:40:50 AM »
I'm just trying to build the module for the kernel, the kernel itself might be step two (or 342).
I've tried to put symlinks in the module path both on the machine itself and the crosscompiler, but no luck still the same errormessage.

Mijzelf

  • Full Member
  • ***
  • Posts: 140
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #6 on: October 30, 2009, 11:10:39 AM »
Before you can build a module, you'll have to build the kernel, to a certain point (make dep). Then some include files are made and populated, as a function of some defines in Makefile, which defines the platform. (You can imagine some includefiles have a different content for mipsel, and, let's say x86, which are both supported by the kernelsources).

So compiling the kernel (partly) should be step 1. I suggest you to use the crosscompiler, since the module must be compiled with the same compiler as the kernel.

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #7 on: October 30, 2009, 12:39:54 PM »
Thanks for your information!
It works a little better now:) now I'm stuck with three errors in the code. Since I really don't know much about compiling things in linux i hope someone does know what is wrong;)

Code: [Select]
~/rt73/rt-test/Module# make
make[1]: Entering directory `/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build'
make -C  /root/rt73/rt-test/Module CFLAGS="-D__KERNEL__ -I/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/gcc -G 0 -mno-abicalls -fno-pic -pipe  -mtune=r4600 -mips2 -Wa,--trap -DMODULE -mlong-calls" MAKING_MODULES=1 modules
make[2]: Entering directory `/root/rt73/rt-test/Module'
mipsel-linux-gnu-gcc -D__KERNEL__ -I/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -I /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/gcc -G 0 -mno-abicalls -fno-pic -pipe  -mtune=r4600 -mips2 -Wa,--trap -DMODULE -mlong-calls -I. -DAGGREGATION_SUPPORT -DWMM_SUPPORT -nostdinc -iwithprefix include -DKBUILD_BASENAME=rtmp_main  -c -o rtmp_main.o rtmp_main.c
In file included from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/byteorder/little_endian.h:11,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/byteorder.h:25,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/kernel.h:15,
                 from rt_config.h:69,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/byteorder/swab.h:160: warning: type qualifiers ignored on function return type
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/byteorder/swab.h:173: warning: type qualifiers ignored on function return type
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/byteorder/swab.h:186: warning: type qualifiers ignored on function return type
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/byteorder/swab.h:200: warning: type qualifiers ignored on function return type
In file included from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/fs.h:322,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/capability.h:17,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/binfmts.h:5,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/sched.h:10,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/mm.h:4,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/slab.h:14,
                 from rt_config.h:79,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp_fs_i.h:26: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp_fs_i.h:27: warning: 'packed' attribute ignored for field of type '__u8[6]'
In file included from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp_mount.h:12,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp_fs_sb.h:12,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/fs.h:731,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/capability.h:17,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/binfmts.h:5,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/sched.h:10,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/mm.h:4,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/slab.h:14,
                 from rt_config.h:79,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:24: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:25: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:26: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:27: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:28: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:29: warning: 'packed' attribute ignored for field of type '__u8[]'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:37: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:38: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:39: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:40: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:41: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:42: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:43: warning: 'packed' attribute ignored for field of type '__u8[]'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:137: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:138: warning: 'packed' attribute ignored for field of type '__u8[256]'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/ncp.h:174: warning: 'packed' attribute ignored for field of type '__u8'
In file included from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/netdevice.h:147,
                 from rt_config.h:82,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h: In function '__skb_pull':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h:842: warning: pointer targets in return differ in signedness
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h: In function 'skb_pull':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h:860: warning: pointer targets in return differ in signedness
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h: In function '__pskb_pull':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h:871: warning: pointer targets in return differ in signedness
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h: In function 'pskb_pull':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/skbuff.h:878: warning: pointer targets in return differ in signedness
In file included from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/interrupt.h:46,
                 from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/netdevice.h:455,
                 from rt_config.h:82,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/softirq.h: In function 'cpu_bh_disable':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/softirq.h:27: error: invalid lvalue in increment
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/softirq.h: In function '__cpu_bh_enable':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/softirq.h:34: error: invalid lvalue in decrement
In file included from rt_config.h:82,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/netdevice.h: In function '__netif_rx_schedule':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/netdevice.h:748: error: invalid lvalue in assignment
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/netdevice.h: In function 'netif_rx_reschedule':
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/netdevice.h:773: error: invalid lvalue in assignment
In file included from rtmp_main.c:36:
rt_config.h:93:28: error: linux/firmware.h: No such file or directory
In file included from rt_config.h:98,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h: At top level:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:255: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:256: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:257: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:258: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:260: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:261: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:262: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:270: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:271: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:272: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:273: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:274: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:275: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:276: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:277: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:278: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:299: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:300: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:302: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:303: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:304: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:305: warning: 'packed' attribute ignored for field of type '__u8'
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/usb.h:306: warning: 'packed' attribute ignored for field of type '__u8'
In file included from /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/linux/unistd.h:9,
                 from rt_config.h:118,
                 from rtmp_main.c:36:
/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/include/asm/unistd.h:500: warning: conflicting types for built-in function '_exit'
rtmp_main.c: In function 'usb_rtusb_probe':
rtmp_main.c:1928: error: invalid lvalue in decrement
make[2]: *** [rtmp_main.o] Error 1
make[2]: Leaving directory `/root/rt73/rt-test/Module'
make[1]: *** [_mod_/root/rt73/rt-test/Module] Error 2
make[1]: Leaving directory `/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build'
rt73.ko failed to build!
make: *** [module] Error 1

Loads of warnings and three errors which I don't know how to fix!

I just wish that the supplied wifistick was a little better and didn't drop connection so much.

Thanks for your help.


Mijzelf

  • Full Member
  • ***
  • Posts: 140
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #8 on: October 30, 2009, 01:02:14 PM »
Something is wrong with your environment:
Code: [Select]
make[1]: Entering directory `/lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build'The build process has nothing to do in /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE, it should be in /lib/modules/2.4.20-celf3.
Did you create the right linux symlink?

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #9 on: October 30, 2009, 01:07:40 PM »
I don't think it's the environment. I've created this symlink because the makefile from the rt73 driver looked for the sources in the uname -r path in /lib/modules/ . In the /lib/modules/2.6.18-128.1.1.el5.028stab062.3PAE/build/ folder are the 2.4.20 sources. Sorry for the confusion.

btw. It can't be a problem that I'm cross-compiling on ubuntu, right?
« Last Edit: October 30, 2009, 01:11:23 PM by snempaa »

Mijzelf

  • Full Member
  • ***
  • Posts: 140
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #10 on: October 30, 2009, 01:16:41 PM »
Where did you get your driversource?

snempaa

  • Newbie
  • *
  • Posts: 18

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #12 on: October 30, 2009, 01:58:44 PM »
I might see the problem, I'm using gcc 4.11. Don't know if that is a problem and where to get 3.3. I'll search the forum for it.

Mijzelf

  • Full Member
  • ***
  • Posts: 140
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #13 on: October 30, 2009, 02:14:09 PM »
Maybe this can help you?

snempaa

  • Newbie
  • *
  • Posts: 18
Re: Compile a wifi driver for 2.4.20 mipsel kernel? (ralink rt73 driver)
« Reply #14 on: October 30, 2009, 02:21:41 PM »
I was using that page as a reference already:) Thanks. I'm now setting up a debian vm for the crosscompiling.. i hope it works