¿Cómo puedo conectar el BeagleBone a mi red inalámbrica usando un adaptador WiFi USB ALFA AWUS036EW?

¿Cómo puedo conectar el BeagleBone a mi red inalámbrica usando un adaptador WiFi USB ALFA AWUS036EW?

Soy nuevo en Linux así que gracias por tu ayuda. Este adaptador WiFi no se usa comúnmente en el mundo BeagleBone/Raspberry Pi, pero es útil porque me permitirá conectar una antena direccional personalizada para comunicación de larga distancia con BeagleBone.

Para comenzar:

Puedo iniciar sesión fácilmente en mi beaglebone como root conectándome a través de la interfaz USB y ssh. Cuando escribo, sudo cat /var/log/messagesaparece el siguiente resultado (parcial), que me indica que usb1-1 está conectado al adaptador WiFi USB. De hecho, el chipset utilizado por este dispositivo WiFi USB es el Realtek RTL8187.

Me enteré de que Ubuntu proporciona los controladores para este chip Realtek como estándar, pero sé que Beaglebone usa un tipo diferente de Linux.

¿Cómo puedo diagnosticar el sistema y conectarme a mi red wifi? Si no puedo, ¿cómo puedo obtener este controlador y continuar? Es probable que el controlador sea el mismo que utiliza Ubuntu para el chip Realtek 8187.

Además, he oído hablar de algo llamado "administrador de red". ¿Es esto algo que necesito para comenzar? Si es así, ¿cómo puedo descargarlo e instalarlo a través del terminal en este sistema Linux integrado?

Apr 23 20:24:04 beaglebone systemd-logind[700]: Linked /tmp/.X11-unix/X0 to /run/user/debian/X11-display.
Apr 23 20:24:07 beaglebone systemd[1]: Startup finished in 2s 663ms 344us (kernel) + 14s 900ms 121us (userspace) = 17s 563ms 465us.
Apr 23 20:24:14 beaglebone kernel: [   25.164174] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:24:14 beaglebone kernel: [   25.168656] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:24:14 beaglebone kernel: [   25.190080] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:41 beaglebone kernel: [ 1251.610969] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:44:41 beaglebone kernel: [ 1251.611096] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Apr 23 20:44:55 beaglebone kernel: [ 1265.814467] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:44:55 beaglebone kernel: [ 1265.817260] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:44:55 beaglebone kernel: [ 1265.833067] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:55 beaglebone kernel: [ 1266.187458] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:44:55 beaglebone kernel: [ 1266.190295] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:44:55 beaglebone kernel: [ 1266.205991] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:57 beaglebone kernel: [ 1268.197080] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:44:57 beaglebone kernel: [ 1268.197237] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Oct 15 03:24:43 beaglebone kernel: [ 1528.071391] usb 1-1: new high-speed USB device number 2 using musb-hdrc
Oct 15 03:24:43 beaglebone kernel: [ 1528.197461] usb 1-1: New USB device found, idVendor=0bda, idProduct=8187
Oct 15 03:24:43 beaglebone kernel: [ 1528.197501] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct 15 03:24:43 beaglebone kernel: [ 1528.197536] usb 1-1: Product: RTL8187_Wireless
Oct 15 03:24:43 beaglebone kernel: [ 1528.197570] usb 1-1: Manufacturer: Manufacturer_Realtek_RTL8187_
Oct 15 03:24:43 beaglebone kernel: [ 1528.197603] usb 1-1: SerialNumber: 00C0CA6D703D
Oct 15 03:24:44 beaglebone kernel: [ 1528.378502] cfg80211: Calling CRDA to update world regulatory domain
Oct 15 03:24:44 beaglebone kernel: [ 1528.812425] ieee80211 phy0: hwaddr 00:c0:ca:6d:70:3d, RTL8187vB (default) V1 + rtl8225z2, rfkill mask 2
Oct 15 03:24:44 beaglebone kernel: [ 1528.829906] rtl8187: Customer ID is 0xFF
Oct 15 03:24:44 beaglebone kernel: [ 1528.852966] rtl8187: wireless switch is on
Oct 15 03:24:44 beaglebone kernel: [ 1528.853874] usbcore: registered new interface driver rtl8187

