Problema wpa_supplicant rapsberry pi 2


8

Ho avuto molti problemi con la configurazione di una chiavetta wireless nel raspberry pi 2

uname -a:

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

In dmesg troviamo

[    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

e ho il driver in esecuzione (lsmod)

    Module                  Size  Used by
     8192cu                528429  0 

e l'USB viene riconosciuto (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. 

Le mie interfacce e i file wpa_supplicant.conf sembrano così

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
}

La cosa strana è che wlan0 non viene nemmeno mostrato in iwconfig:

lo        no wireless extensions.

eth0      no wireless extensions.

Ho già letto voci simili qui ma o non funzionavano o non si applicavano al mio problema. Quindi l'errore che sto ricevendo facendo ifup è

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

Attraverso la GUI, non trova un adattatore e lo stato è il seguente: inserisci qui la descrizione dell'immagine

Spero che qualcuno mi possa aiutare perché ho passato troppo tempo con esso ...


Hai provato a utilizzare lo strumento di configurazione Wifi desktop dal menu? Vorrei iniziare lì, prima di provare a creare i tuoi file wpa_supplicant.
Phil B.

Oh, e presumo sia solo un errore di battitura, ma la posizione corretta del interfacesfile è /etc/network/interfaces, no /etc/networks/interfaces.
Phil B.

Grazie per la risposta, ho corretto l'errore di battitura. Ho aggiunto il problema con la GUI, l'errore di stato e il fatto che non trova l'hardware per esso
Ognan,

1
A proposito, hai digitato pairwise=CMMP. Non c'è CMMPaccoppiamento, lo è CCMP. Forse è questo che fa wpa_supplicantschiantare?
Phil B.

2
Se wlan0c'è, ip link set wlan0 upquindi prova quello che ho suggerito qui per vedere se riesci almeno a ottenere manualmente una connessione di rete (che in molti casi risulta essere più semplice).
riccioli d'oro

Risposte:


5

Problema risolto!!! Spiegherò qui i passi che ho preso:

Ho comprato un buon caricatore da 2A, che all'inizio ha aiutato a vedere la luce blu del dongle. Tuttavia non si è ancora connesso. Così googling e googling mi sono imbattuto in questa pagina

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

dà una soluzione in modo che il dongle venga rilevato sempre. Se fai esattamente quello che dice, verrà riconosciuto (puoi verificarlo facendo iwconfig o ifconfig). Per completezza, do qui la sua soluzione:

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

per qualche motivo questo non è abbastanza, devi aggiungere anche

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

Ho scoperto che se non aggiungi quest'ultimo file il lampone non avvierà automaticamente la connessione wlan0, dovresti accedere con eth0 e quindi passare sudo ifdown wlan0; sudo ifup wlan0;

A questo punto devi solo configurare / etc / network / interfaces e /etc/wpa_supplicant/wpa_supplicant.conf. Per completezza, do i file di lavoro che ho adesso

/ 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
}

Grazie mille a Phil B. e ai riccioli d'oro!


1

Non hai bisogno di auto e allow-hotplug, solo allow-hotplug. Anche questo inizia automaticamente all'avvio. L'aggiunta di auto usata anche a volte causa un ritardo all'avvio quando non è stata stabilita la connessione di rete. 'auto' è più per i server in cui l'avvio può essere configurato per attendere fino a quando non viene stabilita la rete, 'allow-hotplug' per gli utenti di tipo desktop / laptop. Anch'io sono un utente di laptop Debian ma ho visto questo di passaggio e ho pensato che valesse la pena menzionarlo.


1

Un'altra soluzione, colpisce per me: controllare l'output per

 ifup wlan0 -v

Sembra così:

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#

cattura il wpa_supplicantcomando ed eseguilo manualmente, con i parametri -s e -B omessi. Funzionerà in primo piano e scriverà più diagnostica. Come questo:

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# 

Nel mio caso, il problema è la sintassi del wpa_supplicant.conffile in una parte dell'installazione GROUP. Inserisci una nuova riga subito dopo che la netdevparola chiave risolve il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.