Japanese notation
はじめに
記事について
Linksys Velop WRT Pro 7 OpenWrt初期設定・運用ガイドです
インストールから各種設定、チューニングなどをまとめています
初心者対応構成
- スクリプトでの自動設定
-
UCI (ttyd)、Webコンソール (LuCi)、ファイラー (SFTP)にて比較作業がおススメ
メーカー
デバイス
Velop(ヴェロップ) WRT Pro 7 OpenWrt
仕様
ソフトウェア
- OpenWRT 19.07 : QSDK仕様 Linux Kernel 5.4
- Model : LN6001 / MBE70
- Target : Qualcomm IPQ95XX
- Subtarget : Qualcomm IPQ9574-ap-al02-c4
- Package architecture : arm_cortex-a7_neon-vfpv4
- Bootloader : U-boot
- CPU : IPQ9554
- CPU CORES : 4
- CPU MHz : 1500
- Flash MB : 8Gb eMMC (SAMSUNG - KLM8G1GETF-B041)
- RAM MB : 1GB DDR4 (SAMSUNG - K4A4G165WF-BCWE)
- Ethernet 1Gbit ports : 4
- Ethernet 2.5Gbit ports : 1
- Switch : Build in Qualcomm IPQ9554 (Qualcomm QCA8075 is PHYs)
- VLAN : Yes
- WLAN Hardware : Qualcomm QCN6274 and Qualcomm IPQ9554 (2.4GHz)
- WLAN 2.4GHz : b/g/n/ax - 1K QAM; OFDMA
- WLAN 5.0GHz : a/n/ac/ax/be - 4K QAM; OFDMA
- WLAN 6.0GHz : ax/be - 4K-QAM OFDMA
- Detachable Antennas : No (Internal Antennas)
- Bluetooth : BLE
- WLAN Comments : No 802.11s mesh support
- Button count : 3
- GPIOs : 478 / 504 / 447 (chip)
- Power Supply : Output: 12V / 2.5A
トピック
Wi-Fi 7
ベンチマーク
iperf3 -c 192.168.1.1 -t 30 -P 8
[ ID] Interval Transfer Bandwidth
[SUM] 0.00-30.01 sec 4.98 GBytes 1.43 Gbits/sec sender
[SUM] 0.00-30.01 sec 4.98 GBytes 1.43 Gbits/sec receiver
iperf3 -c 192.168.1.1 -t 30 -u -b 2.4G
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-30.00 sec 4.21 GBytes 1.20 Gbits/sec 0.089 ms 3699/551556 (0.67%)
[ 4] Sent 551556 datagrams
ファームウェア
サービスモジュール
サービスモジュール一覧
初期サービスモジュール
01_skb_recycler CBT_system_ready alsa autorole bluelog bluetoothd boot boot-ftm breakpad cnss_diag create_hotplug_flag dnsmasq done dropbear ezmesh firewall ftm gpio_switch hostapd_cli hyfi-bridging inetd led cron license-pfm dbus lldpd ddns load_cnss2 dhcrelay4 diag_socket_app log macsec mcproxy mcsd mesh_app miniupnpd mwan3 network odhcpd quagga openvpn powerctl pppoe-relay pppoe-server qca-acfg qca-hostapd qca-nss-dp qca-nss-ecm qca-nss-ipsec qca-nss-ppe-ds qca-ssdk qca-wpa-supplicant qcawifi-config-cmd qcmbr repacd rngd routerinfo rpcd rsrcmgr rstp sigma-dut ssid_steering sysctl sysfixtime sysntpd sysstat system thermal time-services trymodedone ucitrack uhttpd umount urandom_seed urngd wifi_fw_done wifi_fw_mount wsplcd xl2tpd
ハードウェアアクセラレーション
NSS (Data Path): qca-nss-dp
ECM (Connection Manager): qca-nss-ecm
PPE (Packet Processing Engine): qca-nss-ppe-ds
witch SDK: qca-ssdk
デバイスアクセス
デバイスアクセス(UCI)
パワーシェルでアクセス
PowerShellの開始
- キー入力:
Win+x>a>はい
UCI(SSH)アクセス
ssh -o StrictHostKeyChecking=no -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1
- root@192.168.1.1's password:
初期値:パスワード無し
SSHログイン出来ない場合
-
%USERPROFILE%\.ssh\known_hosts※Windows隠しファイル
Clear-Content .ssh\known_hosts -Force
OpenSSHのインストールが無い場合
- 機能の確認
※Windows 10 Fall Creators Update(1709)以降標準搭載
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
- 機能のインストール
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Velop WRT Pro 7 用 Linksys公式パッケージ
コンソールツール (パッケージインストール・設定)
aios2
- パワーシェル起動:キー入力:
Win+x>a>はい - コンソールログイン
if(!$ip){$ip="192.168.1.1"}; ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL -o GlobalKnownHostsFile=NUL -o HostKeyAlgorithms=+ssh-rsa -tt root@$ip
- aios2実行
mkdir -p /tmp/aios2 && wget --no-check-certificate -O /tmp/aios2/aios2.sh "https://site-u.pages.dev/www/aios2.sh" && chmod +x /tmp/aios2/aios2.sh && /tmp/aios2/aios2.sh
永続化
cat << 'EOF' > /usr/bin/aios2
#!/bin/sh
mkdir -p /tmp/aios2 && wget --no-check-certificate -O /tmp/aios2/aios2.sh "https://site-u.pages.dev/www/aios2.sh?t=$(date +%s)" && chmod +x /tmp/aios2/aios2.sh && exec /tmp/aios2/aios2.sh "$@"
EOF
chmod +x /usr/bin/aios2
aios2
初期設定
タイムゾーン
タイムゾーンを変更
#!/bin/sh
TIMEZONE='JST-9'
ZONENAME='Asia/Tokyo'
uci set system.@system[0].timezone=${TIMEZONE}
uci set system.@system[0].zonename=${ZONENAME}
uci commit system
/etc/init.d/sysntpd restart
NTP
NTPサーバーを変更
#!/bin/sh
POOL='jp'
uci delete system.ntp.server
uci add_list system.ntp.server=0.${POOL}.pool.ntp.org
uci add_list system.ntp.server=1.${POOL}.ppl.ntp.org
uci add_list system.ntp.server=2.${POOL}.pool.ntp.org
uci add_list system.ntp.server=3.${POOL}.pool.ntp.org
uci commit system
/etc/init.d/sysntpd restart
NTPサーバーを有効
#!/bin/sh
uci set system.ntp.enable_server='1' # NTPサーバー有効
uci set system.ntp.use_dhcp='0'
uci set system.ntp.interface='lan'
uci commit system
/etc/init.d/sysntpd restart
SSH
WANからのアクセスを遮断
uci set dropbear.@dropbear[0].Interface='lan'
uci commit dropbear
UPnP
サービスを停止
uci set upnpd.config.enabled='0'
uci commit
/etc/init.d/miniupnpd stop
/etc/init.d/miniupnpd disable
リージョンコード
書き換え
対応デバイス
- QSDKデバイス(
devinfoコマンドがある場合)
現在のリージョンコードを確認
devinfo show | grep cert_region
devinfo show | grep modelNumber
リージョンコード変更
REGION="JP"
devinfo set cert_region "${REGION}"
devinfo set modelNumber "MBE70WRT-${REGION}"
devinfo commit
# reboot
確認
devinfo show | grep cert_region
devinfo show | grep modelNumber
サンプル
root@WRT-Pro7:~# devinfo show
cert_region=
serial_number=
deviceType=
devinfo_version=
manufacturer=
manufacturerURL=
mfg_data_version=
modelDescription=
sw_version=
hw_revision=
tc_ssid=
hw_mac_addr=
uuid_key=
manufacturer_date=
hw_version=
wps_device_pin=
modelNumber=
default_ssid=
default_passphrase=
admin1_passphrase=
admin2_passphrase=
tc_passphrase=
recovery_key=
size:
パッケージ
母国語サポート
LuCiの言語パッケージをインストール
- 対応言語検索
#! /bin/sh
opkg update
opkg list luci-i18n-base\*
- 設定
#! /bin/sh
I18N='ja'
opkg update
opkg install luci-i18n-base-${I18N}
opkg install luci-i18n-opkg-${I18N}
opkg install luci-i18n-firewall-${I18N}
opkg install luci-i18n-openvpn-${I18N}
opkg install luci-i18n-ddns-${I18N}
opkg install luci-i18n-upnp-${I18N}
UCI(TTYD)
ブラウザーでUCIにアクセス
#! /bin/sh
I18N='ja'
opkg update
opkg install luci-i18n-ttyd-${I18N}
uci set ttyd.@ttyd[0].ipv6='1'
uci set ttyd.@ttyd[0].command='/bin/login -f root' #自動ログイン
uci commit ttyd
/etc/init.d/rpcd restart
ファイラー(SFTP)
WinSCPでファイルにアクセス
#! /bin/sh
opkg update
opkg install openssh-sftp-server
クライアント設定(Windows)
- 手動インストール
- ダウンロード:WinSCP
- 自動インストール
- キー入力:
Win+x>a>はい - 最新版ソフトウェアのインストール
- キー入力:
$psVersion = $PSVersionTable.PSVersion.Major
$LINKS = Invoke-WebRequest "https://winscp.net/eng/download.php"
$LINKS_VERSION = $LINKS.Links | Where-Object {$_.href -like "*WinSCP-*-Setup.exe*"} | Select-Object -ExpandProperty href
$VERSION = ($LINKS_VERSION -split '/')[-2] -replace "WinSCP-([0-9]+\.[0-9]+\.[0-9]+).*", '$1'
Write-Host "Version to install: $VERSION"
$downloadUrl = "https://jaist.dl.sourceforge.net/project/winscp/WinSCP/$VERSION/WinSCP-$VERSION-Setup.exe?viasf=1"
Write-Host "Downloading from: $downloadUrl"
$ONAMAE = (whoami).Split('\')[1]
$destinationPath = "C:\Users\$ONAMAE\Downloads\WinSCP-$VERSION-Setup.exe"
Invoke-WebRequest -Uri $downloadUrl -OutFile $destinationPath
Write-Host "Installing WinSCP..."
Start-Process -FilePath $destinationPath -ArgumentList "/VERYSILENT /NORESTART" -Wait
Invoke-Expression "C:\Users\$ONAMAE\AppData\Local\Programs\WinSCP\WinSCP.exe"
-
警告>強制的に貼り付け -
WinSCP設定
- セッション
- ホスト名:
192.168.1.1 - ユーザー名:
root - パスワード:
設定したパスワード -
ログインをクリック
- ホスト名:
- セッション
CPU負荷分散
インストール
#! /bin/sh
opkg update
opkg install irqbalance
uci set irqbalance.irqbalance=irqbalance
uci set irqbalance.irqbalance.enabled='1'
uci commit irqbalance
/etc/init.d/irqbalance start
ネットワーク統計インターフェイス
インストール
#! /bin/sh
I18N='ja'
opkg update
opkg install luci-i18n-statistics-${I18N}
/etc/init.d/collectd enable
/etc/init.d/rpcd restart
- プラグイン検索
#! /bin/sh
opkg update
opkg list collectd-mod\*
追加テーマ
インストール
#! /bin/sh
opkg update
opkg install luci-theme-openwrt
opkg install luci-theme-material
ログ情報
インストール
#! /bin/sh
# custom feed (log viewer, cpu status, cpu perf, temp status, Internet detector, disk info)
OPENWRT_RELEAS=$(grep 'DISTRIB_RELEASE' /etc/openwrt_release | cut -d"'" -f2 | cut -c 1-2)
if [[ "${OPENWRT_RELEAS}" = "19" ]]; then
echo -e " The version of this device is \033[1;33m$OPENWRT_RELEAS\033[0;39m"
echo -e " Version Check: \033[1;36mOK\033[0;39m"
else
read -p " Exit due to different versions"
exit
fi
mkdir -p /tmp/config-software
wget --no-check-certificate -O /tmp/config-software/pacage_list https://github.com/gSpotx2f/packages-openwrt/raw/master/19.07/
PACAGE_LIST=`cat /tmp/config-software/pacage_list |sed -ne '/ <script type/,/<\/script>/p' |sed -e 's/<[^>]*>//g'`
LOG_VIEWER=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"19.07/luci-app-log") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/luci-app-log-viewer_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${LOG_VIEWER}.ipk
opkg install /tmp/luci-app-log-viewer_all.ipk
rm /tmp/luci-app-log-viewer_all.ipk
/etc/init.d/rpcd restart
CPUステータス
インストール
#! /bin/sh
# custom feed (log viewer, cpu status, cpu perf, temp status, Internet detector, disk info)
OPENWRT_RELEAS=$(grep 'DISTRIB_RELEASE' /etc/openwrt_release | cut -d"'" -f2 | cut -c 1-2)
if [[ "${OPENWRT_RELEAS}" = "19" ]]; then
echo -e " The version of this device is \033[1;33m$OPENWRT_RELEAS\033[0;39m"
echo -e " Version Check: \033[1;36mOK\033[0;39m"
else
read -p " Exit due to different versions"
exit
fi
mkdir -p /tmp/config-software
wget --no-check-certificate -O /tmp/config-software/pacage_list https://github.com/gSpotx2f/packages-openwrt/raw/master/19.07/
PACAGE_LIST=`cat /tmp/config-software/pacage_list |sed -ne '/ <script type/,/<\/script>/p' |sed -e 's/<[^>]*>//g'`
CPU_STATUS=`echo ${PACAGE_LIST} | awk '{ if (gsub(/luci-app-cpu-status-mini/, "HOGEHOGE")) print }' | awk '{print substr($0,index($0,"19.07/luci-app-cpu-status") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/luci-app-cpu-status_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${CPU_STATUS}.ipk
opkg install /tmp/luci-app-cpu-status_all.ipk
rm /tmp/luci-app-cpu-status_all.ipk
/etc/init.d/rpcd restart
温度センサー
インストール
#! /bin/sh
# custom feed (log viewer, cpu status, cpu perf, temp status, Internet detector, disk info)
OPENWRT_RELEAS=$(grep 'DISTRIB_RELEASE' /etc/openwrt_release | cut -d"'" -f2 | cut -c 1-2)
if [[ "${OPENWRT_RELEAS}" = "19" ]]; then
echo -e " The version of this device is \033[1;33m$OPENWRT_RELEAS\033[0;39m"
echo -e " Version Check: \033[1;36mOK\033[0;39m"
else
read -p " Exit due to different versions"
exit
fi
mkdir -p /tmp/config-software
wget --no-check-certificate -O /tmp/config-software/pacage_list https://github.com/gSpotx2f/packages-openwrt/raw/master/19.07/
PACAGE_LIST=`cat /tmp/config-software/pacage_list |sed -ne '/ <script type/,/<\/script>/p' |sed -e 's/<[^>]*>//g'`
TEMP_STATUS=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"19.07/luci-app-temp-status") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/luci-app-temp-status_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${TEMP_STATUS}.ipk
opkg install /tmp/luci-app-temp-status_all.ipk
rm /tmp/luci-app-temp-status_all.ipk
/etc/init.d/rpcd restart
インターネット可用性確認
インストール
#! /bin/sh
# custom feed (log viewer, cpu status, cpu perf, temp status, Internet detector, disk info)
OPENWRT_RELEAS=$(grep 'DISTRIB_RELEASE' /etc/openwrt_release | cut -d"'" -f2 | cut -c 1-2)
if [[ "${OPENWRT_RELEAS}" = "19" ]]; then
echo -e " The version of this device is \033[1;33m$OPENWRT_RELEAS\033[0;39m"
echo -e " Version Check: \033[1;36mOK\033[0;39m"
else
read -p " Exit due to different versions"
exit
fi
opkg update
opkg install mailsend
mkdir -p /tmp/config-software
wget --no-check-certificate -O /tmp/config-software/pacage_list https://github.com/gSpotx2f/packages-openwrt/raw/master/19.07/
PACAGE_LIST=`cat /tmp/config-software/pacage_list |sed -ne '/ <script type/,/<\/script>/p' |sed -e 's/<[^>]*>//g'`
INTERNET_DETECTOR=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"19.07/internet-detector_") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/internet-detector_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${INTERNET_DETECTOR}.ipk
opkg install /tmp/internet-detector_all.ipk
rm /tmp/internet-detector_all.ipk
/etc/init.d/internet-detector start
/etc/init.d/internet-detector enable
INTERNET_DETECTER_A=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"19.07/luci-app-internet-detector") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/luci-app-internet-detector_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${INTERNET_DETECTER_A}.ipk
opkg install /tmp/luci-app-internet-detector_all.ipk
rm /tmp/luci-app-internet-detector_all.ipk
/etc/init.d/rpcd restart
AdGuard Home
インストール
- インストール及びリムーブ
mkdir -p /tmp && wget --no-check-certificate -O /tmp/adguardhome.sh "https://site-u.pages.dev/www/custom-scripts/adguardhome.sh" && chmod +x /tmp/adguardhome.sh && sh /tmp/adguardhome.sh
- 管理画面ログイン
http://192.168.1.1:8000/
OPP(Operating Performance Point)テーブル
調査結果
周波数
| 周波数 | 状態 | opp-supported-hw |
|---|---|---|
| 936 MHz | 利用可能 | 0x0f |
| 1104 MHz | 利用可能 | 0x0f |
| 1200 MHz | 利用可能 | 0x08 |
| 1416 MHz | 利用可能 | 0x07 |
| 1488 MHz | 利用可能 | 0x07 |
| 1608 MHz | 制限中 | 0x00 |
| 1800 MHz | 制限中 | 0x03 |
| 2208 MHz | 制限中 | 0x01 |
電圧コーナーマッピング
| 電圧コーナー | 電圧 | volt_idx | 対応周波数 | 状態 |
|---|---|---|---|---|
| Corner 1 | 637mV | 1 | 936MHz | 有効 |
| Corner 2 | 675mV | 2 | 1104MHz | 有効 |
| Corner 3 | 750mV | 3 | 1200MHz / 1416MHz | 有効 |
| Corner 4 | 800mV | 4 | 1488MHz / 1608MHz | 1608MHzは無効化 |
| Corner 5 | 837mV | 5 | 1800MHz | 電圧OK(無効化) |
| Corner 6 | 存在しない | 6 | 2208MHz | 電圧コーナー不足 |
トラブル
既知の問題
SSHでログイン出来ない
- 問題:
ssh root@192.168.1.1
Unable to negotiate with 192.168.1.1 port 22: no matching host key type found. Their offer: ssh-rsa
- 対策:
ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1
root@192.168.1.1's password:
- 対策その2:クライアント側での設定
#!/bin/sh
HOST_NAME="openwrt"
if [ ! -d "$HOME/.ssh" ]; then
mkdir -p "$HOME/.ssh"
chmod 700 "$HOME/.ssh"
fi
cat >> "$HOME/.ssh/config" << EOF
Host $HOST_NAME
HostName 192.168.1.1
User root
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
EOF
chmod 600 "$HOME/.ssh/config"
echo " ssh $HOST_NAME"
LuCiにログイン出来ない
-
問題:
接続がプライベートではありません
net::ERR_CERT_AUTHORITY_INVALID -
対策:HTTPSを無効
uci set uhttpd.main.listen_https=''
uci commit uhttpd
/etc/init.d/uhttpd restart
- 対策その2:自己署名証明書を生成
rm -f /etc/uhttpd.key /etc/uhttpd.crt
/etc/init.d/uhttpd generate_key 2048
/etc/init.d/uhttpd restart
- 対策その3:より強力な証明書を生成
#!/bin/sh
DAYS=3650
COUNTRY="JP"
STATE="Tokyo"
LOCATION="Tokyo"
COMMONNAME="OpenWrt"
[ -d /etc/ssl/private ] || mkdir -p /etc/ssl/private
openssl req -x509 -nodes -days "$DAYS" -newkey rsa:2048 \
-keyout /etc/uhttpd.key -out /etc/uhttpd.crt \
-subj "/C=$COUNTRY/ST=$STATE/L=$LOCATION/CN=$COMMONNAME"
chmod 600 /etc/uhttpd.key
chmod 644 /etc/uhttpd.crt
/etc/init.d/uhttpd restart
ファイヤーウォールがエラーを吐く
- 問題:
/etc/init.d/firewall restart
Populating IPv6 nat table
Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_lan_rule'
Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_lan_rule'
Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_wan_rule'
Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_wan_rule'
Warning: fw3_ipt_rule_append(): Can't find target 'prerouting_rule'
Warning: fw3_ipt_rule_append(): Can't find target 'postrouting_rule'
- 解決:
IPv6ではNATが基本的に不要であるため、機能的な問題ではない。
/etc/init.d/system reloadなどでエラーを吐く
- 問題:
system_config()のバグ - 対策:
date -kを削除する
sed -i '/^[[:blank:]]*date -k[[:blank:]]*$/d' /etc/init.d/system
LuCIでログインボタンを押しても画面遷移しない
-
問題:
ログイン画面でユーザー名とパスワードを入力し、「ログイン」ボタンを押しても画面が遷移しない -
原因:
rpcdのACL設定でsession.encpassメソッドへのアクセスが許可されていない -
対策:
#!/bin/sh
# LuCIログイン問題の修正スクリプト
# ACLにsession.encpassを追加
cat > /tmp/fix-luci-login.lua << 'EOF'
#!/usr/bin/lua
local json = require "luci.jsonc"
local fs = require "nixio.fs"
local file = "/usr/share/rpcd/acl.d/luci-base.json"
local content = fs.readfile(file)
local data = json.parse(content)
if data.unauthenticated and data.unauthenticated.read and data.unauthenticated.read.ubus then
data.unauthenticated.read.ubus.session = { "access", "login", "encpass" }
end
fs.writefile(file, json.stringify(data, true))
print("LuCI login ACL fixed")
EOF
lua /tmp/fix-luci-login.lua
# サービス再起動
/etc/init.d/rpcd restart
/etc/init.d/uhttpd restart
echo "修正しました"
echo "https://192.168.1.1"
IPアドレスを変更するとネットワークに接続出来なくなる
-
原因
IPv4が消える -
暫定対策
デバイスの電源をOFF・ONにする
または
IPアドレスを追加後、保存&適用後、IPアドレスを削除後、reboot
※rebootはWi-Fiインターフェースが壊れるため
LuCIのファイヤーウォール画面でTypeErrorが出る
- 問題:
TypeError
Cannot read properties of null (reading 'offloading')
ネットワーク > ファイヤーウォール > 一般設定 を開くと上記エラーが表示され、画面が読み込まれない
-
原因:
zones.js内のL.hasSystemFeature('offloading')がQSDK 19.07ではL.env.featuresが null のためnull['offloading']を参照してエラーになる
QSDKはflow offloading非対応のため、該当チェック自体が不要 -
対策:
cp /www/luci-static/resources/view/firewall/zones.js \
/www/luci-static/resources/view/firewall/zones.js.bak
sed -i "s/L\.hasSystemFeature('offloading')/false/g" \
/www/luci-static/resources/view/firewall/zones.js
/etc/init.d/uhttpd restart
Wi-Fi
Wi-Fiのチャンネルを変更するとWi-Fi接続不能になる
-
問題:
Wi-Fiチャンネル(2.4GHz/5GHz/6GHz)を変更すると、変更適用後にWi-Fi経由でのネットワーク接続が不能になる -
19.07の既知の問題:
LuCIでのWi-Fi設定変更時にnetwork restart全体が呼び出される既知の挙動 -
原因:
ネットワークリロード時に以下の問題が発生- MLOで使用される
mld0(bonding interface)とWi-Fiインターフェースath00がブリッジから切り離される - 再起動時に競合状態が発生し、ブリッジへの再追加が失敗
device mld0 is already a member of a bridge; can't enslave it to bridge br-lan. - Wi-Fiインターフェースがブリッジに含まれないまま起動完了
- MLOで使用される
-
結果:
br-lanがWi-Fiと接続されず、Wi-Fi経由での通信が不能 -
対策:
# Wi-Fiインターフェースを明示的に追加
cp /etc/config/network /etc/config/network.working_backup
uci set network.lan.ifname='eth0 eth1 eth2 eth3 ath00 mld0'
uci commit network
/etc/init.d/network reload
Wi-FiのSSIDを変更するとWi-Fi接続不能になる
-
問題
Wi-FiのSSDI(2.4GHz/5GHz/6GHz)を変更すると、変更適用後にWi-Fi経由でのネットワーク接続が不能になる -
原因
再初期化プロセスにに問題がある -
対策
有線で接続後再起動させる
reboot
※パッチを当てたりしたが、今度はネットワークインターフェース側が壊れるなどイタチごっこになる
Wi-Fiが短時間の一定サイクルで突然死する
調査中
- 暫定対処
Wi-Fi接続を手動で切断後、再接続
【MAP-E】MLO接続時にIPv6が取得できない
-
問題
MLO(5GHz+6GHz)接続時にPCのIPv6 GUAが取得できない
2.4GHz単独接続では正常にIPv6が取得できる -
原因
19.07 QSDKのmld0(MLOボンディングインターフェース)がICMPv6(RA/NDP)をブリッジ転送しない -
対策
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
cat >> /etc/firewall.user << 'EOF'
ip6tables -A FORWARD -i mld0 -p ipv6-icmp -j ACCEPT
ip6tables -A FORWARD -o mld0 -p ipv6-icmp -j ACCEPT
EOF
初期化
ファクトリーリセット(初期化)
リセット
# 要注意
firstboot && reboot now
This will erase all settings and remove any installed packages. Are you sure? [N/y]
y
デバイスリセットボタン
デバイスのリセットボタンを10秒押し続ける
デバイス紹介記事
ネイティブ化
GPL
情報
ストレージ構成 (emmc-partition.xml)
- eMMC 8GB
- デュアルブート構成 (A/Bパーティション)
- 主要パーティション:
0:SBL1 1MB (ブートローダー)
0:QSEE 1.75MB (TrustZone)
0:APPSBL 768KB (U-Boot)
0:HLOS 8MB (Linuxカーネル)
rootfs 500MB (ルートFS)
syscfg 2.6GB (設定領域)
ハードウェア詳細 (ipq9574-al02-c4.dts)
-
メモリ:
- 256MB DDR3/DDR4 (ipq9574-wkk-default-memory.dtsi参照)
-
ネットワーク:
- 5ポートギガビットスイッチ
- dp1-dp4: PHY 16-19 (LAN, SGMII)
- dp5: PHY 28 (WAN, SGMII)
- Malibu PHYチップ (gpio60でリセット)
- Napa PHYチップ (gpio36でリセット)
- 5ポートギガビットスイッチ
-
Wi-Fi:
- 統合Radio: wifi0 (IPQ9574内蔵, board_id=0x20)
- PCIe1: QCN9224 (無効化)
- PCIe2: QCN9224 (有効, board_id=0x1006)
- PCIe3: QCN9224 (無効化)
-
LED: PWM制御
- GPIO44: 赤 (pwm00)
- GPIO45: 緑 (pwm10)
- GPIO46: 青 (pwm20)
- GPIO47: 白 (pwm30)
-
ボタン:
- GPIO37: WPS
- GPIO40: リセット
メモリ構成 (128M16_DDR3.xml)
- DDR3 256MB (16bit幅)
- 1チップ構成
あとがき
-
初Linksys
ログインしたら最初からOpenWrtだった!
24年12月現在、WiFi7が運用で使える唯一のOpenWrtかな
Windows11もバージョン24H2となりIntel BE200でMLOが使える -
AdGuard Home 問題なく動作してるよう
AdGuard入れるとpingが5msくらいは早くなるんだよね -
クライアントPCのMIMO省電力モードは正常
-
NSS Driverがある
アクセレーターは効いてるのかな?表示の問題か? -
iperf3ベンチーマークは、WXR-5950AX12やBPI-R3の方が現状速い
デバイス、クライアント共、まだチューニングの余地があるよう -
電波出力は設定出来る方がいいね
MLOとか調整が難しくなるのかな -
LEDが一つ
OpenWrtで使うなら、個人的にはインターフェース分+電源、フラッシュ分あると👍 -
躯体はシンプルで可も無く不可も無く
やはりOpenWrtで使うなら、M.2スロット欲しいな
BPI-R4と競合するが、「市場が出来て良いんじゃないの」と勝手に思ったりする -
AdGuardHomeのクエリ・ログのローテーションは24時間程度がおススメ
(フラッシュ容量が数日で満杯になる) -
Version19.07の既知の問題がいくつかある
QSDKは23.05もあるので、そちらの方が技術的に追いやすそうだ -
動作がおかしくなり初期化したら、初期パスワードでLuCiにログイン出来なくなった
何故かWiFiには接続出来た(同じパスワード)
何度か初期化後ログイン出来た
しかしMLOが無かったり少しおかしいのでファームウェアを入れなおしたら正常化した
総括
OpenWrtはファームウェアが更新されなくなったデバイスを再利用する為のカスタムOSでもあると思うが、最新のWi-Fi7で、大きな問題もなく、すぐ使えるのは、ベンダー品ならではである
今回のVelop WRT Pro 7 OpenWrtは、Wi-Fi7を商品化した事が、とても魅力的である
もし次回作もあるなら、大いに期待したい














