1 前言

最近收拾东西发现了一个高中购买的随身 WiFi 设备,通电可以开机但已经无法使用了,把它拆开发现是高通骁龙 410 的芯片,那么可玩性就很高了。

只要随身 WiFi 是骁龙 410 甚至 210 的主板,就可以完全把它当作一台安卓设备来使用,如刷入 Debian 当作 Linux 服务器、刷入 OpenWrt 当路由等。

需要注意,请不要把设备用于生产环境,即便为它做内存扩容或散热装置,也都不建议用于生产环境。

2 准备工作

2.1 查看板子型号

把外壳和屏蔽板打开,就可以看到芯片和主板的型号。

image-20250530144014143

可以看到芯片上印有 QUALCOMM MSM8916,就是高通骁龙 410,板子上方的丝印代表主板型号,如图为 UFI 103S,这个要记录下来,后边需要用到。

2.2 文件下载

刷机过程中用到的所有工具及文件均来自网络,这里只作收集整理分享。

9008 驱动:https://www.123865.com/s/jV0Njv-uhNed

ADB 工具(官网最新版):https://googledownloads.cn/android/repository/platform-tools-latest-windows.zip

Miko 备份工具:https://www.123865.com/s/jV0Njv-ShNed

2.3 安装 9008 驱动

高通刷机驱动是通用的,并不区分手机品牌,这里演示及推荐安装的是 vivo 官方提供的 9008 驱动,首先先来安装它。

image-20250530164000405

**进入 9008 模式的方法:**按住随身 WiFi 的 reset 键不放将其插入电脑,松开 reset 键打开计算机设备管理器,若在端口中有一个结尾 9008 的设备,则表明成功进入 9008 模式。

image-20250530203749721

2.4 安装 miko(备份数据)

首先安装 Miko 备份工具,解压 MiKo_Loder Pro.zip,运行 miko.exe 文件进行安装,安装完成后把 Loader.exe 文件复制到 miko 安装根目录,然后运行 Loader.exe 启动 miko。Loader.exe 文件就是用于破解,不然正常启动会需要注册密钥。

image-20250530202302413

启动 miko 工具后,将随身 WiFi 以 9008 模式插入计算机,依次点击 Read > Partition Backup/Erase > Load Partition Structure 读取芯片,点击 Read Full Image 读取板子EMMC的全部镜像进行备份,右侧日志出现 BACKUP FULL EMMC BLOCK: Success 即成功。

image-20250530221218426

2.4 安装 ADB 工具

解压 platform-tools-***.zip 压缩包,在环境变量中添加解压目录。

image-20250530172517580

环境变量添加完成后,就可以在任意位置使用 adb 命令了,先在一个 cmd 窗口尝试执行 adb version,有版本等信息返回说明一切正常。

**确认随身 WiFi 是否开启 ADB:**将随身 WiFi 直接插入电脑,打开计算机设备管理器,等待完全开机后在安卓驱动中有一个 ADB Interface 的设备表明 ADB 已经开启。

若是 UZ801 型号的主板,则需要连接上随身 WiFi 的热点,访问 http://192.168.100.1/usbdebug.html 开启 ADB。

还有部分 UFI003 型号默认不开 ADB,就需要进 9008 模式刷入已开启 ADB 的安卓包:

  1. 安装 miko 并完成数据备份
  2. 下载并解压包,地址:https://www.123pan.com/s/NUK8Vv-nRdl 提取码:1LEW
  3. 打开 miko 选择 Flash > xml flash > Xml Flasher
  4. 点击 Rawprogram 选择解压包中的 rawprogram0.xml 文件
  5. 9008 模式插入随身 WiFi 设备
  6. 勾选显示的全部分区,点击 FLASH! 开始刷机

image-20250530210518079

3 刷入 Debian

3.1 进入 Fastboot 模式

将随身 WiFi 设备直接插入计算机,确保安装了 adb 并配置了全局变量,任意位置打开 cmd 工具执行以下命令。若未配置全局变量,请在 adb 安装目录使用 cmd 工具。

1
2
3
4
# 检测已插入设备
adb devices
# 进入 Fastboot 模式
adb reboot bootloader

image-20250530222458741

3.2 刷入 base & debian 包

OpenStick 项目下载 Debian 系统镜像,在这里你一共需要下载 2-3 个文件。

  • 主板为 ufi001b/c 的下载 base.zip,其它下载 base-generic.zip 更为通用;
  • debian.zip 需要下载;
  • (非必须)如果主板为 sp970/ufi001c/uz801,则相应下载 boot-***.img 文件。

