rt73 for arm

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4408

Viper

04-11-2007 12:33:57

I'm tring to compile the tr73 usb driver for ARM, but is always fails.

I'm cross-compiling on 2.6.17-11 Ubuntu, for kernel 2.6.22 (providing the 2.6.22 include files) with a working toolchain. (I've edited the makefile for the proper kernel source, etc).

I'm getting the following error
[code2rlvhqw8]
viper@little:~/nfs/rt73-cvs-2007110405/Module$ make arm
make[1]: Entering directory `/home/viper/arm-toolchain/usr/arm/src/linux-2.6.22'
CC [M] /home/viper/nfs/rt73-cvs-2007110405/Module/rtmp_main.o
/home/viper/nfs/rt73-cvs-2007110405/Module/rtmp_main.c: In function `usb_rtusb_probe':
/home/viper/nfs/rt73-cvs-2007110405/Module/rtmp_main.c:2154: error: structure has no member named `wireless_handlers'
make[2]: *** [/home/viper/nfs/rt73-cvs-2007110405/Module/rtmp_main.o] Error 1
make[1]: *** [_module_/home/viper/nfs/rt73-cvs-2007110405/Module] Error 2
make[1]: Leaving directory `/home/viper/arm-toolchain/usr/arm/src/linux-2.6.22'
rt73.ko failed to build!
make: *** [arm] Error 1
[/code2rlvhqw8]

Can anyone help?

daniel_matthes

06-11-2007 13:25:41


/home/viper/nfs/rt73-cvs-2007110405/Module/rtmp_main.c In function `usb_rtusb_probe'
/home/viper/nfs/rt73-cvs-2007110405/Module/rtmp_main.c2154 error structure has no member named `wireless_handlers'
[/quote1rlhnnlt]

I think the compilier misses the wireless extensions

Set CONFIG_NET_RADIO=y

Symbol NET_RADIO [=y]
Prompt Wireless LAN drivers (non-hamradio) & Wireless Extensions Defined at drivers/net/wireless/Kconfig8
Depends on NET && NETDEVICES
Location
-> Device Drivers
-> Network device support
-> Network device support (NETDEVICES [=y])
-> Wireless LAN (non-hamradio)
Selects WIRELESS_EXT

Spy84464

10-11-2007 10:51:25

I think the compilier misses the wireless extensions[/quote37ldrfgp]You mean the kernel ;).

GoatBoy

19-11-2007 03:36:31

I'm also still having issues with the legacy rt73 driver under ARM. Someone please let me know if this is a known issue; I looked around and saw different symptoms which don't seem to be the same as mine.

I'm trying to build/run natively on an NSLU2 running Debian Etch. The kernel version is 2.6.18, and the card is a Hawking HWUG1. This is pretty much a stock installation. I pulled the latest CVS tarball and compiled it; I can do the normal "make module", which succeeds and installs. Attempting to do "make arm" yields an error like "invalid lvalue for increment" or something around rtmp_init.c line 1851 (I don't have the machine handy as I wiped it, but if this is not a known issue I can get the all exact debugging info).

Anyways, if I go through the normal 'make module' and 'make install', the module is installed and loads correctly, but when I try to scan for AP's, it always returns that nothing is found. No grievous error messages -- just nothing found.

When I replicate the exact same process on an x86 machine with the same flavor of Debian Etch, it works just fine.


Anyways, is this a known issue? If so, can someone point me to the right resources? If not, I can resurrect the system and get more information.


Thanks!

Vern

19-11-2007 17:58:27

Hi GoatBoy,

Hope I'm not being too insulting, here; but are you dong "make arm", (or "make armdebug"), followed by "make install"?

If you are, and still have problems, then please compile with debug enabled, run with debug=15, and post a gzipped copy of /var/log/debug here. I'll take a look at it.

Thanks,

GoatBoy

20-11-2007 00:14:34

The "arm" target doesn't actually compile, so I can't run it. Here's the compilation error

[code70l0v6a0]
/root/rt73-cvs-2007111916/Module/rtmp_init.c: In function 'RTMPMoveMemory':
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1837: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1837: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1839: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1839: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1841: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1841: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1843: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1843: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1845: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1845: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1847: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1847: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1849: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1849: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1851: error: invalid lvalue in increment
/root/rt73-cvs-2007111916/Module/rtmp_init.c:1851: error: invalid lvalue in increment
make[2]: *** [/root/rt73-cvs-2007111916/Module/rtmp_init.o] Error 1
make[1]: *** [_module_/root/rt73-cvs-2007111916/Module] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.18-5-ixp4xx'
rt73.ko failed to build!
make: *** [arm] Error 1
[/code70l0v6a0]

gcc -v reports

[code70l0v6a0]
foobar:~/rt73-cvs-2007111916/Module# gcc -v
Using built-in specs.
Target: arm-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release arm-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
[/code70l0v6a0]


Doing a quick search on the net... it seems gcc doesn't allow this particular syntax in newer versions. The fixes seem to be to either post-increment after the line, or declare a temporary variable to hold the pointer?

Hrm, I actually see this in some of the other threads in the forum now...

Vern

20-11-2007 02:20:24

Hi GoatBoy,

If I remove the enclosing conditional, it gives me the same error on an x86 target.

I've established that the enclosed patch does compile without error when enabled. Could you try it and see what happens?

Thanks,

GoatBoy

20-11-2007 07:08:44

Hi GoatBoy,

If I remove the enclosing conditional, it gives me the same error on an x86 target.

I've established that the enclosed patch does compile without error when enabled. Could you try it and see what happens?

Thanks,[/quote2qekdkeg]

OK, that fixed the compile error; I can't actually test the driver right now, but I will let you know as soon as I can.

Thanks!

Vern

20-11-2007 19:56:40

Great!

The compile fix is in CVS and should appear in the hourly tarball Soon.

GoatBoy

23-11-2007 02:42:18

Just a quick note, I gave the fixed driver a try and it looks like everything is working. Thanks again!