Firmware update daemon resets displays connected to Dell TB16 dock soon after every first login

Bug #1793965 reported by Piotr Kołaczkowski
34
This bug affects 6 people
Affects Status Importance Assigned to Milestone
fwupd (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

When system boots up with TB16 dock connected, it detects all peripherals and displays properly. The login screen gets displayed on 3 displays. After providing a password and logging in, all 3 displays go blank for a short time (< 5 seconds) and then the desktop appears on all three. So far this looks to me like a totally correct behaviour.

However, after a few seconds after showing the desktop, even when I don't do anything, all screens suddenly flicker / go blank, and it looks like the docks undergoes a reset. After another few seconds the docks gets restarted and the desktop appears on all displays and everything works fine since then. This happens every single time I boot the system and login. This doesn't happen after resuming the system from sleep.

By quickly opening /var/log/syslog before it happens, I managed to find out the moment of screens going blank correlates to fwupd start.

I tried blacklisting thunderbolt and thunderbolt-power plugins, but this did not help.

Is there any workaround?
Could fwupd not reload the dock if it *doesn't update thunderbolt controller NVM*? In most cases the firmware update is not needed, so I can't see a reason for restart.

A relevant systemlog fragment:

p 23 16:23:03 p5520 systemd[3030]: Starting Zeitgeist full-text search indexer...
Sep 23 16:23:03 p5520 zeitgeist-daemon[3842]: #033[31m[14:23:03.451445 WARNING]#033[0m zeitgeist-daemon.vala:127: Unable to parse version info!
Sep 23 16:23:03 p5520 zeitgeist-datah[3849]: zeitgeist-datahub.vala:227: Unable to get name "org.gnome.zeitgeist.datahub" on the bus!
Sep 23 16:23:03 p5520 dbus-daemon[3088]: [session uid=1001 pid=3088] Successfully activated service 'org.gnome.zeitgeist.SimpleIndexer'
Sep 23 16:23:03 p5520 systemd[3030]: Started Zeitgeist full-text search indexer.
Sep 23 16:23:03 p5520 zeitgeist-datah[3833]: string_strip: assertion 'self != NULL' failed
Sep 23 16:23:03 p5520 zeitgeist-datah[3833]: gtk_recent_info_get_application_info: assertion 'app_name != NULL' failed
Sep 23 16:23:03 p5520 zeitgeist-datah[3833]: recent-manager-provider.vala:106: (null) was not registered in RecentInfo item 0x563b18facdc0

Sep 23 16:23:18 p5520 systemd[1]: Starting Stop ureadahead data collection...
Sep 23 16:23:18 p5520 systemd[1]: Started Stop ureadahead data collection.

// <----------------------- here nothing appears in the log for some time, all desktops are visible and looks like the system is fully operational

Sep 23 16:23:44 p5520 gnome-software[3928]: enabled plugins: desktop-categories, fwupd, os-release, packagekit, packagekit-local, packagekit-offline, packagekit-proxy, packagekit-refine-repos, packagekit-refresh, packagekit-upgrade, packagekit-url-to-app, shell-extensions, ubuntuone, appstream, desktop-menu-path, flatpak, hardcoded-blacklist, hardcoded-featured, hardcoded-popular, modalias, packagekit-refine, rewrite-resource, steam, ubuntu-reviews, packagekit-history, provenance, snap, systemd-updates, generic-updates, provenance-license, icons, key-colors, key-colors-metadata
Sep 23 16:23:44 p5520 gnome-software[3928]: disabled plugins: dpkg, dummy, repos, epiphany, odrs
Sep 23 16:23:44 p5520 dbus-daemon[1186]: [system] Activating via systemd: service name='org.freedesktop.fwupd' unit='fwupd.service' requested by ':1.406' (uid=1001 pid=3928 comm="/usr/bin/gnome-software --gapplication-service " label="unconfined")
Sep 23 16:23:44 p5520 systemd[1]: Starting Firmware update daemon...
Sep 23 16:23:44 p5520 fwupd[3942]: disabling plugin because: failed to startup redfish: no SMBIOS table
Sep 23 16:23:44 p5520 fwupd[3942]: disabling plugin because: failed to startup dell_esrt: UEFI firmware already supported

// <------------------------ somewhere at this moment I lose ability to see the log, because all screens go blank

Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Output DP-2-1 has no monitor section
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Output DP-2-2 has no monitor section
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Output DP-2-3 has no monitor section
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): EDID vendor "GSM", prod id 17407
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Using hsync ranges from config file
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Using vrefresh ranges from config file
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Printing DDC gathered Modelines:
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "1280x1024"x0.0 108.00 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync (64.0 kHz eP)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "640x480"x0.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "720x400"x0.0 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "1280x1024"x0.0 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync (80.0 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "1024x768"x0.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e)
Sep 23 16:23:46 p5520 /usr/lib/gdm3/gdm-x-session[3075]: (II) modeset(0): EDID vendor "GSM", prod id 17407
...

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: fwupd 1.1.2-1
ProcVersionSignature: Ubuntu 4.18.0-7.8-generic 4.18.5
Uname: Linux 4.18.0-7-generic x86_64
ApportVersion: 2.20.10-0ubuntu11
Architecture: amd64
CurrentDesktop: ubuntu:GNOME
Date: Sun Sep 23 16:28:57 2018
DistributionChannelDescriptor:
 # This is a distribution channel descriptor
 # For more information see http://wiki.ubuntu.com/DistributionChannelDescriptor
 canonical-oem-somerville-xenial-amd64-20160624-2
