11-01-2021, 02:08 PM
(This post was last modified: 11-01-2021, 04:10 PM by dangowrt.
Edit Reason: document cleaning
)
(10-13-2020, 08:47 AM)Jojonintendo Wrote: Edit: it works in the end. After setting the kernel parameter it does indeed disable APST, which by default sets the drive to its most powerful state. However after that I can correctly force the PS 2 and have a working system, no longer crashing no matter the workload (been trying to crash it for 2-3 hours now with heavy IO). Even setting it to PS 1 still works, however I don't notice any improvement in responsiveness nor peak performance, so I prefer to stay at ~3W (PS 2) vs 4.2W (PS 1). If the PBP is plugged to the wall, then I can use the PS 0 as much as i want and it doesn't crash, so it definitely was a power issue.
Can you elaborate more on what you did to prevent these crashes?
I've recently installed Samsung SSD 970 EVO Plus 1TB (brand new, up-to-date firmware) in my Pinebook Pro (recent batch, arrived April 2021).
I'm running Manjaro with Linux 5.14.12-1-MANJARO-ARM. From what it looks, the unstable 2 GHz OPP has already been removed upstream and also the override of `max-link-speed` has been removed, resulting in value `1` like it should be.
Yet, unfortunately, the laptop crashes immediately once I even just try to carefully access the SSD (it took several attempts for mkfs, now mount and subsequent ls of the empty drive is enough to cause immediate Oops), with a stack-trace similar to the one in this post (searching for ` arm64_serror_panic` is what brought me here...).
I've tried setting `nvme_core.default_ps_max_latency_us=0` which results in APSTE being disabled. Also that doesn't make any difference when it comes to stability.
I've double checked the hardware connection and it looks quite ok (the flat-cable is slightly too long it seems, I'd say about 0.7mm, but it's fully inserted on both ends and I've used this type of PCB connector before...)
How do you force the drive into a specific power state?
According to `smartctl` the drive has Op state 0 with 7.80W, state 1 with 6.00W and state 2 with 3.40W. As I'm not expecting to get anywhere near the possible performance of the drive with the Pinebook Pro now only supporting PCIe Gen 1, I believe forcing or limiting it into state 2 might be a good idea.
Edit 1: found hints that ribbon cable cleanness might be the issue, cleaned all contacts of both ends as well as the contacts of the M.2 SSD module with isopropanol => situation unchanged.