Lines Matching +full:pcie +full:- +full:host +full:- +full:1
1 .. SPDX-License-Identifier: GPL-2.0
8 manager is an entity running on the host router (host controller)
19 ``user`` which means PCIe tunneling is disabled by default. The
25 -----------------------------------
27 should be a userspace tool that handles all the low-level details, keeps
31 found in ``Documentation/ABI/testing/sysfs-bus-thunderbolt``.
35 ``/etc/udev/rules.d/99-local.rules``::
37 ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="1"
46 be DMA masters and thus read contents of the host memory without CPU and OS
72 USB. No PCIe tunneling is done. In BIOS settings this is
77 Display Port in a dock. All PCIe links downstream of the dock are
82 the Thunderbolt domain the host controller manages. There is typically
83 one domain per Thunderbolt host controller.
86 device must be authorized by the user before PCIe tunnels are created
87 (e.g the PCIe device appears).
95 -----------------------------------------------------------------
98 /sys/bus/thunderbolt/devices/0-1/authorized - 0
99 /sys/bus/thunderbolt/devices/0-1/device - 0x8004
100 /sys/bus/thunderbolt/devices/0-1/device_name - Thunderbolt to FireWire Adapter
101 /sys/bus/thunderbolt/devices/0-1/vendor - 0x1
102 /sys/bus/thunderbolt/devices/0-1/vendor_name - Apple, Inc.
103 /sys/bus/thunderbolt/devices/0-1/unique_id - e0376f00-0300-0100-ffff-ffffffffffff
105 The ``authorized`` attribute reads 0 which means no PCIe tunnels are
108 # echo 1 > /sys/bus/thunderbolt/devices/0-1/authorized
110 This will create the PCIe tunnels and the device is now connected.
114 a random 32-byte value used for authorization and challenging the device in
117 /sys/bus/thunderbolt/devices/0-3/authorized - 0
118 /sys/bus/thunderbolt/devices/0-3/device - 0x305
119 /sys/bus/thunderbolt/devices/0-3/device_name - AKiTiO Thunder3 PCIe Box
120 /sys/bus/thunderbolt/devices/0-3/key -
121 /sys/bus/thunderbolt/devices/0-3/vendor - 0x41
122 /sys/bus/thunderbolt/devices/0-3/vendor_name - inXtron
123 /sys/bus/thunderbolt/devices/0-3/unique_id - dc010000-0000-8508-a22d-32ca6421cb16
127 If the user does not want to use secure connect they can just ``echo 1``
128 to the ``authorized`` attribute and the PCIe tunnels will be created in
134 # key=$(openssl rand -hex 32)
135 # echo $key > /sys/bus/thunderbolt/devices/0-3/key
136 # echo 1 > /sys/bus/thunderbolt/devices/0-3/authorized
138 Now the device is connected (PCIe tunnels are created) and in addition
144 # echo $key > /sys/bus/thunderbolt/devices/0-3/key
145 # echo 2 > /sys/bus/thunderbolt/devices/0-3/authorized
148 on the key, the device is connected and the PCIe tunnels are created.
153 the device without a key or write a new key and write 1 to the
157 ------------------------------
163 systems can be identified by reading ``1`` from
174 …SYSTEM=="thunderbolt", ATTRS{iommu_dma_protection}=="1", ATTR{authorized}=="0", ATTR{authorized}="…
176 Upgrading NVM on Thunderbolt device, host or retimer
177 ----------------------------------------------------
179 host controller or a device, it is important that the firmware can be
188 Before you upgrade firmware on a device, host or retimer, please make
193 Host NVM upgrade on Apple Macs is not supported.
196 Thunderbolt device so that the host controller appears. It does not
198 device - then you need to connect that particular device).
200 Note an OEM-specific method to power the controller up ("force power") may
204 After that we can write the firmware to the non-active parts of the NVM
205 of the host or device. As an example here is how Intel NUC6i7KYK (Skull
208 # dd if=KYK_TBT_FW_0018.bin of=/sys/bus/thunderbolt/devices/0-0/nvm_non_active0/nvmem
213 # echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
215 If no errors are returned, the host controller shortly disappears. Once
217 After a while the host controller appears again and this time it should
223 # cat /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
225 # cat /sys/bus/thunderbolt/devices/0-0/nvm_version
236 Upgrading NVM when host controller is in safe mode
237 --------------------------------------------------
239 host controller goes into safe mode which means that the only available
245 host controller in the same way it is done in the previous chapter.
248 ---------------------------------
255 If the other host is running Windows or macOS, the only thing you need to
257 ``thunderbolt-net`` driver is loaded automatically. If the other host is
258 also Linux you should load ``thunderbolt-net`` manually on one host (it
261 # modprobe thunderbolt-net
263 This triggers module load on the other host automatically. If the driver
264 is built-in to the kernel image, there is no need to do anything.
272 -------------
278 For example the intel-wmi-thunderbolt driver exposes this attribute in:
279 /sys/bus/wmi/devices/86CCFD48-205E-4A77-9C48-2021CBEDE341/force_power
281 To force the power to on, write 1 to this attribute file.