Cuando escribo ifup wlan0 obtengo:

root@beaglebone:/# ifup wlan0
Ignoring unknown interface wlan0=wlan0

Cuando escribo iwconfig obtengo:

root@beaglebone:/# iwconfig
wlan0     IEEE 802.11bg  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

lo        no wireless extensions.

eth0      no wireless extensions.

usb0      no wireless extensions.

root@beaglebone:/# 

Agradezco cualquier ayuda. Creo que la respuesta será útil tanto para mí como para otras personas que intentan utilizar este tipo de WiFi USB con su BeagleBone.

ACTUALIZACIÓN: Aprendí un poco deaquíy edité mi archivo de interfaces a través de sudo nano /etc/network/interfaces. Descomenté la sección wifi... agregué el nombre de la red y la contraseña... luego vea a continuación. Alguna idea de lo que esta pasando?

root@beaglebone:/# ifup wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/00:c0:ca:6d:70:3d
Sending on   LPF/wlan0/00:c0:ca:6d:70:3d
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
receive_packet failed on wlan0: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9


Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.594437] Internal error: Oops: 817 [#1] SMP THUMB2

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.676479] Process wpa_supplicant (pid: 2276, stack limit = 0xd5988240)

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.683943] Stack: (0xd5989da8 to 0xd598a000)

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.688819] 9da0:                   d5a3f520 00000000 11111111 d5989da8 d5a3f50c d5924548

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.697880] 9dc0: d5a3f500 d5924000 00008914 d5ac680c d5ac6800 c045a3db d5a3e400 bf9dc255

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.706919] 9de0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.715986] 9e00: d5a3f50c 00000000 00000000 d5a3e400 d5924548 00000000 d5924000 00008914

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.725032] 9e20: d5ac680c d5ac6800 00000000 bf958b2b 0000000d 00000000 00000001 00000000

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.734092] 9e40: d5ac680c d5924000 bf981034 00000000 d592402c 00008914 d5ac680c d5ac6800

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.743128] 9e60: 00000000 bf9591ff d5924000 c03bfd63 c03bfd03 d5924000 00001003 00001002

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.752177] 9e80: 00000001 c03bfeed 00008914 d5924000 00001002 d5924000 bea2aa54 c03bffa9

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.761223] 9ea0: 00000000 00000001 d5924000 c03f87a1 00000000 01000000 6e616c77 00000030

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.770279] 9ec0: 00000000 00000000 00001003 00000000 00000000 00000000 00000000 00008914

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.779332] 9ee0: bea2aa54 c081c740 d5060e40 00000007 00000000 00000000 00000005 c03b1cfd

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.788405] 9f00: c03b1bb1 d5060e60 bea2aa54 d5957800 00000007 c00b36ab d5060220 c00b58bf

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.797422] 9f20: d5150f60 00000000 d5150f60 00000000 d5150fb4 c00b5d13 00002710 d5904b40

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.806479] 9f40: 00000000 d5060c80 00000000 bea2a914 00000129 c000c1c4 d5988000 d5957800

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.815514] 9f60: 00000000 bea2aa54 00008914 00000007 00000000 00000000 00000005 c00b3727

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.824556] 9f80: 00000007 00000000 bea2aa54 000a5ae0 00000001 00000007 00000036 c000c1c4

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.833563] 9fa0: d5988000 c000c021 000a5ae0 00000001 00000007 00008914 bea2aa54 00001003

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.842606] 9fc0: 000a5ae0 00000001 00000007 00000036 00000007 bea2ab4c 000a5ae0 00000005

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.851646] 9fe0: 000a85c4 bea2aa50 0006a87b b6ce1f6c 60000010 00000007 00000000 00000000

Message from syslogd@beaglebone at Oct 15 04:05:13 ...
 kernel:[ 3957.985588] Code: 61a2 f8cd 8000 9301 (601a) 9702 
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
send_packet: Network is down


DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10
send_packet: Network is down




