PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ubuntu als Wireless Access Point - kein atheros chipsatz



MystiqueMax
21.10.10, 17:35
Hallo Leute,
so ich habe mir meinen ersten mobilen Computer gekauft. Ein Macbook. Jetzt besitze ich zu Hause kein WLan. Nun ja, eigentlich schon, nur mein Zimmer ist soweit vom WLan-Router der WG entfernt, dass ich kein Signal mehr bekomme. Ich dachte also ich könnte meinen Desktop PC, auf dem Ubuntu Maverick Meerkat (32bit) läuft als Wireless Access Point nutzen.

Jetzt habe ich schon mal rumgegoogelt. Die ein oder andere Anleitung gefunden, die im Überfliegen immer total unverständlich wirkt, aber aus Erfahrung nehm ich mal an, beim Schritt für Schritt ausführen viel leichter ist als sie aussieht.

Nur, was mir zu denken gibt, überall steht man braucht einen Atheros Chipsatz. Ich habe anscheinend keinen Mein USB WLan-Stick ist von Hama und folgende Anzeige bekomme ich bei lsusb:


lsusb | grep 006
Bus 001 Device 006: ID 148f:2573 Ralink Technology, Corp. RT2501/RT2573 Wireless Adapter

Schätze mal RT2501/RT2573 ist der Chipsatz. Also das war der Hintergrund. Meine Kernfrage ist da viel simpler. Wieso kann man nur Atheros Chipsatz einen Wireless Access Point einrichten, wenn scheinbar auch andere Chipsätze an Ubuntu voll funktionsfähig sind? Liegt es an den Treibern oder sind allgemein (also OS-unabhängig) nur Atheros Chipsätze für Wireless Access Points geeignet?

LG
Max


EDIT 1:
Ok, ich habe jetzt noch ein bisschen weitergelesen und es scheint was mit den Modi "managed" und "master" zu tun zu haben. Mein WLan-Stick beherrscht nur "mananged" und ist deswegen nicht geeignet. Kann mir jemand erklären, was managed und master genau für einen Unterschied machen?

buzz768
21.10.10, 23:14
http://hostap.epitest.fi/hostapd/
->Supported wireless cards/drivers
->Linux mac80211 drivers
->drivers table
->rt73usb
->device list
erster Eintrag ist dein WLAN Chip, also würde ich es mal mit hostapd probieren.

MystiqueMax
22.10.10, 07:56
Ist rt73 der selbe Chipsatz wie rt2573?

Also, in der Liste steht nichts von Vendor: "Hama". Aber nun ja, schlechtestenfalls verlier ich etwas Zeit. Also probier ich es einfach mal aus. ^^

buzz768
22.10.10, 11:30
Naja, entscheidend ist die ID, der Hama-Stick wird baugleich mit denen von Alfa, Edimax und TP-Link sein. Welchen Treiber verwendest du denn jetzt?


basename $(readlink /sys/class/net/wlan0/device/driver/module)

In der hopstapd.conf musst du als Treiber nl80211 wählen.

MystiqueMax
22.10.10, 13:14
Ok, ich hoffe den Befehl den du mir geschickt hast, ist zum Abfragen des Treibers ;)

root@john-linux:~# basename $(readlink /sys/class/net/wlan0/device/driver/module)
rt73usb


Ich bin ehrlichgesagt mit den verschiednenen Tutorials etwas durcheinander gekommen. Ich setz nachher ein Debian Test Rechner auf und versuch dort eine Minimalinstallation durchzuführen und dort alles noch einmal von vorne.

Ich habe überall im System Einträge getätigt und weiß jetzt nicht mal mehr für was genau.. Ich weiß nur, dass ich gescheitert bin, als ich per iwconfig den Wlan-Stick auf master setzen sollte.

Ginge es auch eine Internetverbindung per Ad-Hoc zu teilen? Brauch ich da eigentlich wirklich einen Mastermode?

Rain_maker
22.10.10, 15:09
Ich bin ehrlichgesagt mit den verschiednenen Tutorials etwas durcheinander gekommen. Ich setz nachher ein Debian Test Rechner auf und versuch dort eine Minimalinstallation durchzuführen und dort alles noch einmal von vorne.

Sofern das "Test" auch bei der derzeitigen Debian-Version wörtlich zu nehmen ist (also Squeeze), kann das Sinn machen (ich sehe den eigentlich nicht, ob jetzt Debian oder *Buntu ist bei den Paketen relativ wurscht und bei diesem Vorhaben gilt eh "je neuer desto besser" und wenn man es mit *Buntu nicht gebacken bekommt, dann wirds mit Debian auch nicht anders zu konfigurieren sein), bei Lenny wäre das ein netter Schuss in den eigenen Fuß (es sei denn, man will sich alles selbst kompilieren, kann ja auch sein).