image-20250530224934092

解压 base.zip(base-generic.zip) 压缩包,执行其中 flash.bat 脚本文件,连续回车直至窗口关闭。如果要重刷系统则不需要再进行 base 压缩包的任何操作。

解压 debian.zip 压缩包,如果主板是 sp970/ufi001c/uz801,请将下载的 boot-***.img 文件重命名为 boot.img 并替换 debian文件夹中的。

执行 debian 文件夹中的 flash.bat 脚本文件,耐心等待一段时间,出现 all done!! 即完成。

image-20250530231836277

3.3 安装 RNDIS 网络驱动

刷入 debian 包后重新拔插随身 WiFi 设备,在计算机设备管理器中只显示 Android Device,则需要进行手动更新。

首先右键这个设备,选择更新驱动程序,然后依次点击浏览我的电脑以查找驱动程序 > 让我从计算机上的可用驱动程序列表中选取,然后选择 USB Composite Device 驱动并安装。

image-20250531095356831

等待完成后重新拔插随身 WiFi 设备,此时在计算机设备管理器的其他设备中出现一个未知设备或以 RNDIS 开头的设备,依旧右键选择更新驱动程序,依次点击浏览我的电脑以查找驱动程序 > 让我从计算机上的可用驱动程序列表中选取,硬件类型选择网络适配器,驱动程序左侧厂商选择 Microsoft,右侧型号选择远程 NDIS 兼容设备

image-20250531205314371

3.4 连接设备

现在可以通过 adb shell 或 ssh 来连接 Debian 终端,接下来我们先使用 adb shell 连接完成一些基础配置,再演示使用 FinalShell 工具连接 SSH。

adb shell 连接&配置

在任意位置打开 cmd 窗口,确保随身 WiFi 插入电脑,运行以下命令,当看到 root@openstick:/# 出现,意味 Debian 成功刷入且连接成功。

1
adb shell

使用 nmtui 工具连接 WiFi,但需要先设置 TERM 环境变量,不然会出现 TERM environment variable needs set. 错误。

1
2
export TERM=linux
nmtui

接下来会看到 NetworkManager TUI 图形化界面,选中 Activate a connection 进入,找到要连接的 WiFi 输入密码进行连接,连接的 WiFi 前出现 * 即连接成功。

image-20250531212501035

退出 nmtui 工具,使用 ifconfig 命令查看 IP,记录这个 IP 地址,在后边 SSH 连接方式会用到。

image-20250531233116753

进行到此处时,就可以把随身 WiFi 设备插到任意供电设备,电脑和随身 WiFi 在同一网络环境下,就可以实现局域网内连接。

SSH 连接

打开 FinalShell 或其他非云端 SSH 工具,新建一个 SSH 连接,主机为前面 ifconfig 命令获取到的 IP 地址,用户名为 user,密码为 1

image-20250531233547939

使用 SSH 时 root 用户是禁止登录的,所以在连接时需使用默认 user 用户,如需管理员权限可以使用 su root 切换 root 用户,密码同样为 1

image-20250531221242077

4 基础玩法

必须先切换 root 用户,避免操作权限问题。

1
2
# 切换 root 用户,密码为 1
su root

4.1 系统优化

更换软件源

1
2
3
4
5
cat <<EOF> /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free
deb http://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free
deb http://mirrors.ustc.edu.cn/debian-security/ bullseye-security main contrib non-free
EOF

上述命令使用中科大镜像源,你还可以使用阿里云、腾讯云、华为、清华大学等镜像源,国内几个常用软件源,注意 https:// 换成 http://

安装常用软件包

1
apt update && apt install curl wget vim -y

安装较为频繁使用的软件,示例中为 curl(传输数据)、wget(下载文件)、vim(文本编辑器)。除此之外还可以选择 git(管理代码仓库)、unzip(压缩 zip 格式文件)等。

删除系统中不需要的软件包

1
apt-get autoremove && apt-get clean && apt-get autoclean

apt-get autoremove:卸载已经不再需要的软件包。这个命令会移除已经安装但是没有被其他软件所依赖的软件包。

apt-get clean:清理已经下载的软件包文件。这个命令会删除已经下载并安装的软件包的本地缓存文件,以释放磁盘空间。

apt-get autoclean:清理过期的软件包。这个命令会删除已经过期的软件包,但是保留最新的软件包版本的本地缓存文件,以便以后重新安装。

4.2 控制 LED 灯行为

