Japanese notation
はじめに
UZ801の見分け方
OpenWrt化
概要手順
AlienWolfX/UZ801-USB_MODEM/OpenWRT
- openwrt-UZ801.tar.xzをダウンロードし解凍する
- UZ801をWindowsクライアントに接続
- adbにアクセス
- コマンドプロンプトで
OpenWRT-UZ801\flash.batを実行
adbアクセス
-
UZ801 V3.0:
usb_debug.htmlにアクセスし、デバイスを再起動
※要再接続 -
UZ801 V3.2:
usbdebug.htmlにアクセス
※再接続不要
Feed
opkg & distfeeds
conf
cat << 'EOF' > /etc/opkg.conf
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
arch all 1
arch noarch 1
arch aarch64_cortex-a53_neon 10
arch aarch64_cortex-a53 100
EOF
cat << 'EOF' > /etc/opkg/distfeeds.conf
src/gz reboot_base http://mirrors.cloud.tencent.com/lede/releases/21.02.3/packages/aarch64_cortex-a53/base
src/gz reboot_luci http://mirrors.cloud.tencent.com/lede/releases/21.02.3/packages/aarch64_cortex-a53/luci
src/gz reboot_packages http://mirrors.cloud.tencent.com/lede/releases/21.02.3/packages/aarch64_cortex-a53/packages
src/gz reboot_routing http://mirrors.cloud.tencent.com/lede/releases/21.02.3/packages/aarch64_cortex-a53/routing
src/gz reboot_telephony http://mirrors.cloud.tencent.com/lede/releases/21.02.3/packages/aarch64_cortex-a53/telephony
# src/gz openwrt_kiddin9 https://op.supes.top/packages/aarch64_cortex-a53
EOF
opkg & distfeeds (公式)
conf
cat << 'EOF' > /etc/opkg.conf
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
arch all 1
arch noarch 1
arch aarch64_cortex-a53 10
arch aarch64_generic 20
EOF
cat << 'EOF' > /etc/opkg/distfeeds.conf
src/gz reboot_base https://downloads.openwrt.org/releases/21.02.3/packages/aarch64_cortex-a53/base
src/gz reboot_luci https://downloads.openwrt.org/releases/21.02.3/packages/aarch64_cortex-a53/luci
src/gz reboot_packages https://downloads.openwrt.org/releases/21.02.3/packages/aarch64_cortex-a53/packages
src/gz reboot_routing https://downloads.openwrt.org/releases/21.02.3/packages/aarch64_cortex-a53/routing
src/gz reboot_telephony https://downloads.openwrt.org/releases/21.02.3/packages/aarch64_cortex-a53/telephony
EOF
コンソールツール (パッケージインストール・設定)
aios2
-
パワーシェル起動:キー入力:
Win+x>a>はい -
コンソールログイン (パワーシェル)
※192.168.1.1以外の場合、以下の形式で入力後にワンライナーを入力下さい
$ip="192.168.*.*"
- コンソールログイン (192.168.1.1用)
万能型ワンライナー
if(!$ip){$ip="192.168.1.1"}; ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=NUL -o GlobalKnownHostsFile=NUL -o HostKeyAlgorithms=+ssh-rsa -tt root@$ip
- aios2実行
Cloudflare Pages
mkdir -p /tmp/aios2 && wget --no-check-certificate -O /tmp/aios2/aios2.sh "https://site-u.pages.dev/www/aios2.sh" && chmod +x /tmp/aios2/aios2.sh && /tmp/aios2/aios2.sh
永続化
cat << 'EOF' > /usr/bin/aios2
#!/bin/sh
mkdir -p /tmp/aios2 && wget --no-check-certificate -O /tmp/aios2/aios2.sh "https://site-u.pages.dev/www/aios2.sh?t=$(date +%s)" && chmod +x /tmp/aios2/aios2.sh && exec /tmp/aios2/aios2.sh "$@"
EOF
chmod +x /usr/bin/aios2
aios2
繋がらない場合
- GitHub Pages (デプロイ元)
mkdir -p /tmp/aios2 && wget --no-check-certificate -O /tmp/aios2/aios2.sh "https://raw.githubusercontent.com/site-u2023/site-u2023.github.io/main/www/aios2.sh" && chmod +x /tmp/aios2/aios2.sh && /tmp/aios2/aios2.sh
パッケージ
温度センサー
ダウンロード
wget --no-check-certificate -O /tmp/luci-app-temp-status_0.3-3_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/19.07/luci-app-temp-status_0.3-3_all.ipk
opkg install /tmp/luci-app-temp-status_0.3-3_all.ipk
rm /tmp/luci-app-temp-status_0.3-3_all.ipk
/etc/init.d/rpcd reload
CPUパフォーマンス
ダウンロード
wget --no-check-certificate -O /tmp/luci-app-cpu-perf_0.4.1-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-cpu-perf_0.4.1-r1_all.ipk
opkg install /tmp/luci-app-cpu-perf_0.4.1-r1_all.ipk
rm /tmp/luci-app-cpu-perf_0.4.1-r1_all.ipk
/etc/init.d/rpcd restart
/etc/init.d/cpu-perf start
CPUステータス
ダウンロード
wget --no-check-certificate -O /tmp/luci-app-cpu-status_0.6.1-r1_all.ipk https://github.com/gSpotx2f/packages-openwrt/raw/master/current/luci-app-cpu-status_0.6.1-r1_all.ipk
opkg install /tmp/luci-app-cpu-status_0.6.1-r1_all.ipk
rm /tmp/luci-app-cpu-status_0.6.1-r1_all.ipk
/etc/init.d/rpcd reload
EXT4 ファイル破損
前提条件
Linux (Ubuntu、Debianなど)での復旧手順
※Live Linux可
mmcblk0p14のイメージをLinuxに転送
Linuxターミナルで以下を実行
ssh root@192.168.1.1 "dd if=/dev/mmcblk0p14 bs=1M" | sudo dd of=~/mmcblk0p14.img bs=1M status=progress
Linuxホスト上でext4をチェック&修復
sudo fsck.ext4 -f -y ~/mmcblk0p14.img
- エラーは
-yで自動修復 - “Filesystem clean” 等が出れば完了
修正済イメージをUZ801に書き戻し
再びLinux側で以下を実行。
sudo dd if=~/mmcblk0p14.img bs=1M status=progress | ssh root@192.168.1.1 "dd of=/dev/mmcblk0p14 bs=1M"
再起動して動作確認
ssh root@192.168.1.1 "reboot"
再起動後、dmesgやlogreadでext4のI/O エラーが消えていれば復旧成功
ルートをピボットしてfsckを実行する方法
ADBドライバのままRNDISにならない
# ルーター側
ip link set usb0 up
udhcpc -i usb0 -n
ssh root@192.168.100.1
# UZ801で実行
cat /sys/kernel/config/usb_gadget/g1/idVendor
cat /sys/kernel/config/usb_gadget/g1/idProduct
uci set gc.config.adb='0'
uci commit gc
# 設定確認
uci show gc
reboot
あとがき
OpenWrt化自体はバッチのおかげもあり、数分待つだけだが
UZ801を見つける事とADBモードに変更する方が手間かもしれない
車載でApple CarPlay & Android Auto用に作りました
LEDが動作確認用に良い感じです
躯体自体はぜんぜん熱くは無いんだけど、温度は70度~ある




