Coder Social home page Coder Social logo

thunderbolt-nvm-linux's Introduction

Thunderbolt NVM updates for Linux

This repository contains information on updating Thunderbolt NVM on applicable Dell systems.

Why

Tools are available in the kernel and fwupd. Some payloads are released onto LVFS in .CAB form.

How

Kernel 4.13 and later are needed for doing updates. They contain a native "Thunderbolt" driver. Fwupd 0.9.7 or later are needed to safely process updates from userspace.

Kernel 4.15 and later include a special driver for waking up sleeping thunderbolt controllers. Fwupd 1.0.0 and later include the userspace support necessarily for using this driver.

Currently payloads are posted to LVFS testing. To use them, you will need to activate the LVFS testing remote. To do this, modify:

/etc/lvfs/remotes.d/lvfs-testing.conf

Set Enabled to true.

Usage

Devices can be enumerated using #fwupdmgr get-devices

If the controller does not enumerate, then it is most likely asleep. Plug in a thunderbolt device to wake it up and try again.

If you don't have a Thunderbolt device, it's also possible to force the controller into flash mode to wake it up using a utility that is on this repository or a newer kernel/fwupd.

It's important that the controller stay awake during this time. If you woke it using another device, leave that device plugged in until the update is done. If you woke it using the Dell force tool or kernel driver then you don't need to do anything.

Bugs

If an NVM is missing or you run into a problem, you can report it here or with the fwupd project.

Dell Force Tool

A tool is provided in this repository that can force a Thunderbolt controller on a Dell system into flashing mode. When in flashing mode the controller won't go to sleep, so be sure to take it out of flashing mode when you are done with interactions.

Pre-requisites:

  1. libsmbios development libraries
  2. efivar development libraries

To compile the tool:

# gcc -o force_dell_tbt force_dell_tbt.c -I /usr/include/efivar/ -lsmbios_c -lefivar

To force flashing mode:

# sudo ./force_dell_tbt 1

To force user mode:

# sudo ./force_dell_tbt 0

thunderbolt-nvm-linux's People

Contributors

dhiltonp avatar joseluisdiaz avatar linux4life798 avatar superm1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thunderbolt-nvm-linux's Issues

Thunderbolt firmwarm fails after Thunderbolt NVM (33) XPS 9370

Thunderbolt Controller has disappeared post-upgrade. Firmware may be corrupted(?) Can you advise how to manually reinstall the driver?

OS: Ubuntu 18.04 (and 18.10)
Kernel: 4.15 (and 4.18)
Product Name: XPS 13 9370
BIOS Version: 1.5.1
Thunderbolt BIOS security level: none

