2012-07-06 9 views
6

Estoy ejecutando Ubuntu 11.10 en un BeagleBone con un adaptador wifi Edimax EW-7711UAn enchufado en el puerto USB. He configurado/etc/network/interfaces y funciona el wifi, pero:Wifi no se mantendrá en BeagleBone

  1. La interfaz wlan0 no siempre llega hasta al arrancar el dispositivo. Sale con éxito aproximadamente uno de cada tres intentos.

  2. La interfaz a veces vuelve a bajar, especialmente cuando no se usa por un tiempo.

El archivo/etc/network/interfaces incluye:

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

Con el fin de tratar de abordar el punto 1), pongo el siguiente en /etc/rc.local:

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

Pero no parece haber sido de mucha ayuda. Supongo que el segundo problema podría estar relacionado con la administración de energía, así que podría intentar desactivarlo en /etc/rc.local.

Pero, ¿alguien tiene alguna idea sobre cómo puedo conseguir que la wifi se active de forma fiable desde el arranque? Estoy ejecutando el BeagleBone sin cabeza, sin Ethernet (está en un robot), ¡así que es importante que lo solucione!

FYI, estoy usando los controladores predeterminados - lsmod da:

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 

que espero no tener que compilar un nuevo controlador, porque no he tenido mucho éxito con eso!

Respuesta

7

He tenido un problema similar con mi BeagleBones usando otro adaptador wifi con el controlador rt2800usb. Específicamente, estoy usando un DLINK DWA-125 (HW Rev A2) que se basa en el chip rt3070.

Los mismos síntomas exactos de los que está informando si enchufo el DWA-125 directamente en el puerto USB en el BeagleBone.

PERO si conecto el adaptador a un cable de extensión USB y luego enchufo el cable de extensión en el puerto USB de BeagleBone, todo funciona bien. He hecho cientos de horas de desarrollo de Cloud9 con esta configuración y sin problemas con Wifi.

Estoy ejecutando la distribución de Angstrom, y encuentro el mismo problema en las tres últimas versiones de BB (4/22. 5 /? Y 6/18).

Longitud del cable de extensión USB no parece importar (al menos entre 1 pie y 12 pies - no hemos probado nada por debajo de 1 pie.)

tengo 6 BeagleBones (4 ver A5 y A6 ver 2) - el comportamiento es el mismo en todos estos Beaglebones.

También tienen 4 adaptadores DWA-125 Rev A2 USB: el comportamiento es el mismo en todos estos.

No he experimentado con otros adaptadores USB Wifi que utilicen el mismo u otros chips/controladores. Y no he pasado el tiempo para rastrear la causa raíz de este comportamiento: ¡tengo un código para escribir!

Pero, inténtelo en caso de que su experiencia coincida con la mía, es una solución rápida y fácil.

---- Adición:

que acaba de intentar un experimento con el adaptador WiFi USB de Belkin N150 micro - basado en el chip rtl8192cu y los controladores estándar que vienen con la distribución 6/18 BEAGLEBONE Angstrom.

Comportamiento muy similar: El Wifi no funciona en absoluto cuando se conecta directamente al puerto USB. Pero cuando se conecta a través de un cable de extensión USB de 1 pie, todo funciona bien.

+0

Qué extraño. Por el momento lo tengo funcionando un poco mejor. Puse un montón de comandos en /etc/rc.local. Si eth0 no tiene IP, uso ifdown eth0, suponiendo que estamos funcionando de manera inalámbrica, no cableados. Luego verifico si wlan0 tiene una IP. Si no, hago ifdown wlan0 y luego ifup --force wlan0. Y por si fuera poco, lanzo cualquier contrato DHCP y ejecuto dhclient para obtener uno nuevo. Hasta el momento, esto ha resultado en que la conexión inalámbrica se desarrolle con bastante fiabilidad e incluso permanezca inactiva durante largos períodos de tiempo. Puedo escribir un trabajo cron para hacer comprobaciones periódicas y forzar la conexión inalámbrica si no está conectado. –

+0

Mi situación era aún peor: el puerto USB se apagaría después de intentar usar el dongle wifi. Solo un reinicio lo traería de vuelta. Un concentrador USB lo arregló. –

1

Solucioné el problema eliminando el IC de protección de espiga USB ESD (U10, TPD4S012). Debe estar cableado entre el conector USB y la CPU, pero se colocó después del conector USB en mi placa (rev. A4). No sé si esto está arreglado en revisiones posteriores.

Actualización: esto no ayudará mucho en algunos casos. Compruebe this hilo.

0

Me llevó años obtener WiFi confiable en el BeagleBone. Al final, la respuesta fue usar un dongle Atheros, ya que tuve poca suerte con los chipsets RealTek y RALink. El NetGear WNA1100 funciona de manera muy confiable para mí, tanto en Angstrom como en Ubuntu. Ver mi publicación here.

2

Tuve el mismo problema. La mejor explicación que he encontrado hasta ahora es this one from Adafruit

La idea principal es que el dongle Wifi es destruido por el adaptador HDMI, que está situado justo debajo de la ranura USB. Usted tiene dos soluciones, en este caso:

  1. Coloque el Wifi-dongle lo más lejos posible de la ranura USB por medio de un cable
  2. deshabilitar la interfaz HDMI si usted realmente no lo necesita!

Solo la segunda opción me ayudó.

Estos son los pasos:

> 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 

espero que le ayudará a chicos!

0

que tenía un problema similar para más de un año hasta que googled el tiempo suficiente para encontrar

wicd

Después de ajustar las cosas con wicd mis 5 beaglebones han sido roca sólida en mi red doméstica en dispositivos de seguridad wifi desde la habitación de atrás hasta el garaje./etc/network/interfaces no es el camino a seguir. Debo haber probado cientos de configuraciones y algunas parecían durar un día o dos. Recuerdo que el documento dio un buen valor predeterminado para las interfaces, muy barebones. Y wicd ejecuta a su suplicante si alguna vez lo necesita.

Cuestiones relacionadas