Bug 11451 - Without touch screen connected to the main board ir fails to work
: Without touch screen connected to the main board ir fails to work
Status: RESOLVED FIXED
Product: SB Touch
Classification: Unclassified
Component: Product Quality
: unspecified
: PC Windows XP
: P1 blocker (vote)
: MP
Assigned To: Richard Titmuss
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-03-24 10:17 UTC by Spies Steven
Modified: 2009-09-08 09:19 UTC (History)
3 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Spies Steven 2009-03-24 10:17:52 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.
Comment 1 Maurice Alou 2009-03-24 11:41:50 UTC
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
Comment 2 Felix Mueller 2009-03-25 11:45:04 UTC
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.
Comment 3 Richard Titmuss 2009-03-26 10:17:35 UTC
Felix, that looks good. Can you check in please.
Comment 4 Felix Mueller 2009-03-26 10:26:39 UTC
Fixed in r4969