Ubuntu 16.04 doesn't detect my second monitor

I have Ubuntu 16.04 (dual boot with Windows 10) and a HP Spectre x360 laptop.

I have recently bought a Dell Ultrasharp U2515H monitor, which I connect via a Dell docking station.

When I plug the docking station to my laptop on Windows, both monitors are detected and everything works fine.

The monitor connect to the docking station using a DP cable, and then a SuperSpeed USB 3.0 Type A to B Cable connects the docking station to my laptop.

When I try with Ubuntu, it seems that the second monitor is not detected even when I click "Detect Displays" - I just see my one built in monitor. I think I correctly downloaded the drivers for the Dell docking station, because the external mouse, keyboard and ethernet connection all seem to be working correctly.

Any help to get Ubuntu to detect my second monitor would be much appreciated. The results of lsusb are posted below:

Bus 002 Device 005: ID 17e9:436e DisplayLink
Bus 002 Device 004: ID 2109:0812 VIA Labs, Inc. VL812 Hub
Bus 002 Device 003: ID 17e9:436e DisplayLink
Bus 002 Device 002: ID 2109:0812 VIA Labs, Inc. VL812 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 010: ID 04f3:2274 Elan Microelectronics Corp.
Bus 001 Device 005: ID 8087:0a2a Intel Corp.
Bus 001 Device 003: ID 1bcf:2c8c Sunplus Innovation Technology Inc.
Bus 001 Device 009: ID 413c:2110 Dell Computer Corp.
Bus 001 Device 008: ID 413c:301a Dell Computer Corp.
Bus 001 Device 006: ID 413c:1010 Dell Computer Corp.
Bus 001 Device 004: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 002: ID 2109:2812 VIA Labs, Inc. VL812 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb is not going to list your monitor, or even your video card, only usb things hence lsusb. Try lspci.

What's your video chipset, and what video driver are you using?

Laptop hardware is the worst, everything is customized in a manner plug-and-play often can't detect. The manufacturer's official Windows drivers come pre-tweaked for it, anything else may take tweaking to be told what features the hardware has.

1 Like

Wait, your docking station connects with USB? What docking station is this?

It's probably acting as a USB hub, hence recognizing the USB mice etc, but those 'Dell Computer Corp' devices aren't necessarily recognized.

1 Like

The lspci output:

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 07)
00:13.0 Non-VGA unclassified device: Intel Corporation Device 9d35 (rev 21)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)
00:1c.2 PCI bridge: Intel Corporation Device 9d12 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-LP LPC Controller (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 61)

---------- Post updated at 01:12 PM ---------- Previous update was at 01:10 PM ----------

The docking station is a Dell D3100 Docking Station.

D3100 uses a DisplayLink chip, and DisplayLink has a page specifically for Ubuntu:

Ubuntu

1 Like

As I mentioned, I believe that I have already downloaded and installed the DisplayLink driver for Ubuntu. Perhaps the outputs that I showed say otherwise? I'm not sure how to test.

What's the output of lsmod?

