Search

Touch-Base Support

USB/USB-C related issue

Dave Bhattacharjee
Hardware related

Over the past few years, there has been an explosion of small portable monitors connected by USB-C for video and touch screens and other USB devices within the monitor, such as hubs.

USB-C also offers power, so a single cable can perform all functions, which is very convenient.

These devices often come with a number of USB-C cables for connection to USB, USB-C and Thunderbolt  ports. They also often supply their own power cable.

In the vast majority of cases, these devices work well with our touch screen driver, but we do get support issues from time-to-time.

Further, some touch screens have more issues with USB-C connection than others and are more troublesome. They are more sensitive to slight variants in the USB connection.

Touch screens that are known to be troublesome: (these touch screens are used on many monitors, not just those listed)

Touch Manufacturer USB Vendor ID Monitor  Observation
G2Touch   2A94  Viewsonic 1655 This device is often not seen in the System Report, USB tree, albeit the USB-C cable is plugged in. One customer reported, "It seems to work on the top USB-c port happily, but it's temperamental on the bottom port of the monitor"
Cadwell Laboratories 27C0 Prism+ Nomad Very sensitive to power requirements. USB port must be supplying sufficient power or use monitor's power cable.

When issues arise with USBc connected devices, it results in the touch screen not working or perpetual connects / disconnects being issued, albeit the touch is working (to a degree).

In situations where there are issues, we normally request a diagnostics file be sent. Part of the diagnostic capture shows the USB interface log and any issues that have arisen.

Sometimes this shows that the USB touch device is not being seen by our driver or listed in the System Report, USB devices. Obviously, the device must be seen by macOS for our driver to work.

In other cases, it shows USB errors in the log related to the USB-C interface, typically:

2022/01/31-20:38:12: ***: USB: (LIBUSB_TRANSFER_ERROR) 
2022/01/31-20:38:12: ***: USB: (LIBUSB_XXX_ERROR closing device) 

This indicates that a read has been issued against the device, but the USB interface has reported a data transfer error and the connection to the device is closed.

In this case, the UPDD driver issues a disconnected notification and re-establishes connection, and issues a connected notification. This will be repeated if the error reoccurs.

Notifications can be disabled, but of course this does not resolve the underlying issue, and it's likely that touch performance will be compromised.

Other USB read errors, of which there are many, will not always result in a disconnection, but the touch will not be responding.

We can also get errors when the driver initially interacts with the device to request certain information:

2022/01/17-00:08:00: ERR: USB error: (get serial number) Pipe error
2022/01/17-00:08:00: ERR: USB error: (get product) Pipe error
2022/01/17-00:08:00: ERR: USB error: (get manufacturer) Pipe error

The inability to read data from the device indicates the device is not in a healthy state.

It is our understanding that nearly all these errors are as a result of hardware environmental issues due to lack of power to the device or faulty cables, overloaded hubs, USB extenders etc

To try and resolve these issues, ensure the USB connection is as good as possible such that the monitor is powered separately with a power cable (normally supplied) and that the monitor to system cable is plugged in directly to the system and not an extender, hub or USB/HDMI adapter.

You can also try plugging into a different port or port type (USB, Thunderbolt) or use a different/shorter cable. We have had many reports of USB connection issues purely related to a 'bad' USBc cable whereby none of the supplied cables worked but a top end, shielded cable did.

If you must plug into a hub, make sure it's powered or not overloaded with other devices.

We had a user report that the touch did not work on a Mac or a Windows laptop and the device did not show up in the System Report or the Device Manager. On the Windows system, he plugged in the power to the laptop, and then the device showed up in the Device Manager. It would appear that without the laptop power plugged in, the USB port had switched to low power, insufficient to power the touch device. On the Mac he used a separate power cable to the monitor. This was with the Prism+, Nomad monitor.

At other times, these failures have been seen when using USB extenders or incompatible USB hubs, such as reported with a Sabrent USB3 hub. Directly connecting the USB device with a standard short USB cable may resolve the issue and / or when connected directly via two USB-A/C adapters. Also, when going through Apple's own USB-C Digital AV Multiport Adapter (which is reported as USB2 according to "ioreg -p IOUSB").

If a USB extender is in use and failing, it's possible that:

  1. Not enough power to the extender.
  2. Extender not fully USB compliant.
  3. Extender is trying to handle HID and making incorrect assumptions
  4. Extender is not compatible with the Operating System USB stack.
Details
Last Modified: 2 Years Ago
Last Modified By: Dave Bhattacharjee
Type: INFO
Article has been viewed 1.3K times.
Options
Also In This Category