Steps: Thunderbolt NVM (33) was installed via Ubuntu Software Installer (after prompting for update) with a secondary display active (not sleeping). Post successfully installing, the prompt reappeared several times (similarly to #8 but consecutively). Post reboot could not wake thunderbolt ports (still takes power, but nothing else).

dmesg

Thunderbolt firmware fails to start.

...
[    7.775524] thunderbolt 0000:05:00.0: enabling device (0000 -> 0002)
[    7.776832] intel-lpss 0000:00:15.0: enabling device (0000 -> 0002)
[    7.777102] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[    7.777167] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[    7.777419] thunderbolt 0000:05:00.0: NHI initialized, starting thunderbolt
[    7.777422] thunderbolt 0000:05:00.0: allocating TX ring 0 of size 10
[    7.777441] thunderbolt 0000:05:00.0: allocating RX ring 0 of size 10
[    7.777456] thunderbolt 0000:05:00.0: control channel created
[    7.777456] thunderbolt 0000:05:00.0: control channel starting...
[    7.777458] thunderbolt 0000:05:00.0: starting TX ring 0
[    7.777473] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
[    7.777474] thunderbolt 0000:05:00.0: starting RX ring 0
[    7.777489] thunderbolt 0000:05:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
[    7.777502] thunderbolt 0000:05:00.0: starting ICM firmware
[    7.777503] thunderbolt 0000:05:00.0: could not start ICM firmware # NOTE: error
[    7.777530] thunderbolt 0000:05:00.0: stopping RX ring 0
[    7.777541] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 12 (0x1001 -> 0x1)
[    7.777624] thunderbolt 0000:05:00.0: stopping TX ring 0
[    7.777635] thunderbolt 0000:05:00.0: disabling interrupt at register 0x38200 bit 0 (0x1 -> 0x0)
[    7.777640] thunderbolt 0000:05:00.0: control channel stopped
[    7.777650] thunderbolt 0000:05:00.0: freeing RX ring 0
[    7.777665] thunderbolt 0000:05:00.0: freeing TX ring 0
[    7.777676] thunderbolt 0000:05:00.0: shutdown
...

lspci -nn

Thunderbolt device appears to exist (whether devices connected or not):

...
05:00.0 System peripheral [0880]: Intel Corporation DSL6540 Thunderbolt 3 NHI [Alpine Ridge 4C 2015] [8086:1577] (rev 02)
...

lsusb

Does not list any devices connected to thunderbolt ports (nor do any devices function)

lsmod | grep thunderbolt

Thunderbolt kernel modules present:

intel_wmi_thunderbolt    16384  0
thunderbolt           118784  0
wmi                    24576  5 intel_wmi_thunderbolt,dell_wmi,wmi_bmof,dell_smbios,dell_wmi_descriptor

fwupdmgr get-devices --show-all-devices

No longer lists XPS 9370 Thunderbolt Controller as a device (whether devices connected or not):

Intel AMT [unprovisioned]
  DeviceId:             e2623122c99d58220498aacbfcfdb1baebbae3c5
  ParentDeviceId:       8a21cacfb0a8d2b30c5ee9290eb71db021619f8b
  Guid:                 2800f812-b7b4-2d4b-aca8-46e0ff65814c
  Summary:              Hardware and firmware technology for remote out-of-band management
  Plugin:               amt
  Flags:                internal|registered
  Vendor:               Intel Corporation
  Version:              11.8.55
  VersionBootloader:    11.8.55
  Icon:                 computer
  Created:              2018-11-28

XPS 13 9370 System Firmware
  DeviceId:             8a21cacfb0a8d2b30c5ee9290eb71db021619f8b
  Guid:                 7ceaf7a8-0611-4480-9e30-64d8de420c7c
  Guid:                 43ea5588-d9a4-5031-8ad3-308045302d6b
  Guid:                 230c8b18-8d9b-53ec-838b-6cfc0383493a
  Plugin:               uefi
  Flags:                internal|updatable|require-ac|supported|registered|needs-reboot
  Version:              0.1.5.1
  VersionLowest:        0.1.5.1
  Icon:                 computer
  Created:              2018-11-28

KXG50ZNV512G NVMe TOSHIBA 512GB
  DeviceId:             f954c7acdf5fab61aeaca1cd71d29ea5ade6992f
  Guid:                 4d0aed03-a30c-52c6-99e7-a8977797c3d9
  Guid:                 ad9fe8f7-cdc4-52c9-9fea-31b6f4988ffa
  Serial:               Z7BS10IYTY7T
  Summary:              NVM Express Solid State Drive
  Plugin:               nvme
  Flags:                internal|updatable|require-ac|registered|needs-reboot
  VendorId:             NVME:0x1179
  Version:              AADA4102
  Icon:                 drive-harddisk
  Created:              2018-11-28

Unifying Receiver
  DeviceId:             66a1e4c324ce716554ac74b67bf0a6e13ea6f583
  Guid:                 279ed287-3607-549e-bacc-f873bb9838c4
  Guid:                 21e75d9a-5ce6-5da2-b7ab-910c7f3f6836
  Guid:                 9d131a0c-a606-580f-8eda-80587250b8d6
  Summary:              A miniaturised USB wireless receiver
  Plugin:               unifying
  Flags:                supported|registered
  Vendor:               Logitech
  VendorId:             USB:0x046D
  Version:              RQR12.07_B0029
  VersionBootloader:    BOT01.02_B0014
  Icon:                 preferences-desktop-keyboard
  Created:              2018-11-28

fwupdmgr install

Cannot reinstall manually downloaded cab file:

$ fwupdmgr install ~/Downloads/925aaf439fc1b66aea20fb3868534e3853902c9d-ThunderboltFirmwareUpdateLinux_4.33.18.004.cab -v
(fwupdmgr:15249): Fwupd-DEBUG: Emitting ::status-changed() [decompressing]
Decompressing?         [-                                      ](fwupdmgr:15249): Fwupd-DEBUG: Emitting ::status-changed() [idle]
Decompressing?         [***************************************]
No supported devices found

Having some serious downtime trying to resolve. Any help much appreciated!

Missing entries in /sys/bus/thunderbolt/devices

Hi,

I have a failed flash of the controller in my fwupdmgr history, and now I never the any new entries in /sys/bus/thunderbolt/devices. There's also a message in dmesg after the thunderbolt module have been loaded (which incur a full freeze of the system for a few seconds); thunderbolt 0000:05:00.0: failed to send driver ready to ICM

Busted NVM firmware? Is there a way to force a new binary on their somewhere lower-level?

Cheers,
Nafallo

Ubuntu 17.10 | Can't update thunderbolt

Hi thanks for this piece of software. I refreshed my system updates in gnome software two times this week. The first time I fetched a bios update which I could execute and it flashed perfectly. The second time an update for thunderbolt popped up but it sadly failed with the error down in the screenshot

root@computer:/home/user# smbios-sys-info
Libsmbios version: 2.3.1
Product Name: XPS 13 9360
Vendor: Dell Inc.
BIOS Version: 2.5.0
System ID: 0x075B
Service Tag: G7Q90G2
Express Service Code: 35295871106
Asset Tag: Not Specified
Property Ownership Tag:

bildschirmfoto-20180105014847-1200x832

Please provide updated Thunderbolt NVM (26) on Precision 5510

The Thunderbolt NVM on LVFS was last updated in December, and has version 16:

https://fwupd.org/lvfs/component/360/all

Dell website was updated in April and has a Windows installer for version 26:

https://downloads.dell.com/FOLDER04795516M/1/Intel_TBT3_FW_UPDATE_NVM26_FJJK7_A08_4.26.11.001.exe

Could you please provide the updated version on LVFS? Thanks!

Cannot update XPS 13 9360 Thunderbolt Controller

I cannot update the thunderbolt firmware if I follow the instructions on the Arch wiki page.

  • The forcing works ( ./force_dell_tbt 1)
  • Triggering the update does not make the screen flicker
  • cat /sys/bus/thunderbolt/devices/0-0/nvm_authenticate returns 0
  • cat /sys/bus/thunderbolt/devices/0-0/nvm_version returns 18.5 (nothing changed)

My journalctl recorded a lot of errors: bug.txt

Please provide updated Thunderbolt NVM (46) on LVFS for XPS 15 9575 2-in-1

The Thunderbolt NVM available on LVFS (testing) has version 36 and was last updated 2018-10-24:
https://fwupd.org/lvfs/devices/com.dell.tbt8926f505.firmware

On the official Dell product support page a Windows firmware update utility is available for what seems to be version 46:
https://www.dell.com/support/home/en-de/drivers/driversdetails?driverid=rttkr&oscode=wt64a&productcode=xps-15-9575-2-in-1-laptop

I would appreciate it if you could provide the newer version on LVFS ^^

Note: I have tried to extract the firmware from the above .exe, but I can't really make out anything that looks like a firmware (to me) in the files extracted by 7z. As such I sadly could not make use of the firmware-packager tool mentioned in other issues before. I am however inexperienced with the Dell / Windows .exe firmware update (utility) format, so it might be possible somehow nonetheless. If someone could point me in the right direction in that regard, that would be nice :)

Failed to force device to 1 (ret -3)

When I run sudo ./force_dell_tbt 1 on my XPS 13 9360 with kernel 4.13.3-1, I get the error:

Failed to force device to 1 (ret -3)

The journalctl output is:

DMAR: Allocating domain for dcdbas failed

Thunderbolt controller unresponsive after firmware update (26) on 9360 0x82A

Situation:

lspci not showing the thunderbolt controller, forcing power does not work. I managed to make it to show in lspci after cold boot after 4 second shutdown button press and having a USB device connected to it at boot. But it is still unresponsive even after forcing power to on.

dmesg |grep -i tbt
[    0.003785] ACPI: SSDT 0x0000000064F9B6D0 0000DB (v02 INTEL  TbtTypeC 00000000 INTL 20160422)
dmesg |grep -i thunder
(nothing)
lspci 
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08)
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07)
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08)
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:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1)
00:1c.5 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #6 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Intel(R) 100 Series Chipset Family LPC Controller/eSPI Controller - 9D4E (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 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
02:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
02:01.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
02:02.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
39:00.0 USB controller: Intel Corporation DSL6340 USB 3.1 Controller [Alpine Ridge]
3a:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32)
3b:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
3c:00.0 Non-Volatile memory controller: Toshiba America Info Systems Device 0116
myuser@xps ~ $ sudo fwupdmgr --allow-reinstall --allow-older --show-all-devices get-devices
XPS 13 9360 System Firmware
  DeviceId:             3f0ecc7823ee99c718693e8ecca38f54e8738dc5
  Guid:                 5ffdbc0d-f340-441c-a803-8439c8c0ae10
  Plugin:               uefi
  Flags:                internal|require-ac|supported|registered|needs-reboot
  Version:              0.2.10.0
  VersionLowest:        0.2.10.0
  Icon:                 computer
  Created:              2019-03-15
  UpdateError:          Unable to determine EFI system partition location, override using OverrideESPMountPoint in uefi.conf

