Hallo,
zwei Lösungsmöglichkeiten bieten sich an. Aktuellen Treiber von Ralink selber bauen oder dem System die benötigte Geräte-ID mitteilen (Variante B ist einfacher, siehe im zweiten Abschnitt weiter unten im Beitrag).
Bei aktuelleren Kernelversionen muss u.U. das Mudul rt2800usb zuvor gesperrt werden, sofern dieses geladen wird um dem rt2870sta nicht zu blockieren:
echo 'blacklist rt2800usb' | sudo tee -a /etc/modprobe.d/blacklist.conf
Variante A - Aktuellen Treiber bauen und anpassen
Treiber und benötigte Werkzeuge herunterladen, entpacken und kompilieren:
http://www.ralinktech.com/support.php?s=2
Edit: aktuelle Treiberversionen des Herstellers beachten!
Treiberdatei unter /home/<Benutzer> ablegen und entpacken.
sudo apt-get install --reinstall linux-headers-$(uname -r) build-essential
tar xvf RT2870_LinuxSTA_V2.3.0.0.tar.tar.bz2
Die Geräte-ID muss im Modul ~/RT2870_LinuxSTA_V2.3.0.0/common/rtusb_dev_id.c eingefügt werden. Der Konfigurationsblock ist leicht zu finden.
rtusb_dev_id.c
...
{USB_DEVICE(0x7392,0x7718)},
{USB_DEVICE(0x7392,0x7717)},
{USB_DEVICE(0x1737,0x0070)}, /* Linksys WUSB100 */
{USB_DEVICE(0x1737,0x0078)}, /* Linksys WUSB100 v2 */
{USB_DEVICE(0x1737,0x0071)}, /* Linksys WUSB600N */
{USB_DEVICE(0x0411,0x00e8)}, /* Buffalo WLI-UC-G300N*/
{USB_DEVICE(0x050d,0x815c)}, /* Belkin F5D8053 */
{USB_DEVICE(0x100D,0x9031)}, /* Motorola 2770 */
{USB_DEVICE(0x0DB0,0x6899)},
#endif // RT2870 //
{ }/* Terminating entry */
};
Jetzt noch die Datei config.mk gemäß RT28xx-Draft-N anpassen, damit der Treiber mit wpa_supplicant und dem Network-Manager funktioniert.
Treibermodul bauen und in das System einbinden:
cd
cd RT2870_LinuxSTA_V2.3.0.0
sudo make
sudo make uninstall
sudo make install
sudo depmod -a
Ndiswrapper entladen und Treiber löschen:
sudo modprobe -rf ndiswrapper
sudo rm /etc/ndiswrapper/*
sudo rm /etc/modprobe.d/ndiswrapper
Die Datei /etc/Wireless/RT2870STA/RT2870STA.dat gemäß Wiki anpassen.
Prüfen:
modinfo rt2870sta | egrep 'filen|versi|1737'
sudo modprobe rt2870sta
iwconfig
sudo iwlist scan
Die neue Geräte-ID 1737:0078 sollten nun enthalten sein und der Stick erkannt werden.
Variante B - Geräte-ID zum System hinzufügen
Sollte das nicht funktionieren, gibt es eine zweite Möglichkeit. Mit einen kleinen Trick kann die benötigte Geräte ID zum System hinzugefügt werden. Dann wird der Systemtreiber rt2870sta verwendet. Sofern installiert muss zuvor der selbst gebaute Treiber V2.3.0.0 wieder entfernt werden.
Treiber entfernen wenn manuell kompiliert und in das System eingebunden:
cd
cd RT2870_LinuxSTA_V2.3.0.0
sudo make uninstall
Geräte-ID hinzufügen:
echo 'install rt2870sta modprobe --ignore-install rt2870sta ; /bin/echo "1737 0078" > /sys/bus/usb/drivers/rt2870/new_id' | sudo tee /etc/modprobe.d/rt2870sta.conf
Testen:
sudo modprobe -rf rt2870sta
sudo modprobe -v rt2870sta
dmesg | egrep 'rt28|usb|Phy'
iwconfig
Treiber automatisch laden:
echo rt2870sta | sudo tee -a /etc/modules
oder eleganter wenn der Stick tatsächlich verwendet wird mittels udev-Regel:
sudo gedit /etc/udev/rules.d/10-wusb100.rules
Inhalt:
# UDEV-Rule for wusb-100v2 ID 1737:0078
SUBSYSTEM=="usb", ATTR{idVendor}=="1737", ATTR{idProduct}=="0078", RUN+="/sbin/modprobe rt2870sta"
Udev-System neu laden
sudo service udev reload
... oder System neu starten.