1 Like
Module                  Size  Used by
hid_generic            16384  0
cdc_mbim               16384  0
cdc_wdm                20480  1 cdc_mbim
snd_usb_audio         176128  2
cdc_ncm                32768  1 cdc_mbim
snd_usbmidi_lib        36864  1 snd_usb_audio
drbg                   32768  1
ansi_cprng             16384  0
ctr                    16384  1
ccm                    20480  1
rfcomm                 69632  2
bnep                   20480  2
snd_hda_codec_hdmi     53248  1
snd_hda_codec_conexant    24576  1
snd_hda_codec_generic    77824  1 snd_hda_codec_conexant
ax88179_178a           24576  0
usbnet                 45056  3 cdc_mbim,cdc_ncm,ax88179_178a
mii                    16384  2 usbnet,ax88179_178a
uvcvideo               90112  0
videobuf2_vmalloc      16384  1 uvcvideo
videobuf2_memops       16384  1 videobuf2_vmalloc
hid_multitouch         20480  0
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
v4l2_common            16384  1 videobuf2_v4l2
videodev              176128  4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
usbhid                 49152  0
media                  24576  2 uvcvideo,videodev
btusb                  45056  0
btrtl                  16384  1 btusb
nls_iso8859_1          16384  1
arc4                   16384  2
hp_wmi                 16384  0
intel_rapl             20480  0
x86_pkg_temp_thermal    16384  0
intel_powerclamp       16384  0
coretemp               16384  0
snd_soc_skl            49152  0
snd_soc_skl_ipc        32768  1 snd_soc_skl
snd_hda_ext_core       28672  1 snd_soc_skl
kvm                   540672  0
snd_soc_sst_ipc        16384  1 snd_soc_skl_ipc
snd_soc_sst_dsp        53248  1 snd_soc_skl_ipc
snd_soc_core          212992  1 snd_soc_skl
iwlmvm                311296  0
snd_compress           20480  1 snd_soc_core
ac97_bus               16384  1 snd_soc_core
irqbypass              16384  1 kvm
mac80211              737280  1 iwlmvm
snd_pcm_dmaengine      16384  1 snd_soc_core
crct10dif_pclmul       16384  0
dw_dmac_core           24576  1 snd_soc_sst_dsp
crc32_pclmul           16384  0
snd_hda_intel          36864  3
snd_hda_codec         135168  4 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel
aesni_intel           167936  2
snd_hda_core           73728  7 snd_hda_ext_core,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_codec,snd_hda_intel,snd_soc_skl
iwlwifi               200704  1 iwlmvm
snd_hwdep              16384  2 snd_usb_audio,snd_hda_codec
aes_x86_64             20480  1 aesni_intel
lrw                    16384  1 aesni_intel
gf128mul               16384  1 lrw
glue_helper            16384  1 aesni_intel
ablk_helper            16384  1 aesni_intel
cryptd                 20480  2 aesni_intel,ablk_helper
snd_pcm               106496  9 snd_hda_ext_core,snd_usb_audio,snd_soc_core,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_soc_skl,snd_pcm_dmaengine,snd_hda_core
cfg80211              565248  3 iwlwifi,mac80211,iwlmvm
snd_seq_midi           16384  0
snd_seq_midi_event     16384  1 snd_seq_midi
snd_rawmidi            32768  2 snd_usbmidi_lib,snd_seq_midi
input_leds             16384  0
serio_raw              16384  0
snd_seq                69632  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         16384  3 snd_seq,snd_rawmidi,snd_seq_midi
rtsx_pci_ms            20480  0
snd_timer              32768  2 snd_pcm,snd_seq
memstick               20480  1 rtsx_pci_ms
snd                    81920  25 snd_usb_audio,snd_soc_core,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_compress
mei_me                 36864  0
soundcore              16384  1 snd
mei                    98304  1 mei_me
shpchp                 36864  0
wmi                    20480  1 hp_wmi
hci_uart               77824  0
btbcm                  16384  2 btusb,hci_uart
btqca                  16384  1 hci_uart
btintel                16384  2 btusb,hci_uart
bluetooth             520192  31 bnep,btbcm,btqca,btrtl,btusb,hci_uart,rfcomm,btintel
intel_lpss_acpi        16384  0
intel_lpss             16384  1 intel_lpss_acpi
hp_wireless            16384  0
acpi_als               16384  0
tpm_crb                16384  0
intel_vbtn             16384  0
kfifo_buf              16384  1 acpi_als
sparse_keymap          16384  2 hp_wmi,intel_vbtn
acpi_pad               20480  0
industrialio           57344  2 acpi_als,kfifo_buf
joydev                 20480  0
mac_hid                16384  0
parport_pc             32768  0
ppdev                  20480  0
lp                     20480  0
parport                49152  3 lp,ppdev,parport_pc
autofs4                40960  2
rtsx_pci_sdmmc         24576  0
i915_bpo             1302528  8
intel_ips              20480  1 i915_bpo
i2c_algo_bit           16384  1 i915_bpo
drm_kms_helper        147456  1 i915_bpo
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
psmouse               126976  0
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
drm                   364544  9 i915_bpo,drm_kms_helper
ahci                   36864  3
rtsx_pci               53248  2 rtsx_pci_ms,rtsx_pci_sdmmc
libahci                32768  1 ahci
pinctrl_sunrisepoint    28672  0
pinctrl_intel          20480  1 pinctrl_sunrisepoint
video                  40960  1 i915_bpo
i2c_hid                20480  0
hid                   118784  4 i2c_hid,hid_multitouch,hid_generic,usbhid
fjes                   28672  0

