Touchscreen trouble in new Apalis TK1 with Ixora

I am using a new TK1 with Ixora board freshly flashed with ( Angstrom v2016.12 - Kernel 3.10.40-2.7.2+g0fd5295 - Apalis-TK1_LXDE-Image 2.7.2 20170410)

I dont have any displays connected to the system, but I have trouble because the touchscreen continuously sends events even though a touch screen does not exist.

evtest /dev/input/touchscreen0 
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "apalis-tk1-k20-ts"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value    272
      Min        0
      Max    65535
    Event code 1 (ABS_Y)
      Value    264
      Min        0
      Max    65535
    Event code 24 (ABS_PRESSURE)
      Value    536
      Min        0
      Max     4095
Properties:
Testing ... (interrupt to exit)
Event: time 1491804086.746110, type 3 (EV_ABS), code 0 (ABS_X), value 270
Event: time 1491804086.746110, type 3 (EV_ABS), code 1 (ABS_Y), value 266
Event: time 1491804086.746110, -------------- SYN_REPORT ------------
Event: time 1491804086.787095, type 3 (EV_ABS), code 1 (ABS_Y), value 263
Event: time 1491804086.787095, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 533
Event: time 1491804086.787095, -------------- SYN_REPORT ------------
Event: time 1491804086.828067, type 3 (EV_ABS), code 0 (ABS_X), value 271
Event: time 1491804086.828067, type 3 (EV_ABS), code 1 (ABS_Y), value 264
Event: time 1491804086.828067, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 535
Event: time 1491804086.828067, -------------- SYN_REPORT ------------
Event: time 1491804086.869028, type 3 (EV_ABS), code 0 (ABS_X), value 276
Event: time 1491804086.869028, type 3 (EV_ABS), code 1 (ABS_Y), value 265
Event: time 1491804086.869028, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 541
Event: time 1491804086.869028, -------------- SYN_REPORT ------------
Event: time 1491804086.910085, type 3 (EV_ABS), code 0 (ABS_X), value 270
Event: time 1491804086.910085, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 536
Event: time 1491804086.910085, -------------- SYN_REPORT ------------
Event: time 1491804086.951071, type 3 (EV_ABS), code 0 (ABS_X), value 272
Event: time 1491804086.951071, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 538
Event: time 1491804086.951071, -------------- SYN_REPORT ------------
Event: time 1491804086.992080, type 3 (EV_ABS), code 0 (ABS_X), value 274
Event: time 1491804086.992080, type 3 (EV_ABS), code 1 (ABS_Y), value 266
Event: time 1491804086.992080, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 540
Event: time 1491804086.992080, -------------- SYN_REPORT ------------
Event: time 1491804087.033078, type 3 (EV_ABS), code 0 (ABS_X), value 271
Event: time 1491804087.033078, type 3 (EV_ABS), code 1 (ABS_Y), value 264
Event: time 1491804087.033078, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 535
Event: time 1491804087.033078, -------------- SYN_REPORT ------------
Event: time 1491804087.074102, type 3 (EV_ABS), code 0 (ABS_X), value 272
Event: time 1491804087.074102, type 3 (EV_ABS), code 1 (ABS_Y), value 265
Event: time 1491804087.074102, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 537
Event: time 1491804087.074102, -------------- SYN_REPORT ------------
Event: time 1491804087.115099, type 3 (EV_ABS), code 0 (ABS_X), value 271
Event: time 1491804087.115099, type 3 (EV_ABS), code 1 (ABS_Y), value 266
Event: tim[   85.789882] EXT4-fs (mmcblk0p2): resizing filesystem from 4685824 to 4751360 blocks
e 1491804087.115099, -------------- SYN_REPORT ------------
Event: time 1491804087.156179, type 3 (EV_ABS), code 1 (ABS_Y), value 264
Event: time 1491804087.156179, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 535
Event: time 1491804087.156179, -------------- SYN_REPORT ------------
[   85.839186] EXT4-fs (mmcblk0p2): resized filesystem to 4751360
Event: time 1491804087.197114, type 3 (EV_ABS), code 0 (ABS_X), value 273
Event: time 1491804087.197114, type 3 (EV_ABS), code 1 (ABS_Y), value 263
Event: time 1491804087.197114, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 537
Event: time 1491804087.197114, -------------- SYN_REPORT ------------
Event: time 1491804087.238086, type 3 (EV_ABS), code 0 (ABS_X), value 270
Event: time 1491804087.238086, type 3 (EV_ABS), code 1 (ABS_Y), value 265
Event: time 1491804087.238086, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 535
Event: time 1491804087.238086, -------------- SYN_REPORT ------------
Event: time 1491804087.279109, type 3 (EV_ABS), code 0 (ABS_X), value 272
Event: time 1491804087.279109, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 538
Event: time 1491804087.279109, -------------- SYN_REPORT ------------
Event: time 1491804087.360989, type 3 (EV_ABS), code 0 (ABS_X), value 271
Event: time 1491804087.360989, type 3 (EV_ABS), code 1 (ABS_Y), value 266
Event: time 1491804087.360989, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 537
Event: time 1491804087.360989, -------------- SYN_REPORT ------------
Event: time 1491804087.402268, type 3 (EV_ABS), code 0 (ABS_X), value 276
Event: time 1491804087.402268, type 3 (EV_ABS), code 1 (ABS_Y), value 264
Event: time 1491804087.402268, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 540
Event: time 1491804087.402268, -------------- SYN_REPORT ------------
Event: time 1491804087.443026, type 3 (EV_ABS), code 0 (ABS_X), value 272
Event: time 1491804087.443026, type 3 (EV_ABS), code 1 (ABS_Y), value 266
Event: time 1491804087.443026, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 538
Event: time 1491804087.443026, -------------- SYN_REPORT ------------
Event: time 1491804087.484038, type 3 (EV_ABS), code 0 (ABS_X), value 271
Event: time 1491804087.484038, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 537
Event: time 1491804087.484038, -------------- SYN_REPORT ------------
Event: time 1491804087.566069, type 3 (EV_ABS), code 1 (ABS_Y), value 264
Event: time 1491804087.566069, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 535
Event: time 1491804087.566069, -------------- SYN_REPORT ------------
Event: time 1491804087.607001, type 3 (EV_ABS), code 0 (ABS_X), value 270
Event: time 1491804087.607001, type 3 (EV_ABS), code 1 (ABS_Y), value 265
Event: time 1491804087.607001, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 536
Event: time 1491804087.607001, -------------- SYN_REPORT ------------
Event: time 1491804087.648200, type 3 (EV_ABS), code 0 (ABS_X), value 269
Event: time 1491804087.648200, type 3 (EV_ABS), code 1 (ABS_Y), value 266
Event: time 1491804087.648200, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 535

