LoginSignup
0
0

OpenWrt WSR-6000AX8 Windowsから導入

Last updated at Posted at 2023-07-26

:warning:Japanese notation

掲示板

バージョン23.05.3対応済み
※未検証(保守のみ)

はじめに

初心者対応構成

  • スクリプトでの自動設定
  • 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


既知の問題

ファームウェアについて

デバイスについて

WSR-6000AX8ラインナップ

  • 型番について
    末尾なし:通常型番
    [/D] : 特定販売店向け@通常型番と同等品
    [/N] : アマゾン向け@通常型番と同等品

  • WSR-6000AX8-MB
    WSR-6000AX8.png

  • WSR-6000AX8-CG
    WSR-6000AX8-CG__0101.png

  • ハードウェア仕様
    ARMv8 Cortex-A53 (64-bit)

    • CPU : 1.6 GHz ×4
    • RAM : 512 MB
    • Flash Memory : 128 MB
    • WiFi : 6 (ax)
    • Ethernet : 2.5 Gbps x1 / 1 Gbps x3
    • USB : -
    • Power : DC 12 V / 2 A
  • MediaTek MT7986B

OpenWrt化手順:Flash instruction using initramfs image:

事前準備

  • スクリプト: buffalo
  • ディレクトリ: C:\openwrt

警告 > 強制的に貼り付け

powershell
Set-ExecutionPolicy Unrestricted
New-Item C:\openwrt -ItemType Directory -Force 
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/site-u2023/buffalo/main/wsr-6000ax8.ps1" -OutFile "C:\openwrt\wsr-6000ax8.ps1"
C:\openwrt\wsr-6000ax8.ps1

デバイスをインターネット回線から物理的切断(ONU・HGWからLAN線を外す)

1. TFTPサーバーを立てる (192.168.11.2/24)

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

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

Servaが起動

  • I'm a "Community" userを選択
    • 7 Secs待つ
      • 許可

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

2. TFTPサーバーのトップディレクトリに ??-initramfs-kernel.bin を linux.ubi-recovery として置く

3. AOSSボタンを押しながらルーターの電源を接続し、TFTPダウンロードが開始されるまで押したままにする

デバイス(WSR-6000AX8)のAOSSボタンを押しながら電源に接続
TFTPダウンロードが開始されるまで押したままにする
※10数秒程度でログが出る

  • 以下2行のログを確認しServaを閉じる
    • [**/** **:**:**.***] TFTP Inf: Read file <linux.ubi-recovery>. Mode octet
    • [**/** **:**:**.***] TFTP Inf: <linux.ubi-recovery>: sent blks=5393 blkSz=1468, Total 7916412 bytes in 2s, err recovery=0
  • ルーターが自動で再起動
※うまくいかない場合、以下からServaを起動させ再度実行
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\tftpdroot\linux.ubi-recoveryを指定
        • Selectをクリック
    • OKをクリック

4. TFTPダウンロードが終了するとカーネルが起動するので 192.168.1.x/24 のマシンからSCPで ??-squashfs-sysupgrade.bin をターゲット(root@192.168.1.1:/tmp)にコピーする

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

powershell
scp -r C:\openwrt\buffalo\openwrt-mediatek-filogic-buffalo_wsr-6000ax8-squashfs-sysupgrade.bin root@192.168.1.1:/tmp/openwrt-mediatek-filogic-buffalo_wsr-6000ax8-squashfs-sysupgrade.bin

5. SSHで root@192.168.1.1 にログインする

powershell
ssh root@192.168.1.1

yes

※SSHログイン出来ない場合、以下を削除(隠しファイル)

C:\Users\yourusername\.ssh\known_hosts

powershell
Clear-Content .ssh\known_hosts -Force


公開されているメーカーファームウェアを使用して元のファームウェアに戻すことが可能になったのでバックアップは必須ではなくなった

