tanod Posted Wednesday at 07:58 AM Posted Wednesday at 07:58 AM Hey @amazingfate, I have an issue with the build-in IR receiver on my OPI5+: ##O#O## OS: Armbian 25.8.1 noble aarch64 ####### Host: Orange Pi 5 Plus ########### Kernel: 6.1.115-vendor-rk35xx ############# Uptime: 2 mins ############### Packages: 1934 (dpkg), 5 (snap) ################ Shell: bash 5.2.21 ################# Resolution: 3840x2160 ##################### DE: GNOME 46.0 ##################### WM: Mutter ################# WM Theme: Adwaita Theme: Adwaita [GTK2/3] Icons: Adwaita [GTK2/3] Terminal: x-terminal-emul CPU: (8) @ 1.800GHz Memory: 2585MiB / 15957MiB After a reboot it works just fine, but once I suspend/resume it stops working. Logs look clear of errors. I have tried to troubleshoot with ChatGPT but goin' in circles and gave up. Lastly ended up with some speculations from it like: Quote The driver at drivers/input/remotectl/rockchip_pwm_remotectl.c is missing pm_ops callbacks, which are used to restore hardware state after resume. It needs something like this added: static int rockchip_pwm_remotectl_resume(struct device *dev) { struct remotectl_dev *rc_dev = dev_get_drvdata(dev); // Re-init or restart the device if (rc_dev && rc_dev->restart) rc_dev->restart(rc_dev); return 0; } static const struct dev_pm_ops rockchip_pwm_remotectl_pm_ops = { .resume = rockchip_pwm_remotectl_resume, }; Quote And then linked to the platform driver: static struct platform_driver rockchip_pwm_remotectl_driver = { .probe = rockchip_pwm_remotectl_probe, .driver = { .name = "rockchip_pwm_remotectl", .pm = &rockchip_pwm_remotectl_pm_ops, }, }; Do you think this is the problem, or if not can I share some details so you can try to find it? 0 Quote
amazingfate Posted 21 hours ago Posted 21 hours ago I don't have IR device to test. While in kernel driver code there is pm_ops defined: https://github.com/armbian/linux-rockchip/blob/rk-6.1-rkr5.1/drivers/input/remotectl/rockchip_pwm_remotectl.c#L1063-L1066 0 Quote
The Tall Man Posted 4 hours ago Posted 4 hours ago (edited) I've never been able to wake up my Orange PI 5 Plus from suspend. It just goes into oblivion - requiring a hard restart. The keyboard and mouse don't wake it up. Tapping the power button doesn't wake it up. I've tried it on Armbian as well as pure Debian Trixie. Apparently something is off in the design of the SBC. But also hibernation doesn't work (again in Armbian and in pure Trixie). Using a 32 GB (32 * 1024^3) swap for a "32 GB" (actually around 31 GB) RAM device, and setting RESUME to the swap partition, the hibernation option appears. But when used, it just goes into oblivion (like suspend). I left it alone like that once for about 20 minutes, it was still in limbo. and when I (have to) hard restart it, the previous supposedly-hibernated state is gone. Given that the SBC is capable of doing a power shutdown from the OS (i.e. after dumping allocated RAM to the swap), there is no legitimate reason for hibernation to not work. But it doesn't. Edited 2 hours ago by The Tall Man 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.