
高通 410 随身 WiFi 刷入 Debian
1 前言
最近收拾东西发现了一个高中购买的随身 WiFi 设备,通电可以开机但已经无法使用了,把它拆开发现是高通骁龙 410 的芯片,那么可玩性就很高了。
只要随身 WiFi 是骁龙 410 甚至 210 的主板,就可以完全把它当作一台安卓设备来使用,如刷入 Debian 当作 Linux 服务器、刷入 OpenWrt 当路由等。
需要注意,请不要把设备用于生产环境,即便为它做内存扩容或散热装置,也都不建议用于生产环境。
2 准备工作
2.1 查看板子型号
把外壳和屏蔽板打开,就可以看到芯片和主板的型号。
可以看到芯片上印有 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 驱动,首先先来安装它。
**进入 9008 模式的方法:**按住随身 WiFi 的 reset 键不放将其插入电脑,松开 reset 键打开计算机设备管理器,若在端口中有一个结尾 9008 的设备,则表明成功进入 9008 模式。
2.4 安装 miko(备份数据)
首先安装 Miko 备份工具,解压 MiKo_Loder Pro.zip
,运行 miko.exe
文件进行安装,安装完成后把 Loader.exe
文件复制到 miko 安装根目录,然后运行 Loader.exe
启动 miko。Loader.exe
文件就是用于破解,不然正常启动会需要注册密钥。
启动 miko 工具后,将随身 WiFi 以 9008 模式插入计算机,依次点击 Read > Partition Backup/Erase > Load Partition Structure 读取芯片,点击 Read Full Image 读取板子EMMC的全部镜像进行备份,右侧日志出现 BACKUP FULL EMMC BLOCK: Success
即成功。
2.4 安装 ADB 工具
解压 platform-tools-***.zip
压缩包,在环境变量中添加解压目录。
环境变量添加完成后,就可以在任意位置使用 adb 命令了,先在一个 cmd 窗口尝试执行 adb version
,有版本等信息返回说明一切正常。
**确认随身 WiFi 是否开启 ADB:**将随身 WiFi 直接插入电脑,打开计算机设备管理器,等待完全开机后在安卓驱动中有一个 ADB Interface
的设备表明 ADB 已经开启。
若是 UZ801
型号的主板,则需要连接上随身 WiFi 的热点,访问 http://192.168.100.1/usbdebug.html
开启 ADB。
还有部分 UFI003 型号默认不开 ADB,就需要进 9008 模式刷入已开启 ADB 的安卓包:
- 安装 miko 并完成数据备份
- 下载并解压包,地址:https://www.123pan.com/s/NUK8Vv-nRdl 提取码:1LEW
- 打开 miko 选择 Flash > xml flash > Xml Flasher
- 点击 Rawprogram 选择解压包中的
rawprogram0.xml
文件- 9008 模式插入随身 WiFi 设备
- 勾选显示的全部分区,点击 FLASH! 开始刷机
3 刷入 Debian
3.1 进入 Fastboot 模式
将随身 WiFi 设备直接插入计算机,确保安装了 adb 并配置了全局变量,任意位置打开 cmd 工具执行以下命令。若未配置全局变量,请在 adb 安装目录使用 cmd 工具。
1 | # 检测已插入设备 |
3.2 刷入 base & debian 包
在 OpenStick 项目下载 Debian 系统镜像,在这里你一共需要下载 2-3 个文件。
- 主板为 ufi001b/c 的下载 base.zip,其它下载 base-generic.zip 更为通用;
- debian.zip 需要下载;
- (非必须)如果主板为 sp970/ufi001c/uz801,则相应下载 boot-***.img 文件。
解压 base.zip(base-generic.zip) 压缩包,执行其中 flash.bat 脚本文件,连续回车直至窗口关闭。如果要重刷系统则不需要再进行 base 压缩包的任何操作。
解压 debian.zip 压缩包,如果主板是 sp970/ufi001c/uz801,请将下载的 boot-***.img 文件重命名为 boot.img 并替换 debian文件夹中的。
执行 debian 文件夹中的 flash.bat 脚本文件,耐心等待一段时间,出现 all done!!
即完成。
3.3 安装 RNDIS 网络驱动
刷入 debian 包后重新拔插随身 WiFi 设备,在计算机设备管理器中只显示 Android Device,则需要进行手动更新。
首先右键这个设备,选择更新驱动程序,然后依次点击浏览我的电脑以查找驱动程序 > 让我从计算机上的可用驱动程序列表中选取,然后选择 USB Composite Device
驱动并安装。
等待完成后重新拔插随身 WiFi 设备,此时在计算机设备管理器的其他设备中出现一个未知设备或以 RNDIS 开头的设备,依旧右键选择更新驱动程序,依次点击浏览我的电脑以查找驱动程序 > 让我从计算机上的可用驱动程序列表中选取,硬件类型选择网络适配器,驱动程序左侧厂商选择 Microsoft,右侧型号选择远程 NDIS 兼容设备。
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 | export TERM=linux |
接下来会看到 NetworkManager TUI 图形化界面,选中 Activate a connection 进入,找到要连接的 WiFi 输入密码进行连接,连接的 WiFi 前出现 *
即连接成功。
退出 nmtui 工具,使用 ifconfig
命令查看 IP,记录这个 IP 地址,在后边 SSH 连接方式会用到。
进行到此处时,就可以把随身 WiFi 设备插到任意供电设备,电脑和随身 WiFi 在同一网络环境下,就可以实现局域网内连接。
SSH 连接
打开 FinalShell 或其他非云端 SSH 工具,新建一个 SSH 连接,主机为前面 ifconfig
命令获取到的 IP 地址,用户名为 user
,密码为 1
。
使用 SSH 时 root 用户是禁止登录的,所以在连接时需使用默认 user 用户,如需管理员权限可以使用 su root
切换 root 用户,密码同样为 1
。
4 基础玩法
必须先切换 root 用户,避免操作权限问题。
1 | # 切换 root 用户,密码为 1 |
4.1 系统优化
更换软件源
1 | cat <<EOF> /etc/apt/sources.list |
上述命令使用中科大镜像源,你还可以使用阿里云、腾讯云、华为、清华大学等镜像源,国内几个常用软件源,注意 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 | echo none > /sys/class/leds/blue:wifi/trigger |
还可以写入 /etc/rc.local
文件,实现开机自启动。确保安装了 vim,使用以下命令打开文件夹并设置权限。
1 | vim /etc/rc.local && chmod +x /etc/rc.local |
将以下内容写入该文件。
1 |
|
不要省略 #!/bin/sh -e
和 exit 0
,在这两行之间填写要开机执行的命令。避免命令过早执行不生效,可以添加 sleep 5
来延迟五秒执行。
霓虹灯效果
关于 LED 灯的更高级的玩法,这里演示一个霓虹灯的效果,首先创建一个脚本文件存放命令。
1 | # 某些场景 755 权限不够,临时设置 777,后边记得 chmod 755 /home/user/script |
写入以下指令到这个文件里。
1 |
|
LED 灯将以 绿–蓝–红–黄–青–洋红–混合 的颜色顺序循环 5 次,最后关闭灯光闪烁,详细介绍参阅此处。
你可以用 /home/user/script/led_blink.sh
命令直接执行这个脚本,也可以放到开机自启动或其他操作后执行,这里演示开机自启动。
1 | # vim /etc/rc.local && chmod +x /etc/rc.local |
5 变砖恢复
如果设备因误操作或其他原因要进行恢复,可以使用 miko 工具恢复备份。首先准备好前面备份的全量包,如果没有备份或遗失可以找其他人同型号的备份包。
1 | 备份的全量包:https://www.123pan.com/s/NCtmjv-zRLav.html提取码:1188 |
启动 miko 工具后,将随身 WiFi 以 9008 模式插入计算机,依次点击 Flash > emmc block0 flasher,双击选择备份文件,点击 FLASH! 开始恢复。
6 写在最后
高通骁龙 410 的随身 WiFi 刷入 Debian 系统,让旧设备成为轻量 Linux 服务器,具有学习价值,但性能有限,谨慎用于生产。
如果还需要提升性能,可以查找 emcp 扩容、散热片散热、风扇散热、增益天线等相关教程。
感谢:骁龙 410 随身 WiFi 刷入 Debian 系统并优化 | Tony’s Blog
感谢:高通410 随身WIFI刷入Debian系统(玩法合集)-CSDN博客
感谢:随身wifi 救砖过程记录 - 橡皮筋 - 博客园
- 感谢您的赞赏。