随身 WiFi 开机后,LED 灯会不停闪烁,你可以通过以下命令来关闭 LED 灯闪烁。

1
2
echo none > /sys/class/leds/blue:wifi/trigger
echo none > /sys/class/leds/red:os/trigger

还可以写入 /etc/rc.local 文件,实现开机自启动。确保安装了 vim,使用以下命令打开文件夹并设置权限。

1
vim /etc/rc.local && chmod +x /etc/rc.local

将以下内容写入该文件。

1
2
3
4
5
#!/bin/sh -e
sleep 5
echo none > /sys/class/leds/blue:wifi/trigger
echo none > /sys/class/leds/red:os/trigger
exit 0

不要省略 #!/bin/sh -eexit 0,在这两行之间填写要开机执行的命令。避免命令过早执行不生效,可以添加 sleep 5 来延迟五秒执行。

霓虹灯效果

关于 LED 灯的更高级的玩法,这里演示一个霓虹灯的效果,首先创建一个脚本文件存放命令。

1
2
3
# 某些场景 755 权限不够,临时设置 777,后边记得 chmod 755 /home/user/script
mkdir -m 777 /home/user/script
vim /home/user/script/led_blink.sh && chmod +x /home/user/script/led_blink.sh

写入以下指令到这个文件里。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
# LED 闪烁控制脚本
for i in $(seq 1 5)
do
echo none > /sys/class/leds/green:internet/trigger
echo none > /sys/class/leds/blue:wifi/trigger
echo none > /sys/class/leds/red:os/trigger

echo 1 > /sys/class/leds/green:internet/brightness
sleep 0.25
echo 0 > /sys/class/leds/green:internet/brightness

echo 1 > /sys/class/leds/blue:wifi/brightness
sleep 0.25
echo 0 > /sys/class/leds/blue:wifi/brightness

echo 1 > /sys/class/leds/red:os/brightness
sleep 0.25

echo 1 > /sys/class/leds/green:internet/brightness
sleep 0.25
echo 0 > /sys/class/leds/red:os/brightness

echo 1 > /sys/class/leds/blue:wifi/brightness
sleep 0.25
echo 0 > /sys/class/leds/green:internet/brightness

echo 1 > /sys/class/leds/red:os/brightness
sleep 0.25

echo 1 > /sys/class/leds/green:internet/brightness
sleep 0.25
echo 0 > /sys/class/leds/green:internet/brightness
echo 0 > /sys/class/leds/red:os/brightness
echo 0 > /sys/class/leds/blue:wifi/brightness
done

echo none > /sys/class/leds/green:internet/trigger
echo none > /sys/class/leds/blue:wifi/trigger
echo none > /sys/class/leds/red:os/trigger

echo 0 > /sys/class/leds/green:internet/brightness
echo 0 > /sys/class/leds/blue:wifi/brightness
echo 0 > /sys/class/leds/red:os/brightness

LED 灯将以 绿–蓝–红–黄–青–洋红–混合 的颜色顺序循环 5 次,最后关闭灯光闪烁,详细介绍参阅此处

你可以用 /home/user/script/led_blink.sh 命令直接执行这个脚本,也可以放到开机自启动或其他操作后执行,这里演示开机自启动。

1
2
3
4
5
# vim /etc/rc.local && chmod +x /etc/rc.local
#!/bin/sh -e
sleep 5
/home/user/script/led_blink.sh &
exit 0

5 变砖恢复

如果设备因误操作或其他原因要进行恢复,可以使用 miko 工具恢复备份。首先准备好前面备份的全量包,如果没有备份或遗失可以找其他人同型号的备份包。

1
备份的全量包:https://www.123pan.com/s/NCtmjv-zRLav.html提取码:1188

启动 miko 工具后,将随身 WiFi 以 9008 模式插入计算机,依次点击 Flash > emmc block0 flasher,双击选择备份文件,点击 FLASH! 开始恢复。

image-20250602134907338

6 写在最后

高通骁龙 410 的随身 WiFi 刷入 Debian 系统,让旧设备成为轻量 Linux 服务器,具有学习价值,但性能有限,谨慎用于生产。

如果还需要提升性能,可以查找 emcp 扩容、散热片散热、风扇散热、增益天线等相关教程。

感谢:骁龙 410 随身 WiFi 刷入 Debian 系统并优化 | Tony’s Blog
感谢:高通410 随身WIFI刷入Debian系统(玩法合集)-CSDN博客
感谢:随身wifi 救砖过程记录 - 橡皮筋 - 博客园