Problema wpa_supplicant rapsberry pi 2

8

He tenido muchos problemas con la configuración de un dispositivo inalámbrico en la frambuesa pi 2

uname -a:

Linux raspberrypi 3.18.7-v7+ #755 SMP PREEMPT Thu Feb 12 17:20:48 GMT 2015 armv7l GNU/Linux

En dmesg encontramos

[    3.509177] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[    3.630499] usb 1-1.4: New USB device found, idVendor=0846, idProduct=9043
[    3.639452] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.649011] usb 1-1.4: Product: WNA1000Mv2
[    3.655215] usb 1-1.4: Manufacturer: Realtek
[    3.661455] usb 1-1.4: SerialNumber: 00e04c000001

y tengo el controlador funcionando (lsmod)

    Module                  Size  Used by
     8192cu                528429  0 

y el usb está siendo reconocido (lsusb)

Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 0846:9043 NetGear, Inc. 

Mis interfaces y archivos wpa_supplicant.conf se ven así

cat / etc / network / interfaces:

auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

auto wlan0

cat /etc/wpa_supplicant/wpa_supplicant.conf

ap_scan=0
ctrl_interface=DIR=/var/run/wpa_supplicant
GROUP=netdev
update_config=1
network={
    ssid="o2-WLAN45"
    psk="************"
    scan_ssid=1
    #Protocal type can be: RSN(for WP2) and WPA(for WPA1)
    proto=RSN
    key_mgmt=WPA-PSK
    #Pairwise can be CMMP or TKIP(for WPA2 or WPA1)
    pairwise=CCMP
    #Authorization option should be OPEN for both WPA1/WPA2 (in less commonly used are SHARED and LEAP)
    auth_alg=OPEN
}

Lo extraño es que wlan0 ni siquiera se muestra en iwconfig:

lo        no wireless extensions.

eth0      no wireless extensions.

Ya he leído entradas similares aquí, pero no funcionaron o no se aplicaron a mi problema. Entonces, el error que obtengo al hacer ifup es

sudo ifup wlan0:

wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
Failed to connect to wpa_supplicant - wpa_ctrl_open: No such file or directory
wpa_supplicant: /sbin/wpa_cli daemon failed to start
run-parts: /etc/network/if-up.d/wpasupplicant exited with return code 1

A través de la GUI, no encuentra un adaptador y el estado es el siguiente: ingrese la descripción de la imagen aquí

Espero que alguien pueda ayudarme porque he pasado demasiado tiempo con eso ...

Ognan
fuente
¿Has intentado usar la herramienta de configuración Wifi de escritorio desde el menú? Comenzaría allí, antes de intentar rodar sus propios archivos wpa_supplicant.
Phil B.
Ah, y supongo que es solo un error tipográfico, pero la ubicación correcta del interfacesarchivo /etc/network/interfacesno lo es /etc/networks/interfaces.
Phil B.
Gracias por la respuesta, he corregido el error tipográfico. He agregado el problema con la GUI, el error de estado y el hecho de que no encuentra el hardware para él
Ognan
1
Por cierto, escribiste pairwise=CMMP. No hay CMMPemparejamiento, lo es CCMP. Tal vez eso es lo que hace que se wpa_supplicantestrelle?
Phil B.
2
Si wlan0está allí, ip link set wlan0 upy luego intente lo que sugerí aquí para ver si al menos puede obtener una conexión de red manualmente (lo que resulta ser más simple en muchos casos).
Ricitos de oro

Respuestas:

5

¡¡¡Problema resuelto!!! Explicaré aquí los pasos que tomé:

Compré un buen cargador 2A, que al principio ayudó a ver la luz azul del dongle. Sin embargo, aún no se conectó. Así que googleando y buscando en Google me encontré con esta página

https://amalgjose.wordpress.com/tag/raspbian/

él da una solución para que el dongle se detecte siempre. Si haces exactamente lo que él dice, será reconocido (puedes verificarlo haciendo iwconfig o ifconfig). Por completo, doy aquí su solución:

Add the following contents to the /etc/rc.local file
modprobe 8192cu
echo "0846 9043" > /sys/bus/usb/drivers/rtl8192cu/new_id
ifdown wlan0
ifup wlan0

por alguna razón esto no es suficiente, tienes que agregar también

install 8192cu /sbin/modprobe --ignore-install 8192cu; echo "0846 9043" > /sys/bus/usb/drivers/rtl8192cu/new_id

He descubierto que si no agrega este último archivo, la frambuesa no comenzará automáticamente la conexión wlan0, deberá iniciar sesión con eth0 y luego pasar sudo ifdown wlan0; sudo ifup wlan0;

En este punto, solo tiene que configurar / etc / network / interfaces y /etc/wpa_supplicant/wpa_supplicant.conf. Para completar, doy los archivos de trabajo que tengo ahora

/ etc / network / interfaces:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual

auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

auto wlan1
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

/etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="o2-WLAN45"
        psk="******"
        key_mgmt=WPA-PSK
}

¡Muchas gracias a Phil B. y a los Ricitos de Oro!

Ognan
fuente
1

No necesita auto y allow-hotplug, solo allow-hotplug. Esto también comienza en el arranque automáticamente. Agregar auto también solía causar a veces un retraso en el arranque cuando no se realizó la conexión de red. 'auto' es más para servidores donde el arranque se puede configurar para esperar hasta que se establezca la red, 'allow-hotplug' para usuarios de tipo computadora de escritorio / portátil. Soy usuario de una computadora portátil Debian, pero vi esto de pasada y pensé que valía la pena mencionarlo.

Persona aleatoria9473
fuente
1

Otra solución, éxitos para mí: verifique la salida para

 ifup wlan0 -v

Se parece a esto:

ifup: configuring interface wlan0=wlan0 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/hostapd
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
wpa_supplicant: wpa-driver nl80211,wext (default)
wpa_supplicant: /sbin/wpa_supplicant -s -B -P/run/wpa_supplicant.wlan0.pid -i wlan0 -D nl80211,wext -c /etc/wpa_supplicant/wpa_supplicant.conf
Starting /sbin/wpa_supplicant...
wpa_supplicant: /sbin/wpa_supplicant daemon failed to start
run-parts: /etc/network/if-pre-up.d/wpasupplicant exited with return code 1
ifup: failed to bring up wlan0
root@host:/etc/wpa_supplicant#

tome el wpa_supplicantcomando y ejecútelo manualmente, con los parámetros -s y -B omitidos. Se ejecutará en primer plano y escribirá más diagnósticos. Me gusta esto:

Successfully initialized wpa_supplicant
CTRL: Invalid group 'netdev update_config=1'
Failed to initialize control interface 'DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1'.
You may have another wpa_supplicant process already running or the file was
left by an unclean termination of wpa_supplicant in which case you will need
to manually remove this file before starting wpa_supplicant again.
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
root@host:/etc/wpa_supplicant# 

En mi caso, el problema es la sintaxis del wpa_supplicant.confarchivo en una parte de la GROUPconfiguración. Coloque una nueva línea justo después de que la netdevpalabra clave resuelva el problema.

StAlex
fuente