buzz768
22.10.10, 15:26
Ok, ich hoffe den Befehl den du mir geschickt hast, ist zum Abfragen des Treibers ;)

Ja, genau, ist auch der richtige Treiber. Manchmal muss man ja Module 'blacklisten', damit der erwünschte Treiber das Gerät übernimmt, hier also nicht nötig.


Ich weiß nur, dass ich gescheitert bin, als ich per iwconfig den Wlan-Stick auf master setzen sollte.



# ifconfig wlan0 192.168.0.1
# iwconfig wlan0 mode master
Error for wireless request "Set Mode" (8B06) :
SET failed on device wlan0 ; Invalid argument.

So etwa ? ;) Aber trotzdem...


# hostapd -B /etc/hostapd/hostapd.conf
Configuration file: /etc/hostapd/hostapd.conf
Using interface wlan0 with hwaddr 00:11:22:33:44:55 and ssid 'foobar'
# iwconfig wlan0
wlan0 IEEE 802.11bg Mode:Master Frequency:2.422 GHz Tx-Power=27 dBm
...

MystiqueMax
27.10.10, 17:10
So, etwas gedauert, aber ich hatte kaum Zeit mir mein Debiansystem einzurichten. Genau hier soll nämlich später der Stick laufen. Ich habe jetzt gerade genau das beschriebene Problem, dass mein Debian Lenny keine WLan-Treiber integriert hat. Ich habe mir den jetzt von der Hama-Website gesaugt und werde nun versuchen mein erstes mal einen Treiber manuell zu kompilieren...

Vorher sichere ich aber noch mit dd meine Festplatte.

Gibt es grundlegende Unterschiede vom Komplilieren eines normalen Programmes zum Kompilieren eines Treibers? Kennt jemand eine gute Anleitung? Ich habe nur Anleitungen zu Treibern von anderen Sachen (meist Grafikkarten) gefunden. Ist dies ähnlich genug zum Kompilieren eines USB-WLan-Stick-Treibers?

buzz768
27.10.10, 17:26
Ich habe jetzt gerade genau das beschriebene Problem, dass mein Debian Lenny keine WLan-Treiber integriert hat.
Wie kommst denn darauf?
http://packages.debian.org/search?searchon=contents&keywords=rt73usb.ko&mode=path&suite=stable&arch=any

MystiqueMax
27.10.10, 17:37
Nun ja, wenn ich iwconfig eintippe, dann steht hier folgendes:


Wifi-Server:~# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wmaster0 no wireless extensions.

wlan0 IEEE 802.11 ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=0 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Encryption key:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


Und im Wiki auf Ubuntuusers steht nebenbei noch das hier:

