Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this page for instructions on how to get full permissions. Sorry for the inconvenience.
we don't yet offer system suspend, but have it experimentally soon (I guess). Just tested again and an incoming call wakes the system from s3 suspend. see also https://source.puri.sm/Librem5/linux-next/issues/72
thanks! indeed this is unrelated. I got registered normally after a reboot or two. In that situation, still, when suspended Birch doesn't wake up or even ring (on the calling side).
There is already an external pull-up on 4G_WAKE net, so the internal pull-up does not need to be enabled.
GPIO3_IO15 should be pinmuxed as 0x180 or 0x80.
If for some reason that does not work then you can try enabling the internal pull-up by setting it to 0x1C0 or 0xC0, but if it works without the pull-up enabled then you should leave PUE set to 0 (0x180 or 0x80).
My testing on 5.6-rc4 with mainline ATF seems to suggest that BM818 gets powered off in suspend - if that's the case, it may explain why it doesn't wake up the CPU ;) @martin.kepplinger do you get a dial tone when calling the suspended phone, or does it behave like the called number is unavailable?
nope, it goes to voicemail without dialing (possibly with a strange delay, not sure about that), but you're right. I guess it's the behaviour of a shut down modem.
It rather sounds like a simple issue of the regulator getting disabled in suspend due to device tree misconfiguration, so the modem just gets its power cut off, which explains why it doesn't react to incoming calls anymore :)
The modem sure stays awake with no issues and sends wakeup notifications even when USB is completely disabled, so that part works. The SoCs waking up from such signal also works fine on the devkit. We just need to make sure the kernel doesn't cut the power from the modem when the CPU is going into suspend.
@martin.kepplinger Last time I've got suspend to work (without DDR scaling), the whole modem was being powered down so it obviously couldn't wake anything up :D I haven't seen any details about low power modes of BM818 in its docs, but in my experience with other modems that's usually achieved by suspending or detaching USB link, so I don't think we have anything special to do there. I have already seen in the past that WWAN_WAKE signal works fine even when the whole USB hub is off, so the modem side should be fine.
while I think this would be a workaround, I think that the following addition must result in the "key" being "pressed" on an incoming call (when the phone is not suspended, for testing), right?
KEY_PHONE was getting "pressed" periodically while the phone was ringing. It also was constantly pressed while the modem was off (which is why we removed it from dts).
I had seen this work on Birch, as found in this issue above, too. I tested without interrupt description as well. it doesn't get "pressed" for me. But this is something that anybody could test on our kernels.
and just to make it clear, VOL_UP/DOWN works as gpio key (evemu-record) and wakes up the system if I configure it as wakeup source, like the 4g_wake line above.
hm. tried to configure the pullup when describing the pin as 0x01C0 but doesn't change anything. Quickly grepping for a few words in the AT command docs doesn't give me anything.
My current "plan" is to communicate that (together with Sebastian) to Nicole and swap the "good" modem to an Evergreen where I do more testing than on Dogwood.
For the reference, I haven't checked the back side of the cards yet, but from the front side both modems I swapped (one working, one not working) look like the one on the left on your photo ("MCode" instead of "Model", slightly smaller sticker). Serial number difference between them is only 119, and both start with 54100200.
I also have two more modems here - one of them looks like the one on the right and has a serial number that starts with 34100190, the other looks like the one on the left as well and starts with 54100100. The 34100190 one does send WOWWAN, the other one I still have to check.
and for completeness: I can confirm that the old modem from Dogwood also sets WOWWAN / 4G_WAKE properly in my Evergreen. this enables to test suspend / resume in the real world a bit for me.