2012-07-06 12 views
6

Ich benutze Ubuntu 11.10 auf einem BeagleBone mit einem Edimax EW-7711UAn Wlan-Adapter, der an den USB-Port angeschlossen wird. Ich habe konfiguriert/etc/network/interfaces und das WiFi funktioniert, aber:Wifi bleibt nicht auf BeagleBone

  1. Die wlan0 Schnittstelle nicht immer kommen, wenn das Gerät booten. Es kommt erfolgreich auf einen von drei Versuchen an.

  2. Die Schnittstelle geht manchmal wieder herunter, besonders wenn sie eine Weile nicht benutzt wird.

Das Verzeichnis/etc/network/interfaces-Datei enthält:

auto wlan0 
    iface wlan0 inet dhcp 
    wpa-driver wext 
    wpa-ssid "Bodoni" 
    wpa-psk "<mypassword>" 

Um zu versuchen, Punkt 1) zu adressieren, habe ich folgendes in /etc/rc.local:

nohup sh -c "ifdown wlan0 && ifup wlan0" 

Aber es schien nicht viel zu helfen. Ich nehme an, dass das zweite Problem mit der Energieverwaltung verbunden sein könnte, also könnte ich versuchen, das in /etc/rc.local auszuschalten.

Aber hat irgendjemand irgendwelche Gedanken darüber, wie ich das Wifi bekommen könnte, um beim Booten zuverlässig zu kommen? Ich betreibe den BeagleBone headless ohne Ethernet (es ist auf einem Roboter), also ist es wichtig, dass ich das repariere!

FYI, ich bin mit dem Standard-Treiber - lsmod gibt:

Module     Size Used by 
aes_generic   27837 2 
arc4     1111 2 
rt2800usb    12386 0 
rt2800lib    45146 1 rt2800usb 
crc_ccitt    1457 1 rt2800lib 
rt2x00usb    10595 1 rt2800usb 
rt2x00lib    39077 3 rt2800usb,rt2800lib,rt2x00usb 
mac80211    228509 3 rt2800lib,rt2x00usb,rt2x00lib 
cfg80211    167722 2 rt2x00lib,mac80211 
rfkill     16703 1 cfg80211 
binfmt_misc    6224 1 
spidev     4620 0 

Ich hoffe, nicht einen neuen Treiber zu kompilieren zu haben, weil ich nicht viel Erfolg damit gehabt haben!

Antwort

7

Ich hatte ein ähnliches Problem mit meinen BeagleBones mit einem anderen WLAN-Adapter mit dem rt2800usb-Treiber. Speziell verwende ich eine DLINK DWA-125 (HW Rev A2), die auf dem rt3070-Chip basiert.

Genau die gleichen Symptome, die Sie melden, wenn ich den DWA-125 direkt in den USB-Port des BeagleBone stecke.

Aber wenn ich den Adapter in ein USB-Verlängerungskabel stecken und dann das Verlängerungskabel in den BeagleBone-USB-Anschluss stecken, funktioniert alles gut. Ich habe Hunderte von Stunden Cloud9 Entwicklung mit diesem Setup und keine Probleme mit Wifi überhaupt getan.

Ich betreibe die Angstrom-Distribution - und ich finde das gleiche Problem bei allen drei letzten BB-Versionen (4/22. 5 /? Und 6/18).

Länge des USB-Verlängerungskabel scheinen keine Rolle zu (zumindest zwischen 1 ft und 12 ft - haben nichts unter 1ft versucht.)

Ich habe 6 BeagleBones (4 ver A5 und 2 ver A6) - Verhalten ist das gleiche auf all diesen Beaglebones.

Haben Sie auch 4 DWA-125 Rev A2 USB-Adapter - Verhalten ist das gleiche auf all diesen.

Ich habe nicht mit anderen USB Wifi Adaptern mit den gleichen oder anderen Chips/Treibern experimentiert. Und ich habe nicht die Zeit aufgewendet, um die Ursache dieses Verhaltens aufzuspüren - ich habe Code zum Schreiben!

Aber, versuchen Sie es, falls Ihre Erfahrung mit meiner übereinstimmt - es ist eine schnelle und einfache 'Reparatur'.

---- Nachtrag:

Ich habe gerade versucht, ein Experiment mit dem Adapter von Belkin N150 Micro-USB-Wifi - basierend auf dem rtl8192cu Chip und die Standard-Treiber, die mit der 6/18 BeagleBone Angstrom Verteilung kommen.

Sehr ähnliches Verhalten: Das Wifi funktioniert überhaupt nicht, wenn direkt in den USB-Anschluss eingesteckt ist. Aber wenn es über ein 1ft USB-Verlängerungskabel angeschlossen wird, funktioniert alles gut.

+0

Wie sehr seltsam. Im Moment funktioniert es ein bisschen besser. Ich habe einige Befehle in /etc/rc.local eingefügt. Wenn eth0 keine IP hat, benutze ich ifdown eth0, vorausgesetzt wir laufen drahtlos, nicht verkabelt. Ich überprüfe dann, ob wlan0 eine IP hat. Wenn nicht, mache ich ifdown wlan0 und dann ifup --force wlan0. Und um es gut zu sagen, lasse ich jede DHCP-Lease frei und führe Dhclient aus, um eine neue zu bekommen. Bis jetzt hat dies dazu geführt, dass das Wireless-System ziemlich zuverlässig und sogar für lange Zeit aufleuchtet. Ich kann einen Cronjob schreiben, um periodische Überprüfung zu machen und das drahtlose zu zwingen, wenn es nicht angeschlossen ist. –

+0

Meine Situation war noch schlimmer - der USB-Anschluss würde nach dem Versuch, den Wifi-Dongle zu verwenden, nicht mehr funktionieren. Nur ein Neustart würde es zurückbringen. Ein USB-Hub hat es behoben. –

1

Ich habe das Problem durch Entfernen des USB-ESD-Spike-Schutz-IC (U10, TPD4S012) behoben. Es sollte zwischen dem USB-Anschluss und der CPU verdrahtet sein, aber es wurde hinter dem USB-Anschluss auf meiner Platine platziert (Rev. A4). Ich weiß nicht, ob das bei späteren Revisionen behoben ist.

Update: Dies wird in einigen Fällen nicht viel helfen. Überprüfen Sie this Thread.

0

Es hat lange gedauert, bis ich auf dem BeagleBone zuverlässig WiFi bekommen konnte. Am Ende war die Antwort, einen Atheros-Dongle zu verwenden, da ich mit RealTek- und RALink-Chipsätzen wenig Glück hatte. Der NetGear WNA1100 arbeitet sehr zuverlässig für mich, sowohl in Angstrom als auch in Ubuntu. Siehe meinen Beitrag here.

2

Ich hatte das gleiche Problem. Die beste Erklärung, die ich bis jetzt gefunden habe, ist this one from Adafruit

Die Hauptidee ist, dass der Wifi-Dongle durch den HDMI-Adapter, der direkt unter dem USB-Steckplatz befindet zerstört wird. Sie haben zwei Umgehungen in diesem Fall:

  1. Setzen Sie den Wifi-Dongle so weit wie möglich aus dem USB-Slot mittels eines Kabels
  2. die HDMI-Schnittstelle deaktivieren, wenn Sie wirklich brauchen es nicht!

Nur die zweite Option hat mir geholfen.

Hier sind die Schritte:

> mkdir /mnt/boot 
> mount /dev/mmcblk0p1 /mnt/boot 
> nano /mnt/boot/uEnv.txt 

Remove the # in front of the cape_disable command 

##Disable HDMI 
cape_disable=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN 

Ich hoffe, es wird euch helfen!

0

Ich hatte ein ähnliches Problem für die meisten von einem Jahr, bis ich lange genug gegoogelt

wicd

Nachdem dies alles mit wicd meiner 5 beaglebones waren felsenfest auf meinem Heimnetzwerk auf WLAN-Dongles zu finden vom hinteren Schlafzimmer bis zur Garage./etc/network/interfaces ist nicht der richtige Weg. Ich musste Hunderte von Konfigurationen probiert haben und einige schienen für ein oder zwei Tage zu dauern. Ich erinnere mich, dass der Doc einen guten Standard für Interfaces hatte, sehr Barebones. Und wicd lässt deinen Supplicant laufen, wenn er benötigt wird.

Verwandte Themen