Es ist ein paar Jahre her, dass ich so viele Probleme mit einem Wlan-Stick hatte. Dieser von TP-Link ist ein Stick mit 150Mbps und 802.11n, und ich wollte ihn mit meinem Pogo unter Arch Linux ARM nutzen. Nach vielen Umwegen habe ich das nun geschafft.
Der Stick identifiziert sich als
ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
Laut Wiki wäre der richtige Treiber der freie mt7601u_sta. Diesen aber nicht von dort herunterladen, denn er ist kaputt. Stattdessen nimmt man die gepatchte Version aus diesem Github-Repository (via):
git clone https://github.com/porjo/mt7601.git
cd mt7601/src
make
make install
mkdir -p /etc/Wireless/RT2870STA/
cp RT2870STA.dat /etc/Wireless/RT2870STA/
modprobe mt7601Usta
Funktioniert das nicht, kann man es auch mit diesem Github-Repository probieren. Der zu ladende Treiber ist dann der rtnet7601Uap, die Firmware die RT2870AP.dat, die nach /etc/Wireless/RT2870AP/ muss. Wichtig ist in jedem Fall, nach dem Laden per dmesg
zu prüfen, ob die Firmware erfolgreich geladen werden konnte, und sie ansonsten ins richtige Verzeichnis zu kopieren.
Die Ausgabe von iwconfig sieht nun komisch aus, das einfach ignorieren. Denn die Karte kann trotzdem konfiguriert und gestartet werden:
ifconfig ra0 inet 192.168.0.100 up
iwconfig ra0 mode managed
iwconfig ra0 key s:PASSWORD
iwpriv ra0 set SSID="DEINE_ESSID"
Damit das aber funktioniert und der Treiber starten kann, muss eventuell ein Boot-Parameter gesetzt werden (via): coherent_pool=2M
.
Das ist nötig, wenn der Treiber wegen zu wenig Speicher stirbt:
ERROR!!! Failed to allocate memory - TxRxRing
Die von mir damals installierte uboot-Version macht das sehr schwierig. Deswegen habe ich die uboot-Version von Arch installiert:
wget http://archlinuxarm.org/os/armv5te/boot/pogo_e02/pogo_e02.sh
chmod +x pogo_e02.sh
./pogo_e02.sh
Danach kann eine /boot/uEnv.txt angelegt werden, die den Parameter beim nächsten Reboot setzt und bei mir so aussieht:
optargs=coherent_pool=2M
Wie gut der Adapter am Ende funktioniert, habe ich noch nicht wirklich getestet. Den ersten Versuchen zufolge sieht erstmal alles okay aus. Es ist aber wirklich schade, dass der Treiber trotz freier Lizenz in einem so schlechten Zustand und die Dokumentation so lückenhaft ist.