Wird ein aktiver, sich in Reichweite befindender "Access Point" nicht erkannt, so ist davon auszugehen, dass das System noch nicht über einen geeigneten Treiber für die Karte verfügt und die Karte in der Folge nicht automatisch erkannt wird. Im Normalfall ist dann auch kein Linux-Treiber vorhanden, so dass man mit NdisWrapper einen Windows-Treiber nutzen muss.
>>>LINK<<< (http://wiki.ubuntuusers.de/WLAN/Installation#Bei-Problemen)

Deswegen bin ich jetzt einfach davon ausgegangen, dass mir Treiber fehlen, da in den Wohnungen nebenan überall Router stehen und ich 3 WLan-Router eigentlich als Access Points zur Verfügung haben sollte...

buzz768
27.10.10, 17:46
Scanne doch einfach mal nach den Access Points


ifconfig wlan0 up
iwlist scan

MystiqueMax
27.10.10, 17:51
Geht leider nicht. Ich finde die Stick nicht unter ifconfig und ifconfig gibt mir ne Fehlermeldung wenn ich versuche den Stick zu aktivieren:


Wifi-Server:~# ifconfig wlan0 up
SIOCSIFFLAGS: Datei oder Verzeichnis nicht gefunden
Wifi-Server:~# iwlist scan
lo Interface doesn't support scanning.

eth0 Interface doesn't support scanning.

wmaster0 Interface doesn't support scanning.

wlan0 Interface doesn't support scanning : Network is down


Ich habe meine "/etc/network/interfaces" angepasst. Könnte ich da irgendetwas gemacht haben, weswegen mein Stick nicht benutzt werden kann? Hier einfach mal meine Interfaces:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.29
netmask 255.255.255.0
gateway 192.168.0.1

buzz768
27.10.10, 17:57
Vielleicht braucht der Stick noch eine Firmware...

MystiqueMax
27.10.10, 18:08
Ok, jetzt überforderst du mich aber... Ich dachte Treiber sind dazu da, damit der Computer mit der Firmware des Sticks reden kann. Sollte da nicht schon eine Firmware drauf sein? Verstehe ich dich richtig, ich habe den richtigen Treiber, aber die falsche Firmware?

Ich habe es gerade nochmal geprüft. In Sachen Treiber habe ich jetzt auf den Debianrechner, was schon auf den Ubunturechner für gut befunden wurde:

Wifi-Server:~# basename $(readlink /sys/class/net/wlan0/device/driver/module)
rt73usb

Wo nehme ich den jetzt noch ne neue Firmware her?


EDIT:
Vielleicht braucht er ja nur einen Neustart.. Aber den kann ich gerade nicht machen, da gerade dd schleppend langsam /dev/hda sichert... Frag mich was das so langsam macht, dass es schon 1,5h für 3,4 von 4,5 GB brauchte.. Das USB1? Die 256MB Ram? Oder, dass ich die Angabe von bs vergessen habe. Naja, vielleicht funktioniert es aber dann nach einen Neustart sobald dd fertig ist...

buzz768
27.10.10, 18:21
3,4 GB in 1,5 h ergibt 0,65 MB/s, das sieht tatsächlich nach USB1 aus, mehr als ~1MB/s geht damit nicht. Wegen der Firmware würde ich mir mal die Ausgabe von


dmesg | grep rt73

ansehen. Du brauchst wahrscheinlich etwas hiervon (http://www.ralinktech.com/support.php?s=2).

MystiqueMax
27.10.10, 18:40
Also, das stand zuerst das da:

Wifi-Server:~# dmesg | grep rt73
[ 25.094506] Registered led device: rt73usb-phy0:radio
[ 25.094594] Registered led device: rt73usb-phy0:assoc
[ 25.094671] Registered led device: rt73usb-phy0:quality
[ 25.097273] usbcore: registered new interface driver rt73usb
[ 2022.486630] firmware: requesting rt73.bin
[ 2047.988260] firmware: requesting rt73.bin


Steht ja requesting da, also habe ich sie runtergeladen, wie mir geheißen wurde :)

Nun, dann war aber dd fertig und ich habe neugestartet.
Jetzt kommt stattdessen das:

Wifi-Server:~/RT71W_Firmware_V1.8# dmesg | grep rt73
[ 24.201498] Registered led device: rt73usb-phy0:radio
[ 24.201600] Registered led device: rt73usb-phy0:assoc
[ 24.201691] Registered led device: rt73usb-phy0:quality
[ 24.205043] usbcore: registered new interface driver rt73usb


Also sieht doch jetzt so aus, als suche es nicht mehr nach der Firmware, oder? Muss ich die noch installieren? Wenn ja, ich habe die Firmware ja jetzt entpackt auf den Rechner. Da ist eine "rt73.bin". Wie kriege ich die überhaupt auf den Stick?

ifconfig und iwlist bringen immer noch dieselben Fehler:

Wifi-Server:~/RT71W_Firmware_V1.8# ifconfig wlan0 up
SIOCSIFFLAGS: Datei oder Verzeichnis nicht gefunden
Wifi-Server:~/RT71W_Firmware_V1.8# iwlist scan
lo Interface doesn't support scanning.

eth0 Interface doesn't support scanning.

wmaster0 Interface doesn't support scanning.

wlan0 Interface doesn't support scanning : Network is down

buzz768
27.10.10, 18:54
Also die Firmware-Datei kommt normalerweise nach /lib/firmware/ und das sollte schon reichen, die musst du nicht irgendwie auf den WLAN-Stick flashen oder so ;) Es gibt auch ein Debian-Paket (http://packages.debian.org/lenny/all/firmware-ralink/filelist), das ich bevorzugen würde. Warum der Treiber jetzt nicht mehr nach der Firmware fragt, weiß ich nicht.

MystiqueMax
27.10.10, 19:20
Oh Mann!!! Verdammt ich liebe dich!!! Es geht tatsächlich :D

Ist mir richtig ein Stein vom Herzen gefallen als du gesagt hättest ich muss nicht flashen.. Dabei denke ich an den kaputten PSP-Akku und das Firmwarelose XBoxlaufwerk hier. Aber cool wäre es noch, wenn du mir noch erklärst, warum ne Firmware nicht auf den Stick muss :)

