Touchscreen problem after restart Photon

Dear All!

I have a strange kind of problem. I try to config Photon to use w. a Microtouch (EXII) touchscreen, and configure Photon’s input trap for the autostart the touch driver/manager. A well working setup can’t work after restart - what I take wrong?

For the initial calibration:

1.a/ manually started the devi-microtouch, then ‘calib -m16384’
1.b/ calib finished fine
1.c/ i’m happy, touchscreen work fine

Then insert to /etc/system/trap/input.$HOSTNAME:

2.a/ ‘devi-microtouch microtouch touchusb’

At this point, the cursor follow my finger, work fine. In the process list seat the driver. All OK.

When restart system:

3.a/ touchscreen not work
3.b/ devi-microtouch terminated - don’t know, why.
3.c/ in the process list (pidin) can’t see the driver

The symptom same, when I try to start driver w. a miscalibrated calib.$HOSTNAME file (e.g. when I click to markers w. mouse).

Therefore my last step was:

4.a/ removed the previously well working calib.$HOSTNAME file
4.b/ restarting system w/o calib.$HOSTNAME file
4.c/ after Photon started, if I touch the screen, the mouse cursor fly to somewhere (driver run)
4.d/ In the process list devi-microtouch seating well

After the unsuccessfull reboot, I try the start driver manually w. previous well working calib.$HOSTNAME, and give ‘-vvvvvvvv’ option to see, what happen:

5.a/ driver start normally, while
5.b/ driver read the calibration info, then I get a
5.c/ “Received a message from the Photon server”
5.d/ devi-microtouch terminated

So, the circle is closed.

My question, why terminated the driver after restart. Any help thanks.

ps: see also the ‘calib -m16384’ here

Today morning I take some new tests. The problem shortly is:

After calib touchscreen, it work well. Then ‘slay devi-microtouch’ to stop it. Photon still running. Calib file OK in the standard place. When I start again driver, after few secs, driver terminated (when driver read the calib info for the screen resolution).

Any ideas ?


tell me what version of QNX you are running. It looks like you are trying to connect to the touch screen with USB? Also can you post what you get after “pidin arg”

Thanks for answer. Excuse me, this is a QNX 6.4.1 on x86 platform, w. USB touchscreen (w. EXII ASIC, Rev C controller).

The outputs here in a zip file.

Thank you,

Since I am not using 6.4.1 I can’t try anything meaningful, but I think since you have trouble running the touch screen with the 3M driver, why don’t you try to run it as HID device?
Try calling “devi-hid touch&” in the /etc/rc.d/rc.local and run calib after so you have a good calibration file.

I also found this in the document of 6.3.2, don’t know if this applies to 6.4.1

touchusb – communicate with device via the USB controller. This version of the USB module doesn’t use any option.

If you use the touchdev module, you must disable the standard mouse/keyboard driver devi-hirun PS2 mouse module.
You can do this by creating a /etc/config/trap/input[.hostname] file with one of the following strings:

kbd kbddev msoft fd -d /dev/serN-- if you use a serial mouse

kbd kbddev-- if you don’t use a mouse

Thanks again for answer.

I tried again devi-hid - nothing happen (maybe some paramteres or setup missing). Again, it is a “3M Microtouch, EXII-7710UC” touchscreen ( from 3M website it use USB protocol, not HID (EXII-77xxHC series) see in manufacturer website ). The ‘devi-microtouch’ work well - while not have calibration file (/etc/system/config/calib.[HOSTNAME] ). After success “calib -m16384” the “calib” exit normally, mouse pointer follow my finger precisely. But, when I ‘slay’ the driver (or take a reboot), and try to start again ‘devi-microtouch …’ w. same parameters (see in the zip file: 'go3m" script), driver terminated after few sec.

The situation maybe like this (but I dont know, how to work ‘calib’): for the first time calib pass calibration data’s to driver e.g. via memory, but, when ‘calib’ write other (wrong?) datas to calib file. The older microtouch raster matrix was smaller than newest (if remember well, 4096x4096). This newest generation touchscreens use highest resolution, their matrix 16384x16384. To tell ‘calib’ this, need to pass ‘-m16384’ switch to ‘calib’. This switch QNX not shown in the ‘use calib’ on QNX 6.4.1. I link in my first post end a link, which is say from this.

To reduce problem: if I start driver ( devi-microtouch w/o calib file), then ‘calib -m16384’, calib process work well, work everything well. But, when I kill driver, start again (now w. previously generated calib file in /etc/config/calib/) driver terminated, after read calibration data for current screen resulution. If i touch continously the screen, while driver terminated (it is about 1, 1.5 sec), I see the x/y coords in the terminal window (naturally in -vvvvvv options).

Huhh, excuse me for my english.


I tested today again under: 6.3.2, 6.4.1, and new 6.5.0. We have valid license for 6.3.x and 6.4.x. Under 6.5.0, test run from NTO CD (no install).

The common comands was:

to start driver: ‘devi-microtouch -vvvvv microtouch touchusb &’
to stop driver: ‘slay devi-microtouch’
to calibration: ‘calib -m16384’

The results:

6.3.2: touchscreen not work (devi-hid / devi-microtouch)
6.4.1: touchscreen work for the first time calib. After driver restart, don’t work.
6.5.0: each time after kill/restart driver, touchcreen work fine after calib.

I dont know, what difference btw. in 6.4.1 and 6.5.0. I try to copy 6.5.0 generated calib datas to 6.4.1, no success.

Any idea?


calibration file is nothing special, if you print out the calib.localhost file its just a text file with some coordinate information. I can’t see this being different from 6.3.2, 6.4.1, and 6.5.0 (I didnt’ know they had 6.5.0), but than again I don’t have 6.4.1 or 6.5.0. to confirm.
Anyhow, it sounds like maybe its time to ask qnx support since same driver gives different behavior from 6.3.2-6.5.0

6.5.0 is beta

Thanks for answers.

Yes, the 6.5.0 is beta, but his ‘devi-microtouch’ work fine, can be expected him: work well after a warm/cold reset (slay/restart with or without calib.HOSTNAME file).
Under 6.4.1 unfortunately -with the same commands- die after a reset, if calib.HOSTNAME file present. I try the -R (no reset controller) option too - no success.

I know, the calib.HOSTNAME a simple textfile. While tested 6.5.0 in same hw, I passed the 6.5.0’s calib datas to 6.4.1 - the result also died driver.

If I put into inputtrap’s input.HOSTNAME the "devi-microtouch … " cmd line, driver start well after cold boot - w/o. calib.HOSTNAME file-, mouse pointer flyout from screen if I touch screen. In the pidin list see ‘devi-microtouch’.

I tested situation w. another touchscreen (some far-East, no-name, assembled with a Microchip/Hampshire’s USB controller ), it work well every time with calibration, warm and cold restart too. But it is work w. HID (devi-hid) driver.

I’m run out of idea. I anybody have, please share - thank you.


After contact QNX, problem solved. We get a new driver soruce, then compile it, well done. Because of QNX limitation, I can’t post this. If somebody interest, contact with Mr. E. Muis at QNX: emuis(at)qnx-com.

Thanks for answers, watching.