Do you have more then one TK1 and\or carrier board to test?

No, I just have one with me now. Do you think this might be a hardware issue ?

It is possible. I’ll investigate further. In a mean time renaming file /lib/modules/3.10.40-2.7.2+g0fd5295/kernel/drivers/input/touchscreen/apalis-tk1-k20_ts.ko to apalis-tk1-k20_ts.bkp or removing it completely will disable the touchscreen after a reboot.

Thanks Dominik.

I flashed the TK1 with the latest mainline firmware which is

Apalis-TK1-Mainline_LXDE-Image_2.7b2-20170410.tar.bz2

instead of

Apalis-TK1_LXDE-Image_2.7b2-20170410.tar.bz2

and the problem has disappeared. Now, the mouse works great but the touchscreen on the (chalkelec) display doesnt work yet.

[  372.552765] usb 4-3: new low-speed USB device number 9 using tegra-xusb
[  372.739425] input: Logitech USB Optical Mouse as /devices/soc0/70090000.usb/usb4/4-3/4-3:1.0/0003:046D:C077.0008/input/i7
[  372.752350] hid-generic 0003:046D:C077.0008: input: USB HID v1.11 Mouse [Logitech USB Optical Mouse] on usb-70090000.usb0
[  391.808482] usb 4-3: USB disconnect, device number 9
[  395.942767] usb 4-3: new full-speed USB device number 10 using tegra-xusb
[  396.131523] input: Chalkboard Electronics HID Touchscreen as /devices/soc0/70090000.usb/usb4/4-3/4-3:1.0/0003:04D8:F723.8
[  396.145880] hid-generic 0003:04D8:F723.0009: input: USB HID v1.11 Device [Chalkboard Electronics HID Touchscreen] on usb0

