Linux та thunderbolt: insmod завжди повертає "функцію не реалізовано"


0

У мене є машина Linux (працює ядро ​​4.9.84 на розтяжці Debian) з карткою 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

Однак модуль грому не завантажується і не може бути завантажений:

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

Немає жодного повідомлення dmesg. Як не дивно, якщо я запускаю це insmodна будь-якій машині, під керуванням Slackware, Debian, Ubuntu, з різними ядрами від 4,4 до 4,9, всі відповідають точно так само: "Функція не реалізована". Однак на VM з ядром 4,14, modprobe thunderboltздається, працює нормально. Я не розумію, що відбувається?


1
kernelnewbies.org/Linux_4.13#Thunderbolt . Ви можете спробувати більш нове ядро ​​на хості тоді (наприклад, сьогодні на Debian, є розтяжки, що забезпечують linux-image-4.16.0-0.bpo.2-amd64)
AB

@AB так, я встановив 4.13. Я не можу запустити нічого вище 4,13 через дуже дратівливу помилку з aacraid, яка навіть не дозволить цій машині завантажуватися. Thunderbolt завантажений ОК. Тепер мені цікаво, як бачити підключений жорсткий диск ...
wazoox

Відповіді:


1

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

Або йдіть небезпечним шляхом, як описано в документації на ядро :

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

ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{authorized}="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 id 1c19: 0001 у підтримувані. Звучить весело :) Давайте спробуємо mvsasспочатку ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.