TL; DR。私は以下に到達する必要があります:
ioctl
ドライバーの使用時にwext
に関連するエラーが発生する理由nl80211
ドライバを使用できないのはなぜですか。wpa_supplicant
を実行すると、I奇妙なエラーが発生します(以下の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
、Raspbian、またはLinuxカーネル/ドライバー自体にパッチを送信することになったとしても、エラーを取り除きたいです。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はさらに開発されていますか?いいえ、そうではありません。バグ修正のみがWEで受け入れられています。
Wireless-Extensionsの後継とは何ですか?新しい開発はcfg80211とnl80211に焦点を当てるべきです。
https://wireless.wiki.kernel.org/en/developers/Documentation/Wireless-Extensions
このリスト によると、私のデバイスRTL8188CUS
は、カーネルモジュールとしてロードされるドライバー8192cu
によってサポートされています(以下を参照)。
wpa_supplicant
バージョン2.5をコンパイルして実行すると、同じioctl
エラーが発生します。
wpa_supplicant
:のストックバージョン
$ wpa_supplicant -v
wpa_supplicant v2.3
Copyright (c) 2003-2014, Jouni Malinen <[email protected]> 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)
2016年10月8日更新: 提案 から Rui F Ribero 以下、私が使ってみました 非公式ドライバー 。結果:
このエラー:ioctl[SIOCSIWENCODEEXT]: Invalid argument
はなくなりました。ただし、ioctl[SIOCSIWAP]: Operation not permitted
はまだ存在しています。
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
安価なRealtek wifiファームウェア、Linuxカーネルドライバー、およびハードウェア自体はひどくバグがあります。
ARMコミュニティの人々は24時間体制で問題のいくつかを軽減するために働いており、realtekカーネルモジュールの古いバージョンとhostapdの古いバージョン、そしてしばしばファームウェアの古いバージョンも移植しています。 。
チップ用にバックポートされたドライバーの1つは https://github.com/pvaret/rtl8192cu-fixes にあり、 このスレッド はそれをインストールすることについて話します。
私の関連する回答もお読みください: ASUS USB-N13アダプターを使用したWi-Fiの問題 および私がそこで参照しているarmbianフォーラムの関連スレッド。 Lamobo-R1 wifiがAP(「ホスト」)モードで不安定-適切なLinuxサポート付きの良いwifiドングルを購入することをお勧めします
私は互換性のあるラズベリーマシンとrealtekチップも持っています。 APサービスにチップを使用することを忘れてください。それは苦痛の世界です。 wifiクライアントとしては、問題も発生します。
私はaliexpressで約10USDでralinkデュアル周波数2.4GHz/5GHzを購入することをお勧めします。 http://www.aliexpress.com/item/Dual-Band-5GHz-2-4GHz-300Mbps-USB-Wireless-WiFi-WLAN-Network-Card-Adapter-IEEE-802-11a/32455426779。 html