Go Back   DisplayLink Forum > DisplayLink Graphics Technology > Linux and Open Source

Reply
 
Thread Tools Search this Thread Display Modes
Old 03-09-2018, 02:21 PM   #1
mlukaszek
Senior Member
 
mlukaszek's Avatar
 
Join Date: Feb 2010
Posts: 386
Default

You don't need any other utilities. udl is a kernel space driver for DL-1x5 that does not need anything extra in userspace to expose a /dev/dri/cardX (DRM) node that can be then used by X modesetting driver or anything else using libdrm.

Cheers,
Michal
mlukaszek is offline   Reply With Quote
Old 03-09-2018, 03:06 PM   #2
mshaffer
Junior Member
 
Join Date: Feb 2018
Posts: 8
Default

Quote:
Originally Posted by mlukaszek View Post
You don't need any other utilities. udl is a kernel space driver for DL-1x5 that does not need anything extra in userspace to expose a /dev/dri/cardX (DRM) node that can be then used by X modesetting driver or anything else using libdrm.

Cheers,
Michal
Without any drivers installed, why does lsusb report this "unrecongized" stuff:

** UNRECOGNIZED: 1b 5f 01 00 19 05 00 01 03 00 04 04 01 00 03 d0 00 02 04 00 bd 1f 00 01 04 01 02

Code:
Bus 001 Device 009: ID 17e9:0199 DisplayLink 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x17e9 DisplayLink
  idProduct          0x0199 
  bcdDevice            1.36
  iManufacturer           1 DisplayLink
  iProduct                2 Mini USB Monitor
  iSerial                 3 100144
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     2
    iConfiguration          1 DisplayLink
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 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     0x84  EP 4 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           66
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      ** UNRECOGNIZED:  1b 5f 01 00 19 05 00 01 03 00 04 04 01 00 03 d0 00 02 04 00 bd 1f 00 01 04 01 02
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 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     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x0a  EP 10 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      2
Device Status:     0x0000
  (Bus Powered)
I am reinstalling the virgin OS now.
mshaffer is offline   Reply With Quote
Old 03-09-2018, 03:16 PM   #3
mshaffer
Junior Member
 
Join Date: Feb 2018
Posts: 8
Default

Quote:
Originally Posted by mlukaszek View Post
You don't need any other utilities. udl is a kernel space driver for DL-1x5 that does not need anything extra in userspace to expose a /dev/dri/cardX (DRM) node that can be then used by X modesetting driver or anything else using libdrm.

Cheers,
Michal
From the OS alone, how can we identify which version of DL-1x5, DL-3xxx, DL-5xxx we have. Is it recorded in the USB description. If so, what element?
mshaffer is offline   Reply With Quote
Old 03-12-2018, 01:27 AM   #4
mshaffer
Junior Member
 
Join Date: Feb 2018
Posts: 8
Default

Quote:
Originally Posted by mlukaszek View Post
You don't need any other utilities. udl is a kernel space driver for DL-1x5 that does not need anything extra in userspace to expose a /dev/dri/cardX (DRM) node that can be then used by X modesetting driver or anything else using libdrm.

Cheers,
Michal
Hi,

I am trying to follow your limited instructions. The link you provided has a lot of broken links.

Create Rule
Code:
#vim /etc/udev/rules.d/60-displaylink.rules
# DisplayLink devices always have the active configuration on configuration #1
SYSFS{idVendor}=="17e9", SYSFS{bConfigurationValue}=="2", RUN+="/usr/bin/dlconfig /sys%p/bConfigurationValue"
Rule drops device usb-storage as position #1 ???
Code:
vim /usr/bin/dlconfig
#! /bin/bash
if [ -e /sys$1/device/bConfigurationValue ]; then
    echo 1 > /sys$1/device/bConfigurationValue
fi;

if [ -e /sys$1/bConfigurationValue ]; then
    echo 1 > /sys$1/bConfigurationValue
fi;
Restart... udev rules
Code:
udevadm control --reload-rules && udevadm trigger
So now what?

Do I need dlm? how to start/stop?

will it start show up in xrandr ...

I am looking for a step-by-step solution if you can provide it...

Thanks.
mshaffer is offline   Reply With Quote
Old 03-12-2018, 11:31 AM   #5
mlukaszek
Senior Member
 
mlukaszek's Avatar
 
Join Date: Feb 2010
Posts: 386
Default

The driver we release for Linux only supports devices using newer chips than DL-1x5. As our release note states, support for older devices is provided by the Linux kernel community.

If you have the right udev rule around that echoes 1 to the bConfigurationValue of the usb device in sysfs, then after replugging the device udl should see your device and you should see evidence of it in your dmesg log.

Cheers,
Michal
mlukaszek is offline   Reply With Quote
Old 03-12-2018, 03:12 PM   #6
mshaffer
Junior Member
 
Join Date: Feb 2018
Posts: 8
Default

Quote:
Originally Posted by mlukaszek View Post
The driver we release for Linux only supports devices using newer chips than DL-1x5. As our release note states, support for older devices is provided by the Linux kernel community.

If you have the right udev rule around that echoes 1 to the bConfigurationValue of the usb device in sysfs, then after replugging the device udl should see your device and you should see evidence of it in your dmesg log.

Cheers,
Michal
So I am trying to setup a situation where I have multiple devices. The smaller touchscreens are using DL-165. I am thinking about the "brain" - main touch screen being an AOC with your new chips. Based on what you are saying, it will not be possible to get the legacy chipset and the new chipset to run on the same machine?
mshaffer is offline   Reply With Quote
Old 03-12-2018, 04:18 PM   #7
mlukaszek
Senior Member
 
mlukaszek's Avatar
 
Join Date: Feb 2010
Posts: 386
Default

No, they should be fine together. The rule for setting the bConfigurationValue should only fire for devices which have configuration 2 by default, and it'd switch them to 1, allowing udl to see it - this would apply for DL-1x5.

The udev rule that we install for evdi (that starts DLM) is specific enough that it should not match old devices.

Cheers,
Michal
mlukaszek is offline   Reply With Quote
Reply

Tags
debian, error messages, linux, linux problems, usbfs

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 08:45 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2026, vBulletin Solutions, Inc.