
退役した GL-iNet GL-AR750S を初期化するに当たり、 ファームウェア をメーカー謹製より新しい OpenWRT 純正へ入れ替えました。その手順を元に別の同機種では、設定をできるだけ維持したままのファームウェア アップグレードに挑戦します。
1年前はメーカーファームウェアベースのアップグレードでしたが、その後もメジャーバージョンアップが見込まれないのに対し、OpenWRT純正ファームウェアは本機種向けに現行版がリリースされていることから、今回OpenWRT純正ファームウェアへの乗り換えに踏み切った次第です。
初期化アップグレード前の現状確認
アップグレード前に現在のバージョンを確認しておきます。まずはメーカーカスタムUIのファームウェア情報。
続いてOpenWRT部分の概要。
Model欄に NOR/NAND の記述があることに留意しつつ、OpenWRTファームウェアの選定へ進みます。
GL-AR750S向けOpenWRTファームウェアの取得
先のハードウェア情報ページにある、Firmware OpenWrt Upgrade URLのリンクをクリック。
そこに glinet_gl-ar750s で始まるファームウェアは次の4つ。
- glinet_gl-ar750s-nor-initramfs-kernel.bin
- glinet_gl-ar750s-nor-nand-initramfs-kernel.bin
- glinet_gl-ar750s-nor-nand-squashfs-sysupgrade.bin
- glinet_gl-ar750s-nor-squashfs-sysupgrade.bin
ダウンロードするのは3番目のNOR-NAND版アップグレードファームウェアです。
1 |
glinet_gl-ar750s-nor-nand-squashfs-sysupgrade.bin 6,560.3 KB Fri Apr 28 19:54:42 2023 |
OpenWRT LuCIからアップグレード
アップグレードは先のハードウェア情報ページにある、OEM easy installation項に沿って進めます。
OpenWRT LuCIの System -> Backup / Flash Firmware ページへ進み、ダウンロードしたファームウェアファイルをアップロードします。
アップロードされたファイルが正常に受け付けられると、書き込みの最終確認が現れます。今回は初期状態にしたいので、現在の設定を保持するチェックボックスは外し、 Continue をクリックして書き込みを実行。
しばらく待つと再起動がかかり、IPアドレスも変わるので次のデフォルトIPアドレスを開いて、概要ページを確認します。
1 |
http://192.168.1.1/ |
メーカー製のカスタムパッケージが無い分、だいぶ軽くなりました。
アクセスポイント化設定
アップグレード後はアクセスポイント専用機として使いたいので、せっかくの初期状態を利用して最適な設定を探ってみます(挙動がおかしくなったら即リセットボタン)。
出来上がった設定はまず、インターフェイスは有線無線全物理ポートをブリッジLANにひとまとめにして、デフォルトではWANだったポートもLANポートとVLANを等しくすることで、どのポートに挿してもLANとなるようにしています。
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 33 34 35 36 37 38 39 40 41 42 43 44 |
config device option name 'br-lan' option type 'bridge' list ports 'eth0' list ports 'eth0.1' list ports 'eth0.2' option ipv6 '0' config interface 'lan' option device 'br-lan' option proto 'dhcp' config switch option name 'switch0' option reset '1' option enable_vlan '1' config switch_vlan option device 'switch0' option vlan '1' option ports '0t 1 2 3' option vid '1' config switch_vlan option device 'switch0' option vlan '2' option ports '0t' option vid '2' config device option name 'eth0' option ipv6 '0' config device option name 'eth0.1' option ipv6 '0' config device option name 'eth0.2' option ipv6 '0' config device option name 'wlan0' option ipv6 '0' config device option name 'wlan1' option ipv6 '0' |
ブリッジLANはDHCPクライアントモードにして、内蔵DHCPサーバも無効に。IPアドレスを固定したければ、ネットワーク上のDHCPサーバに静的エントリを登録するようにしています。
ファイアウォールは全ゾーン削除し、
起動サービスでは、WiFiアクセスポイントには不要な dnsmasq 、 firewall 、 odhcpd を無効にしました。
ath10kファームウェアの入れ替え
しばらく稼働させていると、カーネルログに見慣れないメッセージが連発しているのを発見。
1 |
ath10k_pci 0000:00:00.0: mac flush vdev 0 drop 0 queues 0x1 ar->paused: 0x0 arvif->paused: 0x0 |
ログを詳しく見返すと、WiFiクライアントの切断時に必ず発生していました。
1 2 3 4 5 6 7 8 9 10 |
Sat May 27 15:14:41 2023 daemon.notice hostapd: wlan0: AP-STA-CONNECTED ##:##:##:##:##:## Sat May 27 15:25:15 2023 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED ##:##:##:##:##:## Sat May 27 15:25:15 2023 kern.info kernel: [61282.029510] ath10k_pci 0000:00:00.0: mac flush vdev 0 drop 0 queues 0x1 ar->paused: 0x0 arvif->paused: 0x0 Sat May 27 15:25:15 2023 daemon.err hostapd: nl80211: kernel reports: key addition failed Sat May 27 15:25:15 2023 daemon.info hostapd: wlan0: STA ##:##:##:##:##:## IEEE 802.11: associated (aid 1) Sat May 27 15:25:15 2023 daemon.notice hostapd: wlan0: AP-STA-CONNECTED ##:##:##:##:##:## Sat May 27 15:41:09 2023 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED ##:##:##:##:##:## Sat May 27 15:41:09 2023 daemon.info hostapd: wlan0: STA ##:##:##:##:##:## IEEE 802.11: disassociated due to inactivity Sat May 27 15:41:10 2023 daemon.info hostapd: wlan0: STA ##:##:##:##:##:## IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE) Sat May 27 15:41:10 2023 kern.info kernel: [62237.062220] ath10k_pci 0000:00:00.0: mac flush vdev 0 drop 0 queues 0x1 ar->paused: 0x0 arvif->paused: 0x0 |
調べてみると同じSoCを搭載する別の機種で同じ現象が報告されており、ath10kファームウェアを入れ替えることで解消可能とのこと。
現在使用中のath10kファームウェアを確認してみると、やはり -ct 付でした。
- ath10k-firmware-qca9887-ct
- kmod-ath10k-ct
参考に、GL-iNetファームウェア場合を確認してみると、 -ct の無いドライバファームウェアが使われていました。
早速、ターミナルからath10kファームウェアを入れ替え、デバイスを再起動させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# opkg remove ath10k-firmware-qca9887-ct Removing package ath10k-firmware-qca9887-ct from root... # opkg remove kmod-ath10k-ct Removing package kmod-ath10k-ct from root... # opkg install ath10k-firmware-qca9887 Installing ath10k-firmware-qca9887 (20230515-1) to root... Downloading https://downloads.openwrt.org/releases/22.03.5/packages/mips_24kc/base/ath10k-firmware-qca9887_20230515-1_mips_24kc.ipk Configuring ath10k-firmware-qca9887. # opkg install kmod-ath10k Installing kmod-ath10k (5.10.176+5.15.92-1-1) to root... Downloading https://downloads.openwrt.org/releases/22.03.5/targets/ath79/nand/packages/kmod-ath10k_5.10.176%2b5.15.92-1-1_mips_24kc.ipk Configuring kmod-ath10k. # reboot |
再起動後、接続中のWiFiクライアントを切断してみましたが、問題のメッセージが出ることはなくなりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Tue May 30 12:19:48 2023 daemon.info hostapd: wlan0: STA ##:##:##:##:##:## IEEE 802.11: associated (aid 1) Tue May 30 12:19:48 2023 daemon.notice hostapd: wlan0: AP-STA-CONNECTED ##:##:##:##:##:## Tue May 30 12:19:52 2023 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED ##:##:##:##:##:## Tue May 30 12:19:52 2023 daemon.err hostapd: nl80211: kernel reports: key addition failed Tue May 30 12:19:52 2023 daemon.info hostapd: wlan0: STA ##:##:##:##:##:## IEEE 802.11: Station tried to associate before authentication (aid=-1 flags=0x0) Tue May 30 12:19:53 2023 daemon.err hostapd: nl80211: kernel reports: key addition failed Tue May 30 12:19:53 2023 daemon.info hostapd: wlan0: STA ##:##:##:##:##:## IEEE 802.11: associated (aid 1) Tue May 30 12:19:53 2023 daemon.notice hostapd: wlan0: AP-STA-CONNECTED ##:##:##:##:##:## Tue May 30 12:20:00 2023 daemon.err hostapd: nl80211: kernel reports: key addition failed Tue May 30 12:20:00 2023 daemon.info hostapd: wlan1: STA ##:##:##:##:##:## IEEE 802.11: associated (aid 1) Tue May 30 12:20:00 2023 daemon.notice hostapd: wlan1: AP-STA-CONNECTED ##:##:##:##:##:## Tue May 30 12:20:00 2023 daemon.notice hostapd: wlan0: Prune association for ##:##:##:##:##:## Tue May 30 12:20:00 2023 daemon.notice hostapd: wlan0: AP-STA-DISCONNECTED ##:##:##:##:##:## |
起動直後の時刻同期が遅い
次に気になった現象は、今回の事例に限らずOpenWRTで気になっていた問題で、起動直後なかなか時刻同期が実行されず、やきもきさせられることでした。
同じような現象の報告に対しては、待てないなら ntpdate パッケージを入れてみては、とのアドバイスが。
しかしそう頻繁に時刻合わせが必要なほど、センシティブな運用をしているわけではないので、システム起動時のスタートアップスクリプト /etc/rc.local に、時刻同期を記述して対処しておきました( ntpd は busybox に含まれているのでパッケージのインストールは不要)。
1 2 3 4 |
# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. ntpd -q -p hk.pool.ntp.org exit 0 |
参考にしたのは、こちらのOpenWRTユーザーガイドでした。
次のページでは、現在既にアクセスポイントとして稼働している、別の同機種を同じ要領でファームウェアップグレードしてみます。