UHD Graphics 620
  DeviceId:             bbbf1ce3d1cf15550c3760b354592040292415bb
  Guid:                 fed2efa4-7045-55a1-b4fc-b29283d59fe5 <- PCI\VEN_8086&DEV_5917&REV_07
  Guid:                 8b72a10c-1279-5f8e-a28a-34fb11a58240 <- PCI\VEN_8086&DEV_5917
  Guid:                 afb8c4ec-b9a5-5cd3-aaef-cc976ce37eb8 <- PCI\VEN_8086
  Plugin:               udev
  Flags:                internal|registered
  Vendor:               Intel Corporation
  VendorId:             PCI:0x8086
  Version:              07
  Icon:                 audio-card
  Created:              2019-03-15

KXG50ZNV256G NVMe TOSHIBA 256GB
  DeviceId:             e11623b2caa18fee292058a5c09ca4e6152f7ecf
  Guid:                 4d0aed03-a30c-52c6-99e7-a8977797c3d9 <- NVME\VEN_1179&DEV_0116
  Guid:                 ad9fe8f7-cdc4-52c9-9fea-31b6f4988ffa <- NVME\VEN_1179
  Guid:                 e67bb8f0-4e33-53f7-9f43-249a203b67fb <- KXG50ZNV256G NVMe TOSHIBA 256GB
  Serial:               18BF206VFQ9S
  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:              AADA4106
  Icon:                 drive-harddisk
  Created:              2019-03-15

