Ubuntu – Draft-N – Ralink Technology (148f:3070) – RT3070

Der in Ubuntu 10.04 integrierte WLAN-Treiber für den Ralink Technology (148f:3070) Chip [Hama Mini WLAN USB-Stick] kann nur eine 54-Mbit-Verbindung aufbauen, darum müssen wir eine neuere Version des Treibers selber kompilieren.

lsusb | grep -i ralink
Bus 001 Device 002: ID 148f:3070 Ralink Technology, Corp.

Zuerst müssen wir den Sourcecode des Treibers für den Ralink Technology 3070 Wireless-LAN Chip von der Herstellerseite herunterladen.

Danach installieren wir uns ein wenig Kernelzubehör, …

sudo su -
aptitude install linux-headers-`uname-r` make gcc bzip2 build-essential

… den Sourcecode entpacken wir in einem dazu geeigneten Verzeichnis.

tar xvjf DPO_RT3070_LinuxSTA_V2.3.0.2_20100412.tar.bz2
cd DPO_RT3070_LinuxSTA_V2.3.0.2_20100412

Nun müssen wir eine kleine Anpassung am Treiber vornehmen …

gksu gedit ./os/linux/usb_main_dev.c

… den bestehenden Code …

#include "rt_config.h"
// Following information will be show when you run 'modinfo'
// *** If you have a solution for the bug in current version of driver, please mail to me.
// Otherwise post to forum in ralinktech's web site(www.ralinktech.com) and let all users help you. ***
MODULE_AUTHOR("Paul Lin ");
MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver");
#ifdef CONFIG_STA_SUPPORT
#ifdef MODULE_VERSION
MODULE_VERSION(STA_DRIVER_VERSION);
#endif
#endif // CONFIG_STA_SUPPORT //
...

… in …

#include "rt_config.h"

// Following information will be show when you run 'modinfo'
// *** If you have a solution for the bug in current version of driver, please mail to me.
// Otherwise post to forum in ralinktech's web site(www.ralinktech.com) and let all users help you. ***
MODULE_AUTHOR("Paul Lin ");
MODULE_DESCRIPTION("RT2870 Wireless Lan Linux Driver");
MODULE_LICENSE("GPL");
#ifdef CONFIG_STA_SUPPORT
#ifdef MODULE_VERSION
MODULE_VERSION(STA_DRIVER_VERSION);
#endif
#endif // CONFIG_STA_SUPPORT //
...

… verändern. Also das „MODULE_LICENSE(„GPL“);“ einfügen, das Konfigurationsfile „RT2870STA.dat“ passen wir nach der Anleitung im UbuntuUsers-Wiki an.

Beispiel:

#The word of "Default" must not be removed
Default
CountryRegion=5
CountryRegionABand=7
CountryCode=DE
ChannelGeography=1
SSID=WLAN-NAME
NetworkType=Infra
WirelessMode=6
Channel=13
BeaconPeriod=100
TxPower=100
BGProtection=0
TxPreamble=0
RTSThreshold=2347
FragThreshold=2346
TxBurst=1
PktAggregate=0
WmmCapable=1
AckPolicy=0;0;0;0
AuthMode=WPA2PSK
EncrypType=AES
WPAPSK=WLAN-SCHLUESSEL
DefaultKeyID=1
Key1Type=0
Key1Str=
Key2Type=0
Key2Str=
Key3Type=0
Key3Str=
Key4Type=0
Key4Str=
PSMode=CAM
AutoRoaming=0
RoamThreshold=70
APSDCapable=0
APSDAC=0;0;0;0
HT_RDG=1
HT_EXTCHA=0
HT_OpMode=0
HT_MpduDensity=4
HT_BW=1
HT_BADecline=0
HT_AutoBA=1
HT_AMSDU=0
HT_BAWinSize=64
HT_GI=1
HT_MCS=33
HT_MIMOPSMode=3
HT_DisallowTKIP=1
HT_STBC=0
IEEE80211H=0
TGnWifiTest=0
WirelessEvent=0
CarrierDetect=0
AntDiversity=0
BeaconLostTime=4
PSP_XLINK_MODE=0

Nach der erfolgreichen Anpassung des Konfigurationsfiles kopieren wir es.

cp RT2870STA.dat RT3070STA.dat

Nun müssen wir den Treiber kompilieren

make

… und im Anschluss installieren wir Ihn.

sudo make install

Um den Installationsvorgang abzuschließen, müssen wir die von uns angepassten Konfigurationsfiles noch ins „/etc“ kopieren.

sudo mkdir -p /etc/Wireless/RT2870STA
sudo mkdir -p /etc/Wireless/RT3070STA
sudo cp RT2870STA.dat /etc/Wireless/RT2870STA
sudo cp RT3070STA.dat /etc/Wireless/RT3070STA

