This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM572x Weston doesn't recognize touchscreen.

I have a question regarding Weston.

Weston didn't work with error "failed to create input device '/dev/input/event0'".
/dev/input/event0 device is a touch screen. I doubt touch screen doesn't work but it looks working fine in evtest.

I think it is strange that weston failed to create input device in spite of working well in evtest.
Any ideas what prevent weston from creating input device?


Weston said is:

[02:54:17.254] weston 1.6.0
               wayland.freedesktop.org/
               Bug reports to: bugs.freedesktop.org/enter_bug.cgi
               Build: 1.5.93-5-g2858cc2 configure.ac: bump version to 1.6.0 (2014-09-19 13:40:14 +0300)
[02:54:17.255] OS: Linux, 4.1.6-GJM-NPF-1_2_0----g52c4aa7, #2 SMP PREEMPT Tue Jun 14 11:15:38 JST 2016, armv7l
[02:54:17.255] Using config file '/etc//weston.ini'
[02:54:17.255] Loading module '/usr/lib/weston/drm-backend.so'
[02:54:17.258] initializing drm backend
[02:54:17.262] using /dev/dri/card0
[02:54:17.264] Loading module '/usr/lib/weston/gl-renderer.so'
failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory
failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory
loaded module: gbm_pvr.so
PVR:(Warning): PVRSRVOpenDCDevice: Warning - 138 returned [80, /bridged_pvr_dc_glue.c]
[02:54:17.357] warning: EGL_EXT_buffer_age not supported. Performance could be affected.
[02:54:17.410] failed to create input device '/dev/input/event0'.
[02:54:17.410] warning: no input devices on entering Weston. Possible causes:
        - no permissions to read /dev/input/event*
        - seats misconfigured (Weston backend option 'seat', udev device property ID_SEAT)
[02:54:17.410] failed to create input device


udevadm said is:
root@am57xx-evm:~# udevadm info -q all -n /dev/input/event0
P: /devices/platform/44000000.ocp/4806a000.serial/tty/ttyS0/serio0/input/input0/event0
N: input/event0
S: input/by-path/platform-4806a000.serial-serio-0-event
S: input/touchscreen0
E: DEVLINKS=/dev/input/by-path/platform-4806a000.serial-serio-0-event /dev/input/touchscreen0
E: DEVNAME=/dev/input/event0
E: DEVPATH=/devices/platform/44000000.ocp/4806a000.serial/tty/ttyS0/serio0/input/input0/event0
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1   
E: ID_PATH=platform-4806a000.serial-serio-0
E: ID_PATH_TAG=platform-4806a000_serial-serio-0
E: MAJOR=13
E: MINOR=64
E: SUBSYSTEM=input
E: USEC_INITIALIZED=56679037


evtest said is:
evtest /dev/input/event0
[  135.728520] input: MITSUBISHI UART Touch as /devices/platform/44000000.ocp/4806a000.serial/tty/ttyS0/serio0/input/input0
[  135.740032] mitsubishi: MITSUBISHI UART Touch
Input driver version is 1.0.1
Input device ID: bus 0x13 vendor 0x40 product 0x0 version 0x102
Input device name: "MITSUBISHI UART Touch"
Supported events:
  Event type 0 (EV_SYN)
  Event type 3 (EV_ABS)
    Event code 53 (ABS_MT_POSITION_X)
      Value      0
      Min        0
      Max     4095
    Event code 54 (ABS_MT_POSITION_Y)
      Value      0
      Min        0
      Max     4095
    Event code 57 (ABS_MT_TRACKING_ID)
      Value      0
      Min        0
      Max        1
Testing ... (interrupt to exit)
Event: time 1460203316.000011, type 3 (EV_ABS), code 57 (ABS_MT_TRACKING_ID), value 0
Event: time 1460203316.000011, type 3 (EV_ABS), code 53 (ABS_MT_POSITION_X), value 1756
Event: time 1460203316.000011, type 3 (EV_ABS), code 54 (ABS_MT_POSITION_Y), value 1728
Event: time 1460203316.000011, ++++++++++++++ SYN_MT_REPORT ++++++++++++

  • I will ask the software team to comment.
  • Hi,

    Could you share which SDK are you using?

    What is the output of modetest? Have you tried running weston with the specified connector ID dedicated to TS?

    Did you do any changes to the default tty console in u-boot & kernel? As far as I know, if not specified, weston uses a default (predefined) tty, see processors.wiki.ti.com/.../DRA7xx_GLSDK_Software_Developers_Guide

    Best Regards,
    Yordan

  • Hi, Yordan

    We are using custom-SDK based on PSDK v.02.00.00 and using MITSUBISHI UART Touch screen device .

    We have tried runnning weston with specified connector ID of LCD monitor which has Touch screen.
    We have observed that weston is running on specified monitors (HDMI or LCD monitor or both) by issuing "weston --tty=1 --connector= N".

    The issue we are facing is that weston fail to create input device .

    Best Regards,
    Takahisa
  • Hi,

    Could you post your bootlog & device tree file? Maybe there is something wrong with initializing the touchscreen in the first place and that is why weston cannot access/create the /dev/inputX node with evdev.

    Best Regards,
    Yordan
  • Hi, Yordan

    I post  bootlog and patch of device tree sorce.

    Bootlog:

     Process of attaching touch screen and  failing  weston is shown in Line 626 to 785.

    /cfs-file/__key/communityserver-discussions-components-files/791/log2.txt

    Device tree :

    This patch is applied to PSDK v02.00.00  /arch/arm/boot/dts/am57xx-beagle-x15.dts.

    /cfs-file/__key/communityserver-discussions-components-files/791/0_5F00_kernel_5F00_device_5F00_tree_5F00_changes.patch.txt

    Best Regards, 

    Takahisa

  • Hi,

    I have one comment on your dts:
    - I am not sure how you bind the TS driver to your kernel, as I see you only assign panel-dpi to your lcdx:display@x, i.e.:
    lcd0: display@0 {
    compatible = "panel-dpi";

    Regarding your bootlog, take care of the following:
    depmod: ERROR: could not open directory /lib/modules/4.1.6-GJM-NPF-1_2_0----g52c4aa7: No such file or directory
    depmod: WARNING: -e needs -E or -F
    depmod: ERROR: could not open directory /lib/modules/4.1.6-GJM-NPF-1_2_0----g52c4aa7: No such file or directory
    depmod: FATAL: could not search modules: No such file or directory

    These messages are most likely due to rebuilding only the zImage and you use the originally provided kernel modules in /lib/modules/4.1.6-GJM-NPF-1_2_0----g52c4aa7, so the .ko files are no longer compatible with the kernel tag of the newly built zImage.

    And most important, you don't have the PVR driver loaded:
    Initializing the graphics driver ...
    PVR:(Error): OpenServices: drmOpen failed [120, /pvr_bridge_u.c]
    PVR:(Error): PVRSRVInitSrvConnect: PVRSRVConnect failed [2572, /bridged_pvr_glue.c]
    PVR:(Error): SrvInit: PVRSRVInitSrvConnect failed (4) [37, /srvinit.c]
    PVR:(Error): main: SrvInit failed (4) [47, /pvrsrvinit.c]

    And weston needs the PVR driver in order to work. Again you probably use the default driver, provided in /lib/modules. I advise you to rebuilt the PVR driver, explicitly pointing the path to your kerne in $KERNELDIR; refer to the INSTALL & README files in board-support/extra-drivers/omapdrm-pvr-1.14.3699939/eurasia_km.

    Best Regards,
    Yordan