Linux и Thunderbolt: insmod всегда возвращает «функция не реализована»

603
wazoox

У меня есть машина с Linux (на ядре 4.9.84 на Debian stretch) с картой thunderbold, поддерживаемой драйвером thunderbolt:

# lspci -s 09:00.0 -k 09:00.0 System peripheral: Intel Corporation DSL5320 Thunderbolt 2 NHI [Falcon Ridge 2C 2013] Kernel modules: thunderbolt 

Однако модуль Thunderbolt не загружается и не может быть загружен:

# modprobe thunderbolt  modprobe: ERROR: could not insert 'thunderbolt': Function not implemented 

Нет сообщений в dmesgили иначе. Как ни странно, если я запускаю это insmodна любой машине под управлением Slackware, Debian, Ubuntu с разными ядрами в диапазоне от 4.4 до 4.9, все ответы совпадают: «Функция не реализована». Однако на виртуальной машине с ядром 4.14 все modprobe thunderboltработает нормально. Я не понимаю, что происходит?

0
https://kernelnewbies.org/Linux_4.13#Thunderbolt. Тогда вы можете попробовать новое ядро ​​на хосте (например, сегодня в Debian, есть протяженные обратные порты, предоставляющие linux-image-4.16.0-0.bpo.2-amd64) A.B 6 лет назад 1
@AB да, я установил 4.13. Я не могу запустить что-то выше 4.13 из-за очень досадной ошибки с aacraid, которая даже помешала бы этой машине загрузиться. Удар молнии загружен хорошо. Теперь интересно, как увидеть подключенный жесткий диск ... wazoox 6 лет назад 0

1 ответ на вопрос

0
wazoox

Более подробную информацию я нашел, прочитав документацию по ядру: Thunderbolt требует, чтобы вы вручную авторизировали свои устройства. Однако никакой полезности в существующих дистрибутивах для этого не существует. Вы можете попробовать скомпилировать tbtadmутилиту, найденную здесь: https://github.com/intel/thunderbolt-software-user-space

Или пройдите небезопасный путь, как описано в документации к ядру :

Те пользователи, которые просто хотят подключить любое устройство без какой-либо ручной работы, могут добавить следующую строку в /etc/udev/rules.d/99-local.rules:

ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR=="0", ATTR="1" 

Это автоматически авторизует все устройства при их появлении. Однако имейте в виду, что это обходит уровни безопасности и делает систему уязвимой для атак DMA.

Теперь я вижу жесткий диск в автобусе, как описано в документации:

# cat /sys/bus/thunderbolt/devices/0-1/*_name 8big Rack Thunderbolt 2 LaCie 

Глядя на вывод lspci, я нахожу его здесь:

0c:00.0 RAID bus controller: Device 1c19:0001 (rev b3) 

Так что это какой-то RAID-контроллер, для которого требуется драйвер (какой? Он доступен для Linux? Кто знает).

Покопавшись в драйвере Windows, я определил, что он должен использовать RAID-контроллер Marvell. Теперь мне нужно найти, какой из них, и если драйвер Linux существует, попробуйте исправить драйвер, добавив идентификатор PCI 1c19: 0001 в поддерживаемые. Звучит весело :) Давайте попробуем mvsasсначала ...

Похожие вопросы