私は Linux 初心者なので、ご協力ありがとうございます。この WiFi アダプターは、BeagleBone/Raspberry Pi の世界では一般的に使用されていませんが、BeagleBone との長距離通信用にカスタム指向性アンテナを接続できるため便利です。
始めること:
USB インターフェイスと ssh 経由で接続することで、簡単にルートとして Beaglebone にログインできます。入力すると、sudo cat /var/log/messages
以下の出力 (一部) が表示され、usb1-1 が USB WiFi アダプターに接続されていることがわかります。実際、この USB WiFi デバイスで使用されているチップセットは Realtek RTL8187 です。
Ubuntu ではこの Realtek チップ用のドライバーが標準で提供されており、Beaglebone では異なるタイプの Linux が使用されていることはわかっています。
システムを診断して Wi-Fi ネットワークに接続するにはどうすればよいでしょうか。また、それができない場合は、このドライバーを入手して続行するにはどうすればよいでしょうか。このドライバーは、Ubuntu が Realtek 8187 チップ用に使用しているドライバーと同じものになると思われます。
また、「ネットワーク マネージャー」というものについて聞いたことがありますが、これは私が始めるために必要なものでしょうか? もしそうなら、この組み込み Linux システムのターミナルからダウンロードしてインストールするにはどうすればよいでしょうか?
Apr 23 20:24:04 beaglebone systemd-logind[700]: Linked /tmp/.X11-unix/X0 to /run/user/debian/X11-display.
Apr 23 20:24:07 beaglebone systemd[1]: Startup finished in 2s 663ms 344us (kernel) + 14s 900ms 121us (userspace) = 17s 563ms 465us.
Apr 23 20:24:14 beaglebone kernel: [ 25.164174] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:24:14 beaglebone kernel: [ 25.168656] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:24:14 beaglebone kernel: [ 25.190080] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:41 beaglebone kernel: [ 1251.610969] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:44:41 beaglebone kernel: [ 1251.611096] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Apr 23 20:44:55 beaglebone kernel: [ 1265.814467] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:44:55 beaglebone kernel: [ 1265.817260] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:44:55 beaglebone kernel: [ 1265.833067] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:55 beaglebone kernel: [ 1266.187458] net eth0: initializing cpsw version 1.12 (0)
Apr 23 20:44:55 beaglebone kernel: [ 1266.190295] net eth0: phy found : id is : 0x7c0f1
Apr 23 20:44:55 beaglebone kernel: [ 1266.205991] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
Apr 23 20:44:57 beaglebone kernel: [ 1268.197080] libphy: 4a101000.mdio:00 - Link is Up - 100/Full
Apr 23 20:44:57 beaglebone kernel: [ 1268.197237] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Oct 15 03:24:43 beaglebone kernel: [ 1528.071391] usb 1-1: new high-speed USB device number 2 using musb-hdrc
Oct 15 03:24:43 beaglebone kernel: [ 1528.197461] usb 1-1: New USB device found, idVendor=0bda, idProduct=8187
Oct 15 03:24:43 beaglebone kernel: [ 1528.197501] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct 15 03:24:43 beaglebone kernel: [ 1528.197536] usb 1-1: Product: RTL8187_Wireless
Oct 15 03:24:43 beaglebone kernel: [ 1528.197570] usb 1-1: Manufacturer: Manufacturer_Realtek_RTL8187_
Oct 15 03:24:43 beaglebone kernel: [ 1528.197603] usb 1-1: SerialNumber: 00C0CA6D703D
Oct 15 03:24:44 beaglebone kernel: [ 1528.378502] cfg80211: Calling CRDA to update world regulatory domain
Oct 15 03:24:44 beaglebone kernel: [ 1528.812425] ieee80211 phy0: hwaddr 00:c0:ca:6d:70:3d, RTL8187vB (default) V1 + rtl8225z2, rfkill mask 2
Oct 15 03:24:44 beaglebone kernel: [ 1528.829906] rtl8187: Customer ID is 0xFF
Oct 15 03:24:44 beaglebone kernel: [ 1528.852966] rtl8187: wireless switch is on
Oct 15 03:24:44 beaglebone kernel: [ 1528.853874] usbcore: registered new interface driver rtl8187
ifup wlan0 と入力すると、次のようになります:
root@beaglebone:/# ifup wlan0
Ignoring unknown interface wlan0=wlan0
iwconfig と入力すると、次のメッセージが表示されます。
root@beaglebone:/# iwconfig
wlan0 IEEE 802.11bg ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
lo no wireless extensions.
eth0 no wireless extensions.
usb0 no wireless extensions.
root@beaglebone:/#
どのような助言でもいただければ幸いです。この回答は、私だけでなく、BeagleBone でこの種の USB WiFi を使用しようとしている他の人たちにとっても役立つと思います。
更新: 少しだけ学んだここそして、 を介してインターフェース ファイルを編集しましたsudo nano /etc/network/interfaces
。wifi セクションのコメントを解除し、ネットワーク名とパスワードを追加しました。以下を参照してください。何が起こっているのか、何かアイデアはありますか?
root@beaglebone:/# ifup wlan0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/wlan0/00:c0:ca:6d:70:3d
Sending on LPF/wlan0/00:c0:ca:6d:70:3d
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
receive_packet failed on wlan0: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 9
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.594437] Internal error: Oops: 817 [#1] SMP THUMB2
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.676479] Process wpa_supplicant (pid: 2276, stack limit = 0xd5988240)
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.683943] Stack: (0xd5989da8 to 0xd598a000)
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.688819] 9da0: d5a3f520 00000000 11111111 d5989da8 d5a3f50c d5924548
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.697880] 9dc0: d5a3f500 d5924000 00008914 d5ac680c d5ac6800 c045a3db d5a3e400 bf9dc255
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.706919] 9de0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.715986] 9e00: d5a3f50c 00000000 00000000 d5a3e400 d5924548 00000000 d5924000 00008914
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.725032] 9e20: d5ac680c d5ac6800 00000000 bf958b2b 0000000d 00000000 00000001 00000000
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.734092] 9e40: d5ac680c d5924000 bf981034 00000000 d592402c 00008914 d5ac680c d5ac6800
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.743128] 9e60: 00000000 bf9591ff d5924000 c03bfd63 c03bfd03 d5924000 00001003 00001002
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.752177] 9e80: 00000001 c03bfeed 00008914 d5924000 00001002 d5924000 bea2aa54 c03bffa9
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.761223] 9ea0: 00000000 00000001 d5924000 c03f87a1 00000000 01000000 6e616c77 00000030
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.770279] 9ec0: 00000000 00000000 00001003 00000000 00000000 00000000 00000000 00008914
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.779332] 9ee0: bea2aa54 c081c740 d5060e40 00000007 00000000 00000000 00000005 c03b1cfd
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.788405] 9f00: c03b1bb1 d5060e60 bea2aa54 d5957800 00000007 c00b36ab d5060220 c00b58bf
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.797422] 9f20: d5150f60 00000000 d5150f60 00000000 d5150fb4 c00b5d13 00002710 d5904b40
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.806479] 9f40: 00000000 d5060c80 00000000 bea2a914 00000129 c000c1c4 d5988000 d5957800
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.815514] 9f60: 00000000 bea2aa54 00008914 00000007 00000000 00000000 00000005 c00b3727
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.824556] 9f80: 00000007 00000000 bea2aa54 000a5ae0 00000001 00000007 00000036 c000c1c4
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.833563] 9fa0: d5988000 c000c021 000a5ae0 00000001 00000007 00008914 bea2aa54 00001003
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.842606] 9fc0: 000a5ae0 00000001 00000007 00000036 00000007 bea2ab4c 000a5ae0 00000005
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.851646] 9fe0: 000a85c4 bea2aa50 0006a87b b6ce1f6c 60000010 00000007 00000000 00000000
Message from syslogd@beaglebone at Oct 15 04:05:13 ...
kernel:[ 3957.985588] Code: 61a2 f8cd 8000 9301 (601a) 9702
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
send_packet: Network is down
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 10
send_packet: Network is down
^Xc^Z
[1]+ Stopped ifup wlan0
さて、今回は次のように入力しましたifconfig wlan0
(どこかに到達しています):
root@beaglebone:~# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:c0:ca:6d:70:3d
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ヒントに基づいてこれを試してみましたここ:
root@beaglebone:~# ip link set wlan0 up
RTNETLINK answers: Operation not possible due to RF-kill
root@beaglebone:~#
このRFキルエラーを解決しようとしているのは、これ餌。
うわー、私は「ハードブロック」されている
root@beaglebone:~# rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
root@beaglebone:~#
答え1
結局、Dbo の助けのおかげで、これは非常に簡単でした。これが機能し始めた時点ですでに wpa_supplicant をインストールしていたため、これが機能するために wpa_supplicant が必要だったかどうかは確認できません ( aptitude install wpasupplicant
)。
私がやったことは以下の通りです:
1. sudo nano /etc/network/interfaces
- WiFiサンプル部分を編集し、コメントを削除します
- allow-hotplug wlan0 を追加します (または、そこにあり、コメントが解除されていることを確認します)
- auto wlan0 をコメントのままにしておきます (この提案をしてくれた Dbo に感謝します)
- ワイヤレスネットワーク名をプレーンテキストで追加します(wpa-ssid)
- パスワードをプレーンテキスト(wpa-psk)で追加します
2. 再起動(オプションですが、何らかの理由で実行する必要があり、その後の再起動でも機能しました)
3. iwconfig
これリンク結局、多くの有用な情報を提供しましたが、何らかの理由で、 と入力する必要がありませんip a
。ip link set wlan0 up
これは、以前にすでに実行したからなのか、または「単に機能する」からなのかはわかりません。BeagleBone が起動するたびに、WiFi ネットワークが自動的に検出されるようになりました。curl www.google.com
確認のために入力します。
更新: そこで、ip link set wlan0 up/down の問題をテストしたかったのです。これをオフにするには、何らかの理由で 2 回 down に設定する必要があります。これにより、ドングルの青いライトが消えます。wlan0 を up に戻すと、ライトが元通りになり、ネットワークに自動接続されます (点滅)。
その後、さらにテストするために、wlan0をダウンに設定して再起動しました。今回は再起動時にUSBドングルのライトが短時間点滅しました。その後は立ち去った、 と入力しようとしたときに、
以前の「ハード ブロック」が復活したことがわかりました。ip link set wlan0 up
rfkill list all
BeagleBone を再起動すると、この問題は解消されました。
つまり、更新を要約すると、wlan0 を down にしてシャットダウンしないでください。もしシャットダウンした場合は、wlan0 を up に設定して (失敗します) 再起動する必要がある場合があります。
最後に、この WiFi USB ドングルは熱くなることに注意してください。強力なアンテナがあり、カスタムのアンテナに交換できるのは素晴らしいことですが、BeagleBone 自体よりも少なくとも 5 倍熱くなるため、数ワットの熱が無駄になります。リモート ソーラー バッテリー駆動のセットアップにこれを使用するので、この WiFi ドングルを確実にオン/オフする方法を学ぶ必要があります。ip link set wlan0 down
これで十分かどうかはわかりません。確かに、このコマンドは切断に機能し、USB ドングルの青いステータス ライトが点灯しました (以前は点滅していました)。ただし、消費電力はまだテストされていません (今のところは発生する熱で判断します)。
更新2: 何らかの理由で、これがすべて機能しなくなりました。結局、ifup コマンド (wpa_supplicant の一部だと思います) を使用する必要がありました。ifup wlan0、ifdown wlan0、ifquery ... など。最終的に、ifdown -a (すべてダウン) ですべてをシャットダウンし、ifup wlan0 でオンにできました。