LoginSignup
2
0

OpenWrt 23.05 Banana Pi BPI-R3 Windowsから導入

Last updated at Posted at 2023-11-02

:warning:Japanese notation

はじめに

初心者対応構成

  • スクリプトでの自動設定
  • UCIとLuCi及びWinSCPにて比較しながら作業がおススメ

PowerShellSSHアクセス

ssh root@192.168.1.1
ssh root@192.168.1.1のショートカット作成(デスクトップ)
powershell
$DESKTOP = ([Environment]::GetFolderPath("Desktop") + "\192.168.1.1.lnk")
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$DESKTOP")
$Shortcut.TargetPath = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
$Shortcut.Arguments = '-windowstyle hidden -ExecutionPolicy RemoteSigned "Start-Process ssh root@192.168.1.1"'
$Shortcut.IconLocation = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,0"
$Shortcut.WorkingDirectory = "."
$Shortcut.Save()

  • 強制的に貼り付け
  • yes

SSHログイン出来ない場合:exclamation:

known_hostsクリア

  • C:\Users\yourusername\.ssh\known_hosts ※Windows隠しファイル
powershell
Clear-Content .ssh\known_hosts -Force


OpenSSHのインストール
※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


既知の問題

ファームウェアについて

デバイスについて

Banana Pi BPI-R3

Banana_Pi_BPI-R3_interface.jpg

Bpi-r3_Metal_case.jpg

参考
Arch Linux

  • ハードウェア仕様
    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
  • MT7975N
  • MT7975P

用意するもの

購入品目

商品検索は画像検索がおススメ:bangbang:

メインボード

ストア

  • V1.0
    1.0.png

  • V1.1
    1.1.png

ケース

ACアダプター

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

シリコンゴムパッド(ケースの足)

シリコンゴムパッド

daisoゴム足1.png
daisoゴム足2.png
ゴム足.png


ヒートシンク

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

fac16b485512de3c90f35f525c89b319ddcbdb44.png

アンテナ

 規格:SAM メス/ RP-SMA メス
  SAM:ピンあり
  PR-SAM:ピンなし

WiFIアンテナ
  • 6dB 無指向性
    6.png
    5白.png

  • 6dB 無指向性
    lte6.png

  • 12dB 無指向性
    12.png
    12黒.png
    白.png

  • 12db 無指向性
    12.png

  • 12dB 無指向性
    ロング.png

  • 18dB 無指向性
    18.png

  • 10dB 指向性
    指向性.png

  • 指向性 磁気スタンド
    磁気スタンド.png

  • バルーン 無指向性(360度)
    バルーン.png
    おすすめ.png


アンテナケーブル

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

ケーブルタイプ
  • ケーブル
    RP-SMAオスピンあり.png
    白ケーブル.png

  • スプリッターケーブル
    スプリッターケーブル.png


マイクロSDカード

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

AdvaNceD.png


M.2 KEY-M(PCIe)

  • 規格:gen-3 x2(NVMeだと発熱が大きいかもしれない)
    ※隙間は約1mm~1.5mm

WWANモジュール

  • MINI-PCI-E

  • M.2

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

M.2 to mini PCI-E 変換アダプター

B072FB73KT

wwancard.png


WiFi6モジュール

公式動作確認済み

M.2

  • WiFi6e
    • MT7915E
    • MT7921K
    • MT7922
E-Key & E+A-Key
  • E-Key
    MT7922-removebg-preview.png
  • E+A-Key
    aekey.png

M.2 Type-M Type-E 変換アダプター

F-C228NV

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

adapter.png
adapter1.png
adapter2.png

SFPスティック ×2

  • 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

内部USBポート

9/ 10 pin

usb.png
usb2.png
usbe.png
type-e 何に使う・・・


インストール手順: SDカード起動の場合

Bananapi_bpi-r3-sdcardを解凍し、Win32ディスクイメージャを使用してイメージをマイクロ SD カードに書き込みます

SDカードを挿入します

  • ブート スイッチを 1111 (up,up,up,up) に設定します
  • 電源コードを接続し、起動を待ちます (約 20 秒)

完了

SDカードサイズの拡張

手順
  • SDカードを二枚(メインとサブ)及びSDカードリーダーを用意する
  • 二枚のSDカードそれぞれにWin32ディスクイメージャでSDカード用イメージを書き込む
  • サブのSDカードをデバイスに差し込む
  • デバイスを通電させる
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に差し込む
partprobe /dev/sda

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カード確認

mmc cid read /sys/block/mmcblk0/device

  • 速度確認