Try modprobe udl

1 Like

Output:

modprobe: ERROR: could not insert 'udl': Operation not permitted

I added 'sudo', but now there was no output at all.

No output, for modprobe, is good.. It means a driver named udl was loaded.

Anything interesting in dmesg | tail ?

Also try ctrl-alt-backspace to make X11 restart.

1 Like
[   16.076526] intel-vbtn INT33D6:00: unknown event index 0xcd
[   28.157164] intel-vbtn INT33D6:00: unknown event index 0xcd
[   46.229677] wlan0: authenticate with c0:c1:c0:c4:4c:57
[   46.240272] wlan0: send auth to c0:c1:c0:c4:4c:57 (try 1/3)
[   46.242914] wlan0: authenticated
[   46.243344] wlan0: associate with c0:c1:c0:c4:4c:57 (try 1/3)
[   46.248007] wlan0: RX AssocResp from c0:c1:c0:c4:4c:57 (capab=0x411 status=0 aid=3)
[   46.249569] wlan0: associated
[   46.249613] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1907.735807] usbcore: registered new interface driver udl

[edit]
Actually, I may have missed a step.

sudo rmmod udlfb
sudo rmmod udl
sudo modprobe udl
dmesg | tail

The udlfb driver may have been interfering by grabbing it first, but udlfb does not support X...

I am finding this information here:
DisplayLink - ArchWiki

1 Like

I'm not with the docking station now, but I will try this step tomorrow and post the results. Thank you for your help!

---------- Post updated 29-09-16 at 09:32 AM ---------- Previous update was 28-09-16 at 07:16 PM ----------

The output of:

sudo rmmod udlfb

was

rmmod: ERROR: Module udlfb is not currently loaded

The output of:

sudo rmmod udl

was

rmmod: ERROR: Module udl is not currently loaded

There was no output for:

sudo modprobe udl

The output for:

dmesg | tail

was

[    9.136639] Bluetooth: RFCOMM ver 1.11
[   16.028197] intel-vbtn INT33D6:00: unknown event index 0xcd
[   35.798522] wlan0: authenticate with c0:c1:c0:c4:4c:57
[   35.806681] wlan0: send auth to c0:c1:c0:c4:4c:57 (try 1/3)
[   35.808635] wlan0: authenticated
[   35.809956] wlan0: associate with c0:c1:c0:c4:4c:57 (try 1/3)
[   35.829231] wlan0: RX AssocResp from c0:c1:c0:c4:4c:57 (capab=0x411 status=0 aid=4)
[   35.831886] wlan0: associated
[   35.831959] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[  146.192583] usbcore: registered new interface driver udl

The driver does not recognize your device. Maye try their older driver.

1 Like

Okay so I downloaded their older driver. I tried to install it, but got a problem which I think means that I need to uninstall the previous driver first?:

Verifying archive integrity... All good.
Uncompressing DisplayLink Linux Driver 1.2.58  100%  
DisplayLink Linux Software 1.2.58 install script called: install
Distribution discovered: Ubuntu 16.04.1 LTS
Installing
Configuring EVDI DKMS module
Registering EVDI kernel module with DKMS
Building EVDI kernel module with DKMS
Installing EVDI kernel module to kernel tree
EVDI kernel module built successfully
Installing x64-ubuntu-1604/DisplayLinkManager
Installing libraries
Installing firmware packages
Installing license file
Adding udev rule for DisplayLink DL-3xxx/5xxx devices
ln: failed to create symbolic link '/lib/systemd/system-sleep/displaylink.sh': File exists
Job for dlm.service failed because the control process exited with error code. See "systemctl status dlm.service" and "journalctl -xe" for details.

Could someone tell me how I can remove the previous driver before trying to install the new one?

Thank you!

Do you have the files for the new driver still? Look for a logfile of some sort which lists all the files it installed.

1 Like

hmm... I do have the files for the new driver, but there is just a licence and a .run file.

ls -l /lib/systemd/system-sleep/displaylink.sh please. If we're lucky they kept everything in one sane place.

1 Like
lrwxrwxrwx 1 root root 27 Sep 27 10:39 /lib/systemd/system-sleep/displaylink.sh -> /opt/displaylink/suspend.sh