OpenWrt Banana Pi BPI-R3

: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 alert
### 
- [SDカードの残りのスペース](https://forum.banana-pi.org/t/bpi-r3-openwrt-whats-the-best-way-to-use-the-rest-of-my-space-on-my-sd-card/15675/)
- [MT7981及びMT7986ではCPU周波数スケーリングはサポートされていません](https://forum.openwrt.org/t/openwrt-support-for-banana-pi-bpi-r3/154294/98)
- WiFiアップロードで通信途絶
  - [最高速度でダウンロードしようとすると接続が切断される](https://forum.banana-pi.org/t/bpr3-loses-connection-after-trying-to-download-anything-at-max-speed/15834)
  - [Mt798x-wmac 18000000.wifi: Message xxxxxxxx (seq 5)](https://forum.openwrt.org/t/mt798x-wmac-18000000-wifi-message-xxxxxxxx-seq-5-timeout/175163/2)
- [+27℃ のオフセット読み取り値を示すようです](https://forum.banana-pi.org/t/bpi-r3-running-hot/14750/6)
:::

# ファームウェアについて
:::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)

![cli.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/51b30165-5be4-0655-233c-09d3c0e2b11e.png)

- [LuCI web interface](https://openwrt.org/docs/guide-user/luci/start)

![bpi.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/d5485945-807a-0702-d2e3-e75153b83838.png)


- [技術データ](https://openwrt.org/toh/hwdata/sinovoip/sinovoip_bananapi_bpi-r3)

- [ハードウェア](https://openwrt.org/toh/sinovoip/bananapi_bpi_r3_v1.0_v1.1)

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

# デバイスについて
:::note
### [Banana Pi BPI-R3](https://wiki.banana-pi.org/Banana_Pi_BPI-R3)

![Banana_Pi_BPI-R3_interface.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/6ba96a91-5e92-cf23-be03-e708579aba91.jpeg)

![Bpi-r3_Metal_case.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/517ff2f2-0ccc-035f-457a-f67b0ec29b6f.jpeg)

- [AliExpressストア](https://ja.aliexpress.com/store/302756)
- [Banana Pi BPI-R3](https://wiki.banana-pi.org/Banana_Pi_BPI-R3)
- [forum.banana-pi.org](https://forum.banana-pi.org/)
- [Bpi Wiki BPI-R3 入門](https://wiki.banana-pi.org/Getting_Started_with_BPI-R3)

- [Banana Pi BPI-R3: 知っておくべきことすべて](https://www.androidpimp.com/embedded/banana-pi-bpi-r3-router-board/)

参考
[Arch Linux](https://github.com/ericwoud/buildR64arch)

<details><summary>ハードウェア仕様</summary>

ARMv8 Cortex-A53
  - CPU         : 2.0 GHz x4 (Quad Core)
  - RAM         : 2048 MB
  - eMMC Flash  : 8 GB
  - SPI Nand    : 128 MB
  - WiFi        : 6 (ax)
  - Ethernet    : SFP 2.5 Gbps x2 / 1 Gbps x5
  - mini PCIe   : inerface 
  - M.2 KEY-E PCIe : inerface
  - Mciro SD    : inerface
  - USB         : USB 3.1 x1
  - Power       : DC 12 V / 2 A
- [MediaTek MT7986A](https://www.mediatek.com/products/home-networking/mt7686)
- MT7975N
- MT7975P

</details>

:::
# 用意するもの
::: note
### 購入品目
商品検索は画像検索がおススメ:bangbang:

<details><summary>メインボード</summary>

[ストア](https://ja.aliexpress.com/item/1005004886608696.html?spm=a2g0o.store_pc_groupList.8148356.7.1bcc440eERmKt1&pdp_npi=4%40dis%21JPY%21%EF%BF%A5%2019%2C464%21%EF%BF%A5%2015%2C571%21%21%21131.33%21105.06%21%402103081017023401856861023eeca2%2112000031031978923%21sh%21JP%210%21)

- V1.0
![1.0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/39e40851-9c75-1e32-247c-6148adebcdc9.png)

- V1.1
![1.1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/65c7b92d-b418-ed08-87f4-e3104ea25c73.png)

</details>

<details><summary>ケース</summary>

- 金属ケース
![case.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/c0acdafa-c157-8e94-40aa-4ccfd31c657c.png)

- アクリルケース
![クリアケース.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/04d3a719-5678-2003-8733-a01f33b4d2fd.png)

- オリジナルケース
  - [オリジナル](https://www.printables.com/model/335936-banana-pi-bpi-r3-modular-case)
  - [オリジナル](https://cults3d.com/en/3d-model/gadget/bpi-r3-case)

</details>

<details><summary>ACアダプター</summary>

- 12V 2A (2000mA)
- DCプラグ 外径5.5mm 内径2.5mm (USプラグ)

</details>

<details><summary>シリコンゴムパッド（ケースの足）</summary>

![daisoゴム足1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/461706fe-1015-ebac-0cde-60244d49bfc4.png)
![daisoゴム足2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/987b9ceb-06c4-323d-ac47-bbf1659e2b74.png)
![ゴム足.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/37b8493b-5860-2a81-e97b-211f6ea1f062.png)

---

</details>

<details><summary>ヒートシンク</summary>

- CPU用：20x20
- WiFi用：15x15
※特に5Gのチップが発熱する
※要サーマルパッド
※ファンの端子がある

![fac16b485512de3c90f35f525c89b319ddcbdb44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/e0e92910-7222-7cf9-c279-7f9131ce5258.png)

</details>

<details><summary>WiFIアンテナ</summary>
 
　規格：SAM メス/ RP-SMA メス
　　SAM：ピンあり
　　PR-SAM：ピンなし

  - 6dB 無指向性
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/19b2ca0d-d670-7e96-18b2-748f85f18972.png)
![5白.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/d90f7cb3-434f-472d-3522-2ccb5a13e6da.png)

  - 6dB 無指向性 
![lte6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/7119850b-a0b5-dea6-4bfe-b1c7fcd8838c.png)

  - 12dB 無指向性
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/fb9fa701-a4a3-83b7-f5cd-4baaebe70103.png)
![12黒.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/bd31fb02-39d5-687c-8987-8b8248c0ab6d.png)
![白.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/fe4c7708-f113-ed7f-0cd8-f7d49225938a.png)

  - 12db 無指向性
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/a25a4735-50db-2403-b97c-a3fa11714d8d.png)

  - 12dB 無指向性
![ロング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/41919ade-c331-09d4-48aa-6678b4bf43fe.png)

  - 18dB 無指向性
![18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/78d64f40-9feb-7f5e-164f-767c4bf49db4.png)


  - 10dB 指向性
![指向性.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/6a63b69c-1950-72b7-459c-0bb9325032c1.png)

  - 指向性 磁気スタンド
![磁気スタンド.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/fa88ba1d-3dea-7344-a3be-37009dc6e893.png)

  - バルーン 無指向性（360度）
![バルーン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/067d300c-1777-e516-52bf-8e3050a31fb6.png)
![おすすめ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/7828c6df-98a4-c872-be12-7a37954adb89.png)

---

</details>

<details><summary>アンテナケーブル</summary>

　アンテナ側規格：SAM オス/ RP-SMA オス
　　SAM：ピンなし
　　PR-SAM：ピンあり 
　基盤側規格：U.FL/ ipex (mini pcie用)
　ケーブル規格：RG178 ※20cm以上推奨

- ケーブル
![RP-SMAオスピンあり.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/49a6e11f-bea8-fe30-c634-224ad8841fd4.png)
![白ケーブル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/b1ce1adb-bbf9-57ce-9216-6ebc681b8bc7.png)

- スプリッターケーブル
![スプリッターケーブル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/51b80d03-cdf6-5801-8c6b-432105bbbc79.png)

---

</details>

<details><summary>マイクロSDカード</summary>

- 高速タイプ、高耐久タイプ、など用途に応じて
- SDカードの容量を全部使う場合
  - メインとサブで二枚
  - USB-AのSDカードリーダー

- AdvaNceD IoT eMMC
![AdvaNceD.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/44fab6ad-c299-51af-d62a-c39f56027169.png)

---

</details>

<details><summary>M.2 KEY-M（PCIe）</summary>

- 規格：gen-3 x2（NVMeだと発熱が大きいかもしれない）
※隙間は約1mm～1.5mm

</details>

<details><summary>WWANモジュール</summary>
 
- MINI-PCI-E

- M.2
  - LTE/4G
    - Telit LN940/ Foxconn T77W676/ HP lt4220
      - eUICCサポート
      - MFBI(Multi Frequency Band Indicator)対応

</details>

<details><summary>M.2 to mini PCI-E 変換アダプター</summary>

B072FB73KT
![wwancard.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/2eae30d8-f2e6-2b5d-55e1-c980b8a15435.png)

---

</details>

<details><summary>WiFi6モジュール</summary>

公式動作確認済み
- [AW7916-NPD](https://asiarf.com/product/wi-fi-6e-m-2-ae-key-module-mt7916-aw7916-aed/)

M.2
- WiFi6e 
  - MT7915E
  - MT7921K
  - MT7922
  - MT2925

E-Key & E+A-Key
- E-Key
![MT7922-removebg-preview.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/96542f30-5f62-cf9d-f5c8-0d06062b91a7.png)
- E+A-Key
![aekey.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/02e7e67d-b28e-12ca-06b5-6a4432b83927.png)

---

</details>

<details><summary>M.2 Type-M Type-E 変換アダプター</summary>

F-C228NV
※Type-A+Eのみのタイプがあるので要注意
※WiFiカードのストッパー頭が高いとインストール出来なくなるので要注意

![adapter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/c1b49f57-e5a7-eef3-4c46-dfdc59b57cec.png)
![adapter1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/fad5f3a3-1e4f-8115-9539-7ae1e068b87e.png)
![adapter2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/f81f2ef0-9a5d-bb4a-e1f5-d5d163074196.png)
---

</details>

<details><summary>SFPスティック ×2</summary>

- 10Gbps/ XGMII: NG
- 2.5Gbps/ HSGMII: OK
- 1Gbps/ SGMII: OK

公式動作確認済み
- 2.5G Copper: SFP-2.5G-T-R-RM
- 2.5G Optical Fiber: SFP-2.5G-BX0-U/SFP-2.5G-BX0-D
- TP-LINK 2.5G Copper: TL-SM410U
- TP-LINK 2.5G Optical Fiber: TL-SM411LSA-500m/TL-SM411LSA-500m

</details>

<details><summary>内部USBポート</summary>

9/ 10 pin
![usb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/dcd52343-e0cf-ca50-0a21-ba453af9de57.png)
![usb2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/9b6c8bb2-456b-f28f-1820-d586bcc52ab8.png)
![usbe.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/088515cc-938b-1d5f-c43c-e964c7c3f757.png)
type-e 何に使う・・・

---

</details>

:::
# インストール手順： SDカード起動の場合
::: note
### 事前準備
[Win32ディスクイメージャ](https://sourceforge.net/projects/win32diskimager/)
- [ダウンロード](https://sourceforge.net/projects/win32diskimager/files/latest/download)
:::
::: note
### Bananapi_bpi-r3-sdcardを解凍し、Win32ディスクイメージャを使用してイメージをマイクロ SD カードに書き込みます
- [デバイス用のOpenWrtファームウェアをダウンロード](https://firmware-selector.openwrt.org/?version=23.05.0&target=mediatek%2Ffilogic&id=bananapi_bpi-r3)
  - [SDCARD.IMG.GZ：SDカード用イメージ](https://downloads.openwrt.org/releases/23.05.0/targets/mediatek/filogic/openwrt-23.05.0-mediatek-filogic-bananapi_bpi-r3-sdcard.img.gz)
:::
::: note
### SDカードを挿入します
- ブート スイッチを 1111 (up,up,up,up) に設定します
- 電源コードを接続し、起動を待ちます (約 20 秒)
:::
::: note
### 完了
- [ログイン](http://192.168.1.1)
:::

::: note
### [SDカードサイズの拡張](https://forum.banana-pi.org/t/bpi-r3-openwrt-whats-the-best-way-to-use-the-rest-of-my-space-on-my-sd-card/15675/3)

<details><summary>ソフトウェアでの手順</summary>

Windows11の場合:
[Disk Genius](https://www.diskgenius.com/)

該当パーテーションを右クリック > **パーテーションを拡張する**

---
</details>

<details><summary>コマンドでの手順</summary>


- SDカードを二枚（メインとサブ）及びSDカードリーダーを用意する
- 二枚のSDカードそれぞれにWin32ディスクイメージャでSDカード用イメージを書き込む
- サブのSDカードをデバイスに差し込む
- デバイスを通電させる

```sh
opkg update
opkg install f2fs-tools
opkg install f2fsck
opkg install mkf2fs
opkg install fdisk
opkg install kmod-usb3
opkg install kmod-usb-storage
opkg install kmod-usb-storage-uas
opkg install parted mmc-utils
opkg install hdparm

```
- カードリーダーを利用し、メインのSDカードをデバイスのUSBに差し込む
```sh
partprobe /dev/sda

```
```sh
fdisk /dev/sda

```
```
d
```
```
7
```
```
n
```
```
7
```
```
未入力
```
```
未入力
```
```
t
```
```
7
``` 
```
CAE9BE83-B15F-49CC-863F-081B744A2D93
```
```
x
```
```
u
```
```
7
```
```
5452574F-2211-4433-5566-778899AABB07
```
```
n
```
```
7
```
```
production
```
```
r
```
```
w
```

- 断電しメインのSDカードをデバイスに入替挿入 ※USBカードリーダーを抜く
- 通電

- SDカード確認
```s
mmc cid read /sys/block/mmcblk0/device

```

- 速度確認
```sh
hdparm -t --direct /dev/mmcblk0p66

```
![sdspeed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/845c9d99-a39c-f3d6-46a6-3785e900a123.png)

---

</details>

![fdisk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/a503a48a-d536-76e9-aa93-beadc936ba62.png)

:::

::: note
### [CPUパフォーマンス](https://romanrm.net/router-cpu-performance)
```sh
time sh -c 'dd if=/dev/zero bs=1M count=100 | md5sum'

```
100+0 records in
100+0 records out
2f282b84e7e608d5852449ed940bfc51  -
real    0m 2.41s
user    0m 2.23s
sys     0m 0.69s
:::

# [新規設定用 オールインワンスクリプト 初心者対応](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
### ファン制御: 未検証
```sh
opkg update
opkg install kmod-hwmon-pwmfan

```
:::

::: note
### [Wi-Fiハードウェアアクセラレーション (WED)](https://openwrt.org/toh/linksys/e8450#wireless_ethernet_dispatch_wed_hw_acceleration_for_wireless_clients)
```sh
# irqbalance
uci set irqbalance.irqbalance.enabled='0'
# firewall
uci set firewall.@defaults[0].flow_offloading='1'
uci set firewall.@defaults[0].flow_offloading_hw='1'
# sqm
uci set sqm.eth1.enabled='0'
#
uci commit
# WED
sed -i -e "s/mt7915e/mt7915e wed_enable=Y/g" /etc/modules.d/mt7915e
#
reboot

```

- 動作確認
```sh
# interrupts
cat /proc/interrupts
# WED
cat /sys/module/mt7915e/parameters/wed_enable
cat /sys/kernel/debug/ppe*/bind
# firewall
grep HW_OFFLOAD /proc/net/nf_conntrack | sed -e 's#dst=[^[:space:]]*#dst=...#g'
#
opkg update
opkg install conntrack
conntrack -L

```
- WiFi6利用時

![スピードテスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/93524a69-288b-825d-e082-7c85aee6e915.png)

:::

::: note
### WiFiモジュール
必須アダプター
- F-C228NV

Mediatek
[firmware](https://github.com/openwrt/mt76/tree/master/firmware)

<details><summary>MT7922</summary>

![wifi6e.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/a93eb18d-93a8-7691-5014-c8fb4af2293e.png)

- 既知の問題：
  帯域幅: 80 MHz（160MHz不可）
  現在の出力: 3 dBm（表示異常: 出力値正常？）
  ハードウェアフローオフロード（非適用）
```sh
opkg update
opkg install kmod-mt7921e kmod-mt7922-firmware kmod-bluetooth

```

<details><summary>iw list</summary>

```
                Frequencies:
                        * 5955 MHz [1] (23.0 dBm)
                        * 5975 MHz [5] (23.0 dBm)
                        * 5995 MHz [9] (23.0 dBm)
                        * 6015 MHz [13] (23.0 dBm)
                        * 6035 MHz [17] (23.0 dBm)
                        * 6055 MHz [21] (23.0 dBm)
                        * 6075 MHz [25] (23.0 dBm)
                        * 6095 MHz [29] (23.0 dBm)
                        * 6115 MHz [33] (23.0 dBm)
                        * 6135 MHz [37] (23.0 dBm)
                        * 6155 MHz [41] (23.0 dBm)
                        * 6175 MHz [45] (23.0 dBm)
                        * 6195 MHz [49] (23.0 dBm)
                        * 6215 MHz [53] (23.0 dBm)
                        * 6235 MHz [57] (23.0 dBm)
                        * 6255 MHz [61] (23.0 dBm)
                        * 6275 MHz [65] (23.0 dBm)
                        * 6295 MHz [69] (23.0 dBm)
                        * 6315 MHz [73] (23.0 dBm)
                        * 6335 MHz [77] (23.0 dBm)
                        * 6355 MHz [81] (23.0 dBm)
                        * 6375 MHz [85] (23.0 dBm)
                        * 6395 MHz [89] (23.0 dBm)
                        * 6415 MHz [93] (23.0 dBm)
                        * 6435 MHz [97] (disabled)
                        * 6455 MHz [101] (disabled)
                        * 6475 MHz [105] (disabled)
                        * 6495 MHz [109] (disabled)
                        * 6515 MHz [113] (disabled)
                        * 6535 MHz [117] (disabled)
                        * 6555 MHz [121] (disabled)
                        * 6575 MHz [125] (disabled)
                        * 6595 MHz [129] (disabled)
                        * 6615 MHz [133] (disabled)
                        * 6635 MHz [137] (disabled)
                        * 6655 MHz [141] (disabled)
                        * 6675 MHz [145] (disabled)
                        * 6695 MHz [149] (disabled)
                        * 6715 MHz [153] (disabled)
                        * 6735 MHz [157] (disabled)
                        * 6755 MHz [161] (disabled)
                        * 6775 MHz [165] (disabled)
                        * 6795 MHz [169] (disabled)
                        * 6815 MHz [173] (disabled)
                        * 6835 MHz [177] (disabled)
                        * 6855 MHz [181] (disabled)
                        * 6875 MHz [185] (disabled)
                        * 6895 MHz [189] (disabled)
                        * 6915 MHz [193] (disabled)
                        * 6935 MHz [197] (disabled)
                        * 6955 MHz [201] (disabled)
                        * 6975 MHz [205] (disabled)
                        * 6995 MHz [209] (disabled)
                        * 7015 MHz [213] (disabled)
                        * 7035 MHz [217] (disabled)
                        * 7055 MHz [221] (disabled)
                        * 7075 MHz [225] (disabled)
                        * 7095 MHz [229] (disabled)
                        * 7115 MHz [233] (disabled)

```
---

</details>

 確認
 ```sh
 iw list | grep -A 15 Frequencies:

 ```

 ---

</details>

<details><summary>MT7921K</summary>

```sh
opkg update
opkg install kmod-mt7921e mt7921bt-firmware kmod-bluetooth

```

---

</details>

<details><summary>MT7925</summary>

```sh
opkg update
opkg install mt7925-firmware
#opkg install kmod-mt7925-common
#opkg install kmod-mt7925e 
```

---

</details>

Qualcomm

<details><summary>NFA765：未検証</summary>

```sh
opkg update
opkg install kmod-ath11k-pci ath11k-firmware-wcn6855

```

---

</details>

 ### 電波状況測定
 - [Wi-Fi / WLAN Monitor](https://the-sz.com/products/homedale/)
 ※Windows用
:::

::: note
### モデムモジュール
※eSIM利用：要`eUICC`サポート

- [WAN 接続に QMI モードで LTE モデムを使用する方法](https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle)



### モデム用LuCi
[luci-app-3ginfo-lite](https://github.com/4IceG/luci-app-3ginfo-lite?tab=readme-ov-file)
- opkg updateエラー対策
```sh
# wget-nossl削除
opkg remove wget-nossl

```
  
[luci-app-modemband](https://github.com/4IceG/luci-app-modemband)
[uci-app-sms-tool-js](https://github.com/4IceG/luci-app-sms-tool-js)
[internet-detector-mod-modem-restart](https://github.com/gSpotx2f/luci-app-internet-detector?tab=readme-ov-file#modem-restart-module-internet-detector-mod-modem-restart)
### キャリア基地局
キャリアバンド
- NTTドコモ: 1,3,19,21,28
- au (沖縄セルラー、UQ WiMAX含む): 1,11,18,26,28,41
- ソフトバンク (旧ワイモバイル、WCP含む): 1,3,8,41 (※WCP)

キャリア基地局
- [cellmapper](https://www.cellmapper.net/map)
  - 左サイドバーを展開 > Providerにjapanと入力 > 該当キャリア選択

### モジュール設定

<details><summary>Telit LN940 (Foxconn T77W676/ HP lt4220)</summary>

Interface
　MODEMMANAGER
 ![modemmanager.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/6ab9caf7-fcb5-65df-c8bb-9156bbb79381.png)
　QMI
![interface.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/35f74107-f279-b91e-2c9e-50493ee89a03.png)
　MBIM
![mbim.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/9984a0fc-6473-6863-5079-2356555a87c1.png)

3ginfo-lite
![3ginfo1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/c1943e43-15b1-a456-9451-52126f2d3c63.png)
LTE Bands Configuration
![band.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/cbbc272a-3072-ed7a-3ac7-f641826562a8.png)
ブロードバンドスピードテスト
![wwan3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/df792c15-f23e-16ff-74fa-90894bd62e04.png)

- [B072FB73KT](https://qiita.com/site_u/items/4c3363f7c1ce2b7b3bfa#m2-to-mini-pci-e-%E5%A4%89%E6%8F%9B%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF%E3%83%BC)
※アダプターにSIMを挿入
- [HP LT4220のSetmode0スタックの解決](https://radenku.com/mengatasi-hp-lt4220-stuck-setmode-0/)
- [LN940A9シリーズマニュアル](https://www.manualslib.com/products/Telit-Wireless-Solutions-Ln940a9-Series-9244074.html)
- [Telit LN940シリーズセルラーモジュールの初期診断データを収集するにはどうすればよいですか?](https://techship.com/faq/how-to-collect-initial-diagnostics-data-for-telit-ln940-series-cellular-modules-when-requesting-technical-support/)
- [collectd-Telit-LN940-wwan](https://github.com/Neelakurinji123/collectd-Telit-LN940-wwan)
- [Linux で libmbim とドライバー cdc_mbim を使用して、MBIM インターフェイス経由で簡単なデータ接続をセットアップするにはどうすればよいですか?](https://techship.com/faq/how-to-set-up-a-simple-data-connection-over-the-mbim-interface-using-libmbim-and-driver-cdc-mbim-in-linux/)
#### インストール

```sh
#! /bin/sh
grep -q IceG_repo /etc/opkg/customfeeds.conf || echo 'src/gz IceG_repo https://github.com/4IceG/Modem-extras/raw/main/myrepo' >> /etc/opkg/customfeeds.conf
wget https://github.com/4IceG/Modem-extras/raw/main/myrepo/IceG-repo.pub -O /tmp/IceG-repo.pub
opkg-key add /tmp/IceG-repo.pub
opkg update
opkg install kmod-usb-serial
opkg install kmod-usb-serial-option
opkg install kmod-usb-net-cdc-ether
opkg install kmod-usb-net-qmi-wwan
# opkg install kmod-usb-net-cdc-mbim # 排他利用
opkg install usbutils
opkg install qmi-utils
# opkg install mbim-utils
opkg install uqmi
# opkg install umbim
opkg install screen
# opkg install minicom
# opkg install picocom 
opkg install modemmanager
opkg install luci-proto-modemmanager
# opkg install luci-proto-qmi
# opkg install luci-proto-mbim
# opkg install usb-modeswitch
opkg install luci-app-3ginfo-lite
opkg install luci-app-modemband
opkg install sms-tool
opkg install luci-app-sms-tool	
opkg install luci-app-sms-tool-js
reboot

```

```sh
#! /bin/sh
opkg update
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'`
INTERNET_DETECTOR=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/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
INTERNET_DETECTER_A=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/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
INTERNET_DETECTOR_MODEM=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/internet-detector-mod-modem") ,65)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/internet-detector-mod-modem-restart_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${INTERNET_DETECTOR_MODEM}.ipk
opkg install /tmp/internet-detector-mod-modem-restart_all.ipk
rm /tmp/internet-detector-mod-modem-restart_all.ipk
INTERNET_DETECTOR_EMAIL=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/internet-detector-mod-email") ,60)}' | awk '{ sub(".ipk.*$",""); print $0; }'`
wget --no-check-certificate -O /tmp/internet-detector-mod-email_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${INTERNET_DETECTOR_EMAIL}.ipk
opkg install /tmp/internet-detector-mod-email_all.ipk
rm /tmp/internet-detector-mod-email_all.ipk
/etc/init.d/internet-detector restart
/etc/init.d/internet-detector enable

```
※luci-app-sms-toolがうまく入らない時はリムーブし再起動後入れなおす
- カスタムフィード
※カスタムフィードに関し、配布元の構成変更が頻繁にある為、インストール出来ない事場合、適弁コマンドを修正下さい
また依頼あれば対応します
#### デバイス
- 検出
```sh
grep 1bc7 /sys/bus/usb/devices/*/idVendor
echo 1 > /sys/bus/usb/devices/1-1.1/bConfigurationValue
# echo "1bc7 1901" > /sys/bus/usb-serial/drivers/option1/new_id

```
- 確認
```sh
lsusb && lsusb -t

```

```sh
ls -l /dev/cdc-wdm0

```

- リリース
※デバイス検出に失敗した時はリリースしてやり直す
```sh
echo -n "1-1.1" > /sys/bus/usb/drivers/usb/unbind

```

- ネットワークインターフェイス制御チャンネル確認
```sh
qmicli --device=/dev/cdc-wdm0 --device-open-proxy --wda-get-data-format

```

#### IPタイプ
- 確認
```sh
qmicli --device=/dev/cdc-wdm0 --get-expected-data-format

```
- IPタイプがRaw-IPではない場合
※Raw-IP を使用するように qmi_wwan ドライバーを変更
```sh
# ネットワーク インターフェイスを無効
ip link set dev wwan0 down
sleep 2
# Raw-IP サポートをトリガー
echo Y > /sys/class/net/wwan0/qmi/raw_ip
sleep 2
# ネットワーク インターフェイスを再度有効
ip link set dev wwan0 up

```

#### ATコマンド
- 開始
```sh:AT
screen /dev/ttyUSB2 115200

```
screen :
開始: `screen /dev/ttyUSB2 115200`
終了: `Ctrl`+`a`　`k`　`y`
minicom:
開始: `minicom -D /dev/ttyUSB2`
終了: `Ctrl`+`a` `q`
picocom:
開始: `picocom -b 115200 /dev/ttyUSB2` 
終了: `Ctrl`+`a` `Ctrl`+`x`

- エコーバック有効化
※大文字入力
```sh:AT
ATE1

```

- 各情報取得
```sh:AT
ATI

```

- USBタイプ確認
```SH
AT^USBTYPE?

```

#### モード
- 確認
```sh:AT
AT^SETMODE?

```
Telit Ln940 (Foxconn T77W676):
　Normal Mode=0 (1bc7:1900) MBIM
　Extension Mode=1 (1bc7:1901) MBIM + Serial port
　Legacy Mode=2	(1bc7:1900) QMI + Serial port
HP Lt4220:
　Normal Mode=0 (03f0:0857) MBIM
　Extension Mode=1 (03f0:0a57) MBIM + Serial port
　Legacy Mode=2 (03f0:0857) QMI + Serial port
 
- モード1変更 MBIM + Serial port
```sh:AT
AT^SETMODE= 1

```
- reboot
```sh
reboot

```

- バージョン確認
```sh:SSH
AT^VERSION?

```

- キャリアデータ確認
※10秒以上かかる
```sh:SSH
AT+COPS=?

```

- キャリアデータ設定 (docomo)
```sh
AT+COPS=0,2,"44010",7

```
au: `AT+COPS=0,2,"44051",7`
SoftBank: `AT+COPS=0,2,"44020",7`
Rakuten: `AT+COPS=0,2,"44110",7`
UQ: `AT+COPS=0,2,"44110",7`

- 自局電話番号確認
```sh
AT+CNUM

```

- ATコマンド終了
`Ctrl`+`a`　`k`　`y`

#### プロファイル
- 登録キャリアデータ確認
```sh
qmicli -d /dev/cdc-wdm0 --pdc-list-configs=software

```

- 登録キャリアデータ変更 (docomo)
```sh
CARRIERDATA='F3D782~'
qmicli -p -d /dev/cdc-wdm0 --pdc-activate-config="software,${CARRIERDATA}"

```

- 登録プロファイル確認
```sh
qmicli -d /dev/cdc-wdm0 --wds-get-profile-list=3gpp

```
Rakuten: `qmicli -d /dev/cdc-wdm0 --wds-modify-profile=3gpp,1,apn=rakuten.jp,pdp-type=IPV4V6,auth=CHAP,username=,password=,no-roaming=yes`

UQ: `qmicli -d /dev/cdc-wdm0 --wds-modify-profile=3gpp,1,apn=uqmobile.jp,pdp-type=IP,auth=CHAP,username=uq@uqmobile.jp,password=uq`

削除 (リスト1): `qmicli -d /dev/cdc-wdm0 --wds-delete-profile=3gpp,1`
削除 (リスト2): `qmicli -d /dev/cdc-wdm0 --wds-delete-profile=3gpp,2`

- プロファイル登録 (docomo)
```sh
qmicli -d /dev/cdc-wdm0 --wds-modify-profile=3gpp,1,apn=spmode.ne.jp,pdp-type=IPV4V6,auth=CHAP,username=spmode,password=spmode,no-roaming=yes

```

```sh
reboot

```

#### インターフェース
参考：docomo
```sh

WWAN="lte"
ZOON_NO='1'
uci set network.lte=interface
uci set network.lte.proto='modemmanager'
uci set network.lte.device='/sys/devices/platform/soc/8af8800.usb3/8a00000.dwc3/xhci-uci set hcd.0.auto/usb2/2-1'
uci set network.${wwan}.apn='spmode.ne.jp'
uci set network.${wwan}.auth='chap'
uci set network.${wwan}.allowedmode='4g'
uci set network.${wwan}.username='spmode'
uci set network.${wwan}.password='spmode'
uci set network.${wwan}.iptype='ipv4v6'
uci set network.${wwan}.loglevel='ERR'
uci set network.${wwan}.auto='0' #ブート時に開始されていません

uci del_list firewall.@zone[${ZOON_NO}].network='wwan'
uci add_list firewall.@zone[${ZOON_NO}].network='wwan'
uci commit network
uci commit firewall

# 3ginfo
uci set 3ginfo.@3ginfo[0]=3ginfo
uci set 3ginfo.@3ginfo[0].network='wwan'
uci set 3ginfo.@3ginfo[0].device='/dev/ttyUSB2'
uci commit 3ginfo

# modemband
MODEM_ID="1bc7:1901" #モード2の場合: 1bc71900
uci set modemband.@modemband[0]=modemband
uci set modemband.@modemband[0].iface='wwan'
uci set modemband.@modemband[0].modemid=${MODEM_ID} #モデムID
uci set modemband.@modemband[0].set_port='/dev/ttyUSB2'
uci commit modemband

# sms_tool
PNUMBER='81'
uci set sms_tool_js.@sms_tool_js[0]=sms_tool_js
uci set sms_tool_js.@sms_tool_js[0].pnumber=${PNUMBER}
uci set sms_tool_js.@sms_tool_js[0].readport='/dev/ttyUSB2'
uci set sms_tool_js.@sms_tool_js[0].sendport='/dev/ttyUSB2'
uci set sms_tool_js.@sms_tool_js[0].ussdport='/dev/ttyUSB2'
uci set sms_tool_js.@sms_tool_js[0].atport='/dev/ttyUSB2'
uci commit sms_tool_js

 reboot
 
```

- 接続確認
```sh
ifconfig wwan0

```
#### [MBIM](https://techship.com/support/faq/how-to-set-up-a-simple-data-connection-over-the-mbim-interface-using-libmbim-and-driver-cdc-mbim-in-linux/)

- 使用可能なすべてのオプション
```sh
mbimcli --help-all

```
- バージョン確認
```sh
mbimcli --version

```

- デバイスの機能と情報 (ファームウェアと IMEI コードなど) 
```sh
mbimcli --device=/dev/cdc-wdm0 --device-open-proxy --query-device-caps

```
- SIM カード情報
```sh
mbimcli -d /dev/cdc-wdm0 -p --query-subscriber-ready-status

```
- ネットワーク登録状態
```sh
mbimcli -d /dev/cdc-wdm0 -p --query-registration-state

```
- 接続 IP 情報
```sh
mbimcli -d /dev/cdc-wdm0 -p --query-ip-configuration=0

```

#### QMI
```sh
qmicli -d /dev/cdc-wdm0 -p --dms-get-ids

```

```sh
qmicli -d /dev/cdc-wdm0 --nas-get-system-selection-preference

```

```sh
qmicli -d /dev/cdc-wdm0 --device-open-proxy --uim-get-card-status

```

```sh
qmicli -d /dev/cdc-wdm0 --nas-get-rf-band-info

```

```sh
qmicli -d /dev/cdc-wdm0 --wds-get-current-settings

```

```sh
qmicli -d /dev/cdc-wdm0 --wds-get-packet-statistics

```

#### 確認
- 確認
```sh
sms_tool -d /dev/ttyUSB2 -j recv

```
- PING IPV4
```sh
ping -4 -I wwan0 one.one.one.one

```
- PING IPV6
```sh
ping -6 -I wwan0 one.one.one.one

```

### トラブル
- 要LTE/ 4G専用アンテナ (強度が低いと認証せず)
- wwanインターフェイスを再作成
- [スタートアップモデムリセット](https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle#troubleshooting)
```sh
sed -i "/exit 0/d" /etc/rc.local
echo "/sbin/uqmi -d /dev/cdc-wdm0 --set-device-operating-mode offline" >> /etc/rc.local 
echo "/sbin/uqmi -d /dev/cdc-wdm0 --set-device-operating-mode reset" >> /etc/rc.local 
echo "/bin/sleep 20" >> /etc/rc.local 
echo "/sbin/uqmi -d /dev/cdc-wdm0 --set-device-operating-mode online" >> /etc/rc.local 
echo "/sbin/uqmi -d /dev/cdc-wdm0 --set-autoconnect enabled" >> /etc/rc.local 
echo "/sbin/uqmi -d /dev/cdc-wdm0 --network-register" >> /etc/rc.local 
echo "exit 0" >> /etc/rc.local 

```

---

</details>

<details><summary>Fibocom L850-GL：検証中</summary>

[Fibocom L850 GL および L860 GL モード NCM Openwrt の設定](https://radenku.com/fibocom-l850-gl-l860-gl-mode-ncm-openwrt/)
[Driver for Fibocom L850-GL / Intel XMM7360 (PCI ID 8086:7360)](https://github.com/xmm7360/xmm7360-pci)

```sh
opkg update
opkg install chat comgt kmod-mii kmod-usb-net kmod-usb-serial kmod-usb-acm kmod-usb-net-cdc-ncm usbutils nano
opkg install xmm-modem

```

```sh
sed -i 's/option check_signature/# option check_signature/g' /etc/opkg.conf
echo "src/gz custom_generic https://raw.githubusercontent.com/lrdrdn/my-opkg-repo/main/generic" >> /etc/opkg/customfeeds.conf
echo "src/gz custom_arch https://raw.githubusercontent.com/lrdrdn/my-opkg-repo/main//$(grep "OPENWRT_ARCH" /etc/os-release | awk -F '"' '{print $2}')" >> /etc/opkg/customfeeds.conf
opkg update
opkg install chat comgt kmod-mii kmod-usb-net kmod-usb-serial kmod-usb-acm kmod-usb-net-cdc-ncm usbutils nano
opkg install xmm-modem

```

- `要電源断`


```sh
INTERNET='spmode.ne.jp'
uci add xmm-modem.@xmm-modem
uci set xmm-modem.@xmm-modem[-1].device='/dev/ttyACM0'
uci set xmm-modem.@xmm-modem[-1].apn='${INTERNET}'
uci set xmm-modem.@xmm-modem[-1].enable='1'
uci commit xmm-modem

```


`Ctrl`+`x`&`y`


```sh
screen /dev/ttyACM0 115200

```
</details>

:::

::: note
### SFPスティック
eth1(br-wan)=MT7986
sfp2(br-lan)=MT7531E
```sh
opkg update
opkg install kmod-sfp
opkg install ethtool-full

```
```sh
ethtool eth1
# ethtool sfp2

```
```sh
ethtool -m eth1
# ethtool sfp2

```


<details><summary>1G SFP</summary>

RJ45
- [UACC-CM-RJ45-1G](https://dl.ubnt.com/ds/uacc-cm-rj45_ds)

![eth1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/3a04af73-943a-f523-71a0-11626280e43b.png)

```sh
WAN="wan"
opkg update
opkg install kmod-sfp
opkg install ethtool-full
opkg install kmod-phy-marvell
uci set network.${WAN}.device='eth1'

```

---

</details>

<details><summary>10G SFP+</summary>

未検証
```sh
opkg update
opkg install kmod-phy-marvell-10g	

```
```sh
opkg update
opkg install kmod-be2net

```

---

</details>

<details><summary>ONU</summary>

- [MA5671A：検証中]()

![ma5671a1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/d9df326e-a6c3-c5c2-0f8a-278036686f9f.png)
![ma5671a2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/e8cf76fb-c4fd-9151-001a-cd312952d2be.png)

- [MA5671A](https://techinfodepot.shoutwiki.com/wiki/Huawei_MA5671A)
  - [Techdata](https://openwrt.org/toh/hwdata/huawei/huawei_ma5671a)

CPUが80度でスティックあっつあつ・・・
110度が正常設計値らしい

sfp2にインストール
※ホットプラグ対応
※起動まで約1分

ファームウェア
- Huawei
[Huawei MA5671A(V3)のルート手順](https://hack-gpon.org/ont-huawei-ma5671a-root-web/)

- OpenWrt
  - [MA5671A SFP GPON をサポート](https://forum.openwrt.org/t/support-ma5671a-sfp-gpon/48042/25) 
  - [Huawei MA5671A PONStick TFTPフラッシュ](https://www.xxshell.com/3561.html)
[Huawei MA5671A/ Alcatel/ Nokia 使用チュートリアル](https://www.odbook.com/1158.html)

[最新ファームウェア](http://file.xxshell.com/Download/PONstick%E7%8C%AB%E6%A3%92/%E5%8D%8E%E4%B8%BAMA5671A/%E9%98%BF%E7%91%9FMA5671A_WEB%E5%8D%87%E7%BA%A7%E5%8C%85/)

必要情報登録
- GPON SN
- LOID
- LOIDとPloamパスワード (相互に排他的)
- MACアドレス

- オートネゴシエーションオフ
```sh
ethtool -s eth1 autoneg off

```

MA5671A1 sshログイン
```sh
ssh root@192.168.1.10

```
`y`

<details><summary>sshログインに失敗する場合</summary>

```sh
opkg update
opkg install ssh-keygen
ssh-keygen -R 192.168.1.10

```

---

</details>

ステータス確認
```sh
onu ploamsg

```
パスワード確認
```sh
onu gtcpg- onu gtc

```

シリアルナンバー確認
```sh
onu gtcsng

```

curr_state=
　OLT 信号が非常に良好 -14dbm Ploam 状態 5
　OLT 信号が正常 -24dbm Ploam 状態 1
 ※ファイバーを接続するとPLAM 状態は5になりますが、数秒後に2に変わります
```sh
onu ploamsg

```

モジュールを強制的に動作させるには、自動ネゴシエーション オプションを無効にする必要があります
```sh
onu lanpsg 0

```
3: 1 Gbps / SGMII、自動ネゴシエーションがオン
4: 1 Gbps / SGMII、自動ネゴシエーションオフ
5: 2.5 Gbps / HSGMII (自動ネゴシエーションがオン)
```sh
fw_setenv sgmii_mode

```

</details>

:::

::: note
### M.2 SSD（PCIe）接続
- NVMe接続の場合

<details><summary>手順</summary>

![マウント.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/ecf7d65d-63f7-8655-c6db-cbc09b8d3a2d.png)

```sh
opkg update
opkg install f2fs-tools kmod-fs-f2fs pciutils fdisk kmod-nvme fstrim block-mount smartmontools smartd hdparm
opkg install wget-ssl
mkdir -p /etc/config-software
wget --no-check-certificate -O /etc/config-software/pacage_list https://github.com/gSpotx2f/packages-openwrt/raw/master/current/
LUCI_APP_DISKA_INFO=`cat /etc/config-software/pacage_list | awk '{print substr($0,index($0,"current/luci-app-disks-info") ,41)}'`
wget --no-check-certificate -O /tmp/luci-app-disks-info_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${LUCI_APP_DISKA_INFO}
opkg install /tmp/luci-app-disks-info_all.ipk
rm /tmp/luci-app-disks-info_all.ipk
/etc/init.d/rpcd restart



```
- 接続確認
```sh
lspci | grep SSD

```
- SSD確認
```sh
smartctl -a /dev/nvme0n1

```
- Trim
```sh
fstrim -av

```
- フォーマット
```sh
# f2fs
mkfs.f2fs /dev/nvme0n1

# ex4
mkfs.ext4 /dev/nvme0n1

```
- パーテーション作成
```sh
fdisk -l
fdisk /dev/nvme0n1

```
- マウント
```sh
mount /dev/nvme0 /mnt

```

- 速度確認
```sh
hdparm -t --direct /dev/nvme0n1

```

---

</details>

:::

::: note
### ネットワーク共有(NAS)
- [SAMBA4](https://qiita.com/site_u/items/aa9164859a78cb4e3f8f)

:::

::: note
### オーディオモジュール:未検証
- [reSpeaker 2-Mics Pi HAT for Raspberry Pi](https://www.seeedstudio.com/ReSpeaker-2-Mics-Pi-HAT.html)
- [BPi-R3 with ReSpeaker 2-mic hat soundcard](https://forum.banana-pi.org/t/bpi-r3-with-respeaker-2-mic-hat-soundcard/16815)
:::

::: note
### CRON: サンプル
```sh
# WiFI出力調整
03 00 * * * uci set wireless.radio0.txpower='0'; uci set wireless.radio1.txpower='0'; uci set wireless.radio2.txpower='0'; uci commit; wifi
03 08 * * * uci set wireless.radio0.txpower='20'; uci set wireless.radio1.txpower='20'; uci set wireless.radio2.txpower='20'; uci commit; wifi

```
:::

# 既知の問題の対策
:::note alert
### WiFi関係
場合によりWiFi接続不可
2023年12月1日現在

- WiFi高負荷利用時アップロードでダウンする問題
※ハードウェアオフロード必須
 ```sh
# wireless
#uci set wireless.radio1.channel='36'
uci set wireless.radio1.htmode='HE160'
# uci set wireless.default_radio1.encryption='sae-mixed' 新パッチで解決？
#uci set wireless.default_radio1.ieee80211w='0'
uci delete wireless.radio1.frag
uci delete wireless.radio1.rts
#
uci commit wireless

```
- Windwosで休止から復旧時WiFi速度が低下する問題
クライアント: Intel AX200,201,210,211,411

![SMPS.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/b48613ad-704c-8436-e9f5-e02d4d0e3e39.png)
![wifipower.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/84a4eaff-5a67-fbe6-4709-1e429bf6a7a3.png)


Intelカード以外で検証してみたい所です
情報あればご提供下さいませ

### 温度誤差確認
```sh
opkg update 
opkg install lm-sensors
opkg install lm-sensors-detect

```
```sh
sensoers

```
```sh
cat /sys/class/ieee80211/phy*/hwmon*/temp1_input

```
:::

## デバイス更新
:::note alert
### [アップグレード](https://openwrt.org/docs/guide-user/installation/generic.sysupgrade#package_upgrade_warning)
[ダウンロードサイト](https://firmware-selector.openwrt.org/?version=23.05.2&target=mediatek%2Ffilogic&id=bananapi_bpi-r3)
- [SYSUPGRADE](https://downloads.openwrt.org/releases/23.05.2/targets/mediatek/filogic/openwrt-23.05.2-mediatek-filogic-bananapi_bpi-r3-squashfs-sysupgrade.itb)

※ダウンロードしたファイル名に合わせリネーム
```sh:SSH: openwrt-23.05.2
wget /tmp/https://downloads.openwrt.org/releases/23.05.2/targets/mediatek/filogic/openwrt-23.05.2-mediatek-filogic-bananapi_bpi-r3-squashfs-sysupgrade.itb
sysupgrade -v /tmp/openwrt-23.05.2-mediatek-filogic-bananapi_bpi-r3-squashfs-sysupgrade.itb

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

```
:::

::: note
### [ROOTer OS](https://mikrotik.com/software)
- [RouterOS v7](https://mikrotik.com/download)

:::

::: note
### Banana Pi BPI-R4
![c9f3595328446fc7b4645ca65d0106dcd78eccac.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/688dca75-1a06-c29d-b305-aa8b1eab03ce.jpeg)
![5e56c3bbb570ca487373a300308e3e6b05734794.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/97b8cfec-29d9-af35-64d2-bbaecb6f1914.jpeg)
![ba9cb4211a656c725a3ef5e01e852492296e6aa3.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/51049e0f-9a76-06ab-78a2-8ea89deeb9f9.jpeg)

:::

# あとがき
- OpenWrt化というより、DIY要素の方が印象に残った
- 専用的設計だけあって、全てがあまりに簡単
- ハードウェアフローオフロードはチェックを入れないと有効にならない
（オールインワンスクリプトでは自動判別設定）
- オールインワンスクリプトで間髪入れずに次々設定入れるとSDが落ちる
一拍置くように入れるのが良さげ
- 高性能ルーター＆簡易NASが簡単に作れた
- WiFiの安定度はMT7986よりIPQ8074の方が桁違いに良い：2023年11月現在
- MT7922のE-KEYを手に入れたが、E+A-KEYと何が違うんだろうか
- LTEモデムはアンテナがある分、同環境のスマホより電波状況は良い (安定稼働中)
NCP-HG100は抜群のコストメリットだが、BPI-R3はオールインワンな所が良い


# 参考資料（感謝:relaxed:）
- [hack-gpon.org](https://github.com/hack-gpon/hack-gpon.github.io)
- [Hack Gpon](https://hack-gpon.org/banana-pi/)
- [BANANA PI R3とLTEモデムによるESIMサポート](https://black.jmyntrn.com/2023/11/12/esim-support-with-my-banana-pi-r3-and-an-lte-modem/)
- [3ginfo、3ginfo-lite、Modeminfo: Openwrtでモデム信号を読み取る](https://radenku.com/modem-openwrt-3ginfo-3ginfo-lite-modeminfo/)
- [NCP-HG100のOpenWrtと実験の記録](https://himahima.ldblog.jp/archives/57666526.html)
- [TekLager](https://teklager.se/en/knowledge-base/openwrt-4g-wwan-configuration/)
- [スマホなどでは電波がいいとアンテナピクトがたくさん立つの？](https://blog.goo.ne.jp/monjugawa-kq/e/3c86579bd9a122e0f2c58dcc80ead827)
- [HP LT4220のSetmode0スタックの克服](https://radenku.com/mengatasi-hp-lt4220-stuck-setmode-0/)
- [【無線LAN】OpenWrt【強化ファーム】18](https://maguro.2ch.sc/test/read.cgi/network/1582252096/)