刷机包:https://cloud.189.cn/web/share?code=neAnmabAnYji 6nti
随身WiFi(棒子410)折腾日记 - 刷入Debian
本章只介绍初始状态到刷入 Debian 的内容,关于安卓暂不介绍
酷安搬运简介
本教程主要面向001系列(包括003和903等)的随身wifi(以下简称板子),这些型号在本版块俗称“纸盒/芷荷”系,它们的元器件布局基本相同,不少文件通刷。其它410板子比如uz801,16-v3等可以参考此教程,理论方法一样,但不适用于中兴,华为,联发科,展讯等芯片的随身WiFi。
如果需要刷openwrt和Debian,只有纸盒系和类纸盒的uz801 sp970,其它型号不能刷。
拿到板子后插卡确认能否识别sim卡以及数据wifi功能是否正常,然后撬开外壳确定自己的板子是什么型号。下面开始刷机前后的工作了,需要用到的工具文件在此下载
首先,我这只介绍之前常用的随身高通的410棒子,因为我只买了这个棒子(
来个全身照,之后就用这张图片讲解了。
中上红色的是主板型号,右上绿色的是恢复键
工具清单
借用下载链接:https://www.123pan.com/s/Dpq0Vv-XAUHd.html 提取码:V23y
按需下载
- [驱动]vivo9008drivers
- [依赖库]微软常用运行库包(可选)
- [ADB&Fastboot工具] platform-tools
- [9008分区操作工具]Qualcomm Premium Tool V2.4
- [9008全量备份工具]MiKo_Loder Pro
- [安卓apk]面具等
- [远程工具]ARDC(B2016)
- [高通工具]QPST_2.7.496
1.环境安装
建议一些程序关闭杀毒软件后安装或添加信任
安装 [驱动]vivo9008drivers 驱动,这个驱动是为了识别棒子9008
如果安装过程出现问题,建议安装 微软常用运行库包
2.系统备份(9008备份)
怕麻烦的可以只用miko全量备份一下
1.进入9008
- 按住棒子上的RST按钮再插入电脑,即可自动进入9008模式。应该会在 设备管理器 页面找到 端口(COM&LPT) 内的 9008 。
- 也可以等系统完全启动后,使用
adb devices
检查连接是否正常后,用adb reboot edl
进入9008
注意:如果不是9008/没叮咚声/备份软件读不出来请重新插拔,或者装入 9008 驱动 后重试。
下载 adb/fastboot 工具,请到Google官方 platform-tools (其他系统到这找)下载
2.安装备份恢复工具(均需激活)
双击 MiKoLoderPro 中的 miko.exe 安装,并讲 Loader.exe 替换即可完成破解。之后打开 Loader.exe 就行。
QualcommPremiumTool 解压后,进入文件夹(音量调小),打开 CMD_KEYGEN_CRACKED_by_FACEBOOK 点击 GenerateKey 生成一个 key 文件(不要覆盖原有key文件!),放到一个位置并记下来。生成完毕后可关闭。
打开 Qualcomm Premium Tool 软件,点左上角Help->Activate ,并选择刚刚生成的key文件,即可激活
3.MiKo Loder Pro 全量备份恢复
时间一般较长,因为他是以 bin 二进制全盘保存的(emmc多大它多大),建议备份完压缩一下
让板子进入9008模式,打开loader,按照图片数字顺序一步步来
备份
点read,partition backup,双击下面double click to open save folder,选好救砖包生成的路径,点load partition structure(只能扫描一次,第二次需要重进9008),勾选全部,点read full image就能制作刷机救砖包,大概5分钟以内),保存好这个名为.bin的单文件。
恢复
刷机/救砖方法图片也标注了顺序,分别点flash,emmc block0 flasher,双击方框选镜像包,flash!
这其实跟下面的备份相同,你可以使用7Zip或者NanaZip打开(bandizip太拉了!),也是分区备份的
4.Qualcomm Premium Tool(QPT)备份分区
如果你需要备份网卡驱动或者root什么的,可以在这里备份恢复。一般用别人的包,直接miko loader
备份
找qualcomm和partition,在下面点scan(只能扫描一次,第二次需要重进9008),Do job,它会识别显示板子的内部分区,点backup(正常会自动跳到这一项),右边backup all,最后do job,等待就行了,备份的文件保存好,里面的有些文件后面会用到。
如果不想全部备份,只备份Modem、fsg、modemst1、modemst2分区即可。点击上面的内容,再执行5,7步就行。
如果需要刷写某些分区,点击scan识别分区后,点write,再选要刷的分区,点Do job后选择分区文件,就能完成刷写该分区。
3.更改IMEI
部分会出现问题,注意备份。
1.ROOT
安装最上面的
[安卓apk]面具等
[远程工具]ARDC(B2016)
插上 410 并打开 ARDC。如 adb 占用,使用cmd执行
taskkill -im adb.exe /f
即可将三个安装包拖入窗口(安装),并在屏幕上点击右键,会弹出选择主屏幕窗口,点击 Launcher 与 始终。
打开miko全量备份包里的boot.img(7Zip或者NanaZip打开)
或者 Qualcomm Premium Tool 备份出来的boot.img文件,
拖进 ARDC 屏幕中
打开magisk,点 安装 - 下一步 - 选择并修补一个文件 - 选择Download内的boot.img - 标准安卓方式(其实都可) - 再点开始
等到出现All done
①可以在es文件管理器中重命名成简单的img名称,并点击ARDC菜单上向右的箭头,在CMD那行中,输入
adb pull /sdcard/Download/magiskboot.img .
(后面是自己重命名的) 来实现导入到ARDC根目录②也可以在ARDC的管理器中打开远程文件管理器,依次展开 mnt/sdcard/Download 找到修复过的img,先左键点击,再右键点击。回到ARDC根目录,打开Files就可以看到修复的img
①可以使用Qualcomm Premium Tool恢复到boot分区
②也可以
adb reboot bootloader
进入 fastboot,使用fastboot flash boot magiskboot.img
刷入,并fastboot reboot
重启设备系统启动后进入ARDC,并打开Magisk检查是否ROOT成功 (Ramdisk显示是并且下面显示了4个按钮浮窗)。
为了后续方便QCN备份与更改imei,点击ARDC菜单上向右的箭头,在CMD那行中,输入
adb shell su
来给予命令行su权限,并在屏幕中给权限。
2.更改IMEI (改串)
注意!修改串号后会自动飞行模式,网上的教程说修改 system.img 里
build.prop
文件的persist.ufi.ft.only_sn
为0
即可,但我手上的设备默认是没有这个配置属性的,手动添加后也没有解决。你可以改串后直接进入fastboot刷openwrt或者Debian(注意插卡进入fastboot,不插卡会使用esim)
1
2
3
4
5
6
7
8
9
10 # 将目录下的build.prop push到设备的/sdcard/目录
adb push .\build.prop /sdcard/
adb shell su
cd /sdcard
mount -o rw,remount /system # 临时重新挂载/system分区为可写
cp build.prop /system/build.prop
mount -o ro,remount /system
cd /system
cat build.prop | grep
方法1:使用星海SVIP(系统需简体(自己改),乱码可以找到星海图片按操作实现)
打开星海SVIP.exe
依次点击高通、联机、高通强开1、一键执行
(建议备份)再点备份qcn、一键执行(大概1分多钟)。 保存的qcn文件大小应该大于500kb
勾选 打开原机QCN ,一键执行,选择上面备份的 qcn 文件,左侧会读取到串号
勾选 一键改写QCN ,在
串号1
、串号2
填入读取到的串号并加以修改,一键执行。文件会保存到D盘qcn文件夹下。注意要有D盘将导出的 qcn 文件,写入QSN
方法2: 好像只能读取
使用adb配合QualcommTool-eMMC-v3.6
执行1
2
3adb shell #如adb占用,执行 `taskkill -im adb.exe /f` 即可
su
setprop sys.usb.config diag,adb在设备管理器里的端口显示901D即可打开 QualcommTool-eMMC-v3.6 点IMEI,读取并修改即可
4.刷入系统(Debian)_暂时没写
1.简单版
刷机包1:https://cloud.189.cn/web/share?code=neAnmabAnYji 6nti (user 1)
刷机包2:https://www.123pan.com/s/XwVDVv-WICn3
首先查看随身WiFi板号,下载对应的版本
文件夹目录是这样的
首先进入fastboot
注意,不是9008模式,9008是按住按钮插入,fastboot是插入后迅速按按钮
双击打开 一键刷入工具.bat
刷入过程之后再补
2.进阶版
没了
5.进入系统
注意:如果前期只使用cmd adb进入ssh,后期使用wifi远程登陆,则可以不考虑Windows驱动。
1.安装后 Windows 驱动问题(全)
- 如果你的设备被识别为 adb 设备,请先更新为 Composite USB Device(右击 更新-浏览我的计算机以查找驱动程序软件-让我从计算机上可用驱动列表选取)
如图所示,更新为Composite USB Device之后,再次更新。
如何区分哪个才是呢?看图上的4,如果没有adb那个则不是
更新之后应该是这样的,有的左上方会有显示兼容硬件,取消勾选即可。
如果Microsoft里没有NDIS,则继续往下看
把Composite USB Device更新为未知USB设备,会出现11步骤的样式,再进行更新,选择网络适配器,即可找到NDIS
2.连接系统
安装完NDIS,后台就会弹出有线网络连接提示。点击网络查看相应以太网内的属性-DNS服务器,就是后台地址。
1.使用 cmd
使用 adb shell
进入后台,你也可以使用 adb reboot bootloader
进入fastboot
使用 ssh [email protected]
进入后台。192.168.68.1是DNS服务器地址,更改为你所对应的地址。
用户名密码看个人,默认是user 密码1
2.使用 shell 软件
直接使用即可。注意要使用NDIS网络驱动
3.配置wifi
sudo nmtui
进入网络管理器
如果cmd中直接使用
nmtui
,会报错,使用export TERM=xterm
配置环境即可继续使用
4.设置root用户
1 | 配置root用户密码 |
设置颜色
root用户下的 $ls
命令会缺少色彩,配置一下颜色
1 | 切换到user用户 |
6.Debian使用说明
1. LED使用方法
写入该字符串后led行为立刻生效,重启失效
如需开机自动更改,可更改
sudo nano /etc/rc.local
,增加指令
1
2
3 sudo nano /etc/rc.local
# 此处复制以下内容,去掉#内容
# 然后ctrl x ,写Y并回车
trigger
参数说明
none
:不使用触发器default-on
:始终亮起heartbeat
:LED 模拟心跳闪烁timer
:按照固定间隔闪烁
1 | # 备用 |
1 | sudo bash -c 'echo none > /sys/class/leds/blue:wifi/trigger' |
蓝色LED默认分配为WIFI状态
绿色LED默认分配为网络状态
红色LED默认为系统运行指示灯
SIM:EN为SIM卡启用状态,该焊盘位于ESIM底座GND处,预测SIM1同理
SIM:SEL为SIM选择状态,物理位置目前未测量
/sys/class/leds/red:os/ 文件夹内
brightness:可读可写; 所以这个属性文件是用于设置 LED的亮度等级或者获取当前 LED 的亮度等级。
max_brightness: 该属性文件只能被读取,不能写,用于获取 LED 设备的最大亮度等级。
trigger: 触发模式,该属性文件可读可写,通过 cat 命令查看该属性文件触发模式
trigger 内有以下的模式
none,即为禁用。
timer:使用系统定时器控制,可用于作为伪PWM控制,定时闪烁等功能
可以调参数亮几秒灭几秒
1
2
3
4# 亮450ms
echo 450 > /sys/class/leds/red:os/delay_on
# 灭3500ms/3.5s
echo 3500 > /sys/class/leds/red:os/delay_off
heartbeat:心跳模式,可用于作为监控系统运行状态,定时有规律的闪烁(每秒2次
default-on:默认开启模式,此模式会使LED常亮,可用于寻找板载物理位置使用
mmc:读写存储器(emmc)的时候会闪烁
phy0tx(rx):接收(发送)wifi数据时会闪烁
2.问题/解决
user 提权 sudo -i
问题1:root用户使用ssh登录不了
部分来源:https://www.kancloud.cn/handsomehacker/openstick/2637559
- 感谢酷友@fanxueke的投稿。
- 不要尝试在你有内网穿透或是在公网有ip的设备上使用root登录,这将会造成很大的安全隐患。
- root的默认密码与user一致(都是1),可以通过
passwd root
修改
问题2:adb环境下用不了nmtui等带图形的应用
例如执行nmtui时出现以下错误
1 | root@openstick:/# nmtui |
设置TERM环境变量即可
1 | export TERM=linux |
问题3:更改网桥地址
使用wifi
1 | adb shell |
使用usb ( 相同 )
1 | adb shell #进入 |
更换docker源
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com(打开此地址登录你的阿里云账号获取你的专属镜像源https://cr.console.aliyun.com/#/accelerator)
- 七牛云加速器:https://reg-mirror.qiniu.com
编辑(nano
) /etc/docker/daemon.json
并写入如下内容(如果文件不存在请新建该文件):
1 | {"registry-mirrors":["https://reg-mirror.qiniu.com/"]} |
然后
1 | sudo systemctl daemon-reload #重载配置 |
端口问题
查看已开放的端口
1 | firewall-cmd --zone=public --list-ports |
开放某端口
1 | firewall-cmd --zone=public --add-port=5672/tcp --permanent |
关闭某端口
1 | firewall-cmd --zone=public --remove-port=5672/tcp --permanent |
重载防火墙配置
1 | firewall-cmd --reload |
安装docker+青龙面板
1 | 192.168.68.1 # user 密码1 sudo -i 密码1到root权限 |
卸载青龙
1 | # docker stop 容器名 |
设置本地语言
1 | apt-get install locales |
安装x-ui面板(失效
方便查看系统占用
链接无法访问
1 | bash <(curl -Ls http://gm.zhoudedi.top:41/x-ui/install.sh) |
随身WiFi挂载TF卡
1. 修改USB为主动模式
1 | nano /usr/sbin/mobian-usb-gadget |
编辑源文件备份 [^1]
在 setup() {
后添加
1 | echo host > /sys/kernel/debug/usb/ci_hdrc.0/role |
注:修改主动模式不会被电脑识别,要恢复被动模式删除以上命令即可
怕出问题可以先在命令行执行上面的试一下(请不要在连接电脑的时候测试,会出错)
如果老是出问题,你可以使用以下
ping
sh脚本来实现检测wifi通之后执行命令(下次出问题就断wifi连电脑)(不想用
ping
可以试试nc(apt install netcat
) 消耗更低
1
2 nc -z 119.29.29.29 80 && echo 'OK' || echo 'Failed'
# 119.29.29.29 可换成 qq.com
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
# 检测的外部地址(例如 DNS 服务器或公共地址)
TEST_ADDRESS="119.29.29.29"
# Wi-Fi 路由器可能的默认网关列表
GATEWAY_ADDRESSES=("192.168.0.1" "192.168.1.1")
# 最大检测次数和间隔
RETRIES=10
DELAY=5
# 功能函数:检测地址是否可达
check_connectivity() {
local address=$1
ping -c 1 -W 2 $address > /dev/null 2>&1
return $? # 返回 ping 的退出码
}
# 第一步:检测外部地址
for ((i=1; i<=RETRIES; i++)); do
if check_connectivity $TEST_ADDRESS; then
echo "External address $TEST_ADDRESS is reachable. Exiting."
exit 0
else
echo "Cannot reach $TEST_ADDRESS, retrying ($i/$RETRIES)..."
sleep $DELAY
fi
done
# 第二步:检测网关地址
for gateway in "${GATEWAY_ADDRESSES[@]}"; do
if check_connectivity $gateway; then
echo "Gateway $gateway is reachable. Enabling USB role switching."
echo host > /sys/kernel/debug/usb/ci_hdrc.0/role
exit 0
fi
done
# 如果所有检测都失败
echo "Both external address and gateways are unreachable. USB role switching not enabled."
exit 1保存为wifi_host.sh
确保
/home/user/wifi_host.sh
脚本有可执行权限
1 chmod +x /home/user/wifi_host.sh然后在
/usr/sbin/mobian-usb-gadget
最后加上
1 /home/user/wifi_host.sh &使用
&
表示脚本以后台方式运行
按 ctrl x 后按 y 并回车保存,最后 reboot
重启
2. 检查是否识别到扩展盘
1 | fdisk -l |
如果not found 请安装fdisk:
apt-get install fdisk
如果未识别,你可以用电脑格式化为
NTFS
格式看看
3. U盘变更(可忽略,建议跳转3.4格式化)
U盘能识别且不需要分区就可以直接忽略这块了
查看u盘几个分区
lsblk
,输出
1
2
3 sda 8:0 1 28.9G 0 disk
└─sda1 8:1 1 28.9G 0 part
# 如果只有sda1就是一个分区
1 | fdisk /dev/sda #不一定是sda,有可能是sda1 |
操作按键
d :删除分区
n :新建分区
w:保存更改
3.1 删除所有分区
输入上个指令后,连续按d
并回车,直至出现红色的No partition is defined yet!
1 | Command (m for help): d |
即删除完毕,(输入 w
保存更改并退出)
3.2 新建分区
(输入上个指令后),
输入 n
新建分区
输入 p
或者直接【回车】创建主分区
输入分区号(1-4,默认1),或者直接【回车】使用默认分区号
设置第一个扇区,可直接【回车】使用默认值
输入 +NG
设置分区容量的大小,N 为分区容量,G 为单位,可以是
K/M/G/T/P 任意单位,若只创建一个分区直接【回车】即可
若要创建多个分区(默认最多 4 个主分区)则重复新建分区步骤
输入 w
保存更改并退出
3.3 检查是否分区成功
两个命令 fdisk -l
或者 lsblk
都可
3.4 分区格式化为 ext4 格式
1 | mkfs.ext4 /dev/sda1 |
4.挂载扩展盘
- 创建挂载扩展盘的目录
注意:用于挂载的目录必须是空的
1 | #新建文件夹xxx |
/xxx 改为自己想要挂载的目录名
- 给目录权限
1 | chmod 777 /xxx |
- 设置开机 / 重启自动挂载
1 | nano /etc/rc.local |
添加下面命令到 rc.local 中
1 | #----------------------- |
- 挂载分区
1 | mount /dev/sda1 /xxx |
- 检查是否挂载成功
1 | df -HT |
1 | #输出 |