众所周知,基于高通(Qualcomm)芯片的 IMEI 是出了名的难改,不像 MTK 那样开工程模式就直接任意修正了。然而不幸的是,华为 4G 无线网卡用的也是高通的芯片。
起初以为用 Google 利用英文搜索如何改 IMEI 号就可以很轻易的找到方法,然而事实并不是这样的。很多英语国家修正 IMEI 是违法行为,由于这助长了手机盗窃(国外很多国家运营商会封锁被盗手机的 IMEI,这样纵然换卡也无法利用)。

不过,这可难不倒隔壁的战斗民族,毕竟他们是和 KGB 斗志斗勇过的。在这篇帖子中的第 2336 楼中,牛人给出了详细的方法。

我用手头的华为 4G 网卡(型号:E392u-12)测试了一下,还真的可以用。
首先将你的无线网卡插入电脑的 USB 口,过大概 10 秒等初始化完成之后看 dmesg 的:
[ 6926.771830] option 1-1:1.0: GSM modem (1-port) converter detected [ 6926.771996] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB0 [ 6926.772159] option 1-1:1.1: GSM modem (1-port) converter detected [ 6926.772273] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB1 [ 6926.772411] option 1-1:1.2: GSM modem (1-port) converter detected [ 6926.772526] usb 1-1: GSM modem (1-port) converter now attached to ttyUSB2
从这里我们可以看到 3 个 tty 接口。首先要找到 AT 指令接口。你可以利用 screen /dev/ttyUSB 115200 后输入 “AT” 命令看回显。
首先试 ttyUSB0:
screen /dev/ttyUSB0 115200
之后输入 “at”(不含单引号),之后回车(输入的时候没有回显)。
如果这是一个接管 AT 指令的接口,那么它会返回 “OK”。
很幸运,一下就猜对了。
之后来获取当前的 IMEI 号,不才一步须要。
指令为 “AT+CGSN” 输入的时候还是没有回显,回车会涌现当前的 IMEI 号,之后记录下来。
8xxxxxxxxxxxxx1
之后是关键的一步,打算解锁密码。
你可以选择利用在线版的:https://tools.yandere.moe/huawei_code_calculator/
或者 clone 到本地用:https://raw.githubusercontent.com/yanderemoe/huawei_modem_code_calculator/master/calculator.php
我们须要的解锁码是 Unlock (V2) 的码,并利用它来解锁 nvram 的 IMEI 分区以是我们可以修正它。
解锁的指令是
at^datalock=码
比如你的解锁码是 123123,那么指令是”at^datalock=123123″(仍旧没有回显)。
将“at^datalock=123123”输入到 ttyUSB0 (上文提到的 AT 指令接口),之后回车,如果返回给你
+CME ERROR: 16
则失落败,缘故原由是码缺点,再次确认下(要打算的 IMEI 不是印在网卡上的,而是通过上面指令读到的)
如果提示OK则成功。
之后须要 nvram 写入程序,战斗民族牛人 forth32 已经写好了放在 gayhub 上了,我也 fork 了一份。
clone 代码到本地:
git clone https://github.com/yanderemoe/qtools
然后 cd 进去利用
make
编译,完成之后,你会创造多一个可实行文件 “qnvram”,这个便是用来写网卡 IMEI 的程序了。
对了,还记得上面有 3 个 ttyUSB 吗?我们已经知道了 ttyUSB0 是接管 AT 指令的,那么其他两个哪个是接管写入指令的接口呢?实在也没必要知道,反正还剩两个,一个一个试试呗?
修正的指令是:
./qnvram -j 新的串码值 -p /dev/ttyUSBX
新的串码值须要 15 位,末了一位为校验码。
你可以通过在线天生工具随机天生一个合法的 IMEI 值,或者干脆改成 15 个 0(由于分外国情(山寨机)中国没有对空 IMEI 进行入网检讨)。
试试
./qnvram -j 000000000000000 -p /dev/ttyUSB1
返回了
--- Ошибка записи ячейки 0226 ---
虽然看不懂,但是末了说 0226,便是缺点了。
那试试 ttyUSB2?
./qnvram -j 000000000000000 -p /dev/ttyUSB2
没有任何回显,这代表修正成功。不信你回到上面的 AT 指令接口上再实行下 “AT+CGSN” 查看一下?
回显变成了 “000000000000000”,修正成功。








