2

I recently installed Ubuntu 18.04 and can not understand why the touchscreen is not working. Here is the relevant log from xorg.log:

[   359.454] (II) config/udev: Adding input device ELAN Touchscreen (/dev/input/event7)
[   359.454] (**) ELAN Touchscreen: Applying InputClass "libinput touchscreen catchall"
[   359.455] (II) Using input driver 'libinput' for 'ELAN Touchscreen'
[   359.458] (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 27 paused 0
[   359.458] (**) ELAN Touchscreen: always reports core events
[   359.458] (**) Option "Device" "/dev/input/event7"
[   359.458] (**) Option "_source" "server/udev"
[   359.460] (II) event7  - ELAN Touchscreen: is tagged by udev as: Touchscreen
[   359.460] (II) event7  - ELAN Touchscreen: device is a touch device
[   359.460] (II) event7  - ELAN Touchscreen: device removed
[   359.461] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.6/1-1.6:1.0/0003:04F3:0034.0001/input/input8/event7"
[   359.461] (II) XINPUT: Adding extended input device "ELAN Touchscreen" (type: TOUCHSCREEN, id 8)
[   359.461] (**) Option "AccelerationScheme" "none"
[   359.461] (**) ELAN Touchscreen: (accel) selected scheme none/0
[   359.461] (**) ELAN Touchscreen: (accel) acceleration factor: 2.000
[   359.461] (**) ELAN Touchscreen: (accel) acceleration threshold: 4
[   359.463] (II) event7  - ELAN Touchscreen: is tagged by udev as: Touchscreen
[   359.463] (II) event7  - ELAN Touchscreen: device is a touch device
[   359.466] (II) config/udev: Adding input device ELAN Touchscreen (/dev/input/mouse1)

xinput:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Video Bus                                 id=9    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_HD: In           id=10   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=12   [slave  keyboard (3)]

dmesg | grep "1-1.6":

[    3.512037] usb 1-1.6: new full-speed USB device number 4 using ehci-pci
[    3.608042] usb 1-1.6: device descriptor read/64, error -32
[    3.839565] usb 1-1.6: device descriptor read/64, error -32
[    4.024035] usb 1-1.6: new full-speed USB device number 5 using ehci-pci
[    4.104032] usb 1-1.6: device descriptor read/64, error -32
[    4.292021] usb 1-1.6: device descriptor read/64, error -32
[    5.312798] usb 1-1.6: new full-speed USB device number 6 using ehci-pci

sudo dmidecode | grep -A 9 "System Information":

System Information
Manufacturer: Dell Inc.
Product Name: Inspiron 5537
Version: A11
Serial Number: #######
UUID: 4C4C4544-0035-5910-8031-B7C04F543032
Wake-up Type: Power Switch
SKU Number: Inspiron 5537
Family: 00

I have tried all steps mentioned in Touchscreen - Ubuntu wiki but could not get it to work. Any pointers?

Something weird happened today, all of the sudden the touchscreen started working and it stopped after a while. Here is the relevant dmesg:

[   86.280036] usb 1-1.6: new full-speed USB device number 10 using ehci-pci
[   86.390483] usb 1-1.6: New USB device found, idVendor=04f3, idProduct=0034
[   86.390487] usb 1-1.6: New USB device strings: Mfr=4, Product=14, SerialNumber=0
[   86.390489] usb 1-1.6: Product: Touchscreen
[   86.390490] usb 1-1.6: Manufacturer: ELAN
[   87.041347] input: ELAN Touchscreen as /devices/pci0000:00/0000:00:1d.0/usb1/1-1/1-1.6/1-1.6:1.0/0003:04F3:0034.0001/input/input16
[   87.041675] hid-multitouch 0003:04F3:0034.0001: input,hiddev0,hidraw0: USB HID v1.10 Device [ELAN Touchscreen] on usb-0000:00:1d.0-1.6/input0
[   90.337071] rfkill: input handler disabled
[  257.888791] usb 1-1.6: reset full-speed USB device number 10 using ehci-pci
[  330.230527] usb 1-1.6: reset full-speed USB device number 10 using ehci-pci
[  330.310492] usb 1-1.6: device descriptor read/64, error -32
[  330.498404] usb 1-1.6: device descriptor read/64, error -32
[  330.686280] usb 1-1.6: reset full-speed USB device number 10 using ehci-pci
[  330.766239] usb 1-1.6: device descriptor read/64, error -32

uname -a:

Linux dell 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

lsb_release -a:

LSB Version:    core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.1 LTS
Release:    18.04
Codename:   bionic

2 Answers2

0

Honestly I believe this to be an XY problem The real root cause of this problem is likely solvable by unplugging the misbehaving device plugged into the port in question or perhaps this answer will be useful. In addition sometimes USB connections can fail due to dust in the port and can by solved with canned air by cleaning it out.

To answer the question you originally asked, No. I don't believe you can disable a specific port on your laptop. There are rare hubs that allow this (see the README.md file at https://github.com/mvp/uhubctl/ ) but they are few and far between and I don't think you'll find this feature supported by your laptop motherboard. To the best of my knowledge disabling per port isn't supported by the kernel since version 2.6.33. Here's an excerpt:

The user interface for dynamic PM
    ---------------------------------

The user interface for controlling dynamic PM is located in the power/
subdirectory of each USB device's sysfs directory, that is, in
/sys/bus/usb/devices/.../power/ where "..." is the device's ID.  The
relevant attribute files are: wakeup, control, and
autosuspend_delay_ms.  (There may also be a file named "level"; this
file was deprecated as of the 2.6.35 kernel and replaced by the
"control" file.  In 2.6.38 the "autosuspend" file will be deprecated
and replaced by the "autosuspend_delay_ms" file.  The only difference
is that the newer file expresses the delay in milliseconds whereas the
older file uses seconds.  Confusingly, both files are present in 2.6.37
but only "autosuspend" works.)

    power/wakeup

        This file is empty if the device does not support
        remote wakeup.  Otherwise the file contains either the
        word "enabled" or the word "disabled", and you can
        write those words to the file.  The setting determines
        whether or not remote wakeup will be enabled when the
        device is next suspended.  (If the setting is changed
        while the device is suspended, the change won't take
        effect until the following suspend.)

    power/control

        This file contains one of two words: "on" or "auto".
        You can write those words to the file to change the
        device's setting.

        "on" means that the device should be resumed and
        autosuspend is not allowed.  (Of course, system
        suspends are still allowed.)

        "auto" is the normal state in which the kernel is
        allowed to autosuspend and autoresume the device.

        (In kernels up to 2.6.32, you could also specify
        "suspend", meaning that the device should remain
        suspended and autoresume was not allowed.  This
        setting is no longer supported.)

Source: https://www.kernel.org/doc/Documentation/usb/power-management.txt

EDIT: Based on your comments, in answer to the current version of your question, you have a dodgy connection to your touchscreen You can watch it with the command udevadm monitor

Since you aren't comfortable with messing with your hardware I suggest that you take it to a qualified technician for repair or if it's under warranty contact the manufacturer or place of purchase.

Elder Geek
  • 36,023
  • 25
  • 98
  • 183
  • The real root cause of this problem is likely solvable by unplugging the misbehaving device plugged: actually, there is no device that is plugged in. This is the thing that makes it weird. –  Feb 01 '19 at 12:54
  • 1
    @AniketSahrawat: there must be some device that is plugged in. It is most likely some onboard device like Bluetooth module or TPM chip - you may need to have this internal chip replaced or send laptop to be repaired by warranty. That said, I recommend trying uhubctl, it might just detect your device and allow to disable it. – mvp Feb 01 '19 at 19:43
  • @ElderGeek It was a XY problem, sorry for the confusion. After digging in, its now clear that the problem is with touchscreen and not the usb port. Any suggestions on it? –  Feb 02 '19 at 16:22
  • 1
    @AniketSahrawat There is in fact a device plugged in: The touchscreen! This is plugged in using small cables internal to the workings of your computer. To unplug it, you will need to disassemble your computer, identify the touch screen cable, and unplug it. You may find, however, that the touchscreen and the display cable are integrated together. – Charles Green Feb 02 '19 at 16:35
  • @AniketSahrawat I'm glad you were able to eliminate the confusion. Hopefully someone else will come along and provide an answer to this new question. – Elder Geek Feb 02 '19 at 16:36
  • 1
    @CharlesGreen There is in fact a device plugged in: The touchscreen!. It is now clear that the device is in fact touchscreen. But it was the whole confusion prior to digging into xorg.log. Even you have read my previous question and I am sure that there was no clue that the device which is misbehaving is a touchscreen. And as a reply to your comment, I don't want to mess up with the hardware. –  Feb 02 '19 at 16:44
  • @mvp I ran the diagnostic tool and everything is fine with the hardware. It's Ubuntu that is causing the problem. Also, touchscreen works when laptop is booted to windows 10 but fails in case of Ubuntu –  Feb 02 '19 at 16:59
0

I cannot test as I do not have your hardware. That being said, I've had good luck in the past utilizing hardware enablement.

According to the results from Ubuntu Package Search you currently have 2 options for this for 18.04. linux-generic-hwe-18.04 (4.18.0.15.65) and linux-generic-hwe-18.04-edge.

You might also find some clues here.

Elder Geek
  • 36,023
  • 25
  • 98
  • 183