I am running DanctNIX (Arch Linux ARM) with kernel 5.16.4 on PinePhone Pro. I noticed that the phone cannot suspend. The "systemctl suspend" can put the phone to sleep but I cannot wake the phone.
Manjaro ARM did the same with 5.16.2 kernel. Does the suspend ever work on any releases / kernel? Thanks!
I can confirm I have the same behavior on my PPP, with Manjaro/Phosh, linux-5.16.2.
I've been annoyed since I got it that the phone won't go to suspend on inactivity, whatever the power settings I set, causing it to drain battery very fast. Now, I'm starting to think it's not a bug, but a feature (well, at least a workaround, to work around the fact that the device can't wake up).
I have an original Pinphone (UBport edition), I remember it had similar problems in its early months, and suspend was only later in a working state. I suspect this will require dedicated kernel hacking for the PPP.
Works OK for me - see log extract at the bottom.
Code: $ uname -a
Linux duklappp 5.16-rockchip #1 SMP Wed Feb 2 14:23:43 UTC 2022 aarch64 GNU/Linux
csn@duklappp:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux bookworm/sid
Release: testing
Codename: bookworm
However, this is an area that is under rapid development and I would urge you NOT to do what I do!
Absolute essential pre-requisite at the moment is NO/nil/NADA bootloader on the eMMC, i.e. it is not sufficient that you are booting from the SDcard, you also have to have nuked the bootloader on the eMMC!
Code: [13442.404852] PM: suspend entry (deep)
[13442.805964] Filesystems sync: 0.389 seconds
[13442.821545] Freezing user space processes ... (elapsed 0.003 seconds) done.
[13442.848752] OOM killer disabled.
[13442.859564] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[13442.885581] printk: Suspending console(s) (use no_console_suspend to debug)
[13442.909850] dwmmc_rockchip fe310000.mmc: missing suspend/resume ops for non-removable SDIO card
[13443.136160] rk818-bat: suspend: dl=100 rl=100 c=66 v=4112 cap=2708 at=0 ch=1 st=finish
[13443.156943] Disabling non-boot CPUs ...
[13443.157991] psci: CPU1 killed (polled 0 ms)
[13443.160027] psci: CPU2 killed (polled 0 ms)
[13443.162274] psci: CPU3 killed (polled 0 ms)
[13443.165526] psci: CPU4 killed (polled 1 ms)
[13443.168515] psci: CPU5 killed (polled 1 ms)
[13443.169856] Enabling non-boot CPUs ...
[13443.170185] Detected VIPT I-cache on CPU1
[13443.170213] GICv3: CPU1: found redistributor 1 region 0:0x00000000fef20000
[13443.170269] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[13443.170752] CPU1 is up
[13443.170954] Detected VIPT I-cache on CPU2
[13443.170972] GICv3: CPU2: found redistributor 2 region 0:0x00000000fef40000
[13443.171010] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[13443.171377] CPU2 is up
[13443.171618] Detected VIPT I-cache on CPU3
[13443.171636] GICv3: CPU3: found redistributor 3 region 0:0x00000000fef60000
[13443.171677] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[13443.172070] CPU3 is up
[13443.172389] Detected PIPT I-cache on CPU4
[13443.172440] GICv3: CPU4: found redistributor 100 region 0:0x00000000fef80000
[13443.172530] CPU4: Booted secondary processor 0x0000000100 [0x410fd082]
[13443.173973] CPU4 is up
[13443.174255] Detected PIPT I-cache on CPU5
[13443.174298] GICv3: CPU5: found redistributor 101 region 0:0x00000000fefa0000
[13443.174370] CPU5: Booted secondary processor 0x0000000101 [0x410fd082]
[13443.175461] CPU5 is up
[13443.183857] rk818-bat: resume: dl=100 rl=100 c=213 v=4142 rv=4121 cap=2710 dt=25 at=0 ch=1 st=finish
[13443.186309] usb usb1: root hub lost power or was reset
- ROCKPro64 v2.1 2GB, 16Gb eMMC for rootfs, SX8200Pro 512GB NVMe for /home, HDMI video & sound, Bluetooth keyboard & mouse. Arch (6.2 kernel, Openbox desktop) for general purpose daily PC.
- PinePhone Pro Explorer Edition, daily driver, rk2aw & U-boot on SPI, Arch/SXMO & Arch/phosh on eMMC
- PinePhone BraveHeart now v1.2b 3/32Gb, Tow-boot with Arch/SXMO on eMMC
02-04-2022, 01:22 PM
(This post was last modified: 02-04-2022, 01:24 PM by ojimek.
Edit Reason: grammar
)
Thanks @ dukla2000 .
It took a bit of fighting, but I managed to make it works for me.
* I first installed the same OS I was using (Manjaro/Phosh) on a SD card and wiped the boot partition on the eMMC : the phone would now go on sleep, but still wouldn't wake up
* I wiped the whole eMMC for good measure (writing /dev/zero on it with dd) : no change
* I tried Mobian : the phone would not suspend by itself again, but would wake up after I manually suspended
* after toying around a bit, I realized the battery indicator was still shown as charging even when the phone is unplugged
This turned out to be my issue : the phone doesn't detect unplugging on the first try. I have to re-plug/re-unplug several times for it to be detected. After that, with Mobian on the SD card, the phone can wake up (haven't tried Mobian on the eMMC).
(02-04-2022, 01:22 PM)ojimek Wrote: ... haven't tried Mobian on the eMMC ..
Glad you got as far as "the bleeding edge"
Mobian on eMMC has not been tested (arch has) AFAIK but it is likely to fail as the bootloader will be back on the eMMC (unless you put Towboot or similar on the SDcard, pointing to the eMMC). Which is mighty complicated - much simpler probably to wait a few days as the various developers work a plan!
- ROCKPro64 v2.1 2GB, 16Gb eMMC for rootfs, SX8200Pro 512GB NVMe for /home, HDMI video & sound, Bluetooth keyboard & mouse. Arch (6.2 kernel, Openbox desktop) for general purpose daily PC.
- PinePhone Pro Explorer Edition, daily driver, rk2aw & U-boot on SPI, Arch/SXMO & Arch/phosh on eMMC
- PinePhone BraveHeart now v1.2b 3/32Gb, Tow-boot with Arch/SXMO on eMMC
Oh, ok, I wasn't aware this could be a problem (if the SD card and the eMMC are both mmc devices, it means they work the same, right? /s ^^' )
I don't really care anyway, I mentioned not trying on the eMMC for the sake of being complete, but it's just as good for me if the OS is on the SD card. I haven't had a SD card dying on me for a while, hopefuly it will last.
Arch on an SDcard also recovers FWIW. But my waters tell me that within a week or so we should take a leap past this hiccup with Tow-boot.
{On the RK3399 the eMMC is JEDEC 5.1, the SDcard is JEDEC 4.51. So getting back to the eMMC in due course will be beneficial.}
- ROCKPro64 v2.1 2GB, 16Gb eMMC for rootfs, SX8200Pro 512GB NVMe for /home, HDMI video & sound, Bluetooth keyboard & mouse. Arch (6.2 kernel, Openbox desktop) for general purpose daily PC.
- PinePhone Pro Explorer Edition, daily driver, rk2aw & U-boot on SPI, Arch/SXMO & Arch/phosh on eMMC
- PinePhone BraveHeart now v1.2b 3/32Gb, Tow-boot with Arch/SXMO on eMMC
02-05-2022, 06:58 PM
(This post was last modified: 02-08-2022, 12:11 AM by lllsondowlll.)
(02-04-2022, 03:43 PM)dukla2000 Wrote: Arch on an SDcard also recovers FWIW. But my waters tell me that within a week or so we should take a leap past this hiccup with Tow-boot.
{On the RK3399 the eMMC is JEDEC 5.1, the SDcard is JEDEC 4.51. So getting back to the eMMC in due course will be beneficial.}
Arch image wakes from suspend with SDCard boot & eMMC wiped?
Edit: Just tested and yes it works but man is Arch underwhelming compared to Manjaro. It even has lower packages and kernel version than Manjaro Unstable. After some testing, upgrading to unstable branch on Mobian or Arch to get the latest packages also includes latest kernel. The latest kernel regresses the sleep function and breaks it again. I wish we could get Manjaro working with deep sleep. Sleep and Audio quality is the only thing keeping me from daily driving it.
Edit2: Tow-boot flashed to SPI fixes suspend issue for the Pinephone Pro
Thanks everyone. After wiping the eMMC, the suspend 100% works kernel 5.16.4 and 5.16.7 on Arch Linux Arm.
|