没有加载设备并进入到probe函数
请参考移远的硬件设计手册。
模组只有开机的时候可以进行枚举。所以主控需要等到模块模块拉了wake 后,去及时去拉pcie rst 引脚,才能正常枚举到PCIE 设备。
你的Host 是什么? 什么主控,哪家的?
固件的话移远有两种,一种是用AT切换的,一种是PCIE only的,都是支持的。你当前的固件也应该可以。
PCIE 模组一般不支持热插拔。这个还要看模组的上电时间和时序。
您好,我的主控是nvidia jetson agx orin模组,通过连接器和5G相连,请问设备树或者时序相关的配置样例吗?目前不知道怎么配置
首先要确定的是那个连接器的硬件,主控的PCIE到模组的PCIE引脚是否连接的。同样是M.2封装,也可以是其他接口譬如USB。
主控的PCIe host怎么配置这个移远无法提供太多帮助。
你可以提供下主控的lspci 和 dmesg 日志,如果能看到什么那么主控支持PCIE的。
后面要做的,应该是调整模组的上电时间,让模组能满足PCIE枚举
这个图的意思是,在主控收到PCIE_WAIT拉低后,主控才去拉高PCIE_RST并开始枚举
这两个pin是专门用途的引脚。
PCIE_RST 在主控那边,默认是拉低的,拉高这个引脚之后就会进行枚举,scan pcie EP设备。
那这个需要在设备树里配置吗?我看图中源码已经有拉高的操作了
那个文档里提到的是IPQ的代码。
一般来说,我们通常都是用 “凑”时间的方式。通过修改模组的上电时间,譬如在bootloader里修改模组的上电时间,这样模块开机后,模组正好运行到kernel,而Host也正常运行在kernel,这时候完成了枚举。
如果你能在主控的PCIE驱动里检测到PCIE_WAKE和控制PCIE_RST,那么应该是在kernel 里等待模组拉低PCIE_WAKE,模组拉低PCIE_WAKE 后,主控的PCIE控制器驱动去拉高PCIE_RST。
至于是否需要使用设备树来配置、如何使用设备树来配置,这个取决于主控的PCIE程序。设备树的设计不是为了解决驱动的某个问题。
请问有和nvidia相关调试的修改样例吗?
关于PCIE 控制器那边怎么配置,确实应该去nvidia 的那边看看。
没有注网。检查下天线。如果是RG520N 应该是需要很多根天线。
Ubuntu 上要禁用ModemManager的。
sudo systemctl stop ModemManager
sudo systemctl disable ModemManager
这个模块不只要4根天线。
如果不是天线问题就是SIM卡问题了,换张SIM卡测试下。
您好,我这边目前已经实现主控检测wake信号,在wake拉低之后去拉高rst脚,但还是没有枚举识别到id,请问是什么原因?
最好是找硬件的同事看看。
确定是否是走了PCIe
提供一下波形和内核日志。