FreeBSD (11.2 / i386) で無線 LAN を設定する覚書

2018-12-01

以下などを参考にさせてもらう。

31.3. Wireless Networking
FreeBSDのWiFiドライバー - Qiita
FreeBSDでWi-Fiをセットアップ | b-shock. Fortress
FreeBSDでのwifi設定 - yu_izumi’s blog
FreeBSD Wireless Quickstart

以下もあったが情報が古いようだ。

21.3. 無線ネットワーク

なんでも FreeBSD 11 で大きく変わったようだ。

無線 LAN デバイスは、以下のように認識されていた。 (なお、有線 LAN が既に接続されている。)

% sysctl net.wlan.devices
net.wlan.devices: ath0

/etc/wpa_supplicant.conf ファイルを作成する。 root 以外は読めないようにしておいた。

% sudo touch /etc/wpa_supplicant.conf
Password:

% ls -ld /etc/wpa_supplicant.conf
-rw-r--r--  1 root  wheel  0 Nov 26 22:09 /etc/wpa_supplicant.conf

% sudo chmod go-rwx /etc/wpa_supplicant.conf 

% ls -ld /etc/wpa_supplicant.conf
-rw-------  1 root  wheel  0 Nov 26 22:09 /etc/wpa_supplicant.conf

% sudoedit /etc/wpa_supplicant.conf 

network={
	ssid="〜"
	psk="〜"
}

/etc/rc.conf に以下を追記する。

wlans_ath0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP country JP"

ここで DHCP なのか SYNCDHCP なのか流儀があるようだが、以下の違いのようだ。

Wireless setup and SYNCDHCP | The FreeBSD Forums

そして以下を実行すると..

% sudo service netif restart
Stopping dhclient.
Stopping Network: lo0 bge0.
lo0: flags=8048<LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	groups: lo 
bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
	ether 〜:〜:〜:〜:〜:〜
	hwaddr 〜:〜:〜:〜:〜:〜
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	media: Ethernet autoselect
Created wlan(4) interfaces: wlan0.
ifconfig: SIOCS80211: Device busy
wpa_supplicant already running?  (pid=1160).
dhclient already running?  (pid=1174).
Starting Network: lo0 bge0 wlan0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
	inet 127.0.0.1 netmask 0xff000000 
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
	groups: lo 
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
	ether 〜:〜:〜:〜:〜:〜
	hwaddr 〜:〜:〜:〜:〜:〜
	inet6 〜%bge0 prefixlen 64 scopeid 0x1 
	inet6 〜 prefixlen 64 autoconf 
	nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
	media: Ethernet autoselect (1000baseT <full-duplex>)
	status: active
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 〜:〜:〜:〜:〜:〜
	hwaddr 〜:〜:〜:〜:〜:〜
	inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet OFDM/36Mbps mode 11g
	status: associated
	ssid 〜 channel 13 (2472 MHz 11g) bssid 〜:〜:〜:〜:〜:〜
	regdomain JAPAN country JP indoor ecm authmode WPA2/802.11i
	privacy ON deftxkey UNDEF TKIP 2:128-bit txpower 23 bmiss 7
	scanvalid 60 protmode CTS wme burst roaming MANUAL
	groups: wlan 

何だかエラーのようなものも見えたし IPv4 アドレスも取得できていないようだが..

もう一度 ifconfig -a してみると、

% ifconfig -a
〜
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 〜:〜:〜:〜:〜:〜
	hwaddr 〜:〜:〜:〜:〜:〜
	inet 192.168.24.29 netmask 0xffffff00 broadcast 192.168.24.255 
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps mode 11g
	status: associated
	ssid 〜 channel 13 (2472 MHz 11g) bssid 〜:〜:〜:〜:〜:〜
	regdomain JAPAN country JP indoor ecm authmode WPA2/802.11i
	privacy ON deftxkey UNDEF TKIP 2:128-bit txpower 23 bmiss 7
	scanvalid 60 protmode CTS wme burst roaming MANUAL

IPv4 アドレスが取れたようだ。

だが、IPv6 アドレスが設定されていない。
そこで、以下のように /etc/rc.conf に追記してみる。 (これは FreeBSD のインストーラが作った ifconfig_bge0_ipv6 の行をそのままコピーした)

ifconfig_wlan0_ipv6="inet6 accept_rtadv"

もう一度 service netif restart すると..

% sudo service netif restart
dhclient not running? (check /var/run/dhclient.bge0.pid).
Stopping wpa_supplicant.
Stopping dhclient.
Stopping Network: lo0 bge0 wlan0.
lo0: flags=8048<LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
〜
bge0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
〜
wlan0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 〜:〜:〜:〜:〜:〜
	hwaddr 〜:〜:〜:〜:〜:〜
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
	status: no carrier
	ssid "" channel 13 (2472 MHz 11g)
	regdomain JAPAN country JP indoor ecm authmode OPEN privacy OFF
	txpower 23 bmiss 7 scanvalid 60 protmode CTS wme burst
	groups: wlan 
Destroyed wlan(4) interfaces: wlan0.
Created wlan(4) interfaces: wlan0.
ifconfig: SIOCS80211: Device busy
wpa_supplicant already running?  (pid=1778).
dhclient already running?  (pid=1920).
Starting Network: lo0 bge0 wlan0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
〜
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
〜
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	ether 〜:〜:〜:〜:〜:〜
	hwaddr 〜:〜:〜:〜:〜:〜
	inet6 〜%wlan0 prefixlen 64 scopeid 0x3 
	inet6 〜 prefixlen 64 autoconf 
	inet 192.168.24.29 netmask 0xffffff00 broadcast 192.168.24.255 
	nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
	media: IEEE 802.11 Wireless Ethernet OFDM/48Mbps mode 11g
	status: associated
	ssid 〜 channel 13 (2472 MHz 11g) bssid 〜:〜:〜:〜:〜:〜
	regdomain JAPAN country JP indoor ecm authmode WPA2/802.11i
	privacy ON deftxkey UNDEF TKIP 2:128-bit txpower 23 bmiss 7
	scanvalid 60 protmode CTS wme burst roaming MANUAL
	groups: wlan 

今度は IPv6 アドレスも設定されたようだ。

だが.. しばらくすると FreeBSD が勝手に再起動した!

少し使ってみて、一応動いているようだが、使い続けて大丈夫かな..

以上


index