Я думаю, моя проблема в Thunderbolt.

Вопрос или проблема

У меня есть Dell XPS 13 9340 с последней BIOS версии 1.70, работающий на полностью обновленном Ubuntu 24.04 Desktop. Всё работает отлично… за исключением того, что мой концентратор Anker 556 не работает. Имейте в виду, что Anker 556 не является Thunderbolt, это просто концентратор, который поддерживает USB4. Но я подключаю его к порту Thunderbolt4…

Основываясь на документации ядра, я применил следующее правило udev:

ACTION=="add", SUBSYSTEM=="thunderbolt", ATTRS{iommu_dma_protection}=="1", ATTR{authorized}=="0", ATTR{authorized}="1"

Когда я подключаю концентратор Anker 556, я вижу, как система загружает контроллер Thunderbolt:

[    1.051480] kernel: ACPI: type bus thunderbolt registered
[    1.053748] kernel: xhci_hcd 0000:00:14.0: контроллер xHCI
[    1.053756] kernel: xhci_hcd 0000:00:14.0: новый USB-шина зарегистрирована, назначен номер шины 1
[    1.055227] kernel: xhci_hcd 0000:00:14.0: параметры hcc 0x20007fc1 версия hci 0x120 особенности 0x0000000200009810
[    1.055558] kernel: xhci_hcd 0000:00:14.0: контроллер xHCI
[    1.055561] kernel: xhci_hcd 0000:00:14.0: новый USB-шина зарегистрирована, назначен номер шины 2
[    1.055564] kernel: xhci_hcd 0000:00:14.0: контроллер поддерживает USB 3.2 Enhanced SuperSpeed
[    1.055815] kernel: usb usb1: Найдено новое USB устройство, idVendor=1d6b, idProduct=0002, bcdDevice= 6.08
[    1.055819] kernel: usb usb1: Новые строки USB устройств: Mfr=3, Product=2, SerialNumber=1
[    1.055820] kernel: usb usb1: Продукт: контроллер xHCI
[    1.055821] kernel: usb usb1: Производитель: Linux 6.8.0-1008-oem xhci-hcd
[    1.055822] kernel: usb usb1: Серийный номер: 0000:00:14.0

Он отлично видит Anker 556:

[    1.807165] kernel: usb 1-1.5: новое USB устройство полной скорости номер 4 использует xhci_hcd
[    1.910660] kernel: usb 1-1.5: не работает на максимальной скорости; подключите к высокоскоростному концентратору
[    1.917804] kernel: usb 1-1.5: найдено новое USB устройство, idVendor=291a, idProduct=83a8, bcdDevice=10.02
[    1.917809] kernel: usb 1-1.5: новые строки USB устройств: Mfr=1, Product=2, SerialNumber=3
[    1.917811] kernel: usb 1-1.5: Продукт: USB2.0 Billboard N0
[    1.917812] kernel: usb 1-1.5: Производитель: Anker
[    1.917813] kernel: usb 1-1.5: Серийный номер: AHCZ340E20200065

Однако, согласно journalctl -u bolt, у меня есть проблемы:

22 июл 13:44:26 нетбук systemd[1]: Запуск bolt.service - сервис системы Thunderbolt...
22 июл 13:44:26 нетбук boltd[1846]: bolt 0.9.7 запускается.
22 июл 13:44:26 нетбук boltd[1846]: менеджер: инициализация магазина
22 июл 13:44:26 нетбук boltd[1846]: магазин: расположен по адресу: /var/lib/boltd
22 июл 13:44:26 нетбук boltd[1846]: конфигурация: загрузка пользовательской конфигурации
22 июл 13:44:26 нетбук boltd[1846]: конфигурация: пользовательская конфигурация загружена успешно
22 июл 13:44:26 нетбук boltd[1846]: конфигурация: режим авторизации установлен на 'включен'
22 июл 13:44:26 нетбук boltd[1846]: боец: инициализация polkit
22 июл 13:44:26 нетбук boltd[1846]: таймер: включен [pulse: 90s]
22 июл 13:44:26 нетбук boltd[1846]: udev: инициализация udev
22 июл 13:44:26 нетбук boltd[1846]: магазин: загрузка доменов
22 июл 13:44:26 нетбук boltd[1846]: магазин: загрузка устройств
22 июл 13:44:26 нетбук boltd[1846]: питание: состояние расположено по адресу: /run/boltd/power
22 июл 13:44:26 нетбук boltd[1846]: питание: принудительная поддержка питания: нет
22 июл 13:44:26 нетбук boltd[1846]: udev: перечисление устройств
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-domain0                    ] вновь подключен [iommu+user] (/sys/devices/pci0000:00/0000:00:0d.2/domain0/0-0)
22 июл 13:44:26 нетбук boltd[1846]: уровень безопасности установлен на 'пользователь'
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-domain0                    ] домен: зарегистрирован (bootacl: 0/0)
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-domain0                    ] bootacl: bootacl не поддерживается, нет синхронизации
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-domain0                    ] udev: не удалось определить, является ли uid стабильным: неизвестный NHI PCI id '0x7ec2'
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-domain0                    ] udev: uuid стабильный: нет (для NHI: 0x7ec2)
22 июл 13:44:26 нетбук boltd[1846]: глобальное 'поколение' установлено на '4'
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-Gen14                      ] устройство добавлено, статус: авторизовано, по адресу /sys/devices/pci0000:00/0000:00:0d.2/domain0/0-0
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-Gen14                      ] маркировка устройства: Intel Gen14
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-domain1                    ] вновь подключен [iommu+user] (/sys/devices/pci0000:00/0000:00:0d.3/domain1/1-0)
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-domain1                    ] домен: зарегистрирован (bootacl: 0/0)
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-domain1                    ] bootacl: bootacl не поддерживается, нет синхронизации
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-domain1                    ] udev: не удалось определить, является ли uid стабильным: неизвестный NHI PCI id '0x7ec3'
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-domain1                    ] udev: uuid стабильный: нет (для NHI: 0x7ec3)
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-Gen14                      ] устройство добавлено, статус: авторизовано, по адресу /sys/devices/pci0000:00/0000:00:0d.3/domain1/1-0
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-Gen14                      ] маркировка устройства: Intel Gen14
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-domain0                    ] dbus: экспортированный домен по адресу /org/freedesktop/bolt/domains/aa1b8780_f062_2d03_ffff_ffffffffffff
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-domain1                    ] dbus: экспортированный домен по адресу /org/freedesktop/bolt/domains/8d1c8780_0170_8512_ffff_ffffffffffff
22 июл 13:44:26 нетбук boltd[1846]: [aa1b8780-f062-Gen14                      ] dbus: экспортированное устройство по адресу /org/freedesktop/bolt/devices/aa1b8780_f062...
22 июл 13:44:26 нетбук boltd[1846]: [8d1c8780-0170-Gen14 

boltctl выглядит нормально:

root@нетбук:~/.cargo/bin# boltctl list --all
Intel Gen14
   ├─ тип:          хост
   ├─ имя:          Gen14
   ├─ производитель:        Intel
   ├─ uuid:          aa1b8780-f062-2d03-ffff-ffffffffffff
   ├─ поколение:    USB4
   ├─ статус:        авторизовано
   │  ├─ домен:     aa1b8780-f062-2d03-ffff-ffffffffffff
   │  └─ authflags:  none
   ├─ авторизовано:    Пн 22 Июл 2024 05:43:47 PM UTC
   ├─ подключено:     Пн 22 Июл 2024 05:43:47 PM UTC
   └─ сохранено:        нет
Intel Gen14
   ├─ тип:          хост
   ├─ имя:          Gen14
   ├─ производитель:        Intel
   ├─ uuid:          8d1c8780-0170-8512-ffff-ffffffffffff
   ├─ поколение:    USB4
   ├─ статус:        авторизовано
   │  ├─ домен:     8d1c8780-0170-8512-ffff-ffffffffffff
   │  └─ authflags:  none
   ├─ авторизовано:    Пн 22 Июл 2024 05:43:47 PM UTC
   ├─ подключено:     Пн 22 Июл 2024 05:43:47 PM UTC
   └─ сохранено:        нет

Он на короткое время обеспечивает доставку питания, и статус батареи отображается как зарядка. Но быстро отключается…

Однако, если я использую инструменты Thunderbolt от Intel, я получаю следующее:

root@нетбук:~/.cargo/bin# ./tblist
Домен 0 Маршрут 0: 8087:7eb2 Intel Gen14
Домен 1 Маршрут 0: 8087:7eb2 Intel Gen14
root@нетбук:~/.cargo/bin# ./tbadapters --route 0
 1: Полоса 0                        CLd       
 2: Полоса 1                        CLd       
 3: Полоса 0                        CLd       
 4: Полоса 1                        CLd       
 5: DisplayPort IN                Отключено  
 6: DisplayPort IN                Отключено  
 7: Хост Интерфейс (восходящий)     Неизвестно   
 8: PCIe Вниз                     Отключено  
 9: PCIe Вниз                     Отключено  
10: Не реализовано
11: Не реализовано
12: USB 3 Вниз                    Отключено  
13: USB 3 Вниз                    Отключено  

Логи udev показывают, что устройство добавляется и удаляется бесконечно:


KERNEL[3191.118840] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1 (thunderbolt)
UDEV  [3191.119446] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1 (thunderbolt)
KERNEL[3191.130663] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_active0 (nvmem)
KERNEL[3191.130674] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_non_active0 (nvmem)
UDEV  [3191.131689] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_active0 (nvmem)
UDEV  [3191.131866] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_non_active0 (nvmem)
KERNEL[3191.188396] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
UDEV  [3191.189204] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
KERNEL[3192.590939] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
UDEV  [3192.591966] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
KERNEL[3192.769644] change   /devices/platform/ACPI0003:00/power_supply/AC (power_supply)
UDEV  [3192.770453] change   /devices/platform/ACPI0003:00/power_supply/AC (power_supply)
KERNEL[3192.776745] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [3192.777408] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
KERNEL[3193.292329] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
UDEV  [3193.293421] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
KERNEL[3193.993591] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
UDEV  [3193.995311] change   /devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight (backlight)
KERNEL[3195.610633] remove   /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_non_active0 (nvmem)
KERNEL[3195.610664] remove   /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_active0 (nvmem)
KERNEL[3195.610674] remove   /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1 (thunderbolt)
UDEV  [3195.611486] remove   /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_non_active0 (nvmem)
UDEV  [3195.611496] remove   /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1/nvm_active0 (nvmem)
UDEV  [3195.611948] remove   /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1 (thunderbolt)
KERNEL[3196.265705] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [3196.266430] change   /devices/LNXSYSTM:00/LNXSYSTM:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
KERNEL[3197.090238] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1 (thunderbolt)
UDEV  [3197.092196] add      /devices/pci0000:00/0000:00:0d.3/domain1/1-0/usb4_port3/1-0:3.1 (thunderbolt)
KERNEL[3197.102952] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1 (usb)
KERNEL[3198.413650] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
KERNEL[3198.417732] bind     /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
KERNEL[3198.813650] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.5 (usb)
KERNEL[3198.823452] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.5/1-1.5:2.0 (usb)
KERNEL[3198.968676] add      /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.6 (usb)
KERNEL[3202.556076] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0 (usb)
KERNEL[3202.559880] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-1 (usb)
KERNEL[3202.563141] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.5/1-1.5:2.0 (usb)
KERNEL[3202.563416] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.6/1-1.6:1.0 (usb)

Я тщательно проверил BIOS и включил все параметры, относящиеся к Thunderbolt. Однако в этом BIOS НЕТ уровней безопасности Thunderbolt. Я не знаю, почему.

У меня есть XPS 13 9370 2019 года, и как только я подключаю к нему кабель USB4, он регистрирует всё нормально.

Как мне устранить эту проблему?

Редактировать 1: Добавляю немного информации…

Я не могу найти элементы управления безопасностью Thunderbolt в BIOS.

Я также обновил BIOS до версии 1.8.0, но проблема осталась. Однако я поигрался с Dell Command, и похоже, что я совершенно пропустил параметры безопасности Thunderbolt…

$ sudo /opt/dell/dcc/cctk --ThunderboltSecLvl

Опция 'ThunderboltSecLvl' недоступна или не может быть настроена
через этот инструмент.

Редактировать 2:
На основе дополнительных тестов, похоже, что всё работает, когда я загружаюсь в ОС, пока концентратор Anker подключен. Когда я отключаю и снова подключаю, я сталкиваюсь с проблемой.

Редактировать 3:
Я только что установил Windows 11 для теста, и всё работает прекрасно…

Редактировать 4:
Хорошо, больше информации… Всё перестало работать с тех пор, как я сделал Редактирование 2.

Я вынужден был откатить свой ядро на linux-image-6.5.0-1020-oem

Затем я убедился, что использовал boltctl для повторной авторизации доменов Thunderbolt.

Затем я отключил питание и снова загрузился с подключённым концентратором Anker.

Теперь концентратор Anker распознается как концентратор Thunderbolt 4 и авторизуется. Вы можете подтвердить это в Настройках или с помощью:

# boltctl list
 ● Anker USB4 Device
   ├─ тип:          периферийное
   ├─ имя:          USB4 Устройство
   ├─ производитель:        Anker
   ├─ uuid:          3aa70921-50f3-b0aa-ffff-ffffffffffff
   ├─ поколение:    USB4
   ├─ статус:        авторизовано
   │  ├─ домен:     2e688780-3101-be55-ffff-ffffffffffff
   │  ├─ скорость rx:   20 Gb/s = 2 полосы * 10 Gb/s
   │  ├─ скорость tx:   20 Gb/s = 2 полосы * 10 Gb/s
   │  └─ authflags:  none
   ├─ авторизовано:    Пт 04 Окт 2024 05:18:05 PM UTC
   ├─ подключено:     Пт 04 Окт 2024 05:18:05 PM UTC
   └─ сохранено:        нет

ОДНАКО! Я всё равно не могу подключить концентратор Anker в горячем состоянии. Если я вытяну USB-C и снова подключу, я возвращаюсь к началу, и он не работает совсем.

Некоторые новые модели Dell могут по умолчанию скрывать определенные настройки. Выполните сброс BIOS к заводским настройкам, затем снова проверьте параметры безопасности Thunderbolt в разделе Безопасность или Настройка системы.

Теперь проверьте наличие параметров безопасности Thunderbolt. Если они по-прежнему не видны, выполните сброс CMOS. Это может решить проблемы, когда настройки BIOS не отображаются должным образом.

В BIOS установите безопасность Thunderbolt на “Нет безопасности” и убедитесь, что поддержка Thunderbolt Pre-boot включена.

Отключите любые конкретные параметры, связанные с Thunderbolt, и дайте концентратору USB4 работать в родном режиме USB.

Отключите IOMMU: добавьте intel_iommu=off в вашу конфигурацию GRUB.

Повторное обнаружение в Linux:

  • Выполните: sudo modprobe -r thunderbolt && sudo modprobe thunderbolt
  • Проверьте boltctl, чтобы подтвердить, поддается ли устройство повторному обнаружению и правильно авторизовано.

У меня есть чуть более старая модель Dell, и я проходил через нечто подобное.

Дайте знать, если проблема не решена, эта норка не такая уж и глубокая.

Удачи!

Ответ или решение

Для решения проблемы, связанной с подключением хаба Anker 556 к вашему ноутбуку Dell XPS 13 9340 под управлением Ubuntu 24.04, стоит выполнить несколько шагов. Поскольку вы уже затронули различные аспекты, включая настройки BIOS и логи, приведенные в вашей просьбе, давайте структурируем решение по этапам.

1. Проверка настроек BIOS

Некоторые настройки в BIOS могут быть скрыты по умолчанию. Чтобы убедиться, что у вас есть доступ к параметрам безопасности Thunderbolt:

  • Сброс BIOS до заводских настроек: Запустите BIOS и выполните сброс всех настроек к значениям по умолчанию. Это может восстановить доступ к параметрам, которые могли быть скрыты.

  • Проверка на наличие параметров Thunderbolt: В BIOS в разделе безопасности или конфигурации системы найдите опции, относящиеся к Thunderbolt. Убедитесь, что:

    • Установлено значение "No Security" для уровня безопасности Thunderbolt.
    • "Thunderbolt Pre-boot Support" включен.

2. Дополнительные настройки в BIOS

  • Отключите IOMMU: Если BIOS не предлагает явных настроек для Thunderbolt, добавьте параметр intel_iommu=off в конфигурацию GRUB. Это может помочь в случаях, когда устройства не обнаруживаются должным образом.

3. Компьютерные настройки и драйверы

  • Перезагрузите драйвера Thunderbolt: В терминале выполните команды:

    sudo modprobe -r thunderbolt
    sudo modprobe thunderbolt

    Это перезагрузит модуль и, возможно, позволит устройству снова обнаружиться.

  • Проверьте статус устройства: Используйте команду boltctl для проверки, отображается ли хаб и имеет ли статус "authorized".

4. Работы с hotplug

Вы упомянули, что устройство работает, когда оно подключается в момент загрузки. Однако при дополнительном подключении в работающей системе возникают проблемы. Это может говорить о несовместимости с функцией hotplug.

  • Рекомендации по hotplug:
    • После подключения хаба перезапустите службу bolt:
      sudo systemctl restart bolt
    • Запустите команду boltctl снова, чтобы убедиться, что устройство авторизовано.

5. Совместимость kernel и дополнительные драйвера

Вы упомянули, что после downgrade ядер linux-image-6.5.0-1020-oem, хаб был распознан, однако hotplug не работает. Иногда это может сигнализировать о несовместимости версии ядра и драйверов.

  • Дальнейшие проверки: Если проблема с hotplug все еще не решена, рекомендуется рассмотреть возможность обновления до более новой версии ядра, которая может более эффективно поддерживать работу Thunderbolt и USB4.

6. Тестирование на других системах

Как вы уже заметили, устройство работает под управлением Windows 11. Это может быть полезным для диагностики. Это указывает на то, что хаб исправен, и проблема более вероятно связана с программным обеспечением или совместимостью на Ubuntu.

Заключение

Если после выполнения всех вышеупомянутых шагов проблема останется, необходимо дополнительно исследовать совместимость хаба Anker с вашей моделью Dell. Возможно, стоит обратиться к сообществу пользователей Ubuntu или Dell для поиска более специализированных решений данной проблемы. Удачи в вашей работе!

Оцените материал
Добавить комментарий

Капча загружается...