I have a Dell Precision 3530 and a Dell TB16 docking station. Like many others, I'm having trouble using this dock, especially on Linux, but to some extent also on Windows. I'm running Kubuntu 16.04. I am currently running kernel 4.15.0-47, and the intel graphics drivers. (I don't have nvidia drivers installed currently.)
What works (at a clean boot):
- Charging
- Ethernet
- HDMI and DP external displays
- USB (external keyboard and mouse)
What doesn't work (at a clean boot):
- Sound (the taskbar volume icon lists a "USB audio headphone" when the dock is connected, but I get no sound output -- only through the internal speakers)
So far it's alright and usable. However, after I suspend and resume, I also lose the external monitor support, which is a bigger issue than not having external sound. I can see the external monitor, dimmed, in the display configuration dialog, but it is disabled, and even if I click to enable it and apply, it just goes back to being disabled.
I also sometimes (but not always) loose Ethernet connection after suspend and resume.
Looking at the output of sudo journalctl
, the most relevant information about the network connection that I can see is
apr 24 06:38:02 dill dhclient[17767]: DHCPDISCOVER on enxc8f750474565 to 255.255.255.255 port 67 interval 11 (xid=0xa74c925b)
apr 24 06:38:06 dill NetworkManager[1056]: <warn> [1556080686.2978] dhcp4 (enxc8f750474565): request timed out
apr 24 06:38:06 dill NetworkManager[1056]: <info> [1556080686.2979] dhcp4 (enxc8f750474565): state changed unknown -> timeout
apr 24 06:38:06 dill NetworkManager[1056]: <info> [1556080686.3304] dhcp4 (enxc8f750474565): canceled DHCP transaction, DHCP client pid 17767
apr 24 06:38:06 dill NetworkManager[1056]: <info> [1556080686.3305] dhcp4 (enxc8f750474565): state changed timeout -> done
apr 24 06:38:06 dill NetworkManager[1056]: <info> [1556080686.3309] device (enxc8f750474565): state change: ip-config -> failed (reason 'ip-config-unavailable') [70 120 5]
apr 24 06:38:06 dill NetworkManager[1056]: <info> [1556080686.3311] policy: disabling autoconnect for connection 'Wired connection 1'.
apr 24 06:38:06 dill NetworkManager[1056]: <warn> [1556080686.3313] device (enxc8f750474565): Activation: failed for connection 'Wired connection 1'
apr 24 06:38:06 dill NetworkManager[1056]: <info> [1556080686.3317] device (enxc8f750474565): state change: failed -> disconnected (reason 'none') [120 30 0]
As for the monitor information, if I unplug the HDMI cable and replug it in, I don't get an image on the external monitor and journalctl
tells me the following:
...skipping...
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0004: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0005: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0006: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0007: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0008: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0009: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0004: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0005: timeout 01119007
apr 24 11:09:15 dill kernel: nouveau 0000:01:00.0: i2c: aux 0006: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0007: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0008: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0009: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0004: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0005: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0006: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0007: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0008: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0009: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0004: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0005: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0006: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0007: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0008: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0009: timeout 01119007
apr 24 11:09:16 dill kernel: nouveau 0000:01:00.0: i2c: aux 0004: timeout 01119007
apr 24 11:09:17 dill kernel: nouveau 0000:01:00.0: i2c: aux 0005: timeout 01119007
apr 24 11:09:17 dill kernel: nouveau 0000:01:00.0: i2c: aux 0006: timeout 01119007
apr 24 11:09:17 dill kernel: nouveau 0000:01:00.0: i2c: aux 0007: timeout 01119007
apr 24 11:09:17 dill kernel: nouveau 0000:01:00.0: i2c: aux 0008: timeout 01119007
apr 24 11:09:17 dill kernel: nouveau 0000:01:00.0: i2c: aux 0009: timeout 01119007
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 1326 update
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 1
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc QObject(0x0)
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: false
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 1326 : connected = true , enabled = false
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: RRScreenChangeNotify
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Window: 39845892
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Root: 446
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Rotation: "Rotate_0"
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Size ID: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Size: 1920 1080
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: SizeMM: 506 285
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: RRotify_OutputChange
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Output: 1326
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: CRTC: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Mode: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Rotation: "Rotate_0"
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Connection: "Connected"
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xcb.helper: Subpixel Order: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 1326 update
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc QObject(0x0)
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: false
apr 24 11:09:17 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 1326 : connected = true , enabled = false
apr 24 11:09:18 dill org.kde.KScreen[1568]: kscreen.xrandr: Emitting configChanged()
apr 24 11:09:18 dill org.kde.KScreen[1568]: kscreen: Primary output changed from KScreen::Output(Id: 108 , Name: "eDP-1" ) ( "eDP-1" ) to KScreen::Output(Id: 108 , Name: "eDP-1" ) ( "eDP-1" )
apr 24 11:09:18 dill sudo[29036]: martin : TTY=pts/5 ; PWD=/home/martin ; USER=root ; COMMAND=/bin/journalctl
On the other hand, if I plug the HDMI cable directly into the laptop instead of the TB16 dock, I do get an image on the external monitor and journalctl
says:
...skipping...
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 108 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 109 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11055f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 106
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 773
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: false
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 109 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 108 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11054f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 105
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 115
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 108 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 109 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11055f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 106
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 773
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: false
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 109 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 108 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11054f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 105
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 115
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 108 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 109 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11055f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 106
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 773
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: false
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 109 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 108 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11054f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 105
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 115
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 108 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: XRandROutput 109 update
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_connected: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: m_crtc XRandRCrtc(0x11055f0)
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: CRTC: 106
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: MODE: 773
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Connection: 0
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Primary: false
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Output 109 : connected = true , enabled = true
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen.xrandr: Emitting configChanged()
apr 24 11:10:29 dill org.kde.KScreen[1568]: kscreen: Primary output changed from KScreen::Output(Id: 108 , Name: "eDP-1" ) ( "eDP-1" ) to KScreen::Output(Id: 108 , Name: "eDP-1" ) ( "eDP-1" )
apr 24 11:10:37 dill sudo[29147]: martin : TTY=pts/7 ; PWD=/home/martin ; USER=root ; COMMAND=/bin/journalctl
apr 24 11:10:37 dill sudo[29147]: pam_unix(sudo:session): session opened for user root by martin(uid=0)
So the most apparent thing is that the nouveau driver spits out a lot of timeout warnings when the HDMI is connected to the dock. Perhaps installing the nvidia driver instead might help. I will try that next.
Based on info from another thread, I also tried kernels 4.15.0-43 and 4.15.0-45, but they work even less for me. Then I have no Ethernet connection through the dock, only via the laptop connector, and no wifi.
I have upgraded the firmware of the dock to the latest version.
Does anyone know of a configuration that works with 16.04 and Dell thunderbolt docks?
Under Windows 10, the dock works but the external monitor flickers off and on every now and then.
I've had the same issue with my TB16 and XPS13, but on Ubuntu 18.10. To have all my devices which work, I had to update the TB16 Firmware from windows 10 (Dell driver app), and remove security of thunderbolt connection inside the bios.
After that, the resuming work fine and all devices (audio, ethernet, keyboard,...) too.
maybe it'll help you