So, jetzt deaktivieren wir die nur mit 54 Mbit funktionierenden Treiber von Ubuntu LTS Lucid Lynx, …

gksu gedit /etc/modprobe.d/blacklist.conf

… am Schluss der Datei fügen wir …

# for rt3070 chip
blacklist rt2800usb
blacklist rt2870sta

… ein. Jetzt entladen wir die zwei Module, damit wir keinen Neustart machen müssen.

sudo rmmod rt2800usb
sudo rmmod rt2870sta

In der Datei modules

gksu gedit /etc/modules

… tragen wir am Ende folgende Zeilen ein …

# RT3070
rt3070sta

… damit das Modul automatisch beim Starten geladen wird. Die Treiber-Installation haben wir nun abgeschlossen.

Damit sich unser neuer WLAN-Stick mit unserem WLAN verbindet, müssen wir den WPA-Supplicant installieren …

sudo aptitude install wpasupplicant

… und konfigurieren.

gksu gedit /etc/wpa_supplicant/wpa_supplicant.conf

Im WPA-Supplicant Konfigurationsfile tragen wir nun folgendes für ein WPA2-PSK WLAN ein, …

ctrl_interface=/var/run/wpa_supplicant
eapol_version=1
ap_scan=2
network={
ssid="WLAN-NAME"
key_mgmt=WPA-PSK
proto=RSN
pairwise=CCMP
group=CCMP
psk="WLAN-SCHLUESSEL"
}

… für nähere Informationen oder ein anderes WLAN-Netz könnt ihr einfach im UbuntuUsers-Wiki nachschauen. Wichtig ist das die Einstellungen zu dem vorhin konfigurierten RT2870STA.dat/RT3070STA.dat Konfigurationsfile passen.

Jetzt müssen wir unserem Ubuntu sagen, dass es für das neue WLAN-Interface unser Konfigurationsfile laden soll.

gksu gedit /etc/network/interfaces

Am Ende fügen wir …

#new wlan interface
auto ra0
iface ra0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

… ein. Natürlich unter der Voraussetzung, dass DHCP (iface ra0 inet dhcp) beim Router eingestellt ist.

Zu guter Letzt können wir noch folgenden Befehl in die Konsole eingeben, …

sudo aptitude remove network-manager
sudo aptitude autoremove

… um den GNOME Network Manager zu deinstallieren (…nicht zwingend). Neustart!

reboot

Quellen:
WLAN auf Netbook unter Ubuntu
UbuntuUsers Wiki WLAN/wpa supplicant
Belkin N Wireless Stick unter Ubuntu Jaunty Jackalop

Veröffentlicht von

_nico

Mac-User aus Leidenschaft, Blogger seit Oktober 2009, 88er Baujahr, technikaffin. Ich fühle mich aber nicht nur auf Apple'schen Betriebssystemen zu Hause, alles was eine Shell hat, interessiert mich besonders! Ihr findet mich auch auf Twitter und Google+.

6 Gedanken zu „Ubuntu – Draft-N – Ralink Technology (148f:3070) – RT3070“

  1. um ein Kernelmodul automatisch beim booten zu starten ist der richtige Ort die Datei /etc/modules

    wenn man schon etwas in die /etc/rc.local einträgt, dann trägt man dort nur den Befehl ein ohne sudo.

    Das Paket wpasupplicant (das Paket heiss nicht wpa_supplicant) sollte doch bei einer normalen Installation bereits installiert sein.

    1. Hi Ubunux,

      danke für deine Kritik – das was du geschrieben hast ist selbstverständlich alles korrekt!!
      Ich habe den Artikel etwas angepasst.

      Vielen Dank

  2. Dein Artikel ist echt super! Ich verfahre bislang ähnlich, habe noch ein paar Fragen:

    – wozu muss die Lizenzinformation angepasst werden? Das mache ich bis jetzt nicht
    – warum schmeißt du den Netzwerk Manager raus, ich nutze den rt3572 erfolgreich mit diesem.
    – kann man den Treiber ggf. von DKMS verwalten lassen? Sonst muss man jedes Mal neu kompilieren bei Kernelupdates.

    Vielen Dank & Gruß
    Christian

    1. Hi Christian,

      den Netzwerk Manager habe ich entfernt, weil ich ihn nicht verwende. Für mich, an meinem Media-PC, ist es einfach die Einstellungen über SSH in der Datei „/etc/network/interfaces“ zutreffen, anstelle eine Tastatur anzuschließen. Genau aus diesem Grund habe ich „können“ geschrieben, es ist keine Pflicht!

      Keine Ahnung ob man den Treiber über DKMS verwalten kann, mit DKMS habe ich mich noch nie beschäftigt. Ich musste ihn auch schon, wegen einen Kernel-Update, neu kompilieren.

      Viele Grüße Nico

Kommentare sind geschlossen.