Re: Intel + Thunderbolt Driver

From: Scott Long <scottl_at_samsco.org>
Date: Thu, 20 Jan 2022 11:04:05 UTC
> On Jan 14, 2022, at 12:39 PM, Gerard E. Seibert <gerard_seibert@outlook.com> wrote:
> 
> I was just wondering if anyone had heard or knows when FreeBSD will be
> able to support Intel's "Thunderbolt" technology? The lack of a driver
> that works for FreeBSD has made it impossible for me to update my
> system beyond version 11.4.
> 
> https://en.wikipedia.org/wiki/Thunderbolt_(interface)
> 
> -- 
> Jerry
> 

Hi,

I have a driver in progress.  It works at a basic level with my AlpineRidge and
Icelake controllers.  I haven’t developed against TitanRidge, MapleRidge, or
AlderLake yet, mostly due to not having hardware.  However, I’m curious
about your assertion of “impossible”.  Thunderbolt3 is mostly just a PCIe
bridge with a dangerously ineffective security model on top.  The only thing
that a driver provides is an authorization handshake with the controller
firmware that runs the security protocol.  If you turn off the security feature
of Thunderbolt via the BIOS, no driver is necessary.

What makes a driver interesting in the future is it being the foundation for
supporting USB4.  I have some of that code written.  It also will integrate
more closely with the DMAR/IOMMU to provide actual protection against
malicious peripherals, instead of, like I said above, the dangerously
ineffective security model that Thunderbolt3 promotes.

Also, there’s some interesting potential with creating high speed
point-to-point packet networks that’s cheaper than 40Gb ethernet on a
per-port basis.  The new generation of Thunderbolt4 routers with multiple
downstream ports makes this even more interesting.  

I was hoping to upstream my driver this past month.  Unfortunately I wasted
time going down more TB3 security rabbit holes (Pre-boot ACL support, to
be specific), so I’m behind schedule.  Also, I have a long-standing problem
with the AlpineRidge controllers that seems to make them very finicky and
failure prone, and I’ve wasted months so far trying to figure out if the
problem is with my driver or with the hardware.  However, none of this is
necessary for updating one’s system beyond version 11.4.  If you wouldn’t
mind sharing the specifics of your difficulties, I might be able to help.

Scott