You are not logged in.

#1 2019-03-25 20:46:38

ThatOneSeong
Member
Registered: 2019-03-16
Posts: 1

GPD Win - microSD Sleep Mitigation?

Hello! Some background on the situation before I explain the issue...

The GPD Win (1) is a well-supported palmtop device as of the latter Kernel 4.1x releases, and as of now, Kernel 5.0.x. I know this because, aside from using the latest Arch install on my unit currently, I already made a post about the process of using one for two-three months. Since then, screen initialization has been fixed for live environments so Arch and such can be installed without an external display. However, there is one problem (aside from the slow power supply charge after boot, which is still an issue) that isn't so much a kernel issue but one involving the device itself.

So, this is the actual problem I want to discuss:

If you're unaware, the microSD card slot on the Win can be used just fine, is recognized just fine, and many different cards work and can be used in various applications. The problem comes when you stop using the card, as after a few moments (Read: Literally five seconds of inactivity) the port 'sleeps' and needs to be woken up by accessing a different part of the filesystem again. What does this mean? Two-to-three-second-long pauses mid-emulation whenever a new file needs to be accessed, every five-ish seconds. This problem isn't unique to Linux; the exact same behavior is noticeable under Windows. The difference is two-fold:

1) The sleep period is less every five seconds of inactivity, and closer to around twenty to twenty-five seconds.
2) This can be mitigated by a program known as GPD Win Keepalive; basically it writes to a text file at a designated place in the filesystem in order to keep the slot 'awake' without noticing long periods of wait time whenever accessing the card.

It doesn't matter what kernels are used (Vanilla, Zen, -ck, -post-factum), what versions (4.15, 4.19, 5.0.3), and which BIOS is used ("Unlocked" October 25th 2016 BIOS, or the later "Locked" revisions which are more stable), and neither does using TLP or not affect this; the SD card's filesystem will always pause after every five seconds or so of inactivity to access a new file, which causes an unavoidable pause for two seconds to access said new file, out of the box with the latest vanilla Arch kernel and nothing else.

I know my way around the terminal, but to be honest I've never mucked about with sys devices outside of swapping IO schedulers. All I know is that attempting to make either cronjobs or systemd timers to perform something similar to Keepalive (writing random information to a text file at the SD card's root directory) does not mitigate this problem in the slightest. I do understand the obvious health risk on the microSD card's end, and is a sore spot in an otherwise well-made handheld, but performance for emulation and general usage is the priority here.

If anyone has advice on how to mitigate this issue, that would be appreciated. And also, if you need any details on hardware, feel free to request commands to be run (as I'm quite frankly unsure in that regard as well).

Hardware info:
GPD Win (Later 2017-2018 model), latest 2017 "Locked" BIOS
Intel Atom x7 Z8750 (Cherry Trail)

Software info:
Arch Linux (Installed from 2019.03.01-x86_64 ISO), running Linux-pf (post-factum) 5.0.3 Kernel
Desktop Environment: Xfce
Relevant modifications: TLP & TLP-sleep services running (power savings)


Just your average Seong. Nothing to see here. . .

Offline

Board footer

Powered by FluxBB