EM120 not correctly booting up, unknown wwan control port exposed?

Bjørn Mork bjorn at mork.no
Mon May 24 09:22:43 UTC 2021


Aleksander Morgado <aleksander at aleksander.es> writes:

>> > I wanted to test the EM120 setup I have with latest MM git master and
>> > kernel 5.13.0-rc2, but unfortunately there is some issue, not sure if
>> > in device or in kernel driver. These are the kernel logs I get as
>> > output when the issue happens:
>> >
>> > [  263.458712] mhi-pci-generic 0000:01:00.0: can't change power state
>> > from D3cold to D0 (config space inaccessible)
>> > [  263.458727] mhi-pci-generic 0000:01:00.0: can't change power state
>> > from D3cold to D0 (config space inaccessible)
>> > [  263.458736] mhi-pci-generic 0000:01:00.0: failed to resume device: -22
>>
>> The problem seems to be with the runtime power management. MHI pci
>> driver is moving the device in low power state (suspend) when not used
>> for ~2s. And here device resume fails. How the EM120 is connected to
>> your machine is it via M2 laptop port or are you using a 'dev-board'
>> with PCI-express slot? can you share the firmware version? building
>> mainline right now and going to test that on my side.
>>
>
> This is with a EM120 devkit in a PCI-express slot in my desktop PC,
> running firmware EM120RGLAPR02A07.

Maybe look closer at the PCIe hiearchy of that PC?

This reminded me of an issue I had wtih sleeping PCI-connected USB
controllers a very long time ago:
https://patchwork.kernel.org/project/linux-pci/patch/1343292851.3874.12.camel@yhuang-dev/

The config space of the EM120 might be inaccessible at this point
because the PCIe port is stuck in a low power mode. The wake-up timing
is balancing on a thin line between stability and performance.  This has
resulted in a number of fixes over the years.  See for example
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ad9001f2f41198784b0423646450ba2cb24793a3
and the bug links referred to in that commit.



Bjørn


More information about the ModemManager-devel mailing list