New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tracking thunderbolt support for docks #2

Closed
storrgie opened this Issue Jun 1, 2016 · 14 comments

Comments

Projects
None yet
8 participants
@storrgie

storrgie commented Jun 1, 2016

Dell has released a series of thunderbolt docking stations which seem to have issues in both Windows and Linux. It seems that Dell people, like @barton808, have mentioned that it's unclear when support will hit the mainline Kernel for devices of this nature. Is this repo a good spot to attempt to track Intel's work towards fleshing out the thunderbolt subsystems required to operate the Dell Docks?

@superm1

This comment has been minimized.

superm1 commented Jun 1, 2016

@storrgie Not everything related to the docks is going to come from Intel's Thunderbolt software repository. Most of the fixes needed for the docks actually come from elsewhere in the kernel. The Thunderbolt software repository currently provides support for thunderbolt networking.

A short summary of where things are today and what is needed to make things work:

  • Thunderbolt hotplug is broken unless you have: torvalds/linux@93d6884
  • Dock audio is distorted unless you have:
    torvalds/linux@adcdd0d
  • Both those should be trickling into distros.
  • Using the TB15 requires the next ( currently unreleased) BIOS version on the XPS 13 9350 (> 1.3.3) and Precision 5510 (> 1.2.0)
  • Using the TB15 requires turning off Thunderbolt security in BIOS settings as the Linux doesn't currently support Thunderbolt user security.

Once you have all that above you can use the USB ports, the audio and the Ethernet in the dock. Video outputs will also work, but you'll probably be pushing i915 to it's limits if you try to hook up lots of displays. I'd expect any issues will be fixed directly in i915 and not in this repository.

As for firmware updating:

  • Dell has not yet released a firmware update for the TB15 or WD15.
  • When Dell does release a FW update for TB15 or WD15 it's not possible to update the dock's EC, dock port controller and cable port controller until hughsie/fwupd#49 is merged and released into fwupd.
  • It's not currently possible to update the Alpine Ridge NVM (TB15 dock, TB15 cable, and system each have one) or MST hub (TB15, WD15 and system) from under Linux yet. These would need to be performed under Windows for now.
@superm1

This comment has been minimized.

superm1 commented Jun 1, 2016

Oh one more comment. The docks have a feature for MAC address pass through mentioned in that documentation. That's dependent upon this getting accepted:
https://patchwork.kernel.org/patch/9148319/

Feel free to follow along on that.

@storrgie

This comment has been minimized.

storrgie commented Aug 28, 2016

Just checking back in on his because the updated BIOS was released. Did Dell release firmware updates for those docking stations?

I've been running the AUR package for mainline, but still see a lot of problems with using the docking stations. One that I cannot consistently reproduce is packet loss to things on the local network when 'docked', or with any USB-C based NIC.

@ben-foxmoore

This comment has been minimized.

ben-foxmoore commented Aug 29, 2016

@superm1 Is that summary only applicable to Thunderbolt on Dell BIOS? I assume the status isn't the same for Thunderbolt docks on Apple devices (I've read that Apple's BIOS leaves all the work to Apple's kernel driver).

@superm1

This comment has been minimized.

superm1 commented Aug 29, 2016

@storrgie Yes the new BIOS was released for all the platforms in the past month.
I would recommend you to contact support if you are seeing problems with your TB15 and dropped packets from the dock NIC. If you are seeing it from other type C dongles (like the one that ships with the precision 5510), you should probably open a thread somewhere else more appropriate for debugging further (kernel bugzilla, sputnik forum etc).
@ben-foxmoore You'll probably need to talk to Apple to find out more about their implementation.

@storrgie

This comment has been minimized.

storrgie commented Aug 30, 2016

@superm1 I've got 20 of the TB15 and 6 of these 7370. We've updated to the most recent BIOS this evening and will test again tomorrow. We're all on Linux so one thing I'm not sure about is if the TB15 is getting any updates from the 'drivers' that Dell releases. Do we have to boot one of these into windows and install all of the thunderbolt and dock drivers for each one of the TB15?

Also, to go further off topic from this issue, do you know if there is any patches for support of the touchpad in the 7370?

@superm1

This comment has been minimized.

superm1 commented Aug 30, 2016

@storrgie
The TB15 driver updates that have been released are windows specific and won't affect the dock under Linux. There is an NVM firmware update that would be applicable under Linux, but there is not currently a way to flash the NVM from Linux. No dock FW updates have been released yet.

For the touchpad you probably are looking for:
torvalds/linux@6dd2e27
That will improve performance of palm rejection and fix the touchpad getting stuck.

It would really be better to bring this over to a thread somewhere else, feel free to open one up at the Dell sputnik forums and myself or someone else can comment on further questions.

@CalcProgrammer1

This comment has been minimized.

CalcProgrammer1 commented Dec 6, 2016

Is there a roadmap or plan for implementing Thunderbolt security in Linux? A lot of computers seem to lack the BIOS option necessary to disable it, and we're stuck without working TB3 at all. I have a Razer Core that I'd like to use on my Razer Blade Stealth or MSI GS63VR, and although it works perfectly in Windows on both machines, it is not detected on Linux with 4.9-rc on either due to security being forced.

@michael-jamet

This comment has been minimized.

Contributor

michael-jamet commented Dec 7, 2016

@CalcProgrammer1

Thanks for reaching us on this topic .
Indeed, the support for Thunderbolt security is one of our Linux feature candidate for the 2017 Linux roadmap.
Currently only legacy mode is supported on Linux, please contact your OEM for more inquiries.

@jramapuram

This comment has been minimized.

jramapuram commented Jan 8, 2017

+1 for security features (or at least passthrough) on linux.

@mikebutash

This comment has been minimized.

mikebutash commented Sep 17, 2017

Any updates to security features for 2017? Haven't seen anything in 4.13, so curious if this is still occurring.

I'm using a tb16 dell dock with an xps15 on ubuntu17.04 and 4.11 kernel, just got it working, and was surprised to have to disable tb security. There are known bus attacks for macs via tb3 ports, so would be nice to have something to enable/authenticate security to get my ethernet/usb ports.

@ybernat

This comment has been minimized.

Contributor

ybernat commented Sep 17, 2017

Actually, kernel 4.13 supports secure connect of Thunderbolt devices, see kernel documentation here. And the new user-space SW here gives a nicer user interface instead of working directly with sysfs interface (and with ACL support for auto-authorize next time the device is connected), see the updated README here (displayed in the main page of the project).

@mikebutash

This comment has been minimized.

mikebutash commented Sep 19, 2017

Ahh, this is very cool and good news! I need to look into seeing how compatible 4.13 is with everything on this xps15 dell, as finding a specific friendly kernel for nvidia was a trick in itself to play nice with gpu switching. Now probably just needs UI daemons to auth said TB-based devices upon request or cache per WM.

@ybernat

This comment has been minimized.

Contributor

ybernat commented Sep 19, 2017

UI is still missing, but if you want the same device to be approved next time, ACL, as mentioned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment