Bugzilla – Bug 11451
Without touch screen connected to the main board ir fails to work
Last modified: 2009-09-08 09:19:26 UTC
I first noticed this with fab4s that were produced without touch screens. If there is no touch screen or if the touch screen is not connected to the main board ir will not work. That is fab4 will not respond to commands from the remote. Once a touch screen is connected the ir works as expected and can be controlled form the remote.
Some observations when device is booted without touchpanel: - the ir controller asserts correctly ATTN2# line after receiving an ir code - the imx35 reads data from the ir controller and ATTN2# line is correctly de-asserted - the imx35 seems to ignore the read data because the ui doesn't react When touchpanel is present, the ir controller is /class/input/input1 whereas when the touchpanel is not present the ir controller is /class/input/input0 If the device is booted with touchpanel and then the touchpanel is removed, the ir works correctly... it looks like the os expect the ir controller to be /class/input/input1
I also first thought /class/input/input1 vs. /class/input/input0 is the issue, but it's not. In fab4_bsp.c when IR and touch devices are opened the return value is only dependent of whether touch was found or not. If touch isn't found the event pump doesn't get set. I therefore propose the following patch: Index: src/fab4_bsp.c =================================================================== --- src/fab4_bsp.c (revision 4901) +++ src/fab4_bsp.c (working copy) @@ -436,7 +436,7 @@ } } - return (clearpad_event_fd != -1); + return ((clearpad_event_fd != -1) || (ir_event_fd != -1)); } I've tested the patch without touch plugged in and IR still worked. It would also be consistent with Maurice's finding that IR still works when the touch panel is removed after booting. In this case the event pump gets set properly.
Felix, that looks good. Can you check in please.
Fixed in r4969