Also hier sind die Ausgaben von "ifconfig wlan0 up" "ifconfig" und "iwlist scan".


Wifi-Server:~# ifconfig wlan0 up
Wifi-Server:~# ifconfig
eth0 Link encap:Ethernet Hardware Adresse 00:d0:b7:86:b0:32
inet Adresse:192.168.0.29 Bcast:192.168.0.255 Maske:255.255.255.0
inet6-Adresse: fe80::2d0:b7ff:fe86:b032/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:74 errors:0 dropped:0 overruns:0 frame:0
TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:8046 (7.8 KiB) TX bytes:7734 (7.5 KiB)

lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wlan0 Link encap:Ethernet Hardware Adresse 00:25:86:dd:1e:7d
UP BROADCAST MULTICAST MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wmaster0 Link encap:UNSPEC Hardware Adresse 00-25-86-DD-1E-7D-65-74-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

Wifi-Server:~# iwlist scan
lo Interface doesn't support scanning.

eth0 Interface doesn't support scanning.

wmaster0 Interface doesn't support scanning.

wlan0 Scan completed :
Cell 01 - Address: 00:1E:58:EC:6C:E0
ESSID:"WLAN_AP"
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=47/100 Signal level=-76 dBm
Encryption key:on
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : CCMP
Pairwise Ciphers (1) : CCMP
Authentication Suites (1) : PSK
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=00001792d5c241f0


Ich werde mich jetzt erstmal mit hostapd auseinandersetzen. Ich habe nämlich noch nicht ganz geschnallt wie du den Stick in master mode bekommen hast.

Ich halt euch über Erfolg oder neue Probleme auf dem Laufenden :)

buzz768
27.10.10, 20:50
Aber cool wäre es noch, wenn du mir noch erklärst, warum ne Firmware nicht auf den Stick muss

Tja das weiß ich jetzt auch nicht so genau, aber bei Wikipedia (http://de.wikipedia.org/wiki/Firmware#Aktualisierung_von_Firmware) steht Einleuchtendes dazu (Aktualisierung von Firmware, dritter Absatz).


Ich werde mich jetzt erstmal mit hostapd auseinandersetzen. Ich habe nämlich noch nicht ganz geschnallt wie du den Stick in master mode bekommen hast.

Ich habe einfach hostapd auf den im Managed Modus befindlichen WLAN-Chip (Kernelmodul: p54pci) losgelassen. Die config hänge ich mal an. Dazu sei angemerkt, dass ich das Gerät nie als AP eingesetzt oder auch nur getestet habe. Die config ist aber der eines produktiven APs (Kernelmodul: hostap) sehr ähnlich.

MystiqueMax
28.10.10, 09:21
Nur als kleiner Zwischenbericht. Ich hatte bisher mit deiner hostapd.conf file keinen Erfolg. Da wird mir schon von Anfang an der Treiber nl80211 als nicht vorhanden angezeigt.. Aber ich habe gerade entdeckt, dass die in den Lenny Packetquellen vorhandene Version folgende ist:


Wifi-Server:~# hostapd -v
hostapd v0.5.10
User space daemon for IEEE 802.11 AP management,
IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
Copyright (c) 2002-2008, Jouni Malinen <j@w1.fi> and contributors


Auf der Website von hostapd gibt es aber schon eine stable Version 0.7.3. Also die kompilier ich mir mal schnell und dann mal gucken ob der Treiber immer noch nicht erkannt wird.

Aber so als Frage, ich habe in deiner conf (und allgemein in der ellenlangen standard-conf) keine Option gesehen, wo definiert wird ob der mode master oder managed ist. Stellt hostapd automatisch den Mode auf master?

buzz768
28.10.10, 09:34
http://wireless.kernel.org/en/users/Documentation/hostapd#About_hostapd
Was da über das mac80211 subsystem steht erklärt das wohl. Ich habe mit hostapd v0.6.10 getestet.

MystiqueMax
28.10.10, 10:20
Hey buzz768. Danke für die Anleitung. Damit war das kompilieren ein Kinderspiel.

Nun habe ich gerade versucht hostapd zu starten, aber so einfach wollte es nicht:


Wifi-Server:~/compile hostapd/hostapd-0.7.1/hostapd# hostapd -B hostapd.conf
Configuration file: hostapd.conf
nl80211: Could not add multicast membership for scan events: -2 (No such file or directory)
nl80211 driver initialization failed.


Ich habe das natürlich erstmal gegoogelt. Dort fand ich folgende Aussage:

Which kernel version are you using? The nl80211 scanning interface was
added very recently and you may need 2.6.30 for it.
>>>Link<<< (http://readlist.com/lists/shmoo.com/hostap/1/6984.html)

Haben die Recht? Muss ich mich jetzt doch schlußendlich (irgendwann musste es soweit sein) lernen, wie man einen Kernel kompiliert?

Mein Kernel auf jedenfall ist älter als der gesuchte:


Wifi-Server:~/compile hostapd/hostapd-0.7.1/hostapd# uname -r
2.6.26-2-686

buzz768
28.10.10, 10:52
Gut möglich, Rain_maker hat oben ja schon so etwas angedeutet. Also vielleicht machst du mal ein Upgrade auf Debian Squeeze, damit hast du dann Kernel 2.6.32. Mein Testrechner hat Kernel 2.6.30.

PS
Ich glaube du kannst auch nur die wlan-Treiber im Kernel aktualisieren, Stichwort "compat-wireless".

MystiqueMax
28.10.10, 17:02
PS
Ich glaube du kannst auch nur die wlan-Treiber im Kernel aktualisieren, Stichwort "compat-wireless".

Ehrlich gesagt wollte ich schon lange mal wissen was es mit den Kernel kompilieren auf sich hat und so habe ich nun mir den aktuellsten Kernel (2.6.36) downgeloaded...

Ich hab um halb 12 begonnen den Kernel zu kompilieren... Es kompiliert immer noch...

Ich melde mich wieder, wenn ich irgendwie auf nen Kernel größer-gleich 30 komme.

buzz768
28.10.10, 17:31
Je nachdem ob und wie du den Kernel konfiguriert hast, werden jetzt ggf. unzählige Treiber gebaut, die du nie brauchen wirst. Auf einem alten Rechner dauert das dann durchaus wer weiß wie lange..

MystiqueMax
28.10.10, 22:00
Ok, irgendwas ist beim kompilieren des Kernels katastrophal fehlgeschlagen. Ich habe keine Treiber für eth0 mehr :)

Aber hostapd hat es tatsächlich geschafft meinen WLan-Stick in den Mastermode zu setzten :) Es funzt..

