I’m using a EM9291 module with PCIe in a Linux system using drivers from “MBPL_DRIVERS_R43_ENG1-usb-pcie-src”. After power on it comes up but it not directly recognized by ModemManager.
# dmesg | grep mhi
[ 12.167083] mhi-pci-semtech 0007:01:00.0: Adding to iommu group 8
[ 12.167265] mhi-pci-semtech 0007:01:00.0: MHI PCI device found: qcom-sdx65m
[ 12.167274] mhi-pci-semtech 0007:01:00.0: BAR 0: assigned [mem 0x3228000000-0x3228000fff 64bit]
[ 12.167371] mhi-pci-semtech 0007:01:00.0: enabling device (0000 -> 0002)
[ 12.183567] mhi mhi0: Requested to power ON
[ 12.183586] mhi mhi0: Power on setup success
[ 12.805468] mhi mhi0: Wait for device to enter SBL or Mission mode
In this state I can see the device on the PCI bus. But ModemManager does not see it. I have found one way to get the module probed and it is a rescan of the PCIe bus.
# echo 1 | sudo tee /sys/bus/pci/devices/0007:01:00.0/remove
# echo 1 | sudo tee /sys/bus/pci/rescan
Then after this step and a waiting a short while I can see the device in ModemManager with mmcli -L
.
My dmesg log looks like this after rescan:
[ 178.620067] mhi-pci-semtech 0007:01:00.0: Adding to iommu group 8
[ 178.620105] mhi-pci-semtech 0007:01:00.0: MHI PCI device found: sierra-em929x
[ 178.620110] mhi-pci-semtech 0007:01:00.0: BAR 0: assigned [mem 0x3228000000-0x3228000fff 64bit]
[ 178.621864] mhi mhi0: Requested to power ON
[ 178.621892] mhi mhi0: Power on setup success
I want the device to directly show up in ModemManager and my method of remove device and rescan PCIe bus seems like a ‘big hammer’. Can you advice how to debug this issue and if there are any orther comands to run to make the device show up in ModemManager directly at boot.