通过 USB 红外远程唤醒

通过 USB 红外远程唤醒

我正在运行 14.04 XBMCbuntu,是一名新用户。我已经按自己想要的方式安装了 xbmc,并且进行了 MCE 远程设置。

我已经暂停工作,但唤醒只能通过键盘,而不是红外遥控器或鼠标。

我查阅了大量论坛资料来寻找答案,并尝试了许多方法。

当我运行 cat /proc/acpi/wakeup 时

我得到了一个项目列表,但没有 USB01 或 USB02 文件.....尽管如此,我还是尝试了

echo USB0 > /proc/acpi/wakeup

echo USB1 > /proc/acpi/wakeup

echo USB2 > /proc/acpi/wakeup

echo USB3 > /proc/acpi/wakeup

当我运行 lsusb

设备就在那里@ Bus02 Device 08: 0471:o60c Philips (or NXP) eHome Infrared Receiver

我尝试将/sys/bus/usb/devices/usb2电源文件编辑为“启用”,但是收到有关无法保存备份的错误消息,因此无法写入文件!

我们将非常感谢您在以下方面的支持:

  1. 唤醒接收器
  2. 编辑上面提到的 sys 文件
  3. 我无法从 xterm 复制到浏览器。我可以使用 Shift Insert 从浏览器复制到 xterm,并且可以使用 Control shift c 和 Shift Insert 从一个 xterm 复制到另一个 xterm 屏幕……

答案1

我遇到了同样的问题,也为我的 USB 没有出现在 /proc/acpi/wakeup 中而困惑。然而,最后,尽管许多解决方案都表明这是必需的,但我并不需要在 ACPI 中启用 USB。

相反,启用我的红外设备所连接的 USB 端口上的唤醒功能就足够了。

查找您的设备 ID:

$ lsusb

总线 002 设备 002:ID 8087:8001 Intel 公司
总线 002 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器
总线 001 设备 002:ID 8087:8009 Intel 公司
总线 001 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器 总线
004 设备 001:ID 1d6b:0003 Linux Foundation 3.0 根集线器
总线 003 设备 003:ID 13ba:0018 PCPlay 条形码 PCP-BCG4209
总线 003 设备 002:ID 1934:5168 Feature Integration Technology Inc. (Fintek) F71610A 或 F71612A 消费类红外接收器/收发器
总线 003 设备 001:ID 1d6b:0002 Linux Foundation 2.0 根集线器

在上面的例子中,我的设备 ID 是5168

Grep /sys/bus/usb 找到你的设备插入的端口:

$ grep 5168 /sys/bus/usb/devices/*/idProduct  

/sys/bus/usb/devices/3-13/idProduct:5168

这表明我的设备已插入总线 3、端口 13。

确认端口正确:

$lsusb -t

/:总线 04.端口 1:Dev 1,Class=root_hub,驱动程序=xhci_hcd/6p,5000M
/:总线 03。端口 1:Dev 1,Class=root_hub,驱动程序=xhci_hcd/14p,480M
|__ 端口 13:Dev 2,如果为 0,Class=供应商特定类,驱动程序=mceusb,12M

|__ 端口 14:设备 3,如果为 0,则类 = 人机接口设备,驱动程序 = usbhid,1.5M
|__ 端口 14:设备 3,如果为 1,则类 = 人机接口设备,驱动程序 = usbhid,1.5M
/:总线 02。端口 1:设备 1,类 = root_hub,驱动程序 = ehci-pci/2p,480M |__ 端口 1:设备 2,如果为 0,则类 = Hub,驱动程序 = hub/8p,480M
/:总线 01。端口 1:设备 1,类 = root_hub,驱动程序 = ehci-pci/2p,480M
|__ 端口 1:设备 2,如果为 0,则类 = Hub,驱动程序 = hub/6p,480M

总线 3,端口 13 与 grep (3-13) 返回的总线/端口匹配

检查唤醒是否已启用:

$ cat /sys/bus/usb/devices/3-13/power/wakeup  

已禁用

启用端口唤醒:

$ sudo sh -c 'echo "enabled" > /sys/bus/usb/devices/3-13/power/wakeup'

检查唤醒是否已启用:

$ cat /sys/bus/usb/devices/3-13/power/wakeup  

已启用

测试您的设备,它能唤醒系统吗?

使此更改在重新启动后仍然有效:

$ sudo nano /etc/rc.local

在注释之后和“exit 0”之前添加以下几行

# Enable Wake on IR for USB bus 3 port 13.  
echo enabled > /sys/bus/usb/devices/3-13/power/wakeup

现在高兴地从 USB 设备唤醒您的 PC。

限制
这种方法的一个问题是,如果插入 IR 设备的 USB 端口发生变化,则专门启用该端口则无济于事。

这个帖子有一种方法可以使用 Udev 规则根据插入到 IR 端口的设备启用该端口。

参考
Kodi、MCE Remote 和 Ubuntu
使用键盘或鼠标从挂起状态唤醒
使用 Udev 规则启用 IR 设备

相关内容