Failed to update thunderbolt firmware on Dell XPS 13 9360

I'm rung Archlnux on my Dell XPS 13 9360 with kernel 4.13.9, and I followed the steps in this page: Archlinux Wiki, to update my thunderbolt firmware from 18.5 to 21.0. But I got this problem

bash: /sys/bus/thunderbolt/devices/0-0/nvm_authenticate: Permission denied

I'm running these commands under root user. I've tried 0x075B_secure.bin extracted from the latest .exe file, but it still doesn't work. Could someone give me some help?

XPS 9370 Thunderbolt firmware gone missing

Even though I have previously updated my XPS 9370's firmware from 28.00 to 33.00, after #10 got fixed, there's no longer any firmware available at https://fwupd.org/lvfs/device/4eeb9d07-a96c-56d6-92d3-4a23ee7a6e4a

Furthermore, there would be 40.00 available at https://www.dell.com/support/home/fi/fi/fibsdt1/drivers/driversdetails?driverid=2670n&oscode=wt64a&productcode=xps-13-9370-laptop which might be something that would have really helped me since I've a few problems with my Thunderbolt monitor with XPS 9370 only.

The contents of the .exe file do not seem straight-forward enough to mimick the example from https://github.com/fwupd/fwupd/tree/master/contrib/firmware_packager either so I've been unable to find a solution so far.