Ich lade mir jetzt erst einmal eine Debian Squeeze runter und installier dann morgen nochmal alles von vorne und dann richte es soweit wie jetzt nur mit eth0 ein. Sollte ja keine Stunde dauern, wenn man weiß wie es geht. Dann sehe ich morgen mal weiter, was ich noch so alles tun muss, damit ich dann tatsächlich mit meinen Geräten über den Debianrechner ins Internet kann. Und wenn das alles richtig eingerichtet ist, dann schnapp ich mir meinen zweiten, nicht ganz so, aber auch ziemlich, uralt Rechner und übe daran richtig Kernel bauen...

Fürs erste finde ich jetzt mal toll, dass ich mit meinen Handy das WLan von meinen Debianrechner gefunden habe.

Schon mal danke an alle die mir geholfen haben, ins besondere buzz768. Wie gehabt lasse ich weiter für Berichte und eventuell neue Probleme den Thread offen...

buzz768
28.10.10, 23:20
Dann sehe ich morgen mal weiter, was ich noch so alles tun muss, damit ich dann tatsächlich mit meinen Geräten über den Debianrechner ins Internet kann.

Dazu gibt's ein kleines HowTo (http://www.linuxforen.de/forums/showthread.php?t=60561). MTU Korrektur brauche ich hier nicht. Nameserver und Defaultgateway werden bei mir den Clients per DHCP mitgeteilt.

MystiqueMax
30.10.10, 23:52
Ok, ich hatte diverse Probleme mit dem Kernel. Squeeze lies sich nicht installieren. Abbruch kurz nach Einlegen der CD. Per Update hatte es scheinbar nicht mehr die Treiber für mein eth0..

Dann hat es noch zig Versuche gedauert bis ich endlich dazu in der Lage war einen Kernel zu kompilieren.. Aber jetzt habe ich meinen Custom Kernel, der Stick läuft im Master Mode und eth0 ist auch noch da. Nochmal vielen Dank an alle, vielen Dank an buzz768, ich würde sagen, damit ist dieser Thread offiziell geschlossen.

Ich lass mir jetzt Zeit und beschäftige mich in aller Ruhe mit iptables und DHCP-Server (und scheinbar deren Gefahren).