7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linksys Velop WRT Pro 7 OpenWrt Wi-Fi 7 MLO

7
Last updated at Posted at 2024-11-27

:flag_jp: Japanese notation

OpenWrt_icon.png

はじめに

記事について

Linksys Velop WRT Pro 7 OpenWrt初期設定・運用ガイドです
インストールから各種設定、チューニングなどをまとめています

初心者対応構成

検証環境

  • Windows11 バージョン24H2

メーカー

デバイス

Velop(ヴェロップ) WRT Pro 7 OpenWrt

Linksys(リンクシス) オフィシャル

GQbY5IAaIAQIViX.jpg

仕様

ソフトウェア

ハードウェア

  • 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


GPL

GPL Code Center



FCC

2AYRA-08438

08438 Linksys Velop Pro 7 Teardown Internal Photos Linksys USA, .



総務省電波利用ポータル

技術基準適合証明等を受けた機器



トピック

Wi-Fi 7

Generic 802.11bea
スクリーンショット 2024-11-27 220812.jpg

Intel BE200
24120102.jpg

ベンチマーク
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



NSS Driver

kmod-qca-nss-dp
スクリーンショット 2024-11-27 223447.jpg

CPU使用率
通常時
24120104.jpg
ベンチマーク時(iperf3 -c 192.168.1.1 -t 30 -P 8)
24120103.jpg



ファームウェア

OpenWrt Project へようこそ

320.logo.png

QCA Software Development Kit (QSDK)

The UCI system
スクリーンショット 2024-11-27 132034.jpg

LuCI web interface
スクリーンショット 2024-11-27 124342.jpg

ファームウェアダウンロード

サービスモジュール

サービスモジュール一覧

初期サービスモジュール
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)アクセス

powershell:初期設定用
ssh -o StrictHostKeyChecking=no -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1
  • root@192.168.1.1's password:初期値:パスワード無し
SSHログイン出来ない場合:exclamation:
  • %USERPROFILE%\.ssh\known_hosts ※Windows隠しファイル
powershell
Clear-Content .ssh\known_hosts -Force 

OpenSSHのインストールが無い場合:exclamation:
  • 機能の確認
    ※Windows 10 Fall Creators Update(1709)以降標準搭載
powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
  • 機能のインストール
powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0


LuCi

ブラウザーでアクセス

Velop WRT Pro 7 用 Linksys公式パッケージ

「オートIPoE」モジュール

ダウンロード

velop-auto-ipoe_1.61.260217_all.ipk


コンソールツール (パッケージインストール・設定)

aios2

aios2.png

mainmenu.png

  • パワーシェル起動:キー入力: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

MLO

調査調整中

MLOを有効

:warning:WEP3のみ接続可

# MLO
uci set wireless.ath00.encryption='ccmp'
uci set wireless.ath10.encryption='ccmp'
uci set wireless.ath20.encryption='ccmp'
uci set mlo.config.APMLOEnable='1'
uci commit wireless && uci commit mlo

リージョンコード

書き換え

対応デバイス

  • 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)

  • 手動インストール
  • 自動インストール
    • キー入力:Win+x > a > はい
    • 最新版ソフトウェアのインストール
powershell:クライアントPC
$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
      • パスワード:設定したパスワード
      • ログインをクリック

BusyBoxフルバージョン

インストール

OpenWrtバージョン

#!/bin/sh
opkg update
opkg install coreutils

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

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 電圧コーナー不足

トラブル

既知の問題

OpenWrtが壊れた
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インターフェースがブリッジに含まれないまま起動完了
  • 結果: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接続を手動で切断後、再接続

Wi-FiのMIMO省電力モードでは速度が出ない

Intel BE200を利用している場合:
image.png

  • 対策
    SMPM なし

【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でリセット)
  • 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を商品化した事が、とても魅力的である

もし次回作もあるなら、大いに期待したい

  • 2026年2月10日
    Wi-Fi7接続だが1G回線なんだけど?
    image.png
    19.07は正直バグが多すぎる
    ただし既知の問題として既に解決策が存在している事が多い
    一長一短だね

  • 2026年2月12日
    ニチバン対策は修正前よりはマシかな

  • 2026年2月20日
    宗谷岬、北海道本島の最北端か。。。
    FW3では流石に難しいのかな
    ロマン武器。。。

7
7
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?