Hey everyone,
I’m running into issues with a HDMI/USB driven Touchscreen on a Raspberry PI3 when running it via Resin. The Display is working flawlessly however I can’t get the Touch Interface (connected via USB) to work.
The display is the following Waveshare 7" HDMI LCD C
I order to ensure the display itself is working I ran it with a bare Raspbian image and could use/interact the screen and its touch capabilities without any issues.
I started debugging the USB connection/device registration using lsusb
and dmesg
to notice the following:
[ 109.605217] usb 1-1.5: new full-speed USB device number 9 using dwc_otg
[ 109.708563] usb 1-1.5: New USB device found, idVendor=0eef, idProduct=0005
[ 109.708585] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 109.708598] usb 1-1.5: Product: WaveShare Touchscreen
[ 109.708610] usb 1-1.5: Manufacturer: WaveShare
[ 109.708621] usb 1-1.5: SerialNumber: 2016-11-06
[ 109.714473] input: WaveShare WaveShare Touchscreen as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.5/1-1.5:1.0/0003:0EEF:0005.0002/input/input1
[ 109.715385] hid-multitouch 0003:0EEF:0005.0002: input,hidraw0: USB HID v1.11 Device [WaveShare WaveShare Touchscreen] on usb-3f980000.usb-1.5/input0
[ 111.855218] usb 1-1.5: reset full-speed USB device number 9 using dwc_otg
[ 111.935207] usb 1-1.5: device descriptor read/64, error -32
[ 112.125228] usb 1-1.5: device descriptor read/64, error -32
[ 112.315212] usb 1-1.5: reset full-speed USB device number 9 using dwc_otg
[ 112.395208] usb 1-1.5: device descriptor read/64, error -32
[ 112.585211] usb 1-1.5: device descriptor read/64, error -32
[ 112.775215] usb 1-1.5: reset full-speed USB device number 9 using dwc_otg
[ 113.195254] usb 1-1.5: device not accepting address 9, error -32
[ 113.275216] usb 1-1.5: reset full-speed USB device number 9 using dwc_otg
[ 113.695234] usb 1-1.5: device not accepting address 9, error -32
[ 113.695775] usb 1-1.5: USB disconnect, device number 9
[ 113.835215] usb 1-1.5: new full-speed USB device number 10 using dwc_otg
[ 113.915208] usb 1-1.5: device descriptor read/64, error -32
[ 114.105235] usb 1-1.5: device descriptor read/64, error -32
[ 114.295214] usb 1-1.5: new full-speed USB device number 11 using dwc_otg
[ 114.375210] usb 1-1.5: device descriptor read/64, error -32
[ 114.565211] usb 1-1.5: device descriptor read/64, error -32
[ 114.755217] usb 1-1.5: new full-speed USB device number 12 using dwc_otg
[ 115.175237] usb 1-1.5: device not accepting address 12, error -32
[ 115.255214] usb 1-1.5: new full-speed USB device number 13 using dwc_otg
[ 115.675246] usb 1-1.5: device not accepting address 13, error -32
[ 115.675372] usb 1-1-port5: unable to enumerate USB device
multiple attempts of disconnecting and connecting the screen again lead to the same output or might even skip HID device recognition
[ 47.714555] usb 1-1.5: reset full-speed USB device number 4 using dwc_otg
[ 47.794500] usb 1-1.5: device descriptor read/64, error -32
[ 47.984532] usb 1-1.5: device descriptor read/64, error -32
[ 48.174550] usb 1-1.5: reset full-speed USB device number 4 using dwc_otg
[ 57.174529] usb 1-1.5: reset full-speed USB device number 4 using dwc_otg
[ 57.254497] usb 1-1.5: device descriptor read/64, error -32
[ 57.444516] usb 1-1.5: device descriptor read/64, error -32
[ 57.634515] usb 1-1.5: reset full-speed USB device number 4 using dwc_otg
[ 57.714531] usb 1-1.5: device descriptor read/64, error -32
[ 57.904504] usb 1-1.5: device descriptor read/64, error -32
[ 58.094516] usb 1-1.5: reset full-speed USB device number 4 using dwc_otg
[ 58.514550] usb 1-1.5: device not accepting address 4, error -32
[ 58.594518] usb 1-1.5: reset full-speed USB device number 4 using dwc_otg
[ 59.014512] usb 1-1.5: device not accepting address 4, error -32
[ 59.015039] usb 1-1.5: USB disconnect, device number 4
[ 59.184504] usb 1-1.5: new full-speed USB device number 5 using dwc_otg
[ 59.264501] usb 1-1.5: device descriptor read/64, error -32
[ 59.454498] usb 1-1.5: device descriptor read/64, error -32
[ 59.644517] usb 1-1.5: new full-speed USB device number 6 using dwc_otg
[ 59.724498] usb 1-1.5: device descriptor read/64, error -32
[ 59.914513] usb 1-1.5: device descriptor read/64, error -32
[ 60.104528] usb 1-1.5: new full-speed USB device number 7 using dwc_otg
[ 60.524496] usb 1-1.5: device not accepting address 7, error -32
[ 60.604525] usb 1-1.5: new full-speed USB device number 8 using dwc_otg
[ 61.024503] usb 1-1.5: device not accepting address 8, error -32
[ 61.024625] usb 1-1-port5: unable to enumerate USB device
Given that the screen is excluded from the lsusb -v
output
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 1
bMaxPacketSize0 64
idVendor 0x0424 Standard Microsystems Corp.
idProduct 0xec00 SMSC9512/9514 Fast Ethernet Adapter
bcdDevice 2.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 255
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0010 1x 16 bytes
bInterval 4
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 1
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 2 TT per port
bMaxPacketSize0 64
idVendor 0x0424 Standard Microsystems Corp.
idProduct 0x9514
bcdDevice 2.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 1 Single TT
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 2 TT per port
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 5
wHubCharacteristic 0x000d
Per-port power switching
Compound device
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 1 milli Ampere
DeviceRemovable 0x02
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Port 5: 0000.0101 power connect
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 4.04
iManufacturer 3 Linux 4.4.50 dwc_otg_hcd
iProduct 2 DWC OTG Controller
iSerial 1 3f980000.usb
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0008
Ganged power switching
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 1 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
Device Status: 0x0001
Self Powered
Given that I had a though that the PI might not deliver enough power to the screen. However, I verified and max_usb_current
is set to a value of 1
.
Add this point I’m rather clueless how to proceed. I was about to blame it on a faulty display unit but was then reluctant after verifying that it works on a bare Raspbian install. Does anyone have any valuable pointers/insights or encountered similar situations? Any help would be highly appreciated!
Thank!