@
qq135449773 感谢提供购买信息。
可以试试 直接修改基带 firmware 中的 AID.
BP 启动后,会打开 esim 的 ISD-R, 按照 esim 标准,这个 ISD-R 是被独占的,如果有一个 client (比如基带 或者 读卡器) 打开后,其他 client 是不能同时打开的.
ISD-R 的 aid 是 a0000005591010ffffffff8900000100.
我在 手机的 /vendor/firmware/image 目录下找到 modem.b02 .. 这些文件, 搜索到 这个 AID, 将 这个 AID 修改一个字节,改成一个不存在的 AID. 从而让 BP 无法打开 ISD-R. 这样 Androiid LPA 就可以成功打开 ISD-R, app 上就能看到 esim 了。
但是从某些资料中看到,modem 是存在校验的,如果魔改后, 没有信息后,说明校验失败,modem 的 firmware 被拒绝加载。 但是我修改后是有信号的,也许是我这部手机的厂家,关闭了校验。 总之,我修改基带 firmware 一个字节后,解决了这个问题。
或者你找一下你这款手机的 ROM, 看厂家官方有没有支持 esim 的版本,在支持 esim 的版本中, 厂家可能会关闭基带中的 LPA, 只使用 Andoid 的 LPA. 这样的话,你提取对应 ROM 的 modem 固件,也许能 解决问题
解决这个问题,还有其他思路。其中一个就是 某些 esim cos 的实现, 这个 ISD-R 是不独占的。也就是标准中 ISD-R
不能被几个 client 同时打开。但是厂家自己的实现时 可以同时打开,比如 华为部分手表, 恒宝公司的可拆卸 eism,都是可以同时 被 多个 LPA 打开的。 这样即使 BP 的 LPA 打开了,Android 的 LPA 还是再次打开 ISD-D,来读写 esim 的。
再一个思路就是, 就是直接使用高通的 LPA 方案, 让 BP 读写 esim 好了。这样的话, 你在上面链接的那篇文章中介绍的
esim LPA, 就基本上都不能用了。