我在 Ubuntu Focal (20.04 LTS) 上有一个 Hauppauge soloHD TV USB 设备。插入时,内核似乎加载了错误的键表(在 Groovy 20.10 上也会失败)
[25082.688138] usb 1-1: new high-speed USB device number 6 using xhci_hcd
[25082.836822] usb 1-1: New USB device found, idVendor=2040, idProduct=8268, bcdDevice= 1.00
[25082.836828] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[25082.836831] usb 1-1: Product: soloHD
[25082.836834] usb 1-1: Manufacturer: HCW
[25082.836837] usb 1-1: SerialNumber: xxxxxx
[25082.837790] em28xx 1-1:1.0: New device HCW soloHD @ 480 Mbps (2040:8268, interface 0, class 0)
[25082.837795] em28xx 1-1:1.0: DVB interface 0 found: bulk
[25082.896253] em28xx 1-1:1.0: chip ID is em28178
[25084.931009] em28xx 1-1:1.0: EEPROM ID = 26 00 01 00, EEPROM hash = 0x3ccac980
[25084.931013] em28xx 1-1:1.0: EEPROM info:
[25084.931017] em28xx 1-1:1.0: microcode start address = 0x0004, boot configuration = 0x01
[25084.937641] em28xx 1-1:1.0: AC97 audio (5 sample rates)
[25084.937644] em28xx 1-1:1.0: 500mA max power
[25084.937649] em28xx 1-1:1.0: Table at offset 0x27, strings=0x0e6a, 0x1888, 0x087e
[25084.996137] em28xx 1-1:1.0: Identified as PCTV tripleStick (292e) (card=94)
[25084.996142] em28xx 1-1:1.0: dvb set to bulk mode.
[25084.996200] em28xx 1-1:1.0: Binding DVB extension
[25085.003353] i2c i2c-3: Added multiplexed i2c bus 4
[25085.003354] si2168 3-0064: Silicon Labs Si2168-B40 successfully identified
[25085.003355] si2168 3-0064: firmware version: B 4.0.2
[25085.005053] si2157 4-0060: Silicon Labs Si2147/2148/2157/2158 successfully attached
[25085.005067] dvbdev: DVB: registering new adapter (1-1:1.0)
[25085.005068] em28xx 1-1:1.0: DVB: registering adapter 0 frontend 0 (Silicon Labs Si2168)...
[25085.005070] dvbdev: dvb_create_media_entity: media entity 'Silicon Labs Si2168' registered.
[25085.006181] dvbdev: dvb_create_media_entity: media entity 'dvb-demux' registered.
[25085.006767] em28xx 1-1:1.0: DVB extension successfully initialized
[25085.006769] em28xx 1-1:1.0: Registering input extension
[25085.006886] Registered IR keymap rc-pinnacle-pctv-hd
[25085.007016] rc rc0: PCTV tripleStick (292e) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/rc/rc0
[25085.007061] rc rc0: lirc_dev: driver em28xx registered at minor = 0, scancode receiver, no transmitter
[25085.007089] input: PCTV tripleStick (292e) as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/rc/rc0/input13
[25085.007160] em28xx 1-1:1.0: Input extension successfully initialized
遥控器无法工作,可能是因为Registered IR keymap rc-pinnacle-pctv-hd
。如果我手动执行
ir-keytable -c -w /etc/rc_keymaps/hauppauge.toml
然后就可以正常工作了。根据/lib/udev/rules.d/60-ir-keytable.rules
当时的情况,它应该从 读取配置/etc/rc_maps.cfg
,但这似乎不起作用(我尝试修改规则以使用 hauppauge.toml)。我也尝试将rc_pinnacle_pctv_hd
模块列入黑名单,但这似乎不起作用。
有没有什么方法可以配置系统在插入设备时使用正确的密钥表?(它经常被删除)。
答案1
作为临时解决方法,我安装了以下内容。欢迎提供更好的答案。
我输入的是/lib/udev/rules.d/99-tv-card.rules
:
ATTRS{idVendor}=="2040", ATTRS{idProduct}=="8268", RUN+="/usr/bin/ir-keytable -c -w /etc/rc_keymaps/hauppauge.toml"
重新加载后udevadm control --reload-rules
似乎工作正常。