车机GPS搜星慢/定位不准/无北斗/卫星信号差原因分析及终极解决方案
从去年下半年开始,车机的冷启动卫星定位时间长达10分钟以上,有时候甚至开出去半个小时都定位不上,即使定位成功也就10颗卫星左右,导致导航经常性漂移,行驶在路上导航突然提示掉头时常发生。
且我记得以前是有北斗信号的,现在几乎搜不到,也就极偶尔能出现1颗2颗
修复前是这样的:

经过我一周的研究,最终修复,思路和方法如下:
一、配置文件
车机的系统大部分是安卓,相关gps配置文件最常见的是在 /system/etc/gps.conf,当然也有其他目录,如果这里找不到就去其他地方找找,我在车机上用的ES Explorer文件管理器查看此文件
原内容如下:
NTP_SERVER=asia.pool.ntp.org XTRA_SERVER_1=http://agnss.zsouth.com/api/GetGPS?usr=nwd001&pwd=nwd001&type=china XTRA_SERVER_2=http://agnss.zsouth.com/api/GetGPS?usr=nwd001&pwd=nwd001&type=china XTRA_SERVER_3=http://agnss.zsouth.com/api/GetGPS?usr=nwd001&pwd=nwd001&type=china SUPL_HOST=221.176.0.55 SUPL_HOST=221.176.0.55 SUPL_HOST=221.176.0.55 SUPL_PORT=7275 SUPL_NAME=cmcc AGPS_IAPID=T96 AGPS_PROVID=MSB AGPS_APN=CMWAP AGPS_RESET_TYPE=HOT AGPS_NETWORK=HOME
该文件主要包含三种配置:
1、NTP服务器,用于网络对时,我一般喜欢用阿里的 ntp,速度快并且稳定
NTP改为
NTP_SERVER=ntp1.aliyun.com NTP_SERVER=ntp2.aliyun.com
2、XTRA_SERVER(星历服务器),用于下载星历数据
检查原配置文件中的agnss.zsouth.com,好家伙,域名过期,正在售卖中!说明此地址已彻底无效

3、SUPL服务器,原配置文件中的221.176.0.55是来自于中国移动,查阅资料发现最早可以追溯到2014年可用,但是在遥远的2026年,无论是ping还是tcp链接7275端口,均失败。说明这个服务器大概率已经关闭,又得找替代的
二、ROOT车机,获取权限
要修改 /system/etc/ 下的文件,必须要有root权限,首先把车机给root了
试了各种root软件,什么360root等,均无法获取永久root权限
最后在网上找到了俄罗斯大神制作的root补丁升级包,直接放U盘根目录,重命名为update.zip,然后在车机系统设置中选择“升级系统”即可,这里放下载链接可自取:
下载地址:
update(4-7root).zip
⚠️注意:刷机和ROOT有风险,适合有一定动手能力且敢于承担风险的用户尝试,搞不好机器变砖!!笔者不承担因此带来的任何后果!
三、修改替换配置文件
1、星历服务器更改如下:
XTRA_SERVER_1=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra3.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra1.gpsonextra.net/xtra.bin
2、SUPL地址网上找了不少,可惜的是几乎全部过期了
截止于2026年1月24日,国内可用的只有一个 supl.qxwz.com,端口7275,查了一下,应该是千寻定位的服务器,比较权威

把他替换上
SUPL_HOST=supl.qxwz.com
四、修改保存,重启车机
然后就傻眼了,因为冷启动依然10多分钟才定位成功!说明我们的配置无效
查找原因:车机通过笔记本建热点连接网络,电脑上运行抓包软件,发现车机根本就没有访问XTRA星历服务器地址
下载了一个aida64,检查了下车机的CPU,应该是MTK平台的,不支持高通格式的星历文件,那么上面的XTRA_SERVER设置了也没用

再测试下supl服务器supl.qxwz.com,发现可以ping通,地址是39.105.240.30,位于北京阿里云IDC机房,但是7525端口无法连通!

这就奇了怪了,我昨晚筛选地址的时候明明是测试过的,可能是服务器不稳定,于是我写了个24小时监测程序,结果如下:

除了每天凌晨1点-5点可用率超过80%以外,其余时间低得可怜,基本只有10-20%,这也就解释了为什么原始配置文件把SUPL地址写几行的原因,估计也是因为那服务器不稳定,得多重试几次。
五、解决方案
在国内没有发现更多可用的supl服务器,唯一可用的为supl.google.com,来自谷歌的supl公共服务器
总所周知,国内链接谷歌相关服务非常不稳定,于是需要一个可稳定链接的服务器来中转
所以我在非大陆区域购买了一台VPS服务器,安装rinetd软件来完成TCP透传,当然也可以采用Nginx的反向代理
1、安装rinetd
# 下载最新版本(请查看 https://github.com/samhocevar/rinetd/releases 获取最新版本) wget https://github.com/samhocevar/rinetd/releases/download/v0.73/rinetd-0.73.tar.gz # 解压 tar -zxvf rinetd-0.73.tar.gz cd rinetd-0.73 # 配置、编译、安装 ./configure make sudo make install # 验证安装 rinetd -v
2、创建配置文件
# 创建配置文件目录 sudo mkdir -p /etc/rinetd # 创建配置文件 sudo vim /etc/rinetd/rinetd.conf
加入以下内容:
# 转发规则 0.0.0.0 7275 supl.google.com 7275 0.0.0.0 7276 supl.google.com 7276 # 日志设置 logfile /var/log/rinetd.log logcommon
3. 加入开机自启
sudo vim /etc/systemd/system/rinetd.service
加入以下内容:
[Unit] Description=rinetd - Internet TCP redirection server After=network.target [Service] Type=forking ExecStart=/usr/local/sbin/rinetd -c /etc/rinetd/rinetd.conf ExecReload=/bin/kill -HUP $MAINPID Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target
4. 最后开启服务
# 启动服务 sudo systemctl start rinetd # 设置开机自启 sudo systemctl enable rinetd # 查看服务状态 sudo systemctl status rinetd
连接自己搭建的私有SUPL服务器,看着这服务可用率终于舒服了

最终修复后的gps.conf内容如下:
# /system/etc/gps.conf - 通用优化配置 # 1. NTP时间服务器(定位基础) NTP_SERVER=ntp1.aliyun.com NTP_SERVER=ntp2.aliyun.com # 2. XTRA星历服务器 XTRA_SERVER_1=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra3.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra1.gpsonextra.net/xtra.bin # 3. SUPL辅助定位服务器 SUPL_HOST=supl.qxwz.com #建议自建服务器中转supl.google.com SUPL_PORT=7275 SUPL_VER=0x20000 SUPL_MODE=1 # 4. 其他参数 DEFAULT_USER_PLANE=TRUE AGPS_MODE=1 AGPS_IAPID=T96 AGPS_PROVID=MSB AGPS_APN=CMWAP AGPS_RESET_TYPE=HOT AGPS_NETWORK=HOME
六、改造升级硬件

之前的GPS天线放在A柱内,且前车窗贴了金属膜,对信号影响很大。并且天线用几年了也存在着衰减,于是从淘宝网购一根10元的天线,并且选择了3米线长,为了从车机走线拉到前挡风上方
我所选购的这根天线是增益38dbm的,比原车的天线增益效果要好,记得选择跟原车机相同的接口


把这根3米的天线接收端贴在前档上方放ETC的位置,这里没有贴金属膜,是车内信号最好的位置了

最终,效果如下,几乎稳定在30星+,且久违的北斗又回来了

修复成功后又经过一周的测试,目前车机冷启动也能秒连卫星,在周围有楼房遮挡的情况下,最慢也未超过30秒定位成功。并且行驶在路上也没有再突然导航漂移,突然跑对向车道提示掉头等毛病。
跟之前相比简直是质的飞跃!
总结:
1、修改gps.conf文件可减少首次定位的时间(对于非高通平台效果有限)
2、换一根高增益的天线并放在合适的位置是解决问题的关键(非常重要!)
3、如果车机支持多种卫星导航系统,可以购买三模天线,以及支持更多频段更高增益的天线,当然价格也更贵
4、经过测试发现,我的车机最多只能同时连接解算32颗卫星信号,此天线搜星能力已超过车机最大值,没必要再购买更好的天线了
5、本文以我的车机飞利浦cid6680(实际用的是掌讯K2001的公版方案)为例,其他型号车机解决思路类似,抛砖引玉