6. 後でメーカーファームウェアに戻したい場合はここで ubi パーティション(/dev/mtd5) のバックアップを取る (取得後ルーター外に転送するのを忘れずに)
  • tmpフォルダで作業
cat /proc/mtd # 確認
dd if=/dev/mtd5 of=/tmp/mtd5.firmware

Windowsのダウンロードフォルダにファイルを保存

  • TeraTerm
    • ファイル
      • CCH SCP
      • 点線の下段
        From:/tmp/mtd5.firmware
        To:C:\Users\%username%\Downloads
      • Receive
        ※ ダウンロードフォルダに格納

絶対に電源は抜かない事

7. sysupgrade -n /tmp/??-squashfs-sysupgrade.bin を実行する (自動で再起動する)

SSH
sysupgrade /tmp/openwrt-mediatek-filogic-buffalo_wsr-6000ax8-squashfs-sysupgrade.bin

  • SSHが自動終了
  • LEDが消灯し、ルーターが再起動

8. あとはお好きにどうぞ

  • OpenWrt化完了

デバイスをインターネット回線に物理的接続(ONU・HGWからLAN線に繋ぐ)

クライアントPCをDHCPにする

powershell: DHCP
C:\openwrt\ip\dhcp.ps1
Set-ExecutionPolicy Restricted

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

デバイス更新

アップグレード

ダウンロードサイト

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

メーカーファームウェアの復元方法

事前準備

以下をダウンロード

メーカーファームウェアを buffalo-enc で復号し sysupgrade -F -n で書き込む

警告 > 強制的に貼り付け

powershell
& ".\Downloads\wsr6000ax8-102.exe"
New-Item C:\openwrt\ -ItemType Directory -Force
Invoke-WebRequest -Uri "https://github.com/musashino205/firmware-wintools/releases/download/0.6.5.2/firmware-wintools_0.6.5.2.zip" -OutFile "C:\openwrt\firmware-wintools.zip"
Expand-Archive -Path C:\openwrt\firmware-wintools.zip -DestinationPath C:\openwrt\ -Force
Remove-item C:\openwrt\firmware-wintools.zip
C:\openwrt\firmware-wintools\firmware-wintools.exe buffalo-enc -i C:\BUFFALO\wsr6000ax8-102\wsr_6000ax8_jp_102 -o C:\BUFFALO\wsr6000ax8-102\wsr_6000ax8_jp_102.bin \ -d -k Buffalo -O 0xc8 -l
scp -r C:\BUFFALO\wsr6000ax8-102\wsr_6000ax8_jp_102.bin root@192.168.1.1:/tmp/wsr_6000ax8_jp_102.bin

wsr-6000ax8_複合化.png

powershell
ssh root@192.168.1.1

yes

※SSHログイン出来ない場合、以下を削除(隠しファイル)

C:\Users\yourusername\.ssh\known_hosts

powershell
Clear-Content .ssh\known_hosts -Force


  • 確認
SSH
hexdump -n 64 -v -C /tmp/wsr_6000ax8_jp_102.bin

wxr-6000ax8_after_bin.png

  • メーカーファームウェア復元
SSH
sysupgrade -F -n /tmp/wsr_6000ax8_jp_102.bin

  • 自動再起動

絶対に電源は抜かない事

数分待つ

あとがき

令和5年7月現在、デバイスは中古市場ではまだまだ高い
安く手に入ったので検証してみました

WiFiでベンチマークするとアップロードでネットワークが落ちる、が自動復旧する
この辺がヒントか

IPV6(OCNバーチャルコネクトの為V4はmapでファイアーウォールを使う)は800超えてもCPU負荷無し
※ハードウェア フローオフロード要チェック
NIC接続はWXR-5950AX12より速い(WiFi接続は同等)

書き換えなくても、まんまsysupgradeだった
再起動したらストックファーム
チョー簡単でした
感謝です

参考資料(感謝:relaxed:

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