随身wifi刷入Linux
前言
介绍
随身wifi原本的作用为开热点以供手机电脑等设备连接上网,工作原理和手机热点几乎一样,不过大多数随身wifi是通过焊接在其上的esim连入互联网,商家也是凭借esim月租套餐来挣钱。为了吸引顾客,有些随身wifi本身卖的很便宜,但性能并不差,可以关注酷安随身wifi话题,偶尔有随身wifi的车再叠加个红包,十元包邮就可以买下一个。本文记录基于OpenStick项目将随身wifi刷成Linux发行版debian,后续将其配置为网关服务器以及DNS服务器,同时作为小型服务器运行一些任务,踩了不少坑,写文以记录
准备工具
- 螺丝刀
- windows系统电脑
- 随身wifi资源集
- 一颗不怕折腾的心
到手
到手后大概就长这个样子,小巧但不怎么精致(小小的也很可爱呢…雾)。

用螺丝刀拆掉后面几颗螺丝,查看板子丝印,可以看到UFI003,这就是高通方案,可以刷Linux,如果是中兴微的后续就不用看了,刷不了的,具体哪些版本可以刷可以参考OpenStick的WIKI:https://www.kancloud.cn/handsomehacker/openstick/2636505

刷机
安装软件
安装9008驱动
下载随身wifi准备工具.zip
,解压并打开9008免签名驱动
文件夹,安装驱动9008免签名驱动.exe
安装Miko_pro
下载MiKo_Pro.zip
,安装miko.exe
并复制loader.exe
到安装目录
安装随身WiFi助手
下载随身WiFi助手1.5.2.exe
,默认安装就行,会在桌面上生成快捷方式
进9008端口
打开桌面上的随身WiFi助手,选择2打开设备管理器

按着板子右上角的复位按钮插入电脑的usb口

听得电脑叮咚一声,设备管理器里也识别到了9008端口

备份
俗话说刷机不备份,变砖两行泪,第一件事就是给随身wifi做个全量备份,出了问题只要还能进9008端口,随时刷回到手状态(9008端口是高通芯片的刷机端口,跟存储系统的磁盘没关系,理论上哪怕emmc坏了,按住复位按钮仍然可以进9008)
打开Miko_pro安装路径下的loader.exe
,依次选择 Read ,Partition Backup/Earese 点击左下角 Load Partition Structure 看到右边有系统信息的输出就说明连上了,可以看到这个是MSM8916的SOC,emmc为8G,还不错

点击右下角Read Full Image,然后选择保存位置,耐心的等进度条跑完吧。接下来就可以放心大胆的折腾了
开刷
首先下载刷机包debian-ufi+003.7z
,这里感谢OpenStick项目作者@handsomehacker,刷机包提供者酷安@jsbsbxjxh66,酷安@苏苏小亮亮等一众为随身wifi做出贡献的大佬们。重新拔插随身wifi,这次不用按复位按钮
打开桌面上的随身WiFi助手,可看到左上角“ADB设备连接状态: 已连接”,选择k 重启到fastboot
解压debian-ufi+003.7z
进入文件夹,点击一键刷入.bat,选1确定执行,然后等待刷机完成就行了
通过RNDIS进入debian
重新拔插棒子,打开设备管理器,需要找到其他设备里的RNDIS更新一下驱动(可能有的电脑直接就有了这个选项,但是我这里其实并没有其他设备以及RNDIS,这个坑卡我很久,最后先卸载之前安装的9008免签名驱动.exe
,然后重新拔插棒子,再看设备管理器就有了,如果和我一样可以试试这个方法)

- 更新驱动程序
- 浏览我的电脑以查找驱动程序
- 让我从计算机上的可用驱动程序列表中选择;
- 找到 “网络适配器”;
- 左侧厂商找到 “Microsoft”,右侧找到 “基于远程 NDIS 的 Internet 共享设备”;
- 在跳出的警告对话框中选择 “是”。

打开控制面板\网络和 Internet\网络连接,可以看到已经识别到棒子的ip了。