InstallationDate: Installed on 2017-04-12 (528 days ago)
InstallationMedia: Ubuntu 16.04 "Xenial" - Build amd64 LIVE Binary 20160624-10:47
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=pl_PL.UTF-8
 SHELL=/bin/bash
SourcePackage: fwupd
UpgradeStatus: No upgrade log present (probably fresh install)
mtime.conffile..etc.fwupd.daemon.conf: 2018-09-23T16:20:15.438375

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :
Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

Removing fwupd package completely fixes the problem.

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

BTW: The problem existed also on Ubuntu 18.04, so this is not a new thing.
Kernel version seem to not have any influence. Tried many kernels ranging from recent 4.15.x, 4.17.19, through 4.18.8, to the newest 4.19.rc4.

Revision history for this message
Mario Limonciello (superm1) wrote :

Can you please add --verbose to the ExecStart line of the systemd unit and share journal output?

Revision history for this message
Mario Limonciello (superm1) wrote :

My suspicion around this is that it's not actually the dock being reset, but rather an MST hub being placed into "high" power mode. The TB16 contains two MST hubs.
The current configuration of monitors you have plugged in probably doesn't exercise both MST hubs, so one of them is operating in "low" power mode.

High power mode spins up the hubs that are off and is needed to query the version of the MST firwmare present on the MST hubs within the dock.

You can confirm this hypothesis like this:
1) Check the fwupdmgr get-devices output as it currently exists. You should probably see 2 MST hubs in the list.
2) Blacklist the "dell" plugin from the fwupd configuration.
3) Reboot the machine
4) Check fwupdmgr get-devieces output.
5) You should probably only see one MST hub in the list.
6) Now unplug all your extra monitors from the TB16.
7) Reboot the machine
8) You should see no MST hubs in the list.

If that hypothesis is correct, then I would say this is actually a kernel graphics driver bug. Intel graphics? Can you please share more on the graphics chipset in use? What model machine you're doing this from?

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

Dell Precision 5520. Running Intel graphics. Nvidia card is turned off (unused).
I'll try that and I'll let you know. Thanks for help.

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :
Download full text (4.8 KiB)

1.
fwupdmgr get-devices
Synaptics VMM3320 inside Dell WD15/TB16/TB18 wired Dock
  DeviceId: 7b3cbc344094ace839263dd4711c84ea99bb6dc3
  ParentDeviceId: 84edf044a6b53037732cfc7591b65a8d36384cc9
  Guid: 152a9833-41e6-5c21-9dde-0ff8984f3e20
  Guid: 0a52c8c7-26d5-59a0-ae44-6b00e276d775
  Guid: 51000744-2de6-5a52-8a86-d5f69fd73d34
  Summary: Multi-Stream Transport Device
  Plugin: synapticsmst
  Flags: updatable|registered
  Vendor: Synaptics
  Version: 3.12.002
  Icon: computer
  Created: 2018-09-29

