Понимание wpa_supplicant

TL; DR . Мне нужна помощь:

  1. почему есть ошибки, связанные с ioctl при использовании драйвера wext ,
  2. почему я не могу использовать драйвер nl80211 .

При запуске wpa_supplicant я получаю странные ошибки (строки примечаний, начинающиеся с ioctl ниже):

 $ sudo wpa_supplicant -D wext -i wlan0 -c wpa_supplicant.conf Successfully initialized wpa_supplicant ioctl[SIOCSIWAP]: Operation not permitted ioctl[SIOCSIWENCODEEXT]: Invalid argument ioctl[SIOCSIWENCODEEXT]: Invalid argument wlan0: Trying to associate with 04:8d:38:59:2d:63 (SSID='netis' freq=2457 MHz) wlan0: Association request to the driver failed wlan0: Associated with 04:8d:38:59:2d:63 wlan0: WPA: Key negotiation completed with 04:8d:38:59:2d:63 [PTK=CCMP GTK=TKIP] wlan0: CTRL-EVENT-CONNECTED - Connection to 04:8d:38:59:2d:63 completed [id=0 id_str=] 

Мне нужна помощь, чтобы понять, почему возникают ошибки ioctl .

Несколько примечаний:

  • моя цель здесь – обучение ; Я хочу избавиться от ошибок, даже если это означает wpa_supplicant патча на wpa_supplicant , в Raspbian или в linux kernel / driver,
  • с WiFi нет проблем; работает; Я получаю подключение к Интернету с выводом выше, с этим нет никаких проблем,
  • если в моем случае невозможно избавиться от ошибок, я бы хотел понять, почему это так,
  • Я не пытался протестировать большинство современных версий и версий Linux ядра Linux; ищут доказательства (фиксация в linux kernel repo?), которые я помогу до погружения в компиляцию моего собственного ядра,
  • Я нашел ошибки в исходном коде, здесь и здесь, соответственно. Не уверен, куда идти оттуда.

То, что я узнал до сих пор

  1. Запуск wpa_supplicant с nl80211 вообще не работает:

     $ sudo wpa_supplicant -D nl80211 -i wlan0 -c wpa_supplicant.conf Successfully initialized wpa_supplicant nl80211: Driver does not support authentication/association or connect commands wlan0: Failed to initialize driver interface 

    Почему нет? Я думал, что nl80211 превосходит wext :

    Развивается ли МЫ? Нет. Для WE принимаются только исправления ошибок.

    Что такое замена беспроводных расширений? Новая разработка должна быть сосредоточена на cfg80211 и nl80211.

    https://wireless.wiki.kernel.org/en/developers/Documentation/Wireless-Extensions

  2. Согласно этому списку , мое устройство RTL8188CUS поддерживается драйвером 8192cu , который загружается как модуль ядра (см. Ниже),

  3. Компиляция и запуск wpa_supplicant версии 2.5 дает одни и те же ошибки ioctl .

О моей среде

wpa_supplicant версия wpa_supplicant :

 $ wpa_supplicant -v wpa_supplicant v2.3 Copyright (c) 2003-2014, Jouni Malinen <j@w1.fi> and contributors 

Содержание wpa_supplicant.conf :

 $ cat wpa_supplicant.conf network={ ssid="my_network_name" psk="my_password" } 

Список USB-устройств:

 $ lsusb Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 

Версия Distro:

 $ uname -a Linux raspberrypi 4.1.18+ #846 Thu Feb 25 14:11:56 GMT 2016 armv6l GNU/Linux 

Загруженные модули ядра:

 $ lsmod Module Size Used by cfg80211 479279 0 rfkill 21508 1 cfg80211 8192cu 556175 0 bcm2835_gpiomem 3703 0 snd_bcm2835 22502 0 bcm2835_rng 2207 0 snd_pcm 92829 1 snd_bcm2835 snd_timer 22164 1 snd_pcm snd 67534 3 snd_bcm2835,snd_timer,snd_pcm uio_pdrv_genirq 3526 0 uio 10078 1 uio_pdrv_genirq ipv6 358702 24 

Содержимое ifconfig :

 $ ifconfig eth0 (...omitted for brevity...) lo (...omitted for brevity...) wlan0 Link encap:Ethernet HWaddr 00:f1:40:41:03:a7 inet addr:192.168.1.104 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::c085:fb91:3e68:a44d/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:38 errors:0 dropped:61421 overruns:0 frame:0 TX packets:62 errors:0 dropped:4 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:19804518 (18.8 MiB) TX bytes:1192972 (1.1 MiB) 

Обновление 10/8/2016 : По предложению Rui F Ribero ниже я попытался использовать неофициальные драйверы . Результаты:

  1. Эта ошибка: ioctl[SIOCSIWENCODEEXT]: Invalid argument теперь ушел! Однако ioctl[SIOCSIWAP]: Operation not permitted , все еще присутствует.

  2. wpa_supplicant до сих пор не будет работать с неофициальным драйвером nl80211 . Только на этот раз вывод имеет новое сообщение, начинающееся с deinit :

     $ sudo ./wpa_supplicant -D nl80211 -i wlan0 -c wpa_supplicant.conf Successfully initialized wpa_supplicant nl80211: Driver does not support authentication/association or connect commands nl80211: deinit ifname=wlan0 disabled_11b_rates=0 wlan0: Failed to initialize driver interface 

2 Solutions collect form web for “Понимание wpa_supplicant”

Дешевая прошивка Realtek wifi, драйверы ядра Linux и аппаратное обеспечение очень ужасно.

Люди из сообщества ARM работают круглосуточно, чтобы попытаться смягчить некоторые проблемы, вернуть прежние версии модулей ядра realtek и старые версии hostapd, а также старые версии прошивки.

Один из драйверов, поддерживаемых вашим чипом, находится на странице https://github.com/pvaret/rtl8192cu-fixes, и этот поток рассказывает об установке его.

Пожалуйста, также прочитайте мой ответ: проблемы Wi-Fi с использованием адаптера ASUS USB-N13 и связанная с ним нить на форуме armbian, на который я ссылаюсь. Lamobo-R1 wifi нестабилен в режиме AP («хозяин») – лучше купить хороший wifi-ключ с соответствующей поддержкой linux

У меня есть совместимая машина для малины и чип realtek. Забудьте использовать свой чип для служб AP, это мир боли. Будучи клиентом wifi, у него тоже будут проблемы.

Я советую покупать Ralink с двумя частотами 2,4 ГГц / 5 ГГц для около 10 долларов США на aliexpress, и покончить с этим. http://www.aliexpress.com/item/Dual-Band-5GHz-2-4GHz-300Mbps-USB-Wireless-WiFi-WLAN-Network-Card-Adapter-IEEE-802-11a/32455426779.html

Установите dkms Загрузите исправление:

  git clone https://github.com/pvaret/rtl8192cu-fixes.git 

Установите модуль DKMS (с правами root):

 dkms add ./rtl8192cu-fixes 

Создайте и установите его (с правами root):

  dkms install 8192cu/1.9 

Обновите список модулей:

  depmod -a 

Черный список модуля ядра и отключите энергосбережение:

  echo "blacklist rtl8192cu" > /etc/modules.d/8192.conf echo "options 8192cu rtw_power_mgnt=0 rtw_enusbss=0" >> /etc/modules.d/8192cu 

Выгрузите старый драйвер и загрузите исправленный драйвер:

  rmmod rtl8192cu rtl_usb rtlwifi rtl8192c_common modprobe 8192cu 
  • Подключен к WIFI, но нет интернета
  • Разница между systemd wpa_supplicant.service и wpa_supplicant@wlan0.service?
  • Проблема с соединением wpa_supplicant: ссылка iw dev wlan1 показывает соединение, но сеть недоступна
  • Подключение к Wi-Fi сети с помощью страницы входа в портал с помощью wpa_supplicant
  • Я не вижу конкретную AP в `scan` (Expire BSS 1 из-за отсутствия совпадения в сканировании)
  • Проблемы с wpa_supplicant
  • Не удается подключиться к Wi-Fi на Debian Jessie с помощью wpa_supplicant: ioctl : неверный аргумент
  • Беспроводные сети, показывающие «устройство не управляемое» в Network Manager
  • Настройка интерфейса wlan0 во время загрузки
  • NetworkManager не может аутентифицироваться в WPA-EAP с использованием TTLS и PAP в LMDE
  • Создание обходного интерфейса GUI беспроводной сети
  • подключение к Wi-Fi при помощи wpa_supplicant
  • Interesting Posts

    Какой getty я должен использовать для / dev / tty1 – текстовых консолей tty6 в linux, agetty или что-то еще

    Редактирование isolinux приводит к ошибке паники ядра в Centos Live CD

    / bin / etc / lib64 / root / sbin удалены или перемещены папкой mv / * / *, в то время как su

    Определите, был ли файл изменен

    Можем ли мы сохранить временные метки файлов при извлечении ZIP-архива?

    Хранение пробелов в переменной скрипта оболочки

    Обновление единого пакета от Ubuntu Utopic Unicorn при запуске Trusty Tahr

    Как вы используете команду coproc в Bash?

    Нужна небольшая помощь с параметром –remote-schema для rdiff-backup

    Grub не загружается с GPT RAID (отказался от ожидания корневого устройства)

    Встроенное видео в формате PDF

    два файла .csv сравниваются с помощью awk

    Устройство Broadcom BCM2070 Bluetooth 3.0 USB не работает

    Использовать awk, чтобы найти первое вхождение

    Печатать размер содержимого каталога с помощью команды tree в дереве 1.5?

    Linux и Unix - лучшая ОС в мире.