Проблема wpa_supplicant rapsberry pi 2

8

У меня было много проблем с настройкой беспроводной флешки в 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

В Dmesg мы находим

[    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

и у меня работает драйвер (lsmod)

    Module                  Size  Used by
     8192cu                528429  0 

и usb распознается (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. 

Мои интерфейсы и файлы wpa_supplicant.conf выглядят так

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
}

Странно то, что wlan0 даже не отображается в iwconfig:

lo        no wireless extensions.

eth0      no wireless extensions.

Я уже читал подобные записи здесь, но они либо не работали, либо не относились к моей проблеме. Так что ошибка, которую я получаю, делая 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

Через графический интерфейс он не находит адаптер и имеет следующий статус: введите описание изображения здесь

Я надеюсь, что кто-то может помочь мне, потому что я провел слишком много времени с этим ...

Ognan
источник
Вы пытались использовать настольный инструмент Wifi Configuration из меню? Я бы начал там, прежде чем пытаться свернуть ваши собственные файлы wpa_supplicant.
Фил Б.
О, и я предполагаю, что это просто опечатка, но правильное расположение interfacesфайла - /etc/network/interfacesнет /etc/networks/interfaces.
Фил Б.
Спасибо за ответ, я исправил опечатку. Я добавил проблему с графическим интерфейсом, ошибку состояния и тот факт, что он не находит аппаратное обеспечение для него
Ognan
1
Кстати, вы напечатали pairwise=CMMP. Там нет CMMPспаривания, это так CCMP. Возможно, это то, что делает wpa_supplicantкрах?
Фил Б.
2
Если wlan0есть, ip link set wlan0 upа затем попробуйте то, что я предложил здесь, чтобы посмотреть, сможете ли вы хотя бы вручную подключиться к сети (что во многих случаях оказывается проще).
Златовласка

Ответы:

5

Задача решена!!! Я объясню здесь шаги, которые я предпринял:

Я купил хорошее зарядное устройство на 2А, которое вначале помогло увидеть синий свет ключа. Однако он еще не подключился. Погуглил и погуглил, наткнулся на эту страницу

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

он дает решение, чтобы ключ был обнаружен всегда. Если вы сделаете именно то, что он говорит, оно будет распознано (вы можете проверить это, выполнив iwconfig или ifconfig). Для полноты картины приведу здесь его решение:

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

по некоторым причинам этого недостаточно, вы должны также добавить

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

Я обнаружил, что если вы не добавите этот последний файл, raspberry не будет автоматически запускать соединение wlan0, вам придется войти в систему с помощью eth0, а затем передать sudo ifdown wlan0; sudo ifup wlan0;

На данный момент вам просто нужно настроить / etc / network / interfaces и /etc/wpa_supplicant/wpa_supplicant.conf. Для полноты отдаю рабочие файлы, которые у меня сейчас

/ и т.д. / сеть / интерфейсы:

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
}

Большое спасибо Филу Б. и златовласке!

Ognan
источник
1

Вам не нужны auto и allow-hotplug, просто allow-hotplug. Это также начинается при загрузке автоматически. Добавление auto также используется, чтобы иногда вызывать задержку при загрузке, когда сетевое соединение не было установлено. «auto» больше подходит для серверов, где загрузка может быть настроена на ожидание, пока сеть не будет установлена, «allow-hotplug» для пользователей типа настольный компьютер или ноутбук. Я сам пользуюсь ноутбуком Debian, но мимоходом это увидел и подумал, что стоит упомянуть.

Random-person9473
источник
1

Другое решение, поражающее меня: проверьте вывод на

 ifup wlan0 -v

Это выглядит так:

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#

поймать wpa_supplicantкоманду и запустить ее вручную, с опущенными параметрами -s и -B. Он будет работать на переднем плане и писать больше диагностики. Нравится:

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# 

В моем случае проблема заключается в синтаксисе wpa_supplicant.confфайла в части GROUPустановки. Поставьте новую строку сразу после того, как netdevключевое слово решит проблему.

StAlex
источник