TLDR,简而言之就是 Pi-Star 使用的 nextiondriver 驱动设置了最大值,而很多人的 DMR 数据所在的位置其实都超过了这个最大值。
解决方案很简单,有多种选择
- 放弃 Pi-Star,选择其他的替代产品
- 自己修改
nextionUsers.csv文件,删去不必要的 DMR ID 记录(如国外的 DMR) - 重新编译 nextion 显示屏驱动(新的 Github Commit 已经更新了最大值,但未进入 Pi-Star)
参考了 Pi-Star 的用户论坛中的帖子。
具体描述
南京的群友 BH6ATA 再使用带显示屏的 MMDVM 盒子时,发现了这么一个问题,自己的位置信息无法显示在显示器上,错误提示为 Not found in nextionUsers.csv ,且该错误会在一部分呼号上才有,而另外一些呼号则正常显示。

在 Pi-Star 控制页面的 Web SSH 检查该文件,发现其为用户信息记录,包含了用户的 DMR ID、呼号、姓名和地理信息等,且发现呼号 BH6ATA 存在于该记录中,因此排除是文件本身问题,而是显示屏驱动问题。

上述的帖子中,指出了问题的圆原因:nextion 显示屏驱动设置了一个最大读取上限,249999,当用户所在的位置超过了表格的这一行数,则 nextion 驱动会停止读取,因此才会报错记录不存在。

从 nextion 的 log 中可以看到确实存在相关报错:
而该驱动的版本则是 2.5.1,版权声明还是 2021 年的,可知并未引入更新

解决方案
基于上面的结论,可以给出三种不同的解决方案。
对于大部分用户,可行的方案是选择 Pi-Star 的替代版本,互联网上有几个类似于 Pi-Star 的树莓派系统,可以尝试使用替代镜像。
较为简单的修改方法为直接对 csv 文件进行修改,直接删除其中不常用的记录,或者将想要显示的记录移到表格的开头,但是该方案也有问题, csv 文件可能会随系统更新而进行修改,因此是一种治标不治本的方案。
较复杂的方案是手动重新编译 nextion 的驱动,该驱动在 Github 上有仓库,可以尝试进行拉取编译并替换本地的驱动文件。