Missing payload for NVM21 firmware version.

I'm trying to update the NVM firmware on my Dell XPS 13 9360 from version 18.05 to the newest version. I have successfully built everything and am able to enumerate and query the controllers, but I cannot find a payload for the NVM21 firmware version that is available on the Dell website under the name "Intel_TBT3_FW_UPDATE_NVM21_0THFT_A00_3.21.00.008.exe". The payload provided in this repository is the same version as what I have installed currently.

Missing NVM56 (KP2C7) firmware for Precision Mobile 7740

https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=kp2c7

No Thunderbolt firmwares appear to be available for the 7740 via LVFS.

Current version on the machine:

% sudo fwupdmgr get-devices
Precision 7740
│
└─Thunderbolt host controller:
      Device ID:          d914d64714e4f7adbce7f86f54e3ec9278902b20
      Summary:            Unmatched performance for high-speed I/O
      Current version:    41.01
      Vendor:             Dell (THUNDERBOLT:0x00D4|TBT:0x00D4)
      GUIDs:              49c8274e-bc6a-5707-a197-ca0c9a35bda0 ← THUNDERBOLT\VEN_00D4&DEV_0927&REV_00
                          3f759afe-e19e-5d26-bb64-0aad84c82ac3 ← THUNDERBOLT\VEN_00D4&DEV_0927
                          81db9688-b112-5e24-9f92-e96f05770934 ← TBT-00d40927-native
                          1707b992-6eb5-5913-8601-6ac003d0f6c1 ← TBT-00d40927-native-controller0-0
      Device Flags:       • Internal device
                          • Updatable
                          • System requires external power source
                          • Device stages updates

Please provide updated Thunderbolt NVM (33) for Precision 7520

There is a updated driver from 07-MAY-2018: Intel_TBT3_FW_UPDATE_NVM33_4KCK2_A05_4.33.14.003.exe

The website offers the following link for the Precision 7520: Thunderbolt NVM for Precision 7520 (Dated 2018-07-18 called version 33.00.) However this version is not compatible with my 7520?

Prior to update:

Precision 7520 Thunderbolt Controller
DeviceId: b23694c83a756d6ac55921b264912fbd4095d632
Guid: 28245c9e-29ad-5d00-ad04-1eb80e746c49
Summary: Unmatched performance for high-speed I/O
Plugin: thunderbolt
Flags: internal|updatable|registered
Vendor: Dell
VendorId: TBT:0x00D4
Version: 12.00
Icon: computer
Created: 2018-08-04

After update:

Precision 7520 Thunderbolt Controller
DeviceId: b23694c83a756d6ac55921b264912fbd4095d632
Guid: 28245c9e-29ad-5d00-ad04-1eb80e746c49
Summary: Unmatched performance for high-speed I/O
Plugin: thunderbolt
Flags: internal|updatable|registered
Vendor: Dell
VendorId: TBT:0x00D4
Version: 23.00
Icon: computer
Created: 2018-09-06

Why did it only update me to version 23 instead of 33? I tried running the update again to no avail.

Missing NVM44 (28FCS) firmware for Precision Mobile 5540

image

Latest firmware available in LVFS is this:

