USB-C portable monitor and Linux play (mostly) nice

Recently I acquired a ZenScreen MB16Ac. Its a single cable (USB-C) 15" monitor that you travel with. It has a unique feature, it can do USB-C ALT-MODE (e.g. act directly as a monitor), or become USB 3.1 and do DisplayLink (no where near as good).

Since my laptop supports ALT-MODE, it works out of the box. Plug it in and you are good to go, its just another Display Port monitor.

But wait, every once in a while in dmesg I see a complaint:

[48155.889780] usb 1-1: new full-speed USB device number 85 using xhci_hcd
[48155.889891] usb 1-1: Device not responding to setup address.
[48156.097880] usb 1-1: Device not responding to setup address.
[48156.305808] usb 1-1: device not accepting address 85, error -71

It seems to have no ill-effect, other than filling the log and using a bit of battery. But, why bother having it mostly perfect when you can have it perfect?

So I added this snippet of config:

$ cat /lib/udev/rules.d/99-zenscreen.rules
# Blacklist 0bda:0412
# This is used in the mb16ac zenscreen to switch displaylink / alt-mode
# and i only use altmode

SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="0412", ATTR{authorized}="0"

and restarted udev. And now, that device (the DisplayLink one) is gone. As a side-affect I lose the auto-rotate (but that didn't work anyway).

2 comments on “USB-C portable monitor and Linux play (mostly) nice
  1. db Anoop says:

    what is the configuration of the laptop you are using ?

  2. db db says:

    this is an asus ux370. But any usb-c linux supporting alt-mode should be the same (e.g. most of them)

Leave a Reply

Your email address will not be published. Required fields are marked *