OpenWrt: Aterm WG1200CRにインストール

今回初めてNEC製ルータにOpenWrtをインストールしました。NEC製でOpenWrtをインストールできる機種は3種のみ(2020年11月現在)です。NECのルーターはクオリティが高いという評判なのでいつか使ってみたとは思ってたのですが、人気があるため手に入りづらくなかなかチャンスはありませんでした。たまたまヤオフクで手ごろな製品を見つけたので落札してみました。

この機種はBuffalo WCR-1166DSに近いスペックなのですが、有線LANの1Gbpsが2ポートあります。将来的に光インターネットにした場合、WCR-1166DSのLANポートの100Mbpsではボトルネックの可能性があるので、持っていて損のない製品です。

このWG1200CRのインストールには一つハードルがあり、最新のファームウェアでは直接、OpenWrtがインストールできないということがあります。なので手元届いたら真っ先にこのルーターにアクセスしてファームウェアのバージョンを調べました。幸運にも古いものだったので直接Factoryイメージをインストールできました。なおu-bootからインストールする場合、パスワードがかかってるので解除する必要があります。

通信速度はACモードで今まで使っていたものより1.5倍くらい速い結果でした。ただ、たまたまだったのか、じっくり検証をしてみないと何とも言えません。

その他

hardware/software offload

opkgのssl化

opkg install wget ca-certificates libustream-openssl

/etc/opkg/distfeeds.confを編集してhttp→httpsに変更

SQM

opkg install sqm-scripts luci-app-sqm

参考

  • https://tetsupc.wordpress.com/2019/04/07/nec-aterm-wg1200cr/
  • https://openwrt.org/toh/hwdata/nec/nec_aterm_wg1200cr

Pop!_OS 20.04 LTSとwpa_supplicant

ひさしぶりにLinuxをたちあげたところなぜかWi-Fiがつながらないという事例がおきたので調べてみました。最初はカーネルが新しすぎてWi-Fiドライバーのすり合わせがうまくいってないのかと考えて旧カーネルでやってみても不具合が治らなかったのでwpa_supplicantを疑ってみました。この件についてはarmbianのTVBOXのときでも別の理由でダウングレードしたので、同じやり方で旧バージョンのBionicのwpa_supplicantにダウングレードしました。

journalctl --since="2020-11-14 00:00:00"

Nov 14 02:18:51 pop-os wpa_supplicant[987]: wlp3s0: Association request to the driver failed
Nov 14 02:18:51 pop-os kernel: ERROR @wl_set_key_mgmt : 
Nov 14 02:18:51 pop-os kernel: invalid cipher group (1027076)

radius serverはradiusd -Xでデバッグモードで起動しておきます。

cat <<'EOF' | sudo tee /etc/apt/sources.list.d/bionic.list
deb http://cz.archive.ubuntu.com/ubuntu bionic main
deb http://cz.archive.ubuntu.com/ubuntu bionic-updates main
EOF
apt-get update
apt-get install wpasupplicant=2:2.6-15ubuntu2.5
echo -e "Package: wpasupplicant\nPin: release o=Ubuntu,n=bionic\nPin-Priority: 1001" | \
 tee /etc/apt/preferences.d/bionic

前回とほぼおなじなのですが整理して再度掲載しました。これでwpa enterprise(TLS)ができるようになりました。

(再) ELECOM WRC-1167GHBK2-SにOpenWrtをインストール

ELECOM WRC-1167GHBK2-SはOpenWrtのサポートがありますがWi-Fiが使えません。WLANがMediaTek MT7615Dというチップを使っていてそのサポートがないからです。しかしながら最新のSnapshot版では一応ドライバーは導入されておりWi-Fiが使えるようになっていますが、まだ不具合があります。MT7615D一つで2.4Gと5Gが使えるのですが、そのままですとどちらか一つのモードしか使えません。前回、5月にインストールを試してみたのですが、結果は良くありませんでした。今回はその時から改善を期待して再挑戦しました。

OpenWrtのフォーラムで調べてみると設定すれば使えるようです。/etc/config/wirelessを編集します。

config wifi-device 'radio0'
	option type 'mac80211'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option htmode 'HT40'
	option disabled '0'

config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option disabled '0'
	option mode 'mesh'
	option mesh_id 'Mesh'
	option mesh_fwding '1'
	option mesh_rssi_threshold '0'
	option encryption 'sae'
	option key 'xxxxxxxxxxxxxxxx'
	#option wps_pushbutton '1'

config wifi-device 'radio1'
	option type 'mac80211'
	option hwmode '11a'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0+1'
	option htmode 'VHT80'
	option disabled '0'
	option country 'JP'

config wifi-iface 'default_radio1'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option disabled '0'
	option ssid 'Network-5g'
	option encryption 'wpa2+ccmp'
	option auth_server '192.168.1.1'
	option auth_secret 'xxxxxxxx'
	option disassoc_low_ack '0'
        option disabled '0'

設定で大事なことはPhy0が2.4GでPhy1が5Gです。

次にコマンドを実行します。

wifi down
sleep 3
echo "1" > /sys/kernel/debug/ieee80211/phy0/mt76/dbdc
sleep 3
wifi up
echo e > /sys/class/net/eth0/queues/rx-0/rps_cpus

ip aを実行してWi-Fiデバイスが2つあることを確認します。さらにLuCIのダッシュボードで見てみます。

テストでは一応安定を保ってますが時たまphy1が不安定にあるときがあります。次期安定版では改善していることを期待したいところです。