OpenWrt WTR-M2133HP (PR) 

:warning:Japanese notation
![OpenWrt_icon.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/00cb7976-bf5f-1c85-4544-6cbbc043b497.png)

# はじめに
::: note
### 初心者対応構成
- Windowsからの導入手順
- スクリプトでの自動設定
- [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
### デバイスアクセス
#### [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 root@192.168.1.1
```
- root@192.168.1.1's password:`初期値：パスワード無し`

<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
```
---

:::

::: note warn
### 既知の問題
- WTR-M2133'HS'未対応
- ファームウェア対応：安定バージョン **21.02.7** 
※22.03 以降ではQCA9984ドライバーを読み込まない 
- dawn-wolfssをインストールする場合、WPA3からWPA2に要ダウングレード
:::

# ファームウェアについて
:::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)
- [The UCI system](https://openwrt.org/docs/guide-user/base-system/uci)
![uci.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/db7a70cd-c281-a244-416e-691284bcbdef.png)
- [LuCI web interface](https://openwrt.org/docs/guide-user/luci/start)
![WTR-M2133HP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/6247ae5d-6ced-fe12-7f96-937a007c843d.png)

- [技術データ](https://openwrt.org/toh/hwdata/buffalo/buffalo_wtr-m2133hp)

- [projects / openwrt / openwrt.git / commit](https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=4a77a060ab6219f830390cd53c2817b621f39760)

- [デバイス用のOpenWrtファームウェアをダウンロード](https://firmware-selector.openwrt.org)


:::

# デバイスについて
:::note
### WTR-M2133HPラインナップ
- [WTR-M2133HP](https://www.buffalo.jp/product/detail/wtr-m2133hp.html)
![WTR-M2133HP320.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/c09ba26e-e217-d12a-b785-b06e04339a4d.png)
- [WTR-M2133HP-PR](https://www.buffalo.jp/product/detail/wtr-m2133hp-pr.html)
![WTR-M2133HP-PR_320.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/3e618615-7ac5-3d29-c851-457d44f682af.png)
- ハードウェア仕様
ARMv7 Cortex-A7 (Quad-Core)
  - CPU         : 717 MHz x4
  - RAM         : 512 MB
  - Flash Memory: 128 MB   # 1Gb SLC 
  - WiFi        : 5 (ac) 160 MHz   # WPA3(OpenWrt)
  - Ethernet    : 1 Gbps x4
  - USB         : USB 3.0 x1
  - Power       : DC 12 V / 2 A
- [Qualcomm IPQ4019](https://www.qualcomm.com/products/internet-of-things/networking/wi-fi-networks/ipq4019)
- [Qualcomm QCA9984](https://www.qualcomm.com/products/technology/wi-fi/qca9984)
- [Macronix MX30LF1G18AC](https://www.macronix.com/Lists/Datasheet/Attachments/8443/MX30LF1G18AC,%203V,%201Gb,%20v1.0.pdf)
:::

# OpenWrt化手順：Flash instruction 
::: note
### 事前準備
- スクリプト: [buffalo](https://github.com/site-u2023/buffalo/tree/main)
- ディレクトリ: `C:\openwrt`

`警告` > `強制的に貼り付け`
```powershell:powershell
Set-ExecutionPolicy Unrestricted
Set-ExecutionPolicy Unrestricted
New-Item C:\openwrt -ItemType Directory -Force 
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/site-u2023/buffalo/main/wtr-m2133hp.ps1" -OutFile "C:\openwrt\wtr-m2133hp.ps1"
C:\openwrt\wtr-m2133hp.ps1

```
:::
::: note alert
デバイスをインターネット回線から物理的切断（ONU・HGWからLAN線を外す）
:::
:::note
### 1. Set up a TFTP server (IP address: 192.168.11.10)

```powershell:powershell: 192.168.11.10
C:\openwrt\ip\192-168-11-10.ps1

```

```powershell:powershell
& "C:\openwrt\Serva\Serva64.exe"

```
Servaが起動
- `I'm a "Community" user`を選択
  - 7 Secs待つ
    - `許可`

※IPアドレス拾わない場合、ストックファームウェアのデバイスを起動し安定させてから、Servaを起動させる
:::

:::note
### 2. Rename "initramfs-fit-uImage.itb" to "WTR-M2133HP-initramfs.uImage" and put it into the TFTP server directory.
:::

:::note
### 3. Connect the TFTP server and WTR-M2133HP.
- デバイス(WTR-M2133HP)とTFTPサーバー(Windows)が自動接続
:::

:::note
### 4. Hold down the AOSS button, then power on the router.
- AOSSボタンを押しながら電源に接続
- そのまま10秒ほど押し続けてから離す
- 以下2行のログを確認しServaを閉じる
  - `[**/** **:**:**.***] TFTP Inf: Read file <WTR-M2133HP-initramfs.uImage>. Mode octet
`
  - `[**/** **:**:**.***] TFTP Inf: <WTR-M2133HP-initramfs.uImage>: sent blks=5701 blkSz=1468, Total 8368804 bytes in 4s, err recovery=0 
`
- ルーターが自動で再起動
:::
::: note warn
<details><summary>※うまくいかない場合、以下からServaを起動させ再度実行</summary>

```powershell:powershell
& "C:\openwrt\Serva\Serva64.exe"

```

- `I am"Community" user`を選択
- `左上アイコン`をダブルクリック
- `TFTP`タブを選択
  - Service Up/Down
     - `TFTP Server`にチェック
  - THTP Server IP address 
    - `192.168.11.10`になっている事を確認
  - THTP Server root directory
    - `Browse`をクリック
      `C:\openwrt\buffalo\WXR-5950AX12-initramfs.uImage`を指定
      - `Select`をクリック
  - `OK`をクリック

</details>
:::
:::note
### 5. After booting OpenWrt initramfs image, connect to the router by SSH.

```powershell:powershell: 192.168.1.2
C:\openwrt\ip\192-168-1-2.ps1

```

```powershell:powershell
scp -r C:\openwrt\buffalo\openwrt-21.02.7-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi root@192.168.1.1:/tmp/openwrt-21.02.7-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ub

```

```powershell:powershell
ssh -o StrictHostKeyChecking=no root@192.168.1.1

```

:::

:::note
### 6. Transfer "squashfs-nand-factory.ubi" to the router.
```powershell:SSH
sysupgrade /tmp/openwrt-21.02.7-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi

```
:::

:::note
### 7. Execute the following commands.

<details><summary>example</summary>

ubidetach -p /dev/mtd15
ubiformat /dev/mtd15 -f /tmp/openwrt-21.02.7-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi
fw_setenv bootcmd bootipq

</details>

```sh:SSH
ubidetach -p /dev/mtd15
ubiformat /dev/mtd15 -f /tmp/openwrt-21.02.7-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi
fw_setenv bootcmd bootipq

```
:::

:::note
### Perform reboot.
```sh:SSH
reboot

```
:::

:::note alert
 **絶対に電源は抜かない事**
:::
:::note
### 完了
- LEDが消灯し、ルーターが再起動
- LEDは以下に動作
1.`全点灯`
2.`全消灯`
3.`中央青点滅`
4.`中央白点灯`：**OK**

**OpenWrt化完了**
:::
::: note alert
デバイスをインターネット回線に物理的接続（ONU・HGWからLAN線に繋ぐ）
:::

::: note
### クライアントPCをDHCPにする
`警告` > `強制的に貼り付け`
```powershell:powershell: DHCP
C:\openwrt\ip\dhcp.ps1
Set-ExecutionPolicy Restricted

```
:::
# [新規設定用 オールインワンスクリプト 初心者対応](https://qiita.com/site_u/items/c6a50aa6dea965b5a774)
::: note
### [スクリプトセレクター](https://qiita.com/site_u/items/c6a50aa6dea965b5a774#%E6%96%B0%E8%A6%8F%E8%A8%AD%E5%AE%9A%E7%94%A8-%E3%82%AA%E3%83%BC%E3%83%AB%E3%82%A4%E3%83%B3%E3%83%AF%E3%83%B3%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88-%E5%88%9D%E5%BF%83%E8%80%85%E5%AF%BE%E5%BF%9C)

![config.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/ebcf1227-8809-3fad-ba47-5e44a04ccac6.png)

:::

## デバイス更新
:::note alert
>22.03 以降ではQCA9984ドライバーを読み込まない

[ダウンロードサイト](https://firmware-selector.openwrt.org/?version=23.05.2&target=ipq40xx%2Fgeneric&id=buffalo_wtr-m2133hp)
- [SYSUPGRADE](https://downloads.openwrt.org/releases/23.05.2/targets/ipq40xx/generic/openwrt-23.05.2-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-sysupgrade.bin)
```sh:SSH
wget /tmp/openwrt-23.05.2-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-sysupgrade.bin
sysupgrade -v /tmp/openwrt-23.05.2-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-sysupgrade.bin

```
### [Attended Sysupgrade](https://openwrt.org/docs/guide-user/installation/attended.sysupgrade)
```sh
opkg update
luci-app-attendedsysupgrade
opkg install auc

```
:::

# 純正ファームウェアリカバリ：Recover to stock firmware
:::note alert
### 1. Execute the following command.
・fw_setenv bootcmd bootbf
```sh:SSH
fw_setenv bootcmd bootbf
reboot

```
:::
:::note alert
 **絶対に電源は抜かない事**
:::
:::note
### 2. Reboot and wait several minutes.
再起動後、数分待つ
- [`192.168.11.1`](http://192.168.11.1/)でログイン
:::

# あとがき
OpenWrt化、四つ目

性能良いし、以外と省エネなんじゃないかな

- 4CPU、トライバンド、メモリ512MB、AC160Mhz、USB3.0
- フリマ等での調達費用も格安
- 純正ファーム復旧はコマンド１つ

バンドステアリングしたいけど、わざわざWPA2にしたくないなあ

中身が見たい、分解したくなってきた今日この頃・・・

# 参考資料（感謝:relaxed:）

[ハードウェア表：ファームウェアのダウンロード](https://openwrt.org/toh/views/toh_fwdownload?dataflt%5BModel*%7E%5D=WTR-M2133HP)

[Memo/OpenWrt/Buffalo_WSR-2533DHP](https://dexlab.net/pukiwiki/index.php?Memo/OpenWrt/Buffalo_WSR-2533DHP)