Linksys Velop WRT Pro 7 OpenWrt Wi-Fi 7

:flag_jp: Japanese notation

![OpenWrt_icon.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/cc2e83af-44dd-e98a-97c2-36e53597df85.png)

# はじめに
::: note
### 初心者対応構成
- スクリプトでの自動設定
- [UCI (ttyd)](https://openwrt.org/docs/guide-user/base-system/uci)、[Webコンソール (LuCi)](https://openwrt.org/docs/guide-user/luci/start)、[ファイラー (SFTP)](https://openwrt.org/docs/guide-user/services/nas/sftp.server)にて比較作業がおススメ:exclamation:
:::

:::note
### 検証環境
- Windows11 バージョン24H2
:::

::: note
### トピック
[Wi-Fiルーター老舗グローバルブランド「Linksys」、国内正規代理店として取り扱いを開始](https://www.ask-corp.jp/news/2025/05/linksys.html)

:::

# メーカー
:::note
### [Linksys](https://ja.linksys.com/)

![Linksys_hp_illustrations_02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/e03b03fa-487b-69e1-eb08-1d1fcbdf5703.jpeg)

OpenWrt初号機 WRT54G
- [Linksys WRT54G, WRT54GL and WRT54GS](https://openwrt.org/toh/linksys/wrt54g)

:::

# デバイス
:::note
### [ Velop(ヴェロップ) WRT Pro 7 OpenWrt](https://support.linksys.com/kb/article/6274-jp/)

[Linksys(リンクシス) オフィシャル](https://support.linksys.com/kb/section/175/)

![GQbY5IAaIAQIViX.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/e4e42230-764e-11c9-1532-e1684ee5eb8b.jpeg)

<details><summary>仕様</summary>

ソフトウェア
- [OpenWRT 19.07](https://openwrt.org/releases/19.07/start) :  QSDK仕様 Linux Kernel 5.4

[ハードウェア](https://media.dustin.eu/media/d2000010011287521/velop-wrt-pro-7-openwrt-wifi-7-router-productdatasheetbrochure.pdf)
- Model : LN6001 / MBE70
- Target : Qualcomm IPQ95XX
- Subtarget : Qualcomm IPQ9574-ap-al02-c4
- Package architecture : [arm_cortex-a7_neon-vfpv4](https://openwrt.org/docs/techref/instructionset/arm_cortex-a7_neon-vfpv4)
- Bootloader : [U-boot](https://openwrt.org/docs/techref/bootloader/uboot)
- CPU : IPQ9554
- CPU CORES : 4
- CPU MHz : 1500
- Flash MB : 8Gb eMMC [(SAMSUNG - KLM8G1GETF-B041)](https://semiconductor.samsung.com/jp/estorage/emmc/emmc-5-1/klm8g1getf-b041/)
- RAM MB : 1GB DDR4 [(SAMSUNG - K4A4G165WF-BCWE)](https://semiconductor.samsung.com/jp/dram/ddr/ddr4/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

---

</details>

<details><summary>FCC</summary>

[2AYRA-08438](https://fccid.io/2AYRA-08438/)

</details>

<details><summary>総務省電波利用ポータル</summary>

[技術基準適合証明等を受けた機器](https://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jg01_01&PC=020&TC=N&PK=1&FN=240920N020&SN=%E8%AA%8D%E8%A8%BC&LN=99&R1=*****&R2=*****)
- [020-240278_01_002.pdf](https://www.tele.soumu.go.jp/giteki/SearchServlet2?PageID=jt01&ATF=161004002)
- [020-240278_02_003.pdf](https://www.tele.soumu.go.jp/giteki/SearchServlet2?PageID=jt01&ATF=161005003)

</details>

### トピック
<details><summary>Wi-Fi 7</summary>

Generic 802.11bea
![スクリーンショット 2024-11-27 220812.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/81f33b79-df4f-a380-18b8-93739918534a.jpeg)

Intel BE200
![24120102.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/4eedeca1-5859-2241-0167-1cec3b5453f8.jpeg)

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

---

</details>

<details><summary>NSS Driver</summary>

kmod-qca-nss-dp
![スクリーンショット 2024-11-27 223447.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/1a86aef9-be64-0e17-3cd3-49cc84ace720.jpeg)

CPU使用率
通常時
![24120104.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/2807f584-4c48-5ace-2ee5-c289f845f67e.jpeg)
ベンチマーク時（iperf3 -c 192.168.1.1 -t 30 -P 8）
![24120103.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/65d36112-b003-1eb4-94af-ec475801e66b.jpeg)

---

</details>

:::

# ファームウェア
:::note
### [OpenWrt Project へようこそ](https://openwrt.org/start)
![320.logo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/b680feca-c6f1-4b68-4516-7001887217f7.png)

### [QCA Software Development Kit (QSDK)](https://wiki.codelinaro.org/en/clo/qsdk/overview)

The UCI system
![スクリーンショット 2024-11-27 132034.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/f8b0b30a-f240-830d-1d89-47a6fb15822d.jpeg)

LuCI web interface
![スクリーンショット 2024-11-27 124342.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/e40319c7-e5d7-9bdb-6549-cb0b98e49692.jpeg)

<details><summary>ファームウェアダウンロード</summary>

- [Ver 1.2.0.15](https://downloads.linksys.com/support/assets/firmware/FW_MBE70WRT_v1.2.0.15.img)
- [Ver 1.1.0.01](https://downloads.linksys.com/support/assets/firmware/FW_MBE70WRT_v1.1.0.01.img)
- [Ver 1.0.3.01](https://downloads.linksys.com/support/assets/firmware/FW_MBE70WRT_v1.0.3.01.img)

</details>

:::

# デバイスアクセス
::: note
### デバイスアクセス（UCI）
<details><summary>パワーシェルでアクセス</summary>

#### [PowerShell](https://learn.microsoft.com/ja-jp/powershell/scripting/what-is-windows-powershell?view=powershell-7.4)の開始
- キー入力：**`Win`+`x` > `a` > `はい`**

#### [UCI（SSH）アクセス](https://openwrt.org/docs/guide-quick-start/sshadministration)
```powershell:powershell:初期設定用
ssh -o StrictHostKeyChecking=no -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1
```
- root@192.168.1.1's password:`初期値：パスワード無し`

<details><summary>SSHログイン出来ない場合:exclamation:</summary>

  - `%USERPROFILE%\.ssh\known_hosts` ※Windows隠しファイル
```powershell:powershell
Clear-Content .ssh\known_hosts -Force 
```

</details>

<details><summary>OpenSSHのインストールが無い場合:exclamation:</summary>

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

</details>
:::

::: note
### [LuCi](https://openwrt.org/jp/doc/howto/firstlogin#login_to_webui)

<details><summary>ブラウザーでアクセス</summary>

- [openwrt.lan](http://openwrt.lan) or [(192.168.1.1)](http://192.168.1.1)
  - ユーザー名：`root`
  - パスワード：`パスワード`
</details>
:::

# 初期設定
:::note
### [パスワード](https://openwrt.org/jp/doc/howto/firstlogin#telnet_%E3%81%A7%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3)

<details><summary>初期値から変更</summary>

```bash
passwd
```
`Changing password for root`
`New password:`
```bash:passwd:入力モード
任意のパスワード
```
`Retype password:`
```bash:passwd:入力モード
再入力
```
`passwd: password for root changed by root`
```bash
exit
```
</details>
:::

:::note
### ホストネーム

<details><summary>ホストネーム（openwrt）を変更</summary>

```sh
#!/bin/sh
HOSTNAME='openwrt' # デバイス名
uci set system.@system[0].hostname=${HOSTNAME}
uci commit system
/etc/init.d/sysntpd restart
```
</details>
:::

:::note
### [タイムゾーン](https://openwrt.org/docs/guide-user/base-system/system_configuration)

<details><summary>タイムゾーンを変更</summary>

- [timezones.conf.xml](https://git.openwrt.org/?p=openwrt/svn-archive/archive.git;a=blob;f=net/freeswitch/files/etc.minimal/autoload_configs/timezones.conf.xml;hb=refs/heads/packages_12.09)

```sh
#!/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
```
</details>
:::

:::note
### [NTP](https://openwrt.org/docs/guide-user/services/ntp/client-server)

<details><summary>NTPサーバーを変更</summary>

- [NTP POOL PROJECT](https://www.ntppool.org/ja/)

```sh
#!/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
```

</details>

<details><summary>NTPサーバーを有効</summary>

```sh
#!/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
```
</details>
:::

::: note
### [SSH](https://openwrt.org/docs/guide-user/base-system/dropbear)

<details><summary>WANからのアクセスを遮断</summary>

```sh
uci set dropbear.@dropbear[0].Interface='lan'
uci commit dropbear
```
</details>
:::

::: note
### [UPnP](https://openwrt.org/docs/guide-user/base-system/drophttps://openwrt.org/docs/guide-user/firewall/upnp/upnp_setupbear)

<details><summary>サービスを停止</summary>

[セキュリティに関する考慮事項](https://openwrt.org/docs/guide-user/firewall/upnp/upnp_setup#security_considerations)

```sh
uci set upnpd.config.enabled='0'
uci commit
/etc/init.d/miniupnpd stop
/etc/init.d/miniupnpd disable
```
</details>
:::

:::note
### ~~MLO~~
調査調整中
<details><summary>MLOを有効</summary>

:warning:WEP3のみ接続可

```sh
# 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
```
</details>
:::

# インターネット（日本専用）
:::note
### 自動接続設定
![スクリーンショット 2024-12-07 030753.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/e71df7ae-2a81-e847-1a97-ed971e2ddb9c.jpeg)

<details><summary>対応接続方式</summary>

MAP-e
- 必要パッケージ
  - map Version: 7 size: 6kB
  - bash Version: 5.2.15-1 size: 375kB
- 回線業者：[NTT Com](https://www.ntt.com/index.html)
  - [OCNバーチャルコネクト](https://www.ntt.com/business/services/network/internet-connect/ocn-business/option/v-access-ipoe.html)
    - [OCN インターネット](https://service.ocn.ne.jp/hikari/ocn-internet/)
      - [OCN 光、OCN for ドコモ光](https://service.ocn.ne.jp/hikari/docomo/)
    - [ahamo光](https://www.docomo.ne.jp/internet/ahamo_hikari/)
    - [ぷらら光](https://www.plala.or.jp/p-hikari/)
    - [hi-ho光](https://hi-ho.jp/course/hikari/hi-hohikari/)
- 回線業者：[JPIX](https://www.jpix.ad.jp/)
  - [V6プラス](https://www.jpne.co.jp/service/v6plus/) ※ [Wikipedia参照](https://ja.wikipedia.org/wiki/V6%E3%83%97%E3%83%A9%E3%82%B9#%E7%89%B9%E5%BE%B4)
    - Tigers-net.com (アイテック阪急阪神)
    - MAGMA光 (インターネットMAGMA)
    - @ nifty (ニフティ)
    - GMOとくとくBB (GMOとくとくBB)
    - 21Company (21Company)
    - アピオン (アピオン)
    - HAL (ウイル)
    - 晴れの国ネット (シックス)
    - JANIS (長野県協同電算)
    - KISNET (創風システム)
    - Gaming+ (ゲーミングプラス) (ネットフォレスト)
    - DMM光 (DMM.com)
    - So-net (So-net)
    - オープンサーキット (オープンサーキット)
    - タムネット (tam.ne.jp)
  - [IPv6オプション（BIGLOBE）](https://support.biglobe.ne.jp/ipv6/option.html)
  - [NURO光 (MAP-e)](https://www.nuro.jp/)

DL-LITE
- 必要パッケージ
  - ds-lite Version: 8 size: 1kB
- 回線業者：[Transix](https://www.mfeed.ad.jp/transix/overview.html)
  - IIJひかり
  - インターリンクZOOT NATIVE
  - excite MEC光
  - BB.excite光Fit
  - enひかり
- 回線業者：[Xpass(クロスパス)](https://www.arteria-net.com/business/service/internet/line/flets/)
  - 楽天ひかり
  - GameWith光
  - enひかり
  - BB.exciteコネクト
  - Tigers-net
- 回線業者：[v6 コネクト](https://v6connect.net/)
  - ASAHIネット光

PPPoE
- 回線業者：ひかりone系、他
  - [コミュファ光](https://www.commufa.jp/)

---

</details>

<details><summary>前提条件</summary>

- [光回線終端装置 (ONU)](https://ja.wikipedia.org/wiki/%E5%85%89%E5%9B%9E%E7%B7%9A%E7%B5%82%E7%AB%AF%E8%A3%85%E7%BD%AE)
:warning:[ホームゲートウェイ (HGW)](https://ja.wikipedia.org/wiki/%E3%83%9B%E3%83%BC%E3%83%A0%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4)一部対応
- 要ネットワークインターフェース初期値
- 要ONU直結接続

---

</details>

<details><summary>スクリプト構成</summary>

スクリプト
- [internet-config.sh](https://github.com/site-u2023/config-software/blob/main/internet-config.sh)
  - [map-e.sh](https://github.com/site-u2023/config-software/blob/main/map-e.sh)
  - [map-e-nuro.sh](https://github.com/site-u2023/config-software/blob/main/map-e-nuro.sh)
  - [ds-lite.sh](https://github.com/site-u2023/config-software/blob/main/ds-lite.sh)

階層
※それぞれ設定とその復元が対になっている
- OCNバーチャルコネクト
  - マルチセッション対応のみ （ニチバン対策：検証中）
- V6プラス・IPv6オプション
  - マルチセッション対応のみ（ニチバン対策：検証中）
- NURO光 MAP-e
- トランジックス
- クロスパス
- v6 コネクト
- PPPoE
  - IPv4接続
  - IPv4及びIPv6接続
- 終了

---

</details>

<details><summary>スクリプト実行</summary>

```sh
mkdir -p /etc/config-software; wget --no-check-certificate -O /etc/config-software/internet-config.sh https://raw.githubusercontent.com/site-u2023/config-software/main/internet-config.sh; sh /etc/config-software/internet-config.sh
```

---

</details>

<details><summary>動作確認</summary>

- [あなたの IPv6 接続性をテストしましょう。](https://test-ipv6.com/index.html.ja_JP)
- [ニチバンベンチ](https://www.nichiban.co.jp/)

---

</details>

<details><summary>リムーブ</summary>

- internet-config.sh
```sh
# internet-config.sh
rm /etc/config-software/internet-config.sh
```

---

</details>
:::

# [パッケージ](https://openwrt.org/packages/start)
:::note
### [母国語サポート](https://openwrt.org/docs/guide-user/luci/luci.essentials#native_language_support)

<details><summary>LuCiの言語パッケージをインストール</summary>

- 対応言語検索
```sh
#! /bin/sh
opkg update
opkg list luci-i18n-base\*
```

- 設定
```sh
#! /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}
```
</details>
:::

:::note
### [UCI（TTYD）](https://github.com/tsl0922/ttyd/blob/main/README.md)

<details><summary>ブラウザーでUCIにアクセス</summary>

```sh
#! /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
```

- [openwrt.lan:7681](http://openwrt.lan:7681) or [(192.168.1.1:7681)](http://192.168.1.1:7681)
</details>
:::

:::note
### [ファイラー（SFTP）](https://openwrt.org/docs/guide-user/services/nas/sftp.server)

<details><summary>WinSCPでファイルにアクセス</summary>

```sh
#! /bin/sh
opkg update
opkg install openssh-sftp-server
```

クライアント設定（Windows）
- 手動インストール
  - ダウンロード：[WinSCP](https://winscp.net/eng/download.php)
- 自動インストール
  - キー入力：`Win`+`x` > `a` > `はい`
  - 最新版ソフトウェアのインストール
```powershell: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`
    - パスワード：`設定したパスワード`
    - `ログイン`をクリック

</details>

:::

::: note
### [BusyBoxフルバージョン](https://en.wikipedia.org/wiki/BusyBox)

<details><summary>インストール</summary>

[OpenWrtバージョン](https://busybox.net/downloads/BusyBox.html)

```sh
#!/bin/sh
opkg update
opkg install coreutils
```
</details>
:::

:::note
### [CPU負荷分散](https://openwrt.org/docs/guide-user/services/irqbalance)

<details><summary>インストール</summary>

```sh
#! /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
```
</details>
:::

::: note
### [ネットワーク統計インターフェイス](https://openwrt.org/docs/guide-user/luci/luci_app_statistics)

<details><summary>インストール</summary>

```sh
#! /bin/sh
I18N='ja'
opkg update
opkg install luci-i18n-statistics-${I18N}
/etc/init.d/collectd enable
/etc/init.d/rpcd restart
```

- プラグイン検索
```sh
#! /bin/sh
opkg update
opkg list collectd-mod\*
```
</details>
:::

:::note
### [追加テーマ](https://openwrt.org/docs/guide-user/luci/luci.themes)

<details><summary>インストール</summary>

```sh
#! /bin/sh
opkg update
opkg install luci-theme-openwrt
opkg install luci-theme-material
```
</details>
:::

::: note
### [ログ情報](https://github.com/gSpotx2f/luci-app-log?tab=readme-ov-file#luci-app-log-viewer)

<details><summary>インストール</summary>

```sh
#! /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
```

</details>
:::

::: note
### [CPUステータス](https://github.com/gSpotx2f/luci-app-cpu-status#luci-app-cpu-status)

<details><summary>インストール</summary>

```sh
#! /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
```

</details>
:::

::: note
### [CPUパフォーマンス](https://github.com/gSpotx2f/luci-app-cpu-perf#luci-app-cpu-perf)

<details><summary>インストール</summary>

```sh
#! /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/current/
PACAGE_LIST=`cat  /tmp/config-software/pacage_list |sed -ne '/ <script type/,/<\/script>/p' |sed -e 's/<[^>]*>//g'`
CPU_PERF=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/luci-app-cpu-perf") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/luci-app-cpu-perf_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${CPU_PERF}.ipk
opkg install /tmp/luci-app-cpu-perf_all.ipk
rm /tmp/luci-app-cpu-perf_all.ipk
```

</details>
:::

::: note
### [温度センサー](https://github.com/gSpotx2f/luci-app-temp-status#luci-app-temp-status)

<details><summary>インストール</summary>

```sh
#! /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
```

</details>
:::

::: note
### [インターネット可用性確認](https://github.com/gSpotx2f/luci-app-internet-detector/tree/19.07)

<details><summary>インストール</summary>

```sh
#! /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
/tmp/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
```

</details>
:::

:::note
### [AdGuard Home](https://openwrt.org/docs/guide-user/services/dns/adguard-home)

<details><summary>パッケージ</summary>

- [Releases](https://github.com/AdguardTeam/AdGuardHome/releases)
※バージョン19.07はadguardhomeパッケージ無し
- [ca-certificates](https://openwrt.org/packages/pkgdata/ca-certificates)
---
</details>

<details><summary>スクリプト構成</summary>

- [velop_wrt_pro7_adguard-config.sh](https://github.com/site-u2023/config-software/blob/main/velop_wrt_pro7_adguard-config.sh)
  - [velop_wrt_pro7_adguard.sh](https://github.com/site-u2023/config-software/blob/main/velop_wrt_pro7_adguard.sh)
---
</details>

<details><summary>スクリプト実行</summary>

```sh
wget --no-check-certificate -O /etc/config-software/adguard-config.sh https://raw.githubusercontent.com/site-u2023/config-software/main/velop_wrt_pro7_adguard-config.sh; sh /etc/config-software/adguard-config.sh
```
---
</details>

<details><summary>設定内容</summary>

インストール
```sh
#!/bin/ash
# Check version
TMP_DIR="/tmp/config-software"
ADGUARD_URL="https://github.com/AdguardTeam/AdGuardHome"
mkdir -p "$TMP_DIR"
echo -e "\033[1;34m[INFO]\033[0;39m Downloading AdGuardHome list..."
if wget --no-check-certificate -O "$TMP_DIR/AdGuardHome_list" "$ADGUARD_URL"; then
    latest_ver=$(grep -o -E "AdGuard Home v[0-9]+\.[0-9]+(\.[0-9]+)?" "$TMP_DIR/AdGuardHome_list" | head -n1 | grep -o -E "v[0-9]+\.[0-9]+(\.[0-9]+)?")   
    if [ -n "$latest_ver" ]; then
        echo -e "\033[1;33mInstall Version: ${latest_ver}\033[0;39m"
        read -p "Press any key to continue..."
    else
        echo -e "\033[1;31m[ERROR]\033[0;39m Failed to parse version information from AdGuardHome list."
    fi
else
    echo -e "\033[1;31m[ERROR]\033[0;39m Failed to download AdGuardHome list from $ADGUARD_URL."
fi
rm -rf "$TMP_DIR"
# Install
opkg update
opkg install ca-bundle
mkdir -p /etc/AdGuardHome
wget --no-check-certificate -O /etc/AdGuardHome/AdGuardHome_linux_armv7.tar.gz https://github.com/AdguardTeam/AdGuardHome/releases/download/${latest_ver}/AdGuardHome_linux_armv7.tar.gz
tar -xzvf /etc/AdGuardHome/AdGuardHome_linux_armv7.tar.gz -C /etc/
rm -rf /etc/AdGuardHome/AdGuardHome_linux_armv7.tar.gz
/etc/AdGuardHome/AdGuardHome -s install
/etc/init.d/AdGuardHome enable
/etc/init.d/AdGuardHome start
NET_ADDR=$(/sbin/ip -o -4 addr list br-lan | awk 'NR==1{ split($4, ip_addr, "/"); print ip_addr[1] }')
NET_ADDR6=$(/sbin/ip -o -6 addr list br-lan scope global | awk 'NR==1{ split($4, ip_addr, "/"); print ip_addr[1] }')
echo "Router IPv4 : ""${NET_ADDR}"
echo "Router IPv6 : ""${NET_ADDR6}"
uci set dhcp.@dnsmasq[0].noresolv="0"
uci set dhcp.@dnsmasq[0].cachesize="1000"
uci set dhcp.@dnsmasq[0].rebind_protection='0'
uci set dhcp.@dnsmasq[0].port="54"
uci -q delete dhcp.@dnsmasq[0].server
uci add_list dhcp.@dnsmasq[0].server="${NET_ADDR}"
uci -q delete dhcp.lan.dhcp_option
uci -q delete dhcp.lan.dns
uci add_list dhcp.lan.dhcp_option='6,'"${NET_ADDR}" 
uci add_list dhcp.lan.dhcp_option='3,'"${NET_ADDR}"
for OUTPUT in $(ip -o -6 addr list br-lan scope global | awk '{ split($4, ip_addr, "/"); print ip_addr[1] }')
do
	echo "Adding $OUTPUT to IPV6 DNS"
	uci add_list dhcp.lan.dns=$OUTPUT
done
uci commit dhcp
/etc/init.d/dnsmasq restart
uci set firewall.adguardhome_dns_53='redirect'
uci set firewall.adguardhome_dns_53.src='lan'
uci set firewall.adguardhome_dns_53.proto='tcp udp'
uci set firewall.adguardhome_dns_53.src_dport='53'
uci set firewall.adguardhome_dns_53.target='DNAT'
uci set firewall.adguardhome_dns_53.name='Adguard Home'
uci set firewall.adguardhome_dns_53.dest='lan'
uci set firewall.adguardhome_dns_53.dest_port='53'
uci set firewall.adguardhome_dns_53.family="any"
uci commit firewall
/etc/init.d/firewall restart
```
確認
```sh
/etc/AdGuardHome/AdGuardHome -s status
```

[WebインターフェースからAGHを設定する](https://openwrt.org/docs/guide-user/services/dns/adguard-home#setup_agh_through_the_web_interface)

- [初回ログイン](http://192.168.1.1:3000/)

初期設定
- 管理用ウェブインターフェイス
  - `すべてのインターフェイス`　ポート`8080`※80以外の任意
- DNSサーバ
  - `すべてのインターフェイス`　ポート`53`
- ユーザー名　`任意`
- パスワード　`任意`
- パスワード(確認用)　`任意`

DNS設定
- 上流DNSサーバ

[既知のDNSプロバイダーの一覧](https://adguard-dns.io/kb/ja/general/dns-providers/)
```yaml:yaml: 上流DNSサーバ
# LAN domain intercept
[/lan/]127.0.0.1:54
[//]127.0.0.1:54
# DNS-over-QUIC
quic://unfiltered.adguard-dns.com
# DNS-over-TLS
tls://1dot1dot1dot1.cloudflare-dns.com
tls://dns.google
# DNS-over-HTTPS(coercion HTTP/3)
h3://dns.cloudflare.com/dns-query
h3://dns.google/dns-query
h3://unfiltered.adguard-dns.com/dns-query
# DNS-over-HTTPS
# https://dns.cloudflare.com/dns-query
# https://dns.google/dns-query
# https://unfiltered.adguard-dns.com/dns-query
# NTP service
[/jp.pool.ntp.org/]1.1.1.1
[/jp.pool.ntp.org/]1.0.0.1
[/jp.pool.ntp.org/]2606:4700:4700::1111
[/jp.pool.ntp.org/]2606:4700:4700::1001
```

- フォールバックDNSサーバー
```yaml:yaml: フォールバックDNSサーバー
https://dns.cloudflare.com/dns-query
https://dns.google/dns-query
https://unfiltered.adguard-dns.com/dns-query
```

- ブートストラップDNSサーバー
```yaml:yaml: ブートストラップDNSサーバー
1.1.1.1
1.0.0.1
2606:4700:4700::1111
2606:4700:4700::1001
```

- プライベートリバースDNSサーバー
```yaml:yaml: プライベートリバースDNSサーバー
192.168.1.1:54
```
- [x] プライベートリバースDNSリゾルバを使用
- [x] クライアントのIPアドレスの逆解決を有効にする

DNSブロックリスト
- ブロックリストに追加する
  - カスタムリストを追加する
    - 新しいブロックリスト

フィルターリスト
- [AdGuardフィルターリスト（adguard.com）](https://adguard.com/kb/ja/general/ad-filtering/adguard-filters/)
- [AdGuardフィルターリスト（GitHub）](https://github.com/AdguardTeam/AdguardFilters)
- [280blocker](https://280blocker.net/)
- [豆腐フィルタ](https://github.com/tofukko/filter)
- [なんJ AdGuard部](https://wikiwiki.jp/nanj-adguard/)

フィルター導入参考
- AdGuard Japanese filterの参考手順
```yaml:yaml: 名称を入力
AdGuard Japanese filter
```
```yaml:yaml: リストのURLまたは絶対パスを入力してください
https://raw.githubusercontent.com/AdguardTeam/FiltersRegistry/master/filters/filter_7_Japanese/filter.txt
```

- 280blockerの参考手順
```yaml:yaml: 名称を入力
280blocker
```
```yaml:yaml: リストのURLまたは絶対パスを入力してください
https://280blocker.net/files/280blocker_domain_ag_202501.txt
```
※`202501`は翌月の年月を入力

- 豆腐フィルタの参考手順
```yaml:yaml: 名称を入力
豆腐フィルタ
```
```yaml:yaml: リストのURLまたは絶対パスを入力してください
https://raw.githubusercontent.com/tofukko/filter/master/Adblock_Plus_list.txt
```

- [x] AdGuard DNS filter
- [ ] AdAway Default Blocklist
- [x] AdGuard Japanese filter
- [x] 280blocker
- [x] 豆腐フィルタ

カスタムフィルタ
- フィルタ
  - カスタム・フィルタリングルール
```yaml:yaml: 1つの行に1つのルールを入力してください。 広告ブロックルールやhostsファイル構文を使用できます。
# ブロック
||amazon.co.jp
# 解除
@@||youtube.com
```
---
</details>

<details><summary>動作確認</summary>

```sh 
nslookup one.one.one.one localhost
```

- [Toolz](https://d3ward.github.io/toolz/)
  - [Adblock Test](https://d3ward.github.io/toolz/adblock.html)
- AdGuard
  - [dGuardのDNSサーバーの位置地図](https://adguard-dns.io/welcome.html#servers-map)
  - [AdGuardサービスの作動確認ページ](https://adguard.com/test.html)
- Cloudflar
  - [Connection Information](https://1.1.1.1/help)
  - [Browsing Experience Security Check](https://www.cloudflare.com/ssl/encrypted-sni/#results)
- [DNS leak test](https://dnsleaktest.com/)
- [IP/DNS Detect](https://ipleak.net/)
- Mac App Store
  - [AdGuard Home Remote](https://apps.apple.com/jp/app/adguard-home-remote/id1543143740)
---
</details>

<details><summary>アップデート</summary>

```sh
/etc/AdGuardHome/AdGuardHome --update
```
---
</details>

<details><summary>リムーブ</summary>

```sh
/etc/init.d/AdGuardHome stop
/etc/init.d/AdGuardHome disable
/etc/AdGuardHome/AdGuardHome -s uninstall
uci -q delete dhcp.@dnsmasq[0].noresolv
uci -q delete dhcp.@dnsmasq[0].cachesize
uci set dhcp.@dnsmasq[0].rebind_protection='1'
uci -q delete dhcp.@dnsmasq[0].server
uci -q delete dhcp.@dnsmasq[0].port
uci -q delete dhcp.lan.dhcp_option
uci -q delete dhcp.lan.dns
uci add_list dhcp.lan.dhcp_option="6,1.1.1.1,1.0.0.1"
uci add_list dhcp.lan.dhcp_option="6,8.8.8.8,8.8.4.4"
uci add_list dhcp.lan.dns="2606:4700:4700::1111"
uci add_list dhcp.lan.dns="2606:4700:4700::1001"
uci add_list dhcp.lan.dns="2001:4860:4860::8888"
uci add_list dhcp.lan.dns="2001:4860:4860::8844"
uci set network.wan.peerdns="0"
uci set network.wan6.peerdns="0"
uci -q delete network.wan.dns
uci -q delete network.wan6.dns
uci -q delete firewall.adguardhome_dns_53
uci commit
reboot
```
---
</details>

:::

# トラブル
:::note warn
### 既知の問題

<details><summary>SSHでログイン出来ない</summary>

- 問題
```powershell
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`

- 対策
```powershell
ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.1.1
```
`root@192.168.1.1's password:`

- 対策その２：クライアント側での設定
```sh
#!/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"
```

---

</details>

<details><summary>LuCiにログイン出来ない</summary>

- 問題
`接続がプライベートではありません`
`net::ERR_CERT_AUTHORITY_INVALID`

- 対策：HTTPSを無効
```sh
uci set uhttpd.main.listen_https=''
uci commit uhttpd
/etc/init.d/uhttpd restart
```

- 対策その２：自己署名証明書を生成
```sh
rm -f /etc/uhttpd.key /etc/uhttpd.crt
/etc/init.d/uhttpd generate_key 2048
/etc/init.d/uhttpd restart
```

- 対策その３：より強力な証明書を生成
```SH
#!/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

```

---

</details>

<details><summary>ファイヤーウォールがエラーを吐く</summary>

- 問題
```
/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が基本的に不要であるため、機能的な問題ではない。

---
</details>

<details><summary>/etc/init.d/system reloadなどでエラーを吐く</summary>

- 問題
system_config()のバグ
- 対策
date -kを削除する
```
sed -i '/^[[:blank:]]*date -k[[:blank:]]*$/d' /etc/init.d/system
```

</details>

<details><summary>OpenWrtが壊れた</summary>

- 問題
OpenWrtが正常に動作しない
- 対策
ファームウェアをフラッシュする
[`ファームウェア Ver 1.2.0.15`](https://downloads.linksys.com/support/assets/firmware/FW_MBE70WRT_v1.2.0.15.img)

</details>

:::

# 初期化
:::note alert

### [ファクトリーリセット(初期化)](https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset#soft_factory_reset)

<details><summary>リセット</summary>

```bash
# 要注意
firstboot && reboot now
```

`This will erase all settings and remove any installed packages. Are you sure? [N/y]`

```bash:初期化:入力モード
y
```
[デバイスリセットボタン](https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset#reset_button)
デバイスのリセットボタンを10秒押し続ける

</details>

:::

# あとがき
- 初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で使うなら、個人的にはインターフェース分+電源、フラッシュ分あると👍
- 躯体はシンプルで可も無く不可も無く
やはりOpnWrtで使うなら、M.2スロット欲しいな
BPR-R4と競合するが、「市場が出来て良いんじゃないの」と勝手に思ったりする

- AdGuardHomeのクエリ・ログのローテーションは24時間程度がおススメ
（フラッシュ容量が数日で満杯になる）

- Version19.07の既知の問題がいくつかある
QSDKは23.05もあるので、そちらの方が技術的に追いやすそうだ

- 動作がおかしくなり初期化したら、初期パスワードでLuCiにログイン出来なくなった
何故かWiFiには接続出来た（同じパスワード）
何度か初期化後ログイン出来た
しかしMLOが無かったり少しおかしいのでファームウェアを入れなおしたら正常化した

**総括**
OpenWrtはファームウェアが更新されなくなったデバイスを再利用する為のカスタムOSでもあると思うが、最新のWi-Fi7で、大きな問題もなく、すぐ使えるのは、ベンダー品ならではである

今回のVelop WRT Pro 7 OpenWrtは、Wi-Fi7を商品化した事が、とても魅力的である

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