usb – Wrong IR keytable loaded for Hauppauge soloHD TV

I have a Hauppauge soloHD TV USB device on Ubuntu Focal (20.04 LTS). When it is inserted, the wrong key table seems to be loaded by the kernel (also fails on 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

The remote does not work, likely because of Registered IR keymap rc-pinnacle-pctv-hd. If I manually do

ir-keytable -c -w /etc/rc_keymaps/hauppauge.toml

Then it works ok. According to /lib/udev/rules.d/60-ir-keytable.rules then it should be reading the configuration from /etc/rc_maps.cfg, but this doesn’t seem to work (I’ve tried modifying the rules to use hauppauge.toml). I’ve also tried blacklisting the rc_pinnacle_pctv_hd module, but this doesn’t seem to work.

Is there any way to configure the system to use the correct key table when the device is inserted? (It does get removed often).