USB keyboard/mouse stop working after connecting a Media Carrier DSI display

I attached a MIPI-DSI display (Waveshare 10.1 Touch A) via the Media Carrier Board to my UNO Q 2GB (OS build: BUILD_ID=20260528-558, VARIANT_ID=xfce), powered through the board's own USB-C port via a hub with PD power-in. The screen seems to work properly, but the USB keyboard and mouse connected through the hub stop responding, while the display's own touchscreen and on-screen keyboard keep working.

An SSH connection via Wi-Fi was still possible, so I was able to investigate the problem: lsusb returns completely empty — not even a root hub entry. Checking /sys/kernel/debug/usb/4e00000.usb/mode shows device instead of host. The same situation is described in this forum post: UNO Q: USB Power disabled, if using VIN Power pin

Fortunately, the workaround described there also works for the DSI display case:

echo host | sudo tee /sys/kernel/debug/usb/4e00000.usb/mode via ssh

brings the USB hub back to life, and the keyboard and mouse start working again.

Is a more permanent fix available, or is this a known limitation for now — since DSI displays seem to be intended mainly for kiosk-mode setups?

Here is a picture of my display, which is a nice and power-optimized add-on for the UNO Q.

Hi @jens-bongartz. Very cool that you are working with the UNO Media Carrier!

An alternative way to force the board into USB host mode is by connecting a jumper between the VOL_DOWN and GND pins on the board's JCTL header:

📷

ABX00162-full-pinout.pdf by Arduino - CC BY-SA 4.0 (Cropped)

Hi @ptillisch. Thank you for your prompt and helpful reply. Indeed, it works with a jumper between VOL_DOWN and GND. Perfect! :+1:

Does the jumper have any further effect? I checked the sound output, but it does not seem to be affected by holding VOL_DOWN to GND and it works well.

Since I did not find any hint of this in the Media Carrier docs, would it be worth adding it there?

Thanks again for your quick help!

You are welcome. I'm glad this solution is working for you.

Not that I am aware of. Despite the apparent semantic meaning of the "VOL_DOWN" label, this header pin is just connected to the AD2 GPIO pin on the board's Qualcomm Dragonwing QRB2210 microprocessor. So it is not expected that the pin will have any special built-in utility beyond this USB host mode forcing functionality Arduino implemented. As explained in the comment in the script, the user is free to configure the pin to do something other than force USB host mode if they prefer.

The USB mode forcing functionality definitely needs to be documented. Other users have also encountered the need to do this in certain other applications. This has already been requested from the team at Arduino responsible for developing the UNO Q documentation. Hopefully they will get that important information added soon.

As for the specific need for this in the context of the Media Carrier, I'm actually not clear about this. I haven't had any involvement in the development of the UNO Media Carrier, so unfortunately I'm not at all knowledgeable in this subject area. I will surely come up to speed once the board becomes generally available, but I actually don't even have access to one myself (I'm jealous you got your hands on one early :winking_face_with_tongue:). As you noticed, the other users who found the need to force USB host mode were powering the board via the VIN or 5V pins. However, from what you wrote it sounds like you are powering your board in the more common manner, via the USB-C hub:

In this case, we would expect the board to automatically go into USB host mode. So I'm not sure why you encountered this problem of the board apparently being in USB device mode.

Do you have any insight regarding why the use of the Media Carrier might have caused this behavior?

I ordered 3 pieces regularly from a german distributor end of August.

If you want, I can send you one. :wink:

Yes, it is the same setup as I showed in this forum post. The UNO Q is powered via PD through a USB Hub. I am just using the MIPI-DSI monitor instead of a monitor connected to the HDMI output. The background is that I am preparing workplaces for students for my DIY-ECG project and the setup should be completely battery powered (UNO Q and monitor) to reduce the impact of powerline 50 Hz noise.

It seems that the USB controller on the UNO Q switches off (or drops into device mode) as soon as the MIPI-DSI display is enabled in App Lab and the board reboots. (Sorry, I only have a blurred photo available at the moment.)

I see now they have already created the documentation. It is here:

https://docs.arduino.cc/tutorials/uno-q/host-mode/

I submitted a formal report to the Arduino developers on your behalf @jens-bongartz:

Thanks for bringing this to our attention!