
Acabei de conectar um Razor Core X com um eGPU ao meu Thinkpad pela primeira vez. Os ventiladores estão girando, mas nvidia-smi
não mostram o eGPU.
O que posso fazer?
Responder1
Primeiro, verifique dmesg | tail -n 200
. Pode mostrar algo assim:
[ 74.959198] thunderbolt 0000:06:00.0: current switch config:
[ 74.959201] thunderbolt 0000:06:00.0: Switch: 8086:15da (Revision: 6, TB Version: 2)
[ 74.959202] thunderbolt 0000:06:00.0: Max Port Number: 11
[ 74.959203] thunderbolt 0000:06:00.0: Config:
[ 74.959204] thunderbolt 0000:06:00.0: Upstream Port Number: 1 Depth: 1 Route String: 0x3 Enabled: 1, PlugEventsDelay: 254ms
[ 74.959205] thunderbolt 0000:06:00.0: unknown1: 0x0 unknown4: 0x0
[ 74.999560] thunderbolt 0000:06:00.0: 3: reading drom (length: 0x56)
[ 75.301575] thunderbolt 0000:06:00.0: 3: uid: 0x1279cc9b0ba8400
[ 75.301686] thunderbolt 0000:06:00.0: Port 0: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 75.301689] thunderbolt 0000:06:00.0: Max hop id (in/out): 7/7
[ 75.301692] thunderbolt 0000:06:00.0: Max counters: 8
[ 75.301694] thunderbolt 0000:06:00.0: NFC Credits: 0x800000
[ 75.302174] thunderbolt 0000:06:00.0: Port 1: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 75.302178] thunderbolt 0000:06:00.0: Max hop id (in/out): 15/15
[ 75.302180] thunderbolt 0000:06:00.0: Max counters: 16
[ 75.302183] thunderbolt 0000:06:00.0: NFC Credits: 0x7800000
[ 75.302681] thunderbolt 0000:06:00.0: Port 2: 8086:15d3 (Revision: 6, TB Version: 1, Type: Port (0x1))
[ 75.302683] thunderbolt 0000:06:00.0: Max hop id (in/out): 15/15
[ 75.302685] thunderbolt 0000:06:00.0: Max counters: 16
[ 75.302687] thunderbolt 0000:06:00.0: NFC Credits: 0x0
[ 75.302689] thunderbolt 0000:06:00.0: 3:3: disabled by eeprom
[ 75.302691] thunderbolt 0000:06:00.0: 3:4: disabled by eeprom
[ 75.302692] thunderbolt 0000:06:00.0: 3:5: disabled by eeprom
[ 75.302806] thunderbolt 0000:06:00.0: Port 6: 8086:15d3 (Revision: 6, TB Version: 1, Type: PCIe (0x100102))
[ 75.302808] thunderbolt 0000:06:00.0: Max hop id (in/out): 8/8
[ 75.302809] thunderbolt 0000:06:00.0: Max counters: 2
[ 75.302811] thunderbolt 0000:06:00.0: NFC Credits: 0x800000
[ 75.302960] thunderbolt 0000:06:00.0: Port 7: 8086:15d3 (Revision: 6, TB Version: 1, Type: PCIe (0x100101))
[ 75.302962] thunderbolt 0000:06:00.0: Max hop id (in/out): 8/8
[ 75.302964] thunderbolt 0000:06:00.0: Max counters: 2
[ 75.302966] thunderbolt 0000:06:00.0: NFC Credits: 0x800000
[ 75.302967] thunderbolt 0000:06:00.0: 3:8: disabled by eeprom
[ 75.302969] thunderbolt 0000:06:00.0: 3:9: disabled by eeprom
[ 75.302971] thunderbolt 0000:06:00.0: 3:a: disabled by eeprom
[ 75.302973] thunderbolt 0000:06:00.0: 3:b: disabled by eeprom
Isso sugere um problema de permissões/segurança.
Vamos instalar as ferramentas administrativas do Thunderbolt para que possamos corrigi-lo:
sudo apt install thunderbolt-tools
Agora, vamos verificar se o Thunderbolt vê o dock:
root@mymachine:~# tbtadm devices
0-4 Razer Core X non-authorized not in ACL
É verdade!
Agora, vamos autorizar o dock:
tbtadm approve 0-4
Isso mostra:
Authorizing "/sys/bus/thunderbolt/devices/0-4"
Already in ACL
system:5 Input/output error
Desconectar e reconectar o dock e olhar dmesg
novamente mostra:
[11187.232181] thunderbolt 0000:06:00.0: PCIe tunnel creation failed
Então, olhamos para Thunderbolt novamente:
root@mymachine:~# tbtadm devices
0-4 Razer Core X non-authorized in ACL
E, de fato, podemos ver que o dock está conectado:
root@mymachine:~# tbtadm acl
0XXXXXb0-XXXX-XXXX-ffff-ffffffffffff Razer Core X connected
Vamos tentar autorizar as coisas manualmente:
root@mymachine:~# echo '1' > /sys/bus/thunderbolt/devices/0-4/authorized
-bash: echo: write error: Input/output error
Neste ponto, suspeitei que o BIOS pudesse ser o problema. Então, reinicie, abra a configuração do BIOS. Está em "Autorização do usuário", mas vamos usar a opção nuclear "Sem segurança" (provavelmente boa para descobrir como bloquear as coisas novamente mais tarde):
Neste ponto, inicialize a máquina novamente.
Antes de conectar a GPU, certifique-se de ter os drivers da Nvidia carregados:
sudo modprobe nvidia-uvm
E tente encontrar a GPU:
nvidia-smi
Sucesso!
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.87.00 Driver Version: 418.87.00 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 208... Off | 00000000:3D:00.0 Off | N/A |
| 15% 36C P0 1W / 250W | 0MiB / 10989MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
De acordo comesse documentoas configurações do BIOS significam:
- Sem segurança: permite que dispositivos Thunderbolt sejam conectados automaticamente.
- Autorização do usuário: permite que dispositivos Thunderbolt sejam conectados após autorização do usuário.
- Conexão segura: permite que dispositivos Thunderbolt sejam conectados com uma chave salva que foi aprovada pelo usuário.
- Porta de exibição e USB: Permitir que apenas saídas de vídeo e dispositivos USB sejam conectados. Dispositivos Thunderbolt não podem ser conectados