
簡単そうで意外とそうでもなさそうでやっぱりそうでもないのがNanoPi NEO/NanoPi NEO2での無線LAN有効化。(結局どっち?)
OSはarmbian (Debian Jessie)。
NanoPi NEO2にUSB無線LANアダプタを挿す
USB無線LANアダプタが認識されたか確認する。
$ lsusb
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 2019:ab2b PLANEX GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU]
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
今回挿したのはPLANEX GW-USEco300 802.11bgn Wireless Adapterとして認識されている。(正解)
続いて、現在のネットワークの状態を確認する。
# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:xx
UP 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)
無線LANインターフェースのwlan0は存在はしているが何にも使われていない。
無線LANを有効化する設定が必要なようだ。
なお、システムにifconfigが入っていないならapt-getでインストールするか代わりにip addrで見る。また、ip addrは一般ユーザー権限で実行できるがifconfigは管理者権限で実行してやらないとダメかも。
設定
ネットワークの設定にはメニューでポンポン選んでやるnmtuiが簡単そうだけどこれまでの経験では使わないほうが無難。
そこで以下。
/etc/network/interfacesを編集する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | # Wired adapter #1
allow-hotplug eth0
#no-auto-down eth0
iface eth0 inet dhcp
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
# hwaddress ether # if you want to set MAC manually
# pre-up /sbin/ifconfig eth0 mtu 3838 # setting MTU for DHCP, static just: mtu 3838
# Wireless adapter #1
# Armbian ships with network-manager installed by default. To save you time
# and hassles consider using 'sudo nmtui' instead of configuring Wi-Fi settings
# manually. The below lines are only meant as an example how configuration could
# be done in an anachronistic way:
#
#allow-hotplug wlan0
#iface wlan0 inet dhcp
#iface wlan0 inet static
#address 192.168.0.100
#netmask 255.255.255.0
#gateway 192.168.0.1
#dns-nameservers 8.8.8.8 8.8.4.4
#wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# Disable power saving on compatible chipsets (prevents SSH/connection dropouts over WiFi)
#wireless-mode Managed
wireless-power off
# Local loopback
auto lo
iface lo inet loopback
|
固定IPで設定するなら18, 20〜25行目の行頭の#を外す。19行目はコメントのまま。IPアドレス、サブネット、デフォルトゲートウェイ、DNSサーバの情報を設定する。
DHCPで設定させるなら18, 19, 25行目の行頭の#を外す。20〜24行目はコメントのまま。
無線LANアクセスポイントに接続するための認証情報ファイルを作成する。
# wpa_passphrase 無線LANアクセスポイントのSSID 無線LANアクセスポイントの暗号キー > /etc/wpa_supplicant/wpa_supplicant.conf $ cat /etc/wpa_supplicant/wpa_supplicant.conf
1 2 3 4 5 | network={
ssid="無線LANアクセスポイントのSSID"
#psk="無線LANアクセスポイントの暗号鍵" ←平文で入っているので危険 下の行が使われるのでこの行は削除
psk=abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789
}
|
動作確認
システムを再起動してから確認。
# ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr 00:xx:xx:xx:xx:xx
inet addr:192.168.0.100 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: abcd:abcd:abcd:abcd:abcd/64 Scope:Global
inet6 addr: fe80:dcba:dcba:dcba::dcba/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:153 errors:0 dropped:1 overruns:0 frame:0
TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:19301 (18.8 KiB) TX bytes:23344 (22.7 KiB)
システムにifconfigが入っていないならapt-getでインストールするか代わりにip addrで見る。っていうか、Linuxの世界ではifconfig使うっていうとジジイ扱いされるって本当?
$ ip addr
1: lo: 省略
2: eth0: 省略
3: wlan0: <broadcast ,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 abcd:abcd:abcd:abcd:abcd::abcd/64 scope global mngtmpaddr dynamic
valid_lft 2591891sec preferred_lft 604691sec
inet6 fe80:dcba:dcba:dcba::dcba/64 scope link
valid_lft forever preferred_lft forever
無事通信もできた。
めでたし、めでたし。
蛇足
ところでiwconfigで見るとどうだろう。
# iwconfig
eth0 no wireless extensions.
lo no wireless extensions.
wlan0 no wireless extensions.
無線LANが無効みたいに見えるじゃん、嘘つきかよ。
こんなんだから、もちろんiwconfigによる制御もできない。役立たずねぇ。
# iw dev phy#0 Interface wlan0 ifindex 3 wdev 0x1 addr 00:xx:xx:xx:xx:xx type managed channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz # iw dev wlan0 link Connected to 00:xx:xx:xx:xx:xx (on wlan0) SSID: hoge-hoge freq: 2412 RX: 2205889 bytes (17689 packets) TX: 80230 bytes (571 packets) signal: -45 dBm tx bitrate: 1.0 MBit/s bss flags: short-slot-time dtim period: 1 beacon int: 100 # iw dev wlan0 scan これは表示が多いので省略
iwconfig効かないけどiwは使えるのかな。
# iw dev wlan0 get power_save
Power save: off
コマンドも通る?現在はパワーセーブモードではないらしい。この値はoffでいいんだけど切り替えできるか確認したいのでonにしてみる。(次)
# iw dev wlan0 set power_save on
command failed: Operation not supported (-95)
ぅおっとぉ、油断できない(笑)
パワーマネージメント使えないのはiwがヘン?それともUSBネットワークアダプタが非対応?
- アッチッチなNanoPi NEO3を冷やしたい パッド交換
- NanoPi NEO3冷却力強化後のUnixBench
- アッチッチなNanoPi NEO3を冷やしたい
- NTPサーバの時刻ソースに対するズレの調整
- NanoPi NEO3をv6プラスのルーターにする systemd-networkd + nftables
- NanoPi NEO3のUSB3.0ポートのネットワーク速度
- NanoPi NEO3でArmbian よきところでUnixBench
- NanoPi NEO3が届いた
- NanoPi NEOにRTCモジュールを付ける
- 新しい中華GPSモジュールとChronyで作るNTPサーバ (中編)
- 新しい中華GPSモジュールとChronyで作るNTPサーバ (前編)
- Prometheus2とGrafana6によるシステム監視 シングルボードコンピュータの温度表示
- NanoPi NEOでNTPサーバ再構築 (全まとめ)
- NanoPi NEO2をv6プラスのルーターにする 後編
- NanoPi NEO2をv6プラスのルーターにする 前編
- ELK Stackでシステム監視 FilebeatでNTP統計ログ取得 Logstashで加工
- NanoPi NEO2(arm64)用にFilebeatをビルド
- NanoPi NEO2を超コンパクトなアルミケースに入れる
- NanoPi NEO2用armbian 5.41 Debian 9 Stretch next 4.14.18
- NanoPi NEO2を100均の灰皿に入れてみた
- NanoPi NEO2のシステム監視 RPi-Monitorとnetdata
- NanoPi NEOとGPSモジュール用アルミケースを作る
- NanoPi NEO2 + DACで音楽プレーヤーVolumioを使う
- NanoPi NEO2にDACを接続
- NanoPi NEO2の最大クロック引き下げ後のUnixBench 再び
- NanoPi NEO2用armbian 5.32 Debian 9 Stretch 4.13.0-RC6
- NanoPi NEO2用armbian 5.32 Debian jessie 4.13.0-RC6
- NanoPi NEOをSIP電話機にする 後編 (その2)
- NanoPi NEO2とICカードリーダーでタイムレコーダーを作る(実用化編)
- NanoPi NEO2とICカードリーダーでタイムレコーダーを作る