V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
milkice
V2EX  ›  Android

在任意 Android 高通设备上强行开启中国电信 VoWiFi

  •  1
     
  •   milkice · 2 天前 · 2846 次点击

    电信 VoWifi 逐渐在很多城市铺设,但是只有新发的国行 Android 手机才默认启用了电信的 VoWiFi 支持,旧设备则是被统统抛弃了。

    由于深受室内信号差的苦恼,一直想要在自己的手机上启用电信 VoWiFi 支持,经过几个星期的研究终于成功在美版 moto 激活了电信 VoWiFi ,趁着自己还没忘记步骤赶紧把流程记录了下来放在了博客上,分享给想要自己 DIY 的小伙伴,也希望能踊跃分享自己的测试结果(因为目前并不是所有设备上都能成功)

    moto

    文章地址: https://milkice.me/2025/03/11/let-your-qualcomm-device-support-ct-vowifi/

    注意设备需要 root 权限,目前该方案也仅限于高通设备

    34 条回复    2025-03-13 13:59:39 +08:00
    zhinianyuxin0
        1
    zhinianyuxin0  
       2 天前
    实在是 Too Hardcore
    leconio
        2
    leconio  
       2 天前 via iPhone
    这个是 WiFi calling 吗,ios 能开吗?
    milkice
        3
    milkice  
    OP
       2 天前   ❤️ 1
    @leconio 是 Wifi Calling ,iOS 仅有 18.0 beta 4 ~ 6 支持,等电信正式开放 VoWiFi 吧
    lengrongec
        4
    lengrongec  
       2 天前
    楼主分享给力
    lengrongec
        5
    lengrongec  
       2 天前
    也很关注电信的 vowifi ,但是 iPhone 端感觉要扯淡
    liuidetmks
        6
    liuidetmks  
       2 天前   ❤️ 1
    orz ,黄老爷又高又硬
    NessajCN
        7
    NessajCN  
       2 天前
    这个是运营商限制吧,跟手机也有关系吗?
    至少我的红米 k30su 上启用国外 sim 卡的 vowifi 是去设置里直接开就好
    milkice
        8
    milkice  
    OP
       2 天前
    @NessajCN 当然有关系,基带里的运营商配置文件可以直接限制 IMS 相关功能包括 VoLTE/VoWiFi
    NessajCN
        9
    NessajCN  
       2 天前   ❤️ 1
    @milkice 一定要去改已经 build 好的基带文件吗
    根据
    https://source.android.com/docs/core/connect/carrier
    是不是有这么一个系统文件,改里面的配置就能实现覆盖基带里的云苦海配置?
    譬如你要的 vowifi 是不是在这里能找到?
    https://developer.android.com/reference/android/telephony/CarrierConfigManager.html
    NessajCN
        10
    NessajCN  
       2 天前
    打错字。云苦海-> 运营商
    Tink
        11
    Tink  
       2 天前   ❤️ 1
    我去有点太难了
    Cipool
        12
    Cipool  
       2 天前
    很少看到类似的技术好文了,另外现在电信的 vowifi 是不是还限制电信 IP 呢
    SkywalkerJi
        13
    SkywalkerJi  
       2 天前 via Android
    厉害了
    milkice
        14
    milkice  
    OP
       2 天前
    @NessajCN 博文里提到过,基带是单独的组件,你发的这个应该是系统层面的“软性”的运营商配置,而实际上还需要搞定基带这种“硬性”层面,因为具体的实现都是由基带来操作,系统管不着
    milkice
        15
    milkice  
    OP
       2 天前
    @Cipool 是的,需要电信家宽
    billlee
        16
    billlee  
       2 天前
    一定要改 EFS 吗?以前高通平台启用 volte 的时候用 magisk 改 vendor 里面的 mbn 也能生效
    NessajCN
        17
    NessajCN  
       2 天前
    @milkice 我还没细查是不是能覆盖掉基带运营商配置
    但是运营商的具体配置文件是肯定可以查到的。
    https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/CarrierConfig/assets/carrier_config_carrierid_2237_China-Telecom.xml
    seers
        18
    seers  
       2 天前 via Android
    基带层面不一定完全遵守系统层面的配置,改底层一劳永逸
    Cipool
        19
    Cipool  
       2 天前
    @milkice 这样来看国内的 vowifi 还是停滞不前
    galenzhao
        20
    galenzhao  
       2 天前
    联通可搞么?
    还有就是联通那个体验小程序预约不了的地区是不是就完全没办法了
    milkice
        21
    milkice  
    OP
       2 天前
    @billlee 如果你能找到同厂商签名同 SoC 的 MBN ,那就是一劳永逸的解决方式,你说的其实对应了我文章里的“直接替换 modem 分区下 MBN 文件”这一流程,自然是能生效的
    milkice
        22
    milkice  
    OP
       2 天前
    @NessajCN 对我看到了,包括 Pixel 系列都会有个自带的 Carrier Config 的 App ,不过目前我没条件去做测试,这篇文章着重点在于直接修改基带底层
    milkice
        23
    milkice  
    OP
       2 天前
    @galenzhao 不可以,联通没有开通 ePDG 网关,小程序走的是不同的技术路线
    heqirong
        24
    heqirong  
       2 天前
    仅限高通啊,那 pixel 的自研芯片没戏了?
    billlee
        25
    billlee  
       2 天前
    @milkice 原来还要同签名啊,以前高通平台的 pixel 都是拿小米的 mbn 去替换的,我还以为没签名校验呢
    xuquanoo
        26
    xuquanoo  
       2 天前
    内网是几层 NAT 之后有影响吗?还是必须直连电信光猫发出来的 wifi ?意思就是电信光猫后面 NAT 形式串了两个路由器,连那两个路由器的 wifi ,可以实现 vowifi 吗?
    milkice
        27
    milkice  
    OP
       2 天前
    @xuquanoo NAT 无关,不是,可以,只要最上游是光猫拨号且下游路由器可以解析电信的 eDPG 地址( epdg.epc.mnc011.mcc460.pub.3gppnetwork.org )且可以 ping 通即可
    satanandroid
        28
    satanandroid  
       1 天前
    谢谢分享.
    "注意设备需要 root 权限" 放弃了,没条件
    yjcn
        29
    yjcn  
       1 天前
    @milkice 大佬 正好我也在研究 vowifi 可以帮忙看看吗? https://www.v2ex.com/t/1117972
    asde111
        30
    asde111  
       1 天前
    @NessajCN #17
    @milkice #22

    启用 volte/vowifi 需要两个前提:基带文件(即文章中的 mbn),运营商配置,缺一不可
    运营商配置即 CarrierConfig 在/data/user_de/0/com.android.phone/files ,每个文件对应某个 iccid 的卡

    改 CarrierConfig 主要发挥的作用是楼主文章中的"系统层面启用 VoLTE/VoWiFi"以及"nv/item_files/ims/qp_ims_service_enablement_config"这两项;
    相对于改 nv/build.prop 这些方法,改 CarrierConfig 的优点在于不需要碰 efs 分区,同时可以分别记住手机中插过的每张卡的配置
    milkice
        32
    milkice  
    OP
       1 天前 via Android
    @asde111 改 CarrierConfig 可以 qs_ims_service_enablement 里面的配置吗🤔 这个真不知道唉
    crystalfairy
        33
    crystalfairy  
       1 天前
    请问 op 搭建博客的服务器是哪家的?我最近准备想换个服务商。
    milkice
        34
    milkice  
    OP
       1 天前
    @crystalfairy Oracle 首尔
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2828 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 12:48 · PVG 20:48 · LAX 05:48 · JFK 08:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.