$ sudo fwupdmgr get-devices
Precision 5540
│
├─Thunderbolt Controller:
│     Device ID:           0c62146fa217fc169f4d006259608cc78a52ccb4
│     Summary:             Unmatched performance for high-speed I/O
│     Current version:     41.00
│     Vendor:              Dell (TBT:0x00D4)
│     GUIDs:               ebb0a5b3-24fc-582d-9c60-58c0d7045350 ← THUNDERBOLT\VEN_00D4&DEV_0906&REV_00
│                          d92f2014-425f-5023-b877-0ff468763d68 ← THUNDERBOLT\VEN_00D4&DEV_0906
│                          42598a87-0ee2-5d7e-b1d1-02a312041fd5 ← TBT-00d40906-native
│                          1d962ba4-9f85-5510-a85f-e4c94abf9b1d ← TBT-00d40906-native-controller0-0
│     Device Flags:        • Internal device
│                          • Updatable
│                          • Requires AC power
│                          • Device stages updates
$ sudo fwupdmgr get-updates
• Thunderbolt Controller has no available firmware updates
• Thunderbolt controller in Dell dock has the latest available firmware version
• Package level of Dell dock has the latest available firmware version
• RTS5413 in Dell dock has the latest available firmware version
• RTS5487 in Dell dock has the latest available firmware version
• VMM5331 in Dell dock has the latest available firmware version
• WD19TB has the latest available firmware version
• Samsung SSD 970 EVO 2TB has no available firmware updates
• System Firmware has the latest available firmware version
• TPM 2.0 has no available firmware updates
• Touchpad has no available firmware updates

Please provide updated Thunderbolt NVM (36) for XPS 9575

Hi there!

I noticed that Dell has updated their Thunderbolt firmware for the XPS 9575 to version 36. See:
https://www.dell.com/support/home/us/en/04/drivers/driversdetails?driverId=PR8NR&osCode=WT64A&productCode=xps-15-9575-2-in-1-laptop

Unfortunately this new firmware does not appear in the lvfs or lvfs-testing repositories.

Here is my current device details:

XPS 9575 Thunderbolt Controller
  DeviceId:             069ac71f347e92d158f2c211cca10d52a19e2d41
  Guid:                 8926f505-8219-5d6c-969a-e927534113fb
  Summary:              Unmatched performance for high-speed I/O
  Plugin:               thunderbolt
  Flags:                internal|updatable|registered
  Vendor:               Dell
  VendorId:             TBT:0x00D4
  Version:              30.00
  Icon:                 computer
  Created:              2018-10-24

Is there any chance you could add this firmware to lvfs-testing? I'm having problems with getting my eGPU working over TB3, and I'd like to be running the fully updated firmware to rule out any firmware issues that might be causing problems.

Thanks!
Rob

Interops issue Dell Precision 7510 / WD22TB4 / Linux Kernel (4.15 through 5.19)

Hello @superm1,
being totally aware that this is not exactly the right place to put it, I will try my luck anyway, because I did not find a better place.

Situation
Dell Precision 7510, Latitude 7420, U3818DW, WD22TB4. I bought the latter, because it was advertised to gracefully fall back to WD19 behavior with TB3. Which it does, but only with Windows.

What works

  • Windows 10: 7510 + Dock + Display + USB in Dock + Network in Dock
  • Windows 10: 7420 + Dock + Display + USB in Dock + Network in Dock
  • Ubuntu 22.04.1 LTS: 7510 + Dock + Display
  • Ubuntu 22.04.1 LTS: 7420 + Dock + Display + USB in Dock + Network in Dock

What does NOT work

  • USB xhci controller in Dock (and thus: Network in Dock) with 7510 and linux

Obviously this is NOT a problem with the firmware (everything is on the latest version), because 7510 with Win10 works like a charm, but fails with Ubuntu (and other linux distributions and several kernels).

I tried different kernels with the 7510 (4.15.0 - Ubuntu 18, 5.8 - Ubuntu 20, 5.15 - Ubuntu 22, 5.19 FC37 beta).
All fail with the same symptom during the xhci_hcd initialization phase.