用SSH软件连上棒子,推荐MobaXterm,连接10.42.0.1,指定用户名为root,root密码123456。

配置
连接wifi
首先用手机或其他设备连一下家里的wifi,然后看一下路由器ip,我的路由器ip为192.168.31.1
![]() |
![]() |
---|
测试一下现在棒子网络
1 | root@4G-WIFI:~# ping baidu.com |
使用命令nmtui,选择编辑连接,移动到右侧<添加>(注意:其他文章里多数建议先删除Wi-Fi下的wifi,实际上不要删,留着可以用来配置自动切换wifi模式作为热点还是连接wifi)。

选择您要创建的连接类型,选Wi-Fi,创建

- “配置集名称“随便起个名字,后面需要用到,我这里填client
- “设备”填wlan0
- “SSID”填你想要连的wifi的名字,比如我就填1618c,
- “模式”不用改,保持为Client
- “安全性”选择WPA & WPA2 个人
- “密码”填wifi的密码
- “BSSID”、“克隆的MAC地址”、“MTU”不用填
- “IPv4配置”改为手动(尽量手动配,如果是蹭别人的网选自动很可能就找不到棒子的ip了),选右边显示,“地址”添加一个ip,把路由器ip最后一位改一下就行,比如我填192.168.31.19,“网关”填路由器ip,“DNS服务器”添加路由器ip
- “IPv6配置”改为禁用(不禁用可能会有奇奇怪怪的问题,看自己喽)


然后一路确定返回就行了
1 | root@4G-WIFI:~# nmcli connection down wifi #关闭原本的名称为wifi的配置集,也即是关掉热点 |
此时再ping百度已经可以通了
1 | root@4G-WIFI:~# ping baidu.com |
如果我们想要换一个连接的wifi,只需要回到编辑连接,选择client,<编辑…>,然后修改里面的“SSID”、“密码”、IPv4配置里的“地址”“网关”和“DNS服务器”
自动切换wifi模式
如果你像我一样会带着这个棒子去其他地方,那么每次换连接的wifi都要带个电脑通过RNDIS的SSH去改配置吗?不不不,这也太麻烦了。我们希望棒子能够这样:先去尝试连接wifi,如果30秒内没能成功连上,则自动开启热点,我们可以用手机通过热点SSH进去修改配置。
其实也很容易,一个脚本就实现了,在电脑上新建一个文件autoap.sh,内容如下,上传到/root文件夹下
1 |
|
在/etc/rc.local的exit 0
之前加上sh /root/autoap.sh &
1 | root@4G-WIFI:~# cat /etc/rc.local |
这样就可以了,当你拿着棒子到其他地方,它里面保存的wifi信息肯定是连不上的,就会开启热点,热点名字为4G-wifi,密码为12345678,用手机连上这个热点,SSH工具(推荐JuiceSSH或者Termius)连接棒子root@10.42.0.1,就可以nmtui改client里的配置为新wifi的信息了,然后reboot一下
更新
连上网后一定要更新一下,不然有可能ping的通但什么都下载不下来,然后花费好长时间寻找原因,甚至怀疑自己,重新刷机N次(没错,那个大冤种就是我…悲),又是一个坑…
1 | apt-get update |
还原
如果因为种种原因系统故障,ADB起不来了,fastboot也进不去,就需要恢复一下到手状态了,还记得开始时我们的备份吗?这时它的作用就显现出来了
按复位按钮进9008,打开Loader.exe,点击flash,点击emmc block0 flasher,然后双击选择之前备份的救砖包(.bin文件),FLASH刷入,耐心等待吧

备份大法好呀!
总结
目前简单搭起了整个系统,但是还没让它运行什么服务,接下来几篇文章将会一步步给它赋予新能力,可作为网关和DNS服务器,当成局域网的旁路由来使用,兼顾透明代理和广告拦截功能,还可以跑些小任务,比如bilibili签到。啧啧啧,一步步压榨它的性能