Problema wpa_supplicant rapsberry pi 2

8

Eu tenho tido muitos problemas com a configuração de um stick sem fio no 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

Em 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

e eu tenho o driver rodando (lsmod)

    Module                  Size  Used by
     8192cu                528429  0 

e o usb está sendo reconhecido (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. 

Minhas interfaces e arquivos wpa_supplicant.conf têm esta aparência

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
}

O estranho é que o wlan0 nem aparece no iwconfig:

lo        no wireless extensions.

eth0      no wireless extensions.

Eu já li entradas semelhantes aqui, mas elas não funcionaram ou não se aplicam ao meu problema. Portanto, o erro que estou recebendo ao fazer 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

Por meio da GUI, ele não encontra um adaptador e o status é o seguinte: insira a descrição da imagem aqui

Espero que alguém possa me ajudar, porque passei muito tempo com isso ...

Ognan
fonte
Você já tentou usar a ferramenta Wifi Configuration da área de trabalho no menu? Eu começaria por aí, antes de tentar rolar seus próprios arquivos wpa_supplicant.
Phil B.
Ah, e presumo que seja apenas um erro de digitação, mas o local correto do interfacesarquivo /etc/network/interfacesnão é /etc/networks/interfaces.
Phil B.
Obrigado pela resposta, corrigi o erro de digitação. Eu adicionei o problema com a GUI, o erro de estado eo fato de que ele não encontrar o hardware para ele
Ognan
11
BTW, você digitou pairwise=CMMP. Não há CMMPemparelhamento, é CCMP. Talvez seja isso que causa um wpa_supplicantacidente?
Phil B.
2
Se wlan0houver, ip link set wlan0 upe tente o que sugeri aqui para ver se você pode pelo menos obter uma conexão de rede manualmente (o que acaba sendo mais simples em muitos casos).
goldilocks

Respostas:

5

Problema resolvido!!! Vou explicar aqui os passos que tomei:

Comprei um bom carregador 2A, que no começo ajudou a ver a luz azul do dongle. No entanto, ainda não se conectou. Então pesquisando e pesquisando me deparei com esta página

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

ele fornece uma solução para que o dongle seja sempre detectado. Se você fizer exatamente o que ele diz, será reconhecido (você pode verificar isso executando iwconfig ou ifconfig). Por uma questão de exaustividade, dou aqui sua solução:

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 alguma razão, isso não é suficiente, você deve adicionar também

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

Eu descobri que, se você não adicionar esse último arquivo, o raspberry não iniciará automaticamente a conexão wlan0, você deverá fazer login com eth0 e passar sudo ifdown wlan0; sudo ifup wlan0;

Neste ponto, você apenas precisa configurar o / etc / network / interfaces e /etc/wpa_supplicant/wpa_supplicant.conf. Para completar, dou os arquivos de trabalho que tenho agora

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

Muito obrigado a Phil B. e a goldilocks!

Ognan
fonte
1

Você não precisa de auto e hotplug de permissão, apenas de hotplug de permissão. Isso também inicia na inicialização automaticamente. A adição automática também costuma causar um atraso na inicialização quando a conexão de rede não foi feita. 'auto' é mais para servidores em que a inicialização pode ser configurada para aguardar até que a rede seja estabelecida, 'allow-hotplug' para usuários de desktop / laptop. Eu mesmo sou um usuário de laptop Debian, mas vi isso de passagem e achei que vale a pena mencionar.

Random-person9473
fonte
1

Outra solução, acerta para mim: Verifique a saída para

 ifup wlan0 -v

Se parece com isso:

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#

pegue o wpa_supplicantcomando e execute-o manualmente, com os parâmetros -s e -B omitidos. Ele será executado em primeiro plano e gravará mais diagnósticos. Como isso:

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# 

No meu caso, o problema é a sintaxe do wpa_supplicant.confarquivo em uma parte da GROUPinstalação. Coloque uma nova linha logo após a netdevpalavra - chave resolver o problema.

StAlex
fonte