"Interface doesn't accept private ioctl" with x86_64 kernel

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

zwenna

17-10-2008 12:14:15

The rt73 driver works fine on i386 with a 32-bit kernel, but fails with a 64-bit one

Interface doesn't accept private ioctl...
set (8BE2) Invalid argument
Failed to bring up wlan0.

Here are the relevant stanzas in /etc/network/interfaces

allow-hotplug wlan0
iface wlan0 inet dhcp
pre-up ifconfig wlan0 up
pre-up iwconfig wlan0 essid "*****"
pre-up iwconfig wlan0 mode Managed
pre-up iwpriv wlan0 set AuthMode=WPA2PSK
pre-up iwpriv wlan0 set EncrypType=AES
pre-up iwpriv wlan0 set WPAPSK="*****"
pre-up ifconfig wlan0 up

All this under Debian sid 32-bit, Linux 2.6.26.5, rt73usb driver blacklisted.

Spy84464

17-10-2008 17:44:34

Hello,
you said things are working in 32 bits, and that is what you are using.
Have you tried changing the stanzas from "pre-up" to "post-up"? I don't remember if rt73 accepts private ioctls while the interface is down.

Regards,
Romain

zwenna

17-10-2008 19:56:54

After changing pre-up to post-up even the 32-bit system breaks. Often dhclient fails to obtain an IP address from the DHCP server (my router), and even if it does, I can't ping the router afterwards.

On the 64-bit kernel dhclient always times out, after which the error message appears again.

Spy84464

22-10-2008 17:46:16

Do you confirm everything is working if you configure the stick manually?

zwenna

22-10-2008 18:45:42

Well, I can't get iwpriv to work, what else can I do?
Here's a sample session trying manual configuration

[code4c3jpkmo]
# ifconfig wlan0 up
# iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: xx:xx:xx:xx:xx:xx
ESSID:"*****"
Mode:Managed
Channel:11
Encryption key:on
Bit Rates:0 kb/s

# iwconfig wlan0 mode managed
# iwpriv wlan0 --all
wlan0 Available read-only private ioctl :
Interface doesn't accept private ioctl...
get_rfmontx (8BED): Invalid argument

# iwconfig wlan0 essid "*****"
# iwpriv wlan0 set AuthMode=WPAPSK
Interface doesn't accept private ioctl...
set (8BE2): Invalid argument

[/code4c3jpkmo]

Spy84464

27-10-2008 19:23:50

You are most likely using rt2x00, check the output of "lsmod", the module is called "rt73usb" , the legacy driver, on the other hand, is "rt73".
You need wpa_supplicant with rt2x00. If you wish to use the legacy driver, make sure you first blacklist or remove rt2x00.

zwenna

27-10-2008 20:22:24

You are most likely using rt2x00, check the output of "lsmod", the module is called "rt73usb" , the legacy driver, on the other hand, is "rt73".[/quote1q5q9mpz]
I know that, and I am (or was, since I switched to rt73usb a week ago) using the rt73 driver.
[quote1q5q9mpz]You need wpa_supplicant with rt2x00. If you wish to use the legacy driver, make sure you first blacklist or remove rt2x00.[/quote1q5q9mpz]
Surely. Here are my experiences with 2.6.26 and 2.6.27 kernels

32-bit kernel with rt73 works fine
32-bit kernel with rt73usb and wpa_supplicant works fine as well
64-bit kernel, 32-bit userland with rt73 does not work
64-bit kernel, 32-bit userland with rt73usb and wpa_supplicant works in 2.6.27, does not work in 2.6.26.

The latter problem has been reported several times
https//bugzilla.redhat.com/show_bug.cgi?id=436923
http//bugs.debian.org/cgi-bin/bugreport.cgi?bug=501859
http//bugs.debian.org/cgi-bin/bugreport.cgi?bug=498220

Right now I'm using kernel 2.6.27.4-amd4 with rt73usb to write this posting.

Spy84464

28-10-2008 17:32:55

I'm confused, what is the problem then? Which driver are you trying to make work?

zwenna

28-10-2008 19:00:18

I'm confused, what is the problem then? Which driver are you trying to make work?[/quoteu1c2ail4]
The legacy driver, this forum and the whole thread is about it. wink

But it's not really important to me any more. Since I managed to master the intricacies of wpa_supplicant and the rt73usb driver in 2.6.26+ works very nicely, I'll probably give up on the legacy driver completely.

See you later in the rt2x00 forum[/urlu1c2ail4]. )

Spy84464

29-10-2008 18:07:51

This is the best choice. rt2x00 is intended to replace the legacies anyway.