goglwonder.blogg.se

Thunderbolt add in card
Thunderbolt add in card








It is not documented, but from public motherboard documentation, we can see that the pinout is 5 Force Power (Thunderbolt Controller POC_GPIO_3 aka TBT_FORCE_PWR)Ĥ Plug Event (Thunderbolt Controller GPIO_5 aka TBT_CIO_PLUG_EVENT#)ģ S3 Sleep Indication (Thunderbolt Controller POC_GPIO_5 aka TBT_SLP_S3#)Ģ S4_S5 (Not much info on this, potentially wired to RESET_N on the Thunderbolt controller) The connector we're bridging is referred to as the THB-C connector, or TBHEADER. Here's some more information about how the connector bridging thing works.

#Thunderbolt add in card Patch#

The person who wrote said kernel patch also has a guide to make this work for older kernels and other add-in cards with appropriate kernel patches, which I will link here. Note that before kernel version 5.6, hpmmiosize and hpmmioprefsize used to be simply hpmemsize, which would override both, but it was easy to get into situations where hpmmiosize was too large to fit, while the devices behind the bridge only really needed more MMIO_PREF space, so the parameter was split. This is separate and devices generally need more MMIO_PREF space than regular MMIO space.

  • hpmmioprefsize - Similar to the other parameter, except that this pre-allocates prefetchable memory (MMIO_PREF) for the PCIe bar.
  • Setting this value too large may exhaust available PCIe MMIO space and prevent devices from working correctly. This sets it to 128M, but if you have a large number of devices, or devices with large BARs, you may need to increase this value. This again depends on the devices you want to add.
  • hpmmiosize - The amount of non-prefetchable address space to reserve to PCIe devices being hotplugged.
  • thunderbolt add in card

    I set it to 0x10 above, which seems reasonable, but if you see the out of bus-numbers error again you may need to bump this. This depends on the devices you want to add. hpbussize - The number of buses to reserve for hotplug.realloc - Force reallocating PCIe bridge ranges.assign-busses - Force overrides the PCIe bus assignment that the firmware did (which would have failed to assign any buses to the thunderbolt device).In particular, for our issue, we can add the following to GRUB_CMDLINE_LINUX_DEFAULT: pci=assign-busses,realloc,hpbussize=0x10,hpmmiosize=128M,hpmmioprefsize=1G The GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub and running sudo update-grub afterwards. To reserve bus numbers for hotplug devices. To fix this, we need to change the kernel parameters However, hotplug will likely still not work, causing errors like: No bus number available for hot-added bridge. Once this is done, if you boot the server, the thunderbolt controller should show up in PCIe: $ lspci | grep "USB controller"ģ7:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller (rev 06) (Of course, never try to do any bridging while the device is powered on).

    thunderbolt add in card

    Make absolutely sure that your card matches before attempting this, since incorrect bridging may damage your device. On other cards, the pinout of the GPIO may be different. Here's a picture of the correct pins to bridge.

    thunderbolt add in card

    On the GC-Titan Ridge Rev 2.0 card, the appropriate pins to bridge are pins 3 and 5 (as counted from the bottom/left). For the first issue, the add-in cards have GPIO that, if bridged, will force power the Thunderbolt controller.

  • Reserve a PCIe bus number for any hotplug device to be addedįortunately, both of these can be worked around without requiring the manufacturer to provide a BIOS update.
  • Power on the Thunderbolt controller so Linux can recognize it.
  • In particular, the BIOS needs to perform two functions: The issue here is that many motherboard BIOSes do not properly initialize the Thunderbolt controller and thus Linux cannot make use of them. These instructions were tested on Ubuntu 21.04 with Linux kernel 5.11 and are likely not applicable to older kernels (which were missing patches). There are many guides online for issues like these, but a lot of them are outdated, so hopefully, this is helpful for people encountering this issue in >= 2021.








    Thunderbolt add in card