hdparm -t --direct /dev/mmcblk0p66

sdspeed.png


fdisk.png

CPUパフォーマンス

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

新規設定用 オールインワンスクリプト 初心者対応

固有設定

ファン制御: 未検証

opkg update
opkg install kmod-hwmon-pwmfan

Wi-Fiハードウェアアクセラレーション (WED)

# 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

  • 動作確認
# 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

WiFiモジュール

MT7922

wifi6e.png

  • 既知の問題:
    帯域幅: 80 MHz(160MHz不可)
    現在の出力: 3 dBm(表示異常: 出力値正常?)
    ハードウェアフローオフロード(非適用)
    mt76/firmware/
opkg update
opkg install kmod-mt7921e kmod-mt7922-firmware kmod-bluetooth

iw list
                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)


確認

iw list | grep -A 15 Frequencies:


MT7921K:未検証
opkg update
opkg install kmod-mt7921e mt7921bt-firmware kmod-bluetooth


NFA765:未検証
opkg update
opkg install kmod-ath11k-pci ath11k-firmware-wcn6855


電波状況測定

モデムモジュール

※eSIM利用:要eUICCサポート

モデム用LuCi

luci-app-3ginfo-lite

  • opkg updateエラー対策
# wget-nossl削除
opkg remove wget-nossl

luci-app-modemband
uci-app-sms-tool-js
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
    • 左サイドバーを展開 > Providerにjapanと入力 > 該当キャリア選択

モジュール設定

Telit LN940 (Foxconn T77W676/ HP lt4220)

Interface
 MODEMMANAGER
modemmanager.png
 QMI
interface.png
 MBIM
mbim.png

3ginfo-lite
3ginfo1.png
LTE Bands Configuration
band.png
ブロードバンドスピードテスト
wwan3.png

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-qmi-wwan
opkg install kmod-usb-net-cdc-mbim
opkg install kmod-usb-net-cdc-ether
opkg install usbutils
opkg install qmi-utils
opkg install screen
# opkg install minicom
# opkg install picocom 
opkg install luci-proto-qmi
opkg install luci-app-3ginfo-lite
opkg install luci-app-modemband
opkg install mbim-utils
opkg install kmod-usb-net-cdc-mbim
opkg install luci-proto-mbim
opkg install umbim
opkg install modemmanager
opkg install luci-proto-modemmanager	
opkg install usb-modeswitch
opkg install sms-tool
opkg install luci-app-sms-tool	
opkg install luci-app-sms-tool-js
mkdir -p /etc/config-software
# custom feed (log viewer, cpu status, cpu perf, temp status, Internet detector, disk info)
wget --no-check-certificate -O /etc/config-software/pacage_list https://github.com/gSpotx2f/packages-openwrt/raw/master/current/
PACAGE_LIST=`cat  /etc/config-software/pacage_list |sed -ne '/ <script type/,/<\/script>/p' |sed -e 's/<[^>]*>//g'`
#echo $PACAGE_LIST
INTERNET_DETECTOR=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/internet-detector_1") ,39)}'`
#echo $INTERNET_DETECTOR
wget --no-check-certificate -O /tmp/internet-detector_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${INTERNET_DETECTOR}
opkg install /tmp/internet-detector_all.ipk
rm /tmp/internet-detector_all.ipk
/etc/init.d/internet-detector enable

LUCI_APP_INTERNET_DETECTER_V=`echo ${PACAGE_LIST} | awk '{print substr($0,index($0,"current/luci-app-internet-detector") ,48)}'`
#echo $LUCI_APP_INTERNET_DETECTER_V
wget --no-check-certificate -O /tmp/luci-app-internet-detector_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${LUCI_APP_INTERNET_DETECTER_V}
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") ,49)}'`
wget --no-check-certificate -O /tmp/internet-detector-mod-modem-restart_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/${INTERNET_DETECTOR_MODEM}
opkg install /tmp/internet-detector-mod-modem-restart_all.ipk
rm /tmp/internet-detector-mod-modem-restart_all.ipk
/etc/init.d/internet-detector restart

reboot

※luci-app-sms-toolがうまく入らない時はリムーブし再起動後入れなおす

  • デバイス確認
ls -l /dev/cdc-wdm0

lsusb && lsusb -t

  • デバイス検出確認
