Good news! We have solved the issue, so it looked like the serial driver had a kernel change from 6.5 that allowed it to use more than 1 serial port, we believe it was either one of these two CR commits that did it:
* https://github.com/torvalds/linux/co...1c41eae3fd684f
* https://github.com/torvalds/linux/co...71ff2cd8327f1a
Code:
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 8250, Port: 0x02f8, IRQ: 3
This is the same place in memory that the ite-cir should have for this port
So we used setserial to remove the port from being used, modprobed ite-cir...and viola the driver loaded as expected and it's up and running. The problem is that setserial isn't permanent and we'd then have to do some custom script on boot that would:
* setserial to remove the port
* remove the ite-cir driver (because it does get loaded even though it doesn't work) then mod probe it back again to fix the issue
We saw there was an option in grub config that set the number uart ports that the serial driver can claim, you need to use 8250.nr_uarts (which isn't documented unless you go to the kernel github code) as nr_uarts will not do this.
So we edited /etc/default/grub and set this to 1
Code:
GRUB_CMDLINE_LINUX_DEFAULT="8250.nr_uarts=1"
Did a sudo update-grub, rebooted and now there's only one device being claimed and ite-cir driver is working
Code:
sudo setserial -g /dev/ttyS*
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
sudo ir-keytable
Found /sys/class/rc/rc0/ with:
Name: ITE8708 CIR transceiver
Driver: ite-cir
Default keymap: rc-rc6-mce
Input device: /dev/input/event7
LIRC device: /dev/lirc0
Attached BPF protocols: Operation not supported
Supported kernel protocols: lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp imon rc-mm
Enabled kernel protocols: lirc rc-6
bus: 25, vendor/product: 1283:0000, version: 0x0000
Repeat delay: 500 ms, repeat period: 125 ms
Before ir-keytable wouldn't even show a device being there, I'm going to do some thorough testing to confirm this is operational but I'm considering the matter, resolved. Some next steps come into mind before I mark this thread as solved
@MAFoElffen or anyone else at canonical, should we file this bug up stream to the kernel directly or should we send this to your team?