More information about the touchscreen

  root@apalis-tk1-mainline:~# evtest /dev/input/touchscreen0 
    Input driver version is 1.0.1
    Input device ID: bus 0x3 vendor 0x4d8 product 0xf723 version 0x111
    Input device name: "Chalkboard Electronics HID Touchscreen"
    Supported events:
      Event type 0 (EV_SYN)
      Event type 1 (EV_KEY)
        Event code 256 (BTN_0)
        Event code 320 (BTN_TOOL_PEN)
        Event code 321 (BTN_TOOL_RUBBER)
        Event code 330 (BTN_TOUCH)
        Event code 331 (BTN_STYLUS)
      Event type 3 (EV_ABS)
        Event code 0 (ABS_X)
          Value      0
          Min        0
          Max      800
        Event code 1 (ABS_Y)
          Value    800
          Min        0
          Max      800
        Event code 24 (ABS_PRESSURE)
          Value      0
          Min        0
          Max      800
        Event code 26 (ABS_TILT_X)
          Value      0
          Min   -32767
          Max      800
        Event code 27 (ABS_TILT_Y)
          Value      0
          Min   -32767
          Max      800
      Event type 4 (EV_MSC)
        Event code 4 (MSC_SCAN)
    Properties:
    Testing ... (interrupt to exit)

Then it uses one of the supplied drivers. You’re not getting any events in evtest?

BTW: Mainline BSP does not support all of the hardware available in TK1, especially in multimedia area.

I see., however, things are working better with the mainline for me. I havent checked any multimedia yet.

No., I am not getting any events in evtest at all.

Hi @Dominik, I also meet similar issue on TK1 v1.1a with V2.7b2 BSP. Without any touch screen connected, ‘evtest’ keeps outputting data. It only stops if all touch pins are connected to GND.

root@apalis-tk1:~# evtest /dev/input/touchscreen0 
Input driver version is 1.0.1
Input device ID: bus 0x0 vendor 0x0 product 0x0 version 0x0
Input device name: "apalis-tk1-k20-ts"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value    343
      Min        0
      Max    65535
    Event code 1 (ABS_Y)
      Value    217
      Min        0
      Max    65535
    Event code 24 (ABS_PRESSURE)
      Value    310
      Min        0
      Max     4095
Properties:
Testing ... (interrupt to exit)
Event: time 1496200382.546150, type 3 (EV_ABS), code 0 (ABS_X), value 337
Event: time 1496200382.546150, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 315
Event: time 1496200382.546150, -------------- SYN_REPORT ------------
Event: time 1496200382.587157, type 3 (EV_ABS), code 0 (ABS_X), value 334
Event: time 1496200382.587157, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 339
Event: time 1496200382.587157, -------------- SYN_REPORT ------------
Event: time 1496200382.628143, type 3 (EV_ABS), code 0 (ABS_X), value 346
Event: time 1496200382.628143, type 3 (EV_ABS), code 1 (ABS_Y), value 220
Event: time 1496200382.628143, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 310
Event: time 1496200382.628143, -------------- SYN_REPORT ------------
Event: time 1496200382.669101, type 3 (EV_ABS), code 0 (ABS_X), value 344
Event: time 1496200382.669101, type 3 (EV_ABS), code 1 (ABS_Y), value 218
Event: time 1496200382.669101, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 314

There are some errors too.

[  878.843158] apalis-tk1-k20 spi1.1: Failed to read IRQ status: -5
[  887.848411] apalis-tk1-k20 spi1.1: Failed to read IRQ status: -5
[  888.847723] apalis-tk1-k20 spi1.1: Failed to read IRQ status: -5
[  897.855265] apalis-tk1-k20 spi1.1: Failed to read IRQ status: -5

Connecting AN1_TSPX or AN1_TSPY to ground or to AN1_TSMX or AN1_TSMY without minimum of a 100Ohm resistor will cause permanent damage to the Apalis TK1 module. Removing the kernel module and leaving pins disconnected is the only save solution for this problem right now. You can also try erasing K20 and reloading the modules to reflash it.

Thanks Dominik. For calibration, it can’t get finished and keeps asking touching last or last two crosses. I tried with 3 TK1 modules among them only one module’s AN1_TSPX , AN1_TSPY, AN1_TSMX, AN1_TSMY are all connected to GND(I hope it is still okay) once. I will find another touch screen.

Touchscreen on TK1 will be dramatically improved in Q2 release, if you need to test it right now let me know and I’ll share kernel code and k20 firmware file.

Thanks very much! I am glad to test it now. If it’s not ready to be published, you can send it to my email shanfeng.hu@toradex.com . As one customer sent module back, we need to find out what’s the issue. I just test two modules with v2.7b2 kernel(Linux-3.10.40-g0fd5295). Both hardly detect the area close to right edge. On below picture, six positions(marked in red) are touched, and position data come from ‘evtest’ command. Note: apasli tk1 v1.1a(black color)'s AN1_TSPX , AN1_TSPY, AN1_TSMX, AN1_TSMY were all connected to GND once.

I dont really follow the discussion here. Is there a fix for the touchscreen issues ? If so, could you please provide some directions ? Cheers.