rk3588调试PCIE模块找不到虚拟串口

使用rk3588平台调试RM500U模块,使用PCIE接口,主控端pcie已经正常,也读到了模块的pid,vid,执行microcom -s 115200 /dev/stty_nr31的时候提示找不到设备,同时串口报这个错spipe 1-6 not ready to open!

这种报错。先发AT 检查下是不是PCIE EP mode.

AT+QCFG=”pcie/mode”,0

另外还有就是要检查下PCIe 时序是否正确。

看这个信息是已经有pcie设备, 识别到模块的id了

0002:21:00.0 Class 0d80: Device 16c3:abcd (rev ff) (prog-if ff)

lspci 能读到也不代表就是EP mode。这个模块就是这样的。

那AT指令怎么发啊,明明有了虚拟串口,microcom -s 115200 /dev/stty_nr31却失败了

image

这个PCIe的枚举bar 空间都读不到,可能就不是PCIe mode。

找个USB能识别到的,用ttyUSB先去发AT,确保pcie/mode 是0 。

sprd_pcie驱动加载了就会有stty_nr31. 如果pcie 识别有问题就会是这个现象。

这个已经是EP了吧,我用usb查询的

是的。说明是EP了。

要看PCIe 时序是否正常。

要量下开机过程PCIE_WAKE 和PCIE_RESET 的波形。

PCIE_WAKE是在你们的驱动里配置还是在rk3588平台里面配置的?PCIE_RESET我是在rk3588平台驱动配置的

模块在开机过程中,会去拉低和拉高PCIe_wake 通知主控可以拉PCIE_RESET了。

有些情况,如果模块上电时间特别早或者特别迟,都会有问题。

如果uboot里有pcie 驱动,在uboot 里就已经拉过pcie_reset, 也会有问题。

#ccflags-y += -DCONFIG_PCI_IRQ_MSI ,这关闭可以了,是不是还需要应用层发AT指令才能上网

现在改了下时序,能读到设备了,但是执行microcom -s 115200 /dev/stty_nr31还是找不到设备,帮分析下

lspci -v 没看到什么异常。

PCIe 接口的需要上网和USB一样,也需要AT拨号。

USB的不是直接使用你们的ril-so库文件,这个拨号怎么弄啊,没整过

这是Android 吗?

也是支持模组使用pcie mode。发logcat -b all 看看。

看看是不是权限不够。DAC和MAC都有可能。

修改 /dev/stty_nr31 权限已解决,感谢支持,结帖