Project

General

Profile

Actions

Bug #1020

closed

xinput-tslib driver crashes on ads7486

Added by Hammel 9 months ago. Updated 9 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
04 Aug 2023
Due date:
% Done:

100%

Estimated time:
Severity:
03 - Medium

Description

The bug looks like this in the X.org.log:

[  2534.880] (**) ADS7846 Touchscreen: always reports core events
[  2534.880] (EE) tslib: ADS7846 Touchscreen: ioctl EVIOCGBIT failed(EE) PreInit returned 2 for "ADS7846 Touchscreen" 
[  2534.880] (EE) 
[  2534.880] (EE) Backtrace:
[  2534.880] (EE) 
[  2534.880] (EE) Segmentation fault at address 0x0
[  2534.880] (EE) 
Fatal server error:
[  2534.880] (EE) Caught signal 11 (Segmentation fault). Server aborting

The only place I have found (yet) related to the log messages is here.
buildroot-2023.02.2/output/build/xdriver_xf86-input-tslib-1.1.1/src/tslib.c:625
    if (ioctl(pInfo->fd, EVIOCGBIT(EV_ABS, sizeof(absbit)), absbit) < 0) {
        xf86IDrvMsg(pInfo, X_ERROR, "ioctl EVIOCGBIT failed");
        return BadValue;
    }

This occurs during tslib initialization (re: xf86TslibInit()) in the xorg tslib input driver.
Note that evtest works fine with the touchscreen. Also ts_* commands work with the touchscreen as long as TSLIB_TSDEVICE=/dev/input/event0 is set before the command is run.

Note:
Disabling /usr/lib/xorg/modules/input/tslib_drv.so completely (just renaming it) fixes the problem and the touschscreen still works because the apps use tslib directly.

References
Actions #1

Updated by Hammel 9 months ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

Removed tslib X.org input driver from Buildroot config. The driver isn't needed since all PiBox apps that use touchscreens interact directly with tslib.

Change successfully tested on the Official 7" Raspberry Pi touchscreen and on a pisentry enclosure.

Changes committed and pushed.

Actions

Also available in: Atom PDF