Synaptics VMM3330 inside Dell WD15/TB16/TB18 wired Dock
  DeviceId: d83854e8c81f5d47b0b99c8a3b42ae5127c75eb8
  ParentDeviceId: 84edf044a6b53037732cfc7591b65a8d36384cc9
  Guid: c0f73159-4fc0-509b-80f8-5f871f3751a8
  Guid: be025b25-ca5c-546c-97c6-ee2160ba489d
  Guid: 190e8d7c-6bcf-5fab-94e7-4f8739eb90aa
  Summary: Multi-Stream Transport Device
  Plugin: synapticsmst
  Flags: updatable|registered
  Vendor: Synaptics
  Version: 3.12.002
  Icon: computer
  Created: 2018-09-29

Precision 5520 System Firmware
  DeviceId: f49999b6e3af5b4bf8ad1f2ed2922b76df457271
  Guid: 34578c72-11dc-4378-bc7f-b643866f598c
  Guid: 18a8f546-f58a-556b-ae29-00fc15163b7d
  Guid: 230c8b18-8d9b-53ec-838b-6cfc0383493a
  Plugin: uefi
  Flags: internal|updatable|require-ac|supported|registered|needs-reboot
  Version: 0.1.11.0
  VersionLowest: 0.1.11.0
  Icon: computer
  Created: 2018-09-29

Dell TB16 EC
  DeviceId: 6d24f6d588ad8116a0d7f58d144222318e239ec7
  ParentDeviceId: 84edf044a6b53037732cfc7591b65a8d36384cc9
  Guid: 33cc8870-b1fc-4ec7-948a-c07496874faf
  Guid: cfa734ac-7e1b-5940-9b27-129c912802f4
  Summary: A Thunderbolt™ 3 docking station
  Plugin: uefi
  Flags: updatable|require-ac|registered|needs-reboot
  Vendor: Dell Inc.
  Version: 1.0.0.16
  Icon: computer
  Created: 2018-09-29

Dell TB16 Thunderbolt Cable
  DeviceId: f8194a42320518472a2e67c1d89018c7a5219841
  ParentDeviceId: 84edf044a6b53037732cfc7591b65a8d36384cc9
  Guid: 6dc832fc-5bb0-4e63-a2ff-02aaba5bc1dc
  Guid: 265f626b-781c-5eda-aba4-2a22e5a791c0
  Summary: A Thunderbolt™ 3 docking station
  Plugin: uefi
  Flags: updatable|require-ac|registered|needs-reboot
  Vendor: Dell Inc.
  Version: 0.0.3.18
  Icon: computer
  Created: 2018-09-29

Dell TB16 Port Controller 1
  DeviceId: b3fa3dc04e3450450bb17910417562e5b6cf69d0
  ParentDeviceId: 84edf044a6b53037732cfc7591b65a8d36384cc9
  Guid: 8fe183da-c94e-4804-b319-0f1ba5457a69
  Guid: ...

Read more...

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

4) (after disabling dell plugin and reboot)

fwupdmgr get-devices
Precision 5520 Thunderbolt Controller
  DeviceId: 75ab74de304604584bf3794cd8a7051b0e57d34a
  Guid: c5364422-2ec3-5092-b30e-03bdb1a53e4a
  Summary: Unmatched performance for high-speed I/O
  Plugin: thunderbolt
  Flags: internal|updatable|supported|registered
  Vendor: Dell
  VendorId: TBT:0x00D4
  Version: 21.00
  Icon: computer
  Created: 2018-09-29

Dell Thunderbolt Cable
  DeviceId: de0916b815cd11cc7fab667d806f820299089fa0
  Guid: b4fd3cdf-4e3a-5090-a583-45367cfd6421
  Plugin: thunderbolt
  Flags: updatable|registered
  Vendor: Dell
  VendorId: TBT:0x00D4
  Version: 16.00
  Icon: audio-card
  Created: 2018-09-29

