Linux e thunderbolt: insmod sempre retorna “função não implementada”

0

Eu tenho uma máquina Linux (rodando o kernel 4.9.84 no trecho Debian) com uma placa Thunderbold, suportada pelo driver 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

No entanto, o módulo thunderbolt não é carregado e não pode ser carregado:

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

Nenhuma mensagem em dmesg ou mais. Estranhamente, se eu rodasse este insmod em qualquer máquina em mãos, rodando Slackware, Debian, Ubuntu, com diferentes kernels variando de 4.4 a 4.9, todas as respostas seriam exatamente as mesmas: "Função não implementada". Em uma VM com um kernel 4.14, no entanto, modprobe thunderbolt parece funcionar bem. Eu não entendo o que está acontecendo?

    
por wazoox 27.06.2018 / 17:37

1 resposta

0

Encontrei mais alguns detalhes lendo a documentação do kernel: Thunderbolt requer que você autorize manualmente seus dispositivos. No entanto, não existe utilidade nas distribuições atuais para isso. Você pode tentar compilar você mesmo o utilitário tbtadm encontrado aqui: link

Ou siga o caminho inseguro como descrito na documentação do kernel :

Aqueles usuários que querem apenas conectar qualquer dispositivo sem qualquer tipo de trabalho manual, podem adicionar a seguinte linha ao /etc/udev/rules.d/99-local.rules:

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

Isso autorizará todos os dispositivos automaticamente quando eles aparecerem. No entanto, lembre-se de que isso ignora os níveis de segurança e torna o sistema vulnerável a ataques de DMA.

Agora vejo o disco rígido no barramento, conforme descrito na documentação:

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

Olhando para a saída do lspci eu encontro aqui:

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

Portanto, é um controlador RAID de algum tipo, que deve exigir um driver (qual deles? Está disponível para Linux? Quem sabe).

Ao pesquisar no driver do Windows, determinei que ele deveria estar usando um controlador Marvell RAID. Agora eu preciso encontrar qual deles, e se existe um driver Linux, tente remendar o driver, adicionando o PCI id 1c19: 0001 nos suportados. Parece divertido :) Vamos tentar mvsas primeiro ...

    
por 28.06.2018 / 17:17