Can't compile kmod-rt2500-usb

25 views
Skip to first unread message

tomside

unread,
Jun 7, 2009, 2:57:41 PM6/7/09
to Bifferboard
Hello,

I'm trying for the second time to compile openwrt kernel module for
rt2500 wireless dongle: kmod-rt2500-usb

First time I got the following error:

ERROR: Your >=2.6.27 kernel has CONFIG_MAC80211 disabled, you should
have it CONFIG_MAC80211=m if you want to use this thing

I had no time to solve the issue

Today I gave it another try, first I compile a kernel with MAC80211
built in (make kernel_menuconfig), flash the kernel to the
bifferboard, it works fine.

But when I try:
make package/kmod-rt2500-usb/{clean,compile,install} V=99
I get:
make[1]: *** No rule to make target `package/kmod-rt2500-usb/clean'.
Stop.
Indeed in /package there is no kmod-rt2500-usb folder, though there is
the sources in:
openwrt/build_dir/linux-bifferboard/linux-2.6.27.5/drivers/net/
wireless/rt2x00/

How can I compile this package? I'm not really familiar with openwrt,
and I see that the structure of the bifferboard code is a bit
different from regular openwrt since there is a folder called biff-
package outside of openwrt.

Any help would be appreciated.

Thanks!

thar001

unread,
Jun 13, 2009, 6:53:52 PM6/13/09
to Bifferboard
Hi,



I don't know if this will help (as I still can't use my own wireless
adapter on the bifferboard, a D-Link DWL-G122), but it may give some
facts and informations getting toward, I hope, a solution to these
problems.



The DWL-G122 adapter, which I'm using without problems om my laptop
under Ubuntu Ibex, uses the rt73usb driver and also needs, to work
properly, a file containing the firmware, the file "rt73.bin" which
can be easily downloaded under Ubuntu, via apt-get install linux-
firmware (the file is then copied in the directory /lib/firmware/), or
obtained on the Ralink web site, at : http://www.ralinktech.com/ralink/Home/Support/Linux.html.



So in order to use this adapter on the bifferboard, we need to deal
not only with the rt73usb driver, but also with the rt73.bin firmware
file.



It seems that there are two ways to do that, the first one beeing to
put the rt73.bin file on the root filesystem of the bifferboard (for
example, in the directory /lib/firmware/, as in Ubuntu) and create a
special hotplug rule, and the second beeing to "embed" that file
directly in the kernel.



I didn't try the first one because I don't know anything about
hotplug, so I choosed the second. However, this second way raises some
questions because the rt73.bin file is "proprietary" and should not
(as fas as I understood) be embedded in the kernel due to license
reasons. Nevertheless, I decided to go this way - I was impatient to
see the adapter at work - and I told myself that, one day, I will
learn more on hotplug and try to explore the first way...



So here are the steps I followed to compile the kernel and the root
file system, starting from an already built toolchain via the standard
bb-src-1.4 process.



$ cd openwrt



$ make kernel_menuconfig



----------------------------------------------



Networking support > Networking options > IP: ESP transformation --->
built-in (1)



Networking support > Wireless > Generic IEEE 802.11 Networking Stack
(mac80211) ---> module (2)

Networking support > Wireless > Improved wireless configuration API ---
> module (2)



Networking support > Wireless > Enable LED triggers ---> built-in (3)

Cryptographic API > Deflate compression algorithm ---> built-in (3)



Device Drivers > Generic Driver Options > Userspace firmware loading
support ---> built-in (4)

Device Drivers > Generic Driver Options > Include in-kernel firmware
blobs in kernel binary ---> built-in (4)

Device Drivers > Generic Driver Options > External firmware blobs to
build into the kernel binary ---> rt73.bin (4)

Device Drivers > Generic Driver Options > Firmware blobs root
directory ---> /home/thierry/rt73usb_firmware/ (4)



----------------------------------------------



(1) used to avoid the later "cannot stat ...crypto/aead.ko : No such
file or directory" error during compilation

(2) used to avoid the later " Your >=2.6.27 kernel has CONFIG_MAC80211
disabled, you should have it CONFIG_MAC80211=m if you want to use this
thing" and "Your kernel has CONFIG_CFG80211=y, you should have it
CONFIG_CFG80211=m if you want to use this thing" errors during
compilation

(3) Needed to complete the rt73usb driver configuration

(4) Needed to embed the rt73.bin firmware file in the kernel (of
course, I had previously copied this file into the /home/thierry/
rt73usb_firmware/ directory)





$ make menuconfig



----------------------------------------------



Base system > wireless-tools ---> built-in

Kernel modules > Wireless Drivers > kmod-rt73-usb ---> built-in



----------------------------------------------



$ make V=99



With these config parameters, the compilation process of the kernel
and file system is achieved without problems.



When I boot on the bifferboard with the new kernel and file system,
everything seems to be OK, the adapter being recognized without
problems during the boot sequence.

Everything's also OK when I do :


# cat /proc/net/wireless


and


# ifconfig wlan0 up (the firmware rt73.bin beeing loaded at this
stage)

I can then do :


# iwlist wlan0 scan

which seems to work OK because I can see here my wireless router, but,
10, 30 or 60 seconds later (it depends), the system crashes with a
"Kernel panic - not syncing: Fatal exception in interrupt - Rebooting
in 3 seconds..".

Same problem when I try to do :

# iwconfig wlan0 essid "linksys" mode managed key open


but in this case, the system crashes immediatly.

The error message are, in all cases, like this :

[ 43.705016] Kernel BUG at c011a14f [verbose debug info unavailable]
[ 43.705016] invalid opcode: 0000 [#1]
[ 43.705016] Modules linked in: gpio_proxy i2c_gpio i2c_algo_pcf
i2c_algo_pca i2c_algo_bit i2c_dev i2c_core rt73usb rt2x00ub
[ 43.705016]
[ 43.705016] Pid: 1154, comm: dropbearkey Not tainted (2.6.27.5 #2)
[ 43.705016] EIP: 0060:[<c011a14f>] EFLAGS: 00000217 CPU: 0
[ 43.705016] EAX: c1d9a494 EBX: c1d9a360 ECX: c1d9a490 EDX: c1de13e0
[ 43.705016] ESI: c1dabf6c EDI: c1d95188 EBP: c1cd81a0 ESP: c1dabe4c
[ 43.705016] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
[ 43.705016] Process dropbearkey (pid: 1154, ti=c1daa000
task=c1d1d0f0 task.ti=c1daa000)
[ 43.705016] Stack: c2862b09 c1d9a000 00000080 c1dabecc c1cd81a0
c286bb1b 00000007 c1dabe88
[ 43.705016] c010beb3 c1dabecc c1d9a360 c1d1d7bc 00000000
c02c52bc c1d38034 01c31859
[ 43.705016] 00000000 00000000 00000080 c010d9dc c1d1d0f0
0110b874 00000400 00400000
[ 43.705016] Call Trace:
[ 43.705016] [<c2862b09>] <0> [<c286bb1b>] <0> [<c010beb3>] <0>
[<c010d9dc>] <0> [<c286be6d>] <0> [<c286c8ba>] <0> [<c285d=
[ 43.705016] Code: 6d fe ff ff 53 9d 5b c3 8b 10 83 e2 fc 8b 4a 14
89 c2 8b 01 eb e3 0f ba 29 00 19 c0 85 c0 74 03 31 c0 c3
[ 43.705016] EIP: [<c011a14f>] SS:ESP 0068:c1dabe4c
[ 43.706685] Kernel panic - not syncing: Fatal exception in
interrupt

As dropbear is mentionned here, I tried to kill the corresponding
process before doing "ifconfig wlan0 up", but I still have the same
problem (system crash after iwconfig), with this time an error like
this :

[ 310.598642] Kernel BUG at c011a14f [verbose debug info unavailable]
[ 310.598642] invalid opcode: 0000 [#1]
[ 310.598642] Modules linked in: gpio_proxy i2c_gpio i2c_algo_pcf
i2c_algo_pca i2c_algo_bit i2c_dev i2c_core rt73usb rt2x00ub
[ 310.598642]
[ 310.598642] Pid: 0, comm: swapper Not tainted (2.6.27.5 #2)
[ 310.598642] EIP: 0060:[<c011a14f>] EFLAGS: 00000217 CPU: 0
[ 310.598642] EAX: c1d98494 EBX: c1d98360 ECX: c1d98490 EDX: c1de23e0
[ 310.598642] ESI: c02a1f68 EDI: c1d93408 EBP: c1cca1a0 ESP: c02a1e48
[ 310.598642] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
[ 310.598642] Process swapper (pid: 0, ti=c02a0000 task=c0280300
task.ti=c02a0000)
[ 310.598642] Stack: c2862b09 c1d98000 00000080 c02a1ec8 c1cca1a0
c286bb1b 00000097 c0120338
[ 310.598642] 00002a66 c02a1ec8 c1d98360 00000082 00000000
00000082 c1cf0034 000979c8
[ 310.598642] c02845c0 00000000 00000080 000979c8 c02a1eb8
000979c8 c02845c0 c02a1ee4
[ 310.598642] Call Trace:
[ 310.598642] [<c2862b09>] <0> [<c286bb1b>] <0> [<c0120338>] <0>
[<c286be6d>] <0> [<c286c8ba>] <0> [<c285df8d>] <0> [<c0112=
[ 310.598642] Code: 6d fe ff ff 53 9d 5b c3 8b 10 83 e2 fc 8b 4a 14
89 c2 8b 01 eb e3 0f ba 29 00 19 c0 85 c0 74 03 31 c0 c3
[ 310.598642] EIP: [<c011a14f>] SS:ESP 0068:c02a1e48
[ 310.599702] Kernel panic - not syncing: Fatal exception in
interrupt

I did not investigate further, as I don't know anything about kernel
programming, and more generaly in linux programming. It would be
interesting to know if other people have the same problems, using
similar or other types of wireless adaptaters, so we can see if the
problem is linked to this particular driver or to another reason...

Greetings,

Thierry

Tomi Hautakoski

unread,
Jun 14, 2009, 12:21:55 PM6/14/09
to Bifferboard
On Sat, 13 Jun 2009, thar001 wrote:

Hi,

> # iwlist wlan0 scan
>
> which seems to work OK because I can see here my wireless router, but,
> 10, 30 or 60 seconds later (it depends), the system crashes with a
> "Kernel panic - not syncing: Fatal exception in interrupt - Rebooting
> in 3 seconds..".
>
> Same problem when I try to do :
>
> # iwconfig wlan0 essid "linksys" mode managed key open
>
>
> but in this case, the system crashes immediatly.
>
> The error message are, in all cases, like this :
>
> [ 43.705016] Kernel BUG at c011a14f [verbose debug info unavailable]

> interrupt
...


>
> I did not investigate further, as I don't know anything about kernel
> programming, and more generaly in linux programming. It would be
> interesting to know if other people have the same problems, using
> similar or other types of wireless adaptaters, so we can see if the
> problem is linked to this particular driver or to another reason...
>

I tried with my A-link USB WLAN stick that uses zd1211 driver with a
firmware blob loaded dynamically, and also experienced kernel crashes when
trying to run wpa_supplicant. I dont remember what was the exact error
message, but here's at least one person more with WLAN problems...

++Tomi

Reply all
Reply to author
Forward
0 new messages