^Xc^Z
[1]+  Stopped                 ifup wlan0

Ahora esta vez escribí ifconfig wlan0(llegando a alguna parte):

root@beaglebone:~# ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr 00:c0:ca:6d:70:3d  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Ahora intenté esto basado en una pista.aquí:

root@beaglebone:~# ip link set wlan0 up
RTNETLINK answers: Operation not possible due to RF-kill
root@beaglebone:~# 

Ahora intentando resolver este error de eliminación de RF basado enestealimentar.

Uhoh - Estoy siendo "bloqueado duramente"

root@beaglebone:~# rfkill list all
0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: yes
root@beaglebone:~# 

Respuesta1

Al final, esto fue bastante sencillo gracias a la ayuda de Dbo. No puedo confirmar si wpa_supplicant era necesario para que esto funcionara, ya que ya lo había instalado cuando comenzó a funcionar ( aptitude install wpasupplicant).

Esto es lo que hice:

1. sudo nano /etc/network/interfaces

  • Edite la parte del ejemplo de WiFi, eliminando comentarios
  • Agregue el permiso-hotplug wlan0 (o asegúrese de que esté ahí y sin comentar)
  • Mantenga auto wlan0 comentado (gracias a Dbo por esta sugerencia)
  • Agregue el nombre de su red inalámbrica en texto sin formato (wpa-ssid)
  • Añade tu contraseña en texto plano (wpa-psk)

ingrese la descripción de la imagen aquí

2. reiniciar(opcional, pero por alguna razón tuve que hacerlo y funcionó en todos los reinicios posteriores)

3. iwconfig ingrese la descripción de la imagen aquí

EsteenlaceTerminé proporcionando mucha información útil, pero por alguna razón no necesito escribir ip a. ip link set wlan0 upNo puedo confirmar si es porque ya lo hice anteriormente o porque "simplemente funciona". Cada vez que se inicia BeagleBone, ahora detecta automáticamente la red WiFi. Escribo curl www.google.compara confirmar.

ACTUALIZACIÓN: Entonces, quería probar el problema de activación/desactivación del enlace IP wlan0. Para apagarlo, debe configurarlo dos veces por cualquier motivo. Esto apaga la luz azul del dongle. Al volver a configurar wlan0, lo recupera y se conecta automáticamente a la red (parpadeando).

ingrese la descripción de la imagen aquí

Luego, para realizar más pruebas, configuré wlan0 en modo inactivo y reinicié. Esta vez, cuando se reinició, la luz del dongle USB parpadeó brevementeluego se mantuvo alejado.
ingrese la descripción de la imagen aquí El "bloque duro" de antes había regresado, como descubrí cuando intenté escribir ip link set wlan0 upy rfkill list all.

Reinicié el BeagleBone y esto desapareció.

Entonces: para resumir la actualización, no la apague con wlan0 apagado y, si lo hace, es posible que deba configurar wlan0 en encendido (lo cual falla) y luego reiniciar.

Finalmente, tenga en cuenta que este dongle USB WiFi funciona ¡CALIENTE! Es fantástico porque tiene una antena potente que puedes cambiar por una personalizada, pero es al menos 5 veces más caliente que el propio BeagleBone, lo que significa que se desperdician varios vatios de calor. Dado que usaré esto para una configuración remota alimentada por batería solar, tendré que aprender a encender y apagar de manera confiable este dongle WiFi. No estoy seguro si ip link set wlan0 downserá lo suficientemente bueno para esto. De hecho, el comando funcionó para desconectar, lo que provocó que la luz de estado azul en el dispositivo USB se quedara fija (después de parpadear anteriormente), pero el consumo de energía aún debe probarse (se basará en el calor producido por ahora).

ACTUALIZACIÓN2: por alguna razón todo esto dejó de funcionar. Terminé necesitando usar el comando ifup (creo que parte de wpa_supplicant). ifup wlan0, ifdown wlan0, ifquery... etc. al final ifdown -a (todo apagado) apagó todo, e ifup wlan0 me permitió encenderlo.

información relacionada