Dell Thunderbolt Dock
  DeviceId: 0ea930a0385b228ef428ec83758e997ee27f87b8
  Guid: 76cc74d4-f062-5b93-a11c-8d2a58a25848
  Plugin: thunderbolt
  Flags: updatable|registered
  Vendor: Dell
  VendorId: TBT:0x00D4
  Version: 16.00
  Icon: audio-card
  Created: 2018-09-29

Synaptics VMM3320 inside Dell WD15/TB16/TB18 wired Dock
  DeviceId: 7b3cbc344094ace839263dd4711c84ea99bb6dc3
  Guid: 152a9833-41e6-5c21-9dde-0ff8984f3e20
  Guid: 0a52c8c7-26d5-59a0-ae44-6b00e276d775
  Guid: 51000744-2de6-5a52-8a86-d5f69fd73d34
  Summary: Multi-Stream Transport Device
  Plugin: synapticsmst
  Flags: updatable|registered
  Vendor: Synaptics
  Version: 3.12.002
  Icon: computer
  Created: 2018-09-29

Precision 5520 System Firmware
  DeviceId: f49999b6e3af5b4bf8ad1f2ed2922b76df457271
  Guid: 34578c72-11dc-4378-bc7f-b643866f598c
  Guid: 18a8f546-f58a-556b-ae29-00fc15163b7d
  Guid: 230c8b18-8d9b-53ec-838b-6cfc0383493a
  Plugin: uefi
  Flags: internal|updatable|require-ac|supported|registered|needs-reboot
  Version: 0.1.11.0
  VersionLowest: 0.1.11.0
  Icon: computer
  Created: 2018-09-29

THNSN5512GPUK NVMe TOSHIBA 512GB
  DeviceId: 04e17fcf7d3de91da49a163ffe4907855c3648be
  Guid: bfe8d16e-b612-5f26-9526-0123dd679e7d
  Guid: a7e9412b-a3cf-5819-9029-105efad314f1
  Guid: ad9fe8f7-cdc4-52c9-9fea-31b6f4988ffa
  Summary: NVM Express Solid State Drive
  Plugin: nvme
  Flags: internal|updatable|require-ac|registered|needs-reboot
  Vendor: Toshiba America Info Systems
  VendorId: NVME:0x1179
  Version: 5KDA4103
  Icon: drive-harddisk
  Created: 2018-09-29

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

After disabling "dell" plugin, it doesn't blank out my screens any-more.

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

After unplugging displays from the dock and rebooting:

fwupdmgr get-devices
Precision 5520 Thunderbolt Controller
  DeviceId: 75ab74de304604584bf3794cd8a7051b0e57d34a
  Guid: c5364422-2ec3-5092-b30e-03bdb1a53e4a
  Summary: Unmatched performance for high-speed I/O
  Plugin: thunderbolt
  Flags: internal|updatable|supported|registered
  Vendor: Dell
  VendorId: TBT:0x00D4
  Version: 21.00
  Icon: computer
  Created: 2018-09-29

Dell Thunderbolt Cable
  DeviceId: de0916b815cd11cc7fab667d806f820299089fa0
  Guid: b4fd3cdf-4e3a-5090-a583-45367cfd6421
  Plugin: thunderbolt
  Flags: updatable|registered
  Vendor: Dell
  VendorId: TBT:0x00D4
  Version: 16.00
  Icon: audio-card
  Created: 2018-09-29

Dell Thunderbolt Dock
  DeviceId: 0ea930a0385b228ef428ec83758e997ee27f87b8
  Guid: 76cc74d4-f062-5b93-a11c-8d2a58a25848
  Plugin: thunderbolt
  Flags: updatable|registered
  Vendor: Dell
  VendorId: TBT:0x00D4
  Version: 16.00
  Icon: audio-card
  Created: 2018-09-29

Synaptics VMM3320 inside Dell WD15/TB16/TB18 wired Dock
  DeviceId: 7b3cbc344094ace839263dd4711c84ea99bb6dc3
  Guid: 152a9833-41e6-5c21-9dde-0ff8984f3e20
  Guid: 0a52c8c7-26d5-59a0-ae44-6b00e276d775
  Guid: 51000744-2de6-5a52-8a86-d5f69fd73d34
  Summary: Multi-Stream Transport Device
  Plugin: synapticsmst
  Flags: updatable|registered
  Vendor: Synaptics
  Version: 3.12.002
  Icon: computer
  Created: 2018-09-29