grep 1bc7 /sys/bus/usb/devices/*/idVendor

  • デバイス検出
echo 1 > /sys/bus/usb/devices/1-1.1/bConfigurationValue

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

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

Raw-IP を使用するように qmi_wwan ドライバーを変更

  • ネットワーク インターフェイスを無効
ip link set dev wwan0 down

  • Raw-IP サポートをトリガー
echo Y > /sys/class/net/wwan0/qmi/raw_ip

  • ネットワーク インターフェイスを再度有効
ip link set dev wwan0 up

  • ATコマンド開始
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

  • エコーバック有効化
    ※大文字入力
AT
ATE1

  • 各情報取得
AT
ATI

  • USBタイプ確認
AT^USBTYPE?

  • モード確認
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

Linux で libmbim とドライバー cdc_mbim を使用して、MBIM インターフェイス経由で簡単なデータ接続をセットアップするにはどうすればよいですか?

  • モード1変更 MBIM + Serial port
AT
AT^SETMODE= 1

  • reboot
reboot

  • バージョン確認
SSH
AT^VERSION?

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

  • キャリアデータ設定 (docomo)
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

  • 自局電話番号確認
AT+CNUM

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

  • 登録キャリアデータ確認

qmicli -d /dev/cdc-wdm0 --pdc-list-configs=software

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

  • 登録プロファイル確認
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)
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

reboot

# インターフェース (docomo)
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
 
  • 接続確認
ifconfig wwan0

qmicli -d /dev/cdc-wdm0 -p --dms-get-ids

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

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

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

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

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

  • SMS確認
sms_tool -d /dev/ttyUSB2 -j recv

  • PING IPV4
ping -4 -I wwan0 one.one.one.one

  • PING IPV6
ping -6 -I wwan0 one.one.one.one

mbimcli - -help-all

mmcli -L

トラブル

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 


Fibocom L850-GL:検証中

Fibocom L850 GL および L860 GL モード NCM Openwrt の設定
Driver for Fibocom L850-GL / Intel XMM7360 (PCI ID 8086:7360)

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

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

  • 要電源断
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

screen /dev/ttyACM0 115200

SFPスティック

eth1(br-wan)=MT7986
sfp2(br-lan)=MT7531E

opkg update
opkg install kmod-sfp
opkg install ethtool-full

ethtool eth1
# ethtool sfp2

ethtool -m eth1
# ethtool sfp2

1G SFP

RJ45

eth1.png

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


10G SFP+

未検証

opkg update
opkg install kmod-phy-marvell-10g	

opkg update
opkg install kmod-be2net


ONU

ma5671a1.png
ma5671a2.png

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

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

ファームウェア

最新ファームウェア

必要情報登録

  • GPON SN

  • LOID

  • LOIDとPloamパスワード (相互に排他的)

  • MACアドレス

  • オートネゴシエーションオフ

ethtool -s eth1 autoneg off

MA5671A1 sshログイン

ssh root@192.168.1.10

y

sshログインに失敗する場合
opkg update
opkg install ssh-keygen
ssh-keygen -R 192.168.1.10


ステータス確認

onu ploamsg

パスワード確認

onu gtcpg- onu gtc

シリアルナンバー確認

onu gtcsng

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

onu ploamsg

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

onu lanpsg 0

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

fw_setenv sgmii_mode

M.2 SSD(PCIe)接続

  • NVMe接続の場合
手順

マウント.png

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



  • 接続確認
lspci | grep SSD

  • SSD確認
smartctl -a /dev/nvme0n1

  • Trim
fstrim -av

  • フォーマット
# f2fs
mkfs.f2fs /dev/nvme0n1

# ex4
mkfs.ext4 /dev/nvme0n1

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

  • マウント
mount /dev/nvme0 /mnt

  • 速度確認
hdparm -t --direct /dev/nvme0n1


ネットワーク共有(NAS)

CRON: サンプル

# 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

既知の問題の対策

WiFi関係

場合によりWiFi接続不可
2023年12月1日現在

  • WiFi高負荷利用時アップロードでダウンする問題
    ※ハードウェアオフロード必須
# 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
wifipower.png

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

温度誤差確認

opkg update 
opkg install lm-sensors
opkg install lm-sensors-detect

sensoers

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

デバイス更新

アップグレード

ダウンロードサイト

※ダウンロードしたファイル名に合わせリネーム

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

opkg update
luci-app-attendedsysupgrade
opkg install auc

Banana Pi BPI-R4

c9f3595328446fc7b4645ca65d0106dcd78eccac.jpeg
5e56c3bbb570ca487373a300308e3e6b05734794.jpeg
ba9cb4211a656c725a3ef5e01e852492296e6aa3.jpeg

あとがき

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

参考資料(感謝:relaxed:

2
0
0

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
2
0