GP2X Rt73sta Wireless Usb Driver


gmiller1018

Member
Joined
Sep 21, 2006
Messages
336
Location
USA Florida
Website
Visit site
I have compiled and built the driver code with the 2.95.3 version of the tool kit.

What a pain .. all multi-line macro's with ' \' to make then look pretty had to have the '\' removed and the macro made one line. I also had to fix unamed union access to force an instance because of the way the code was structured.

Unfortunalty the version check code of insmod is still messing with me so when I load it the version checking is preventing it from loading. I tried the -f swtich with insmod but it still wines at me. I am not sure if the version checking code is an entry point or what so I will investigate. I have read the articles on this error being caused by using the wrong set of tools but that is why I got the 2.95.3 set ....

If anyone has any suggestions for different approaches. Or possible CFLAGS settings which could also be a problem since the original one as x86 centric so I stole the once from the kernel.

BTW: I looked at the open source version but it only works with the newer version of the 2.6 kernel so there is no joy there ...
 
In case this would help:
Code:
[gwmiller@uniserv Module]$ make all
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtmp_main.o rtmp_main.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o mlme.o mlme.c
mlme.c: In function `STAMlmePeriodicExec':
mlme.c:852: warning: unused variable `RxSignal'
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o connect.o connect.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtusb_bulk.o rtusb_bulk.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtusb_io.o rtusb_io.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o sync.o sync.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o assoc.o assoc.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o auth.o auth.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o auth_rsp.o auth_rsp.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtusb_data.o rtusb_data.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtmp_init.o rtmp_init.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o sanity.o sanity.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtmp_wep.o rtmp_wep.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtmp_info.o rtmp_info.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o rtmp_tkip.o rtmp_tkip.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o wpa.o wpa.c
arm-linux-gcc -D__KERNEL__ -I/home/gwmiller/gp2x/kernelDev/2.0.0/include -O2 -fno-strict-aliasing -fno-common -Uarm -fno-common -pipe -D__LINUX_ARM_ARCH__=4 -mtune=arm9tdmi -mshort-load-bytes -msoft-float -Uarm -DLinux -Wall -Wstrict-prototypes -Wno-trigraphs -I/usr/local/arm-dev/include  -c -o md5.o md5.c
arm-linux-ld -r rtmp_main.o mlme.o connect.o rtusb_bulk.o rtusb_io.o sync.o assoc.o auth.o auth_rsp.o rtusb_data.o rtmp_init.o sanity.o rtmp_wep.o rtmp_info.o rtmp_tkip.o wpa.o md5.o -o rt73.o
[gwmiller@uniserv Module]$
 
Ok .... fixing include directive to force module version checking on (autoconf.h that was missing, "the copy had it off") so the module tries to load but some symbols are undefined. Checking on why the usb_??? symbols are missing ... could be more issues with missing version.h and autoconf.h that were is a previous svn copy.

Code:
[root@gp2x rt73sta]$./load.gpu 
Using rt73.o
insmod: unresolved symbol usb_deregister
insmod: unresolved symbol usb_free_dev
insmod: unresolved symbol usb_free_urb
insmod: unresolved symbol usb_alloc_urb
insmod: unresolved symbol usb_register
insmod: unresolved symbol usb_submit_urb
insmod: unresolved symbol usb_control_msg
insmod: unresolved symbol usb_unlink_urb
SIOCSIFADDR: No such device
rausb0: unknown interface: No such device
rausb0: unknown interface: No such device
SIOCADDRT: Network is unreachable
[root@gp2x rt73sta]$Connection closed by foreign host.
/home/gmiller/ $

Ok ... insmod usbcore before driver ....
 
you get this when you don't enable usb host mode on your gp2x and/or with wrong kernel header files..

Gary Miller posted on Oct 5 2006 at 04:48 AM said:
..
the module tries to load but some symbols are undefined. Checking on why the usb_??? symbols are missing
..

Code:
[root@gp2x rt73sta]$./load.gpu 
Using rt73.o
insmod: unresolved symbol usb_deregister
insmod: unresolved symbol usb_free_dev
insmod: unresolved symbol usb_free_urb
insmod: unresolved symbol usb_alloc_urb
insmod: unresolved symbol usb_register
insmod: unresolved symbol usb_submit_urb
insmod: unresolved symbol usb_control_msg
insmod: unresolved symbol usb_unlink_urb
 
Last edited by a moderator:
Gary Miller posted on Oct 5 2006 at 01:59 PM said:
Yes ... do "insmod usbcore;insmod rt73" and no problems.

Could you upload your compiled drivers somewhere? I would like to try them out :)
 
Last edited by a moderator:
cheap-plastic posted on Oct 21 2006 at 04:10 AM said:
Gary Miller posted on Oct 5 2006 at 01:59 PM said:
Yes ... do "insmod usbcore;insmod rt73" and no problems.

Could you upload your compiled drivers somewhere? I would like to try them out :)

The code compiles, loads and starts but I have been unable to test it much because of time contraints. I hesitate putting it in the archve because it is untested. If you want it just message me and I will send you a URL for the whole thing. My test environment is screwed up right now and my job coding is pretty heavy so I have not been able to get back to it.
 
Last edited by a moderator:
so what device does this driver support?

does it function?
Does it require the BOB for MK1 GP2x units? (opposed to a usb adapter)
How hard would it be to configure?
 
Back
Top