[TOC]

State of driver in Opensuse 10.2

Opensuse 10.2 is using a driver for this card which is completely unusable. The driver that is installed is called “rt61pci”. This however requires firmware that does not come with Opensuse 10.2, which leads to the following error when loading the module
rt61pci->rt61pci_init_firmware_cont: Error - Failed to load Firmware.
If one copies the firmare files from the rt61 driver located at http://rt2x00.serialmonkey.com/ to /lib/firmware then this message changes to
Loading module: rt61pci - CVS (N/A) by http://rt2x00.serialmonkey.com.
This driver can now be configured with yast2. Unfortunately it is still not recognised. In order to install it manually one needs to know the pci number (yast2->Hardware->Hardware Information->[Search for sysfs_bus_id]). Using this id (e.g. bus-pci-0000:01:07.0) one can set up the card in yast. This does work in principle, but only leads to a not working network:
Matthias:/home/matthias # iwconfig
lo        no wireless extensions.
 
wmaster0  IEEE 802.11g  Frequency:2.412 GHz
          RTS thr:off   Fragment thr=2346 B
 
wlan0     IEEE 802.11g  ESSID:"Heimnetz"
          Mode:Managed  Frequency:2.412 GHz  Access Point: Not-Associated
          RTS thr:off   Fragment thr=2346 B
          Encryption key:off
 
eth0      no wireless extensions.
 
sit0      no wireless extensions.
The error seems to happen during initialisation of the driver (etc/init.d/network start)
Setting up network interfaces:
    wlan0     device: RaLink RT2561/RT61 rev B 802.11g
command 'iwconfig wlan0 nick Matthias' returned
 Error for wireless request "Set Nickname" (8B1C) :
    SET failed on device wlan0 ; Operation not supported.
SIOCSIFFLAGS: No buffer space available
Cannot enable interface wlan0.
interface wlan0 is not up                                             failed
Conclusion: It is only a waste of time working with this driver!

Installation of rt61 drivery

There is however a driver from the manufacturer of the chipset (RaLink) and a modified driver with more options (http://sourceforge.net/projects/rt2400/). The driver/chipset is called “RT61”. This driver needs to be downloaded, and installed via make, make install. It requires a file to be installed into /etc/Wireless/RT61STA/

rt61sta.dat


[Default]
CountryRegion=0
CountryRegionABand=7
WirelessMode=0
SSID=xxxx
NetworkType=Infra
Channel=13
AuthMode=OPEN
EncrypType=WEP
DefaultKeyID=1
Key1Type=0
Key1Str=xxxx
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
WPAPSK=
TxBurst=0
PktAggregate=0
WmmCapable=0
APSDCapable=0
APSDAC=0;0;0;0
BGProtection=0
IEEE80211H=0
TxRate=0
RTSThreshold=2347
FragThreshold=2346
RoamThreshold=75
PSMode=CAM
TxPreamble=0
FastRoaming=0
The options are explained in the readme of the driver. If this is all done a
modprobe rt61 loads the driver. At this point the driver can be installed via yast2 by adding an unkown device. The corresponding “ifcfg” file should look like this one:

ifcfg-wlan-id-00:17:9a:b8:59:c1


BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.2.110'
MTU=''
NAME='D-Link Ethernet controller'
NETMASK='255.255.255.0'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
UNIQUE='VQ+S.J1kwj8zp38A'
USERCONTROL='no'
WIRELESS_AP=''
WIRELESS_AUTH_MODE='open'
WIRELESS_BITRATE='auto'
WIRELESS_CA_CERT=''
WIRELESS_CHANNEL=''
WIRELESS_CLIENT_CERT=''
WIRELESS_CLIENT_KEY=''
WIRELESS_CLIENT_KEY_PASSWORD=''
WIRELESS_DEFAULT_KEY='0'
WIRELESS_EAP_AUTH=''
WIRELESS_EAP_MODE=''
WIRELESS_ESSID='xxxx'
WIRELESS_FREQUENCY=''
WIRELESS_KEY=''
WIRELESS_KEY_0='h:xxxx'
WIRELESS_KEY_1=''
WIRELESS_KEY_2=''
WIRELESS_KEY_3=''
WIRELESS_KEY_LENGTH='128'
WIRELESS_MODE='Managed'
WIRELESS_NICK=''
WIRELESS_NWID=''
WIRELESS_PEAP_VERSION=''
WIRELESS_POWER='yes'
WIRELESS_WPA_ANONID=''
WIRELESS_WPA_IDENTITY=''
WIRELESS_WPA_PASSWORD=''
WIRELESS_WPA_PSK=''
_nm_name='bus-pci-0000:01:07.0'
Now a restart of the network should be enought to have a working network.

possible problems

If the old driver should still be loaded add a blacklist option to /etc/modprobe.d/blacklist
blacklist rt61pci
and check that no further settings for rt61pci are done
# grep -r rt61pci /etc/
I experienced that the driver name is increased everytime it is loaded (ra0, ra1, ra2, …) To disable this set the option
FORCE_PERSISTENT_NAMES  = no
in /etc/sysconfig/network/config