rt73usb and 2.6.24 unusable

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

bofh1234

28-01-2008 19:47:20

Hello,

I downloaded the 2.6.24 kernel looking forward to a mainline driver for my EdiMax ew-7318usg wireless card. I compiled my own kernel, enabling rt73 support, reboot, and I get errors on module load. Here is the output from dmesg

rt73usb 1-11.0 usb_probe_interface
rt73usb 1-11.0 usb_probe_interface - got id
phy0 -> rt73usb_validate_eeprom EEPROM recovery - NIC 0xffef
phy0 -> rt73usb_validate_eeprom EEPROM recovery - Led 0xe000
phy0 -> rt73usb_validate_eeprom EEPROM recovery - RSSI OFFSET BG 0x0000
phy0 -> rt2x00_set_chip Info - Chipset detected - rt 1300, rf 0002, rev 0002573a.
phy0 Selected rate control algorithm 'simple'
phy0 Failed to initialize wep
phy0 -> rt2x00lib_probe_dev Error - Failed to initialize hw.
rt73usb probe of 1-11.0 failed with error -12
usbcore registered new interface driver rt73usb

What do I need to do to get a working rt73usb driver?
Thanks,

IvD

28-01-2008 22:15:23

The problem seems to be with mac80211 wep.
Did you load the arc4 module?

bofh1234

28-01-2008 22:45:41

bt ~ # lsmod
Module Size Used by
snd_seq_oss 30080 0
snd_seq_midi_event 7808 1 snd_seq_oss
snd_seq 46256 4 snd_seq_oss,snd_seq_midi_event
snd_pcm_oss 36640 0
snd_mixer_oss 16128 2 snd_pcm_oss
fuse 45972 1
snd_ca0106 32992 1
snd_rawmidi 23200 1 snd_ca0106
snd_seq_device 7688 2 snd_seq_oss,snd_rawmidi
snd_ac97_codec 92320 1 snd_ca0106
rt73usb 27520 0
snd_pcm 65412 3 snd_pcm_oss,snd_ca0106,snd_ac97_codec
rt2x00usb 12032 1 rt73usb
rt2x00lib 19712 2 rt73usb,rt2x00usb
snd_timer 21252 2 snd_seq,snd_pcm
snd 48740 10 snd_seq_oss,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_ca0106,snd_rawmidi,snd_seq_device,snd_ac97_codec,snd_pcm,snd_timer
firmware_class 10240 1 rt2x00lib
soundcore 8160 2 snd
crc_itu_t 2944 1 rt2x00lib
ac97_bus 2944 1 snd_ac97_codec
mac80211 110988 2 rt2x00usb,rt2x00lib
snd_page_alloc 10888 2 snd_ca0106,snd_pcm
cfg80211 13832 1 mac80211

No it doesn't appear so.
Thanks,

bofh1234

28-01-2008 22:51:17

OK I just loaded arc4.ko, rmmod rt73usb, rt2x00usb, and rt2x00lib. I then unplugged and plugged in (waiting 30 seconds) and still no joy. Same messages as earlier.

Thanks,

Dunkirk

29-02-2008 18:30:07

Seconded. After having such problems getting injection working under 2.6.23 with the legacy driver, I'm trying 2.6.24, and I'm seeing the exact same problem.

Dunkirk

29-02-2008 18:57:55

More research found this

[url39egujer]http://rt2x00.serialmonkey.com/phpBB2/viewtopic.php?p=25125[/url39egujer]

Note that loading the ecb module did NOT work. It only works after rebuilding the kernel with ECB and ARC4 internally.

I'm at another roadblock though, because here's the next step

workstation ~ # iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06)
SET failed on device wlan0 ; Device or resource busy.

Worse

workstation ~ # iwpriv wlan0
wlan0 no private ioctls.

Which makes me wonder if I'm chasing a dead horse, to mix my metaphors. If I can't issue iwpriv commands to this interface, I can't start injection. Is this driver -- the one that comes stock in the 2.6.24 kernel -- even _supposed_ to support monitor mode and injection? Maybe I'm just fundamentally confused.

IvD

29-02-2008 19:38:22


workstation ~ # iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06)
SET failed on device wlan0 ; Device or resource busy.
[/quote2j826ebh]

The interface must be down while changing the interface.


Worse

workstation ~ # iwpriv wlan0
wlan0 no private ioctls.
[/quote2j826ebh]

Why is this worse? This is a good sign, it means that the driver isn't clouded up by incompatible private ioctls which confuse most userspace applications.
Just use wpa_supplicant and iwconfig to make the driver do what you want...

Dunkirk

01-03-2008 00:34:36

OK, fair enough, but I haven't had to take the interface down to change the mode while using the legacy rt73 driver before. I have indeed been able to do that now.

However, I still get the following, whether the interface is up or down

workstation ~ # iwpriv wlan0 rfmontx 1
wlan0 no private ioctls

So... what's the trick to enable injection?

IvD

01-03-2008 12:19:03

OK, fair enough, but I haven't had to take the interface down to change the mode while using the legacy rt73 driver before. I have indeed been able to do that now.
[/quote3oefdgqp]

The legacy driver is _not_ the rt2x00 driver. rt2x00 follows the rules for wireless drivers inside the kernel. The legacy driver attempts to break as many rules as possible.


However, I still get the following, whether the interface is up or down

workstation ~ # iwpriv wlan0 rfmontx 1
wlan0 no private ioctls
[/quote3oefdgqp]

See my previous post regarding iwpriv and private ioctls.


So... what's the trick to enable injection?[/quote3oefdgqp]

You should radiotap, there are no options that need to be send to the driver itself.

Dunkirk

01-03-2008 22:09:03

I'm trying to do the legwork here. I've read up on radiotap, but I'm having trouble translating this to actual commands to run.

I've stumbled across something about creating a "mon0" interface in order to do injection, but I don't have the "add_iface" (file? socket?) in /sys/class/ieee80211/phy1 in order to do it

echo -n mon0 >/sys/class/ieee80211/phy1/add_iface

I've also read things about using wlanconfig to setup the interface, but this seems to be an ioctrl-related operation, and fails.

I just get the feeling that I'm missing something here.

What's the bottom line here? Can someone please tell me how to setup the interface with a 2.6.24.x kernel and the rt2x00 drivers in order to get aireplay-ng to tell me that "injection is working?" Is this branch of development so new that this information isn't written down somewhere?

Help me Obi Wan Kenobi, you're my only hope.

svnt

16-07-2008 01:21:24

In my experience I had to compile the crypto drivers into the kernel in order for this and the zd1211rw zydas module to work properly.

It is probably specifically only the ECB and ARC4 drivers that are the issue, but I compiled the ones for TKIP and CCMP ones into the kernel as well.

In menuconfig they are directly under Cryptographic API --->

Edit Said more explicitly, the ARC4 and ECB API selections can't be compiled as modules or it won't work.