Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

IR receiver stops working after suspend/resume

Featured Replies

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?

Solved by amazingfate

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 by The Tall Man

  • Author

Thanks for the answer, @amazingfate!

 

I guess there might be e bug in the driver. Once I have more time (if I have) I will issue a bug report to the kernel devs and will try ti test and send required info.

 

 

Regards,

Tano

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.