2012-07-26, 10:03
Summary so far: The Intel DG45ID motherboard includes an integrated Consumer IR (CIR) module. That module is not properly enabled by 3.0.0-23-generic kernel in XBMCbuntu 10.0. A quick fix was found to enable the CIR module but it does not appear to be functioning even after being enabled.
Original Post:
Hi all,
I've run into a problem trying to enable my infrared receiver. It looks like it is being misidentified during boot as a UART (serial port). It also looks like this is a known problem, but I can't tell if a kernel fix was ever implemented nor do I know how to work around it on my own.
The hardware in question is an Intel DG45ID motherboard which incorporates the G45 Express chipset with a Winbond WPCD377I Super I/O. The Winbond chip includes support for Consumer Infrared (CIR) and the motherboard features a "standard" CIR header. I have connected an Inteset CIR module to the CIR header and the motherboard BIOS is up-to-date. The hardware is known good and works in Windows 7 once the proper driver is installed.
I am trying to get this remote receiver working in the latest 11.0 release of XBMCbuntu. I had hoped it would work out-of-the-box since this is mature hardware and I thought support for the Winbond Super I/O CIR was picked up somewhere in the 2.6 kernel.
I begin troubleshooting with dmesg, where I found the following error that indicates that the CIR could not be enabled because something else was already mapped to its memory region:
This led me to check /proc/ioports to see what that region was allocated to:
Which in turn led me back to dmesg to gather more information, where I found the following related messages:
So it looks like the CIR module is being identified early in the boot at a UART, which prevents it from later being configured correctly as an infrared receiver. Some googling turned up a thread in the Linux-Kernel mailing list where this issue was discussed in 2010, but I'm not clear what fix (if any) was ever officially sanctioned.
At this point I'm stuck. Can anybody suggest what steps I can take next to try to get this infrared receiver working?
Thanks!
Original Post:
Hi all,
I've run into a problem trying to enable my infrared receiver. It looks like it is being misidentified during boot as a UART (serial port). It also looks like this is a known problem, but I can't tell if a kernel fix was ever implemented nor do I know how to work around it on my own.
The hardware in question is an Intel DG45ID motherboard which incorporates the G45 Express chipset with a Winbond WPCD377I Super I/O. The Winbond chip includes support for Consumer Infrared (CIR) and the motherboard features a "standard" CIR header. I have connected an Inteset CIR module to the CIR header and the motherboard BIOS is up-to-date. The hardware is known good and works in Windows 7 once the proper driver is installed.
I am trying to get this remote receiver working in the latest 11.0 release of XBMCbuntu. I had hoped it would work out-of-the-box since this is mature hardware and I thought support for the Winbond Super I/O CIR was picked up somewhere in the 2.6 kernel.
I begin troubleshooting with dmesg, where I found the following error that indicates that the CIR could not be enabled because something else was already mapped to its memory region:
Quote:[ 5.591489] Winbond CIR 00:04: Region 0x2f8-0x2ff already in use!
[ 5.591720] Winbond CIR 00:04: disabled
[ 5.591725] Winbond CIR: probe of 00:04 failed with error -16
This led me to check /proc/ioports to see what that region was allocated to:
Quote: 0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-0060 : keyboard
0064-0064 : keyboard
0070-0071 : rtc0
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
02f8-02ff : serial
03f8-03ff : serial
0400-047f : pnp 00:0a
Which in turn led me back to dmesg to gather more information, where I found the following related messages:
Quote:[ 0.199579] pnp 00:03: Plug and Play ACPI device, IDs PNP0501 (active)
[ 0.199783] pnp 00:04: [io 0x0a50-0x0a5f]
[ 0.199785] pnp 00:04: [io 0x0a40-0x0a4f]
[ 0.199787] pnp 00:04: [io 0x02f8-0x02ff]
[ 0.199792] pnp 00:04: [irq 3]
...
[ 3.467397] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[ 3.487763] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[ 3.604073] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A
So it looks like the CIR module is being identified early in the boot at a UART, which prevents it from later being configured correctly as an infrared receiver. Some googling turned up a thread in the Linux-Kernel mailing list where this issue was discussed in 2010, but I'm not clear what fix (if any) was ever officially sanctioned.
At this point I'm stuck. Can anybody suggest what steps I can take next to try to get this infrared receiver working?
Thanks!