I will proceed with what I saw under these circumstances:

lsb_release -d
Description: Ubuntu 22.04.1 LTS
uname -vir
5.15.0-43-generic #46-Ubuntu SMP Tue Jul 12 10:30:17 UTC 2022 x86_64

The difference between 7510 and 7420 (same Ubuntu 22 live USB stick) is that the same kernel passes the xhci_hcd initialization for the 7420. All attached devices (even those attached to the U3818DW) then show up using lsusb and are fully usable.

For the 7510 the kernel detects the xhci_hcd controller, starts the initialization and then bails out after about 10 seconds.

root@ubuntu:/home/ubuntu# dmesg | grep xhci | grep :09
[    1.738095] xhci_hcd 0000:09:00.0: xHCI Host Controller
[    1.738100] xhci_hcd 0000:09:00.0: new USB bus registered, assigned bus number 3
[    1.739677] xhci_hcd 0000:09:00.0: hcc params 0x20007fc1 hci version 0x110 quirks 0x0000000000009810
[    1.740437] xhci_hcd 0000:09:00.0: xHCI Host Controller
[    1.740442] xhci_hcd 0000:09:00.0: new USB bus registered, assigned bus number 4
[    1.740445] xhci_hcd 0000:09:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[   12.039414] xhci_hcd 0000:09:00.0: Abort failed to stop command ring: -110
[   12.039489] xhci_hcd 0000:09:00.0: xHCI host controller not responding, assume dead
[   12.039525] xhci_hcd 0000:09:00.0: HC died; cleaning up
[   12.039587] xhci_hcd 0000:09:00.0: Error while assigning device slot ID
[   12.039691] xhci_hcd 0000:09:00.0: Max number of devices this xHCI host supports is 64.
[ 2878.324418] xhci_hcd 0000:09:00.0: remove, state 1
[ 2878.324893] xhci_hcd 0000:09:00.0: USB bus 4 deregistered
[ 2878.324911] xhci_hcd 0000:09:00.0: remove, state 1
[ 2878.325310] xhci_hcd 0000:09:00.0: Host halt failed, -19
[ 2878.325319] xhci_hcd 0000:09:00.0: Host not accessible, reset failed.
[ 2878.325508] xhci_hcd 0000:09:00.0: USB bus 3 deregistered
[ 3610.439220] xhci_hcd 0000:09:00.0: xHCI Host Controller
[ 3610.439226] xhci_hcd 0000:09:00.0: new USB bus registered, assigned bus number 3
[ 3610.440427] xhci_hcd 0000:09:00.0: hcc params 0x20007fc1 hci version 0x110 quirks 0x0000000000009810
[ 3610.441320] xhci_hcd 0000:09:00.0: xHCI Host Controller
[ 3610.441324] xhci_hcd 0000:09:00.0: new USB bus registered, assigned bus number 4
[ 3610.441328] xhci_hcd 0000:09:00.0: Host supports USB 3.1 Enhanced SuperSpeed
[ 3620.871445] xhci_hcd 0000:09:00.0: Abort failed to stop command ring: -110
[ 3620.871458] xhci_hcd 0000:09:00.0: xHCI host controller not responding, assume dead
[ 3620.871461] xhci_hcd 0000:09:00.0: HC died; cleaning up
[ 3620.871506] xhci_hcd 0000:09:00.0: Error while assigning device slot ID
[ 3620.871531] xhci_hcd 0000:09:00.0: Max number of devices this xHCI host supports is 64.

The same happens when unbinding / binding the controller using

echo -n "0000:09:00.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
echo -n "0000:09:00.0" > /sys/bus/pci/drivers/xhci_hcd/bind

or when unplugging / plugging the dock and the 7510 (you can see an unplug/plug event in the dmesg above).

I suggest that there seems to be a problem with the handshake and/or power management that goes wrong between the Alpine Ridge 2C 2015 and the Goshen Ridge 2020. Again - the Windows 10 driver is fully capable of handling this, whereas the xhci_hcd module in the kernel fails.

When using kernel debugging it turns out that this FIXME in the kernel source gets triggered:
https://github.com/torvalds/linux/blob/e8bc52cb8df80c31c73c726ab58ea9746e9ff734/drivers/usb/host/xhci.c#L2979

Adding some "quirks" to the device in question using usbcore.quirks=...:...:bgk as per https://docs.kernel.org/next/admin-guide/kernel-parameters.html did not help either.

Do you have any idea where to look or to ask?
Could you imagine that a "downgrade" of the dock using a WD19 connector could help?

Attempted FW update on previous Windows machine

Received error when trying to update FW on an XPS 13 9350 running Ubuntu 17.10 (Kernel 4.15.8) that originally came with Windows installed (system id: 0x0704).

I'm yet to restart and wondering how to rectify (downgrading FW is an option!) (Given issues in #17 I'm worried about getting another could not start ICM firmware if I restart!)

Steps taken:

  1. Noticed older thunderbolt firmware version:
XPS 13 9350 Thunderbolt Controller
  DeviceID:             cf030000-0000-8f08-a208-32ca02c4d016
  Guid:                 dbbe0ed9-df91-529c-ac86-8976b78f726d
  Description:          <p>Updating the thunderbolt NVM improves performance and stability.</p>
  Plugin:               thunderbolt
  Flags:                internal|updatable|supported|registered
  DeviceVendor:         DELL
  DeviceVendorId:       TBT:0x00D4
  Version:              12.0
  Created:              2018-12-03
  1. fwdupdmgr refresh was giving me errors Failed to download https://s3.amazonaws.com/lvfsbucket/downloads/firmware.xml.gz: Not Found so I updated fwupdate from 0.97 to 1.1.4 via snap.

  2. Refreshed fwupdate metadata, ran update, and received a similar error to reported above:

$ sudo fwupd.fwupdmgr refresh 
Fetching metadata https://cdn.fwupd.org/downloads/firmware.xml.gz
Downloading…           [*                                      ] Less than one minute remaDownloading…           
[***************************************]
Fetching signature https://cdn.fwupd.org/downloads/firmware.xml.gz.asc

$ sudo fwupd.fwupdmgr update
Downloading 16.00 for XPS 13 9350 Thunderbolt Controller...
Fetching firmware https://fwupd.org/downloads/75984aeb95d33ed7fab857b18b28ffe317cb870d-8FDJ2_NVM16.00.cab
Downloading…           [***************************************]
Decompressing…         [***************************************]
Authenticating…        [***************************************]
Updating XPS 13 9350 Thunderbolt Controller…                   ]
Restarting device…     [***************************************]failed to run update_attach() on thunderbolt: failed to read 'nvm_authenticate: Invalid argument
  1. dmesg -w output during FW update

  2. cat /sys/bus/thunderbolt/devices/0-0/nvm_authenticate reads 0x0

  3. Device still appears in fwupdate and works with displayport, but no longer registers when unplugging a thunderbolt-network

  sudo fwupd.fwupdmgr get-devices
  XPS 13 9350 Thunderbolt Controller
    DeviceId:             210d24afec6b138edd9cd49bbd545bde1194ddd7
    Guid:                 dbbe0ed9-df91-529c-ac86-8976b78f726d
    Summary:              Unmatched performance for high-speed I/O
    Plugin:               thunderbolt
    Flags:                internal|updatable|supported|registered
    Vendor:               Dell
    VendorId:             TBT:0x00D4
    Version:              16.00
    Icon:                 computer
    Created:              2018-12-03
    UpdateError:          failed to run update_attach() on thunderbolt: failed to read 'nvm_authenticate: Invalid argument
  1. Have tried manually reinstalling, but always get same error fwupd.fwupdmgr install ~/Downloads/d09142be32326f9aa588bff45cd1f5fe7136b369-ThunderboltFirmwareUpdateLinux_4.26.13.002.cab (with/without TBT device ID)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.