Precision 5520 System Firmware
  DeviceId: f49999b6e3af5b4bf8ad1f2ed2922b76df457271
  Guid: 34578c72-11dc-4378-bc7f-b643866f598c
  Guid: 18a8f546-f58a-556b-ae29-00fc15163b7d
  Guid: 230c8b18-8d9b-53ec-838b-6cfc0383493a
  Plugin: uefi
  Flags: internal|updatable|require-ac|supported|registered|needs-reboot
  Version: 0.1.11.0
  VersionLowest: 0.1.11.0
  Icon: computer
  Created: 2018-09-29

THNSN5512GPUK NVMe TOSHIBA 512GB
  DeviceId: 04e17fcf7d3de91da49a163ffe4907855c3648be
  Guid: bfe8d16e-b612-5f26-9526-0123dd679e7d
  Guid: a7e9412b-a3cf-5819-9029-105efad314f1
  Guid: ad9fe8f7-cdc4-52c9-9fea-31b6f4988ffa
  Summary: NVM Express Solid State Drive
  Plugin: nvme
  Flags: internal|updatable|require-ac|registered|needs-reboot
  Vendor: Toshiba America Info Systems
  VendorId: NVME:0x1179
  Version: 5KDA4103
  Icon: drive-harddisk
  Created: 2018-09-29

I can still see one MST device here.

summary: - Firmware update daemon resets Dell TB16 dock soon after every first
- login
+ Firmware update daemon resets displays connected to Dell TB16 dock soon
+ after every first login
Changed in fwupd (Ubuntu):
status: New → Confirmed
importance: Undecided → Low
Revision history for this message
Ahmad Amr (aamr) wrote :

#10 "After disabling "dell" plugin, it doesn't blank out my screens any-more." How did you do that?

Revision history for this message
Piotr Kołaczkowski (pkolaczk-u) wrote :

Like this:

/etc/fwupd/daemon.conf [fwupd]

# Allow blacklisting specific devices by their GUID
# Uses semicolons as delimiter
BlacklistDevices=

# Allow blacklisting specific plugins
# Uses semicolons as delimiter
BlacklistPlugins=test;dell

# Maximum archive size that can be loaded in Mb, with 0 for the default
ArchiveSizeMax=0

Revision history for this message
Georgi Boiko (pandasauce) wrote :

Getting the same issue on Precision 5520, Ubuntu 18.04.1, kernel 4.18.0-15 (HWE) with a Dell TB16 dock and it only happens when daisy-chaining DP monitors.

Revision history for this message
zwigno (zwigno) wrote :

Wow I'm not alone! Happens with the same hardware. Dell 5520 with a TB16 dock. After login it now goes through up to 6 cycles of blank to normal screens before it stabilizes after 30-60 seconds. It's connected to a Dell 4k monitor via displayport. The TB16 side is using a normal DP connector and the monitor side is using a mDP connector. I mention this because previously I had the cable connected the other way (mDP connector on TB16) and it would flicker a little less (up to 4 times max).

I wonder if because of the change in behavior when swapping the cable ends if this is an issue of the dock not supplying enough power initially? Just a thought - I have no evidence to support this.

It may also be worth mentioning that I'm driving the monitor at 4k/60Hz.

Revision history for this message
Mario Limonciello (superm1) wrote :

So from upstream fwupd we've decided to drop the support for probing Dell MST hubs at fwupd init. They'll only show up in fwupd now if a monitor is plugged in.

This issue will be fixed in fwupd 1.2.11.

Anyone running older fwupd who is annoyed by this can workaround the issue by modifying /etc/fwupd/daemon.conf and modifying the "BlacklistPlugins=test" to be "BlacklistPlugins=test;dell"

Changed in fwupd (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Mario Limonciello (superm1) wrote :

The fix actually has been re-directed to the 1.3 series; IE 1.3.1 has it.

Revision history for this message
Mario Limonciello (superm1) wrote :

Fixed in 1.3.2-5 in focal.

Changed in fwupd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.