instala o cartão USB 3.0 express no linux (Arch Linux) (tentou adicionar o parâmetro do kernel intel_iommu = off pciehp.pciehp_force = 1)

0

Estou tentando instalar um cartão expresso CSL USB 3.0 no meu sistema Arch Linux.

No entanto, quando faço isso, recebo a seguinte mensagem de erro:

xhci_hcd 0000:05:00.0: xHCI host controller not responding, assume dead

xhci_hcd 0000:05:00.0: HC died; cleaning up

Eu pesquisei e tentei adicionar os seguintes parâmetros de kernal

intel_iommu=off

Alguns sites também mencionam

iommu

Isso infelizmente não me ajudou em nada.

Eu também tentei adicionar:

pciehp pciehp_force=1

E tentou fazer

sudo modprobe pciehp pciehp_force=1

Mas o Arch Linux reclama que não encontra o módulo do kernel pciehp .

Não encontrei nenhuma informação sobre como instalar o módulo do kernel pciehp no Arch Linux. Alguns dizem que é construído no kernel ou algo assim.

informações de depuração:

versão do kernel: 4.16.6-1-ARCH

dmesg com depuração xhci_hcd ativado e com xhci_hcd greped

lspci -nn :

05:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720202 USB 3.0 Host Controller [1912:0015] (rev 02)

dmesg (antigo sem xhci_hcd -debugging e semouth grep

    
por Arch Linux Tux 29.04.2018 / 16:27

2 respostas

1

A menos que eu esteja ignorando alguma coisa, parece que o controlador foi inicializado duas vezes :

[    5.195136] xhci_hcd 0000:05:00.0: xHCI Host Controller
[    5.195145] xhci_hcd 0000:05:00.0: new USB bus registered, assigned bus number 3
[    5.202621] xhci_hcd 0000:05:00.0: hcc params 0x014051cf hci version 0x100 quirks 0x00000090
....
[    5.203568] xhci_hcd 0000:05:00.0: xHCI Host Controller
[    5.203572] xhci_hcd 0000:05:00.0: new USB bus registered, assigned bus number 4
[    5.204014] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.

As Informações sobre o produto da Renesas parecem dizer que, embora haja duas portas cada para cada hub raiz USB 3.0 / USB 2.0, existe apenas um hub raiz, então não entendo o que está acontecendo.

Se duas instâncias de xhci_hcd estiverem tentando controlar o cartão ao mesmo tempo, é claro que isso vai dar errado.

A próxima coisa que eu faço é olhar para o xhci_hcd source e recompilar com o suporte de depuração. Isto requer experiência de programação, então se você não sabe como fazer isso, alternativamente arquive um relatório de bug no bugtracker do kernel que manipula xhci_hcd , mesmo se os desenvolvedores apenas disserem que sou burro e a inicialização repetida é normal. / p>

Editar

Inspecionando as mensagens de depuração, isso aqui parece muito estranho:

[    2.423207] xhci_hcd 0000:05:00.0: Finished xhci_run for USB2 roothub
[    2.423420] xhci_hcd 0000:05:00.0: Endpoint 0x81 ep reset callback called
[    2.423547] xhci_hcd 0000:05:00.0: set port power, actual port 0 status  = 0x2a0
[    2.423563] xhci_hcd 0000:05:00.0: set port power, actual port 1 status  = 0x2a0
[    2.423613] xhci_hcd 0000:05:00.0: xHCI Host Controller
[    2.423616] xhci_hcd 0000:05:00.0: new USB bus registered, assigned bus number 2
[    2.423621] xhci_hcd 0000:05:00.0: // Turn on HC, cmd = 0x5.
[    2.426468] xhci_hcd 0000:05:00.0: Finished xhci_run for USB3 roothub
[    2.426630] xhci_hcd 0000:05:00.0: Endpoint 0x81 ep reset callback called
[    2.426798] xhci_hcd 0000:05:00.0: set port power, actual port 0 status  = 0x2a0
[    2.426819] xhci_hcd 0000:05:00.0: set port power, actual port 1 status  = 0x2a0
[    2.426893] xhci_hcd 0000:05:00.0: remove, state 1
[    2.427674] xhci_hcd 0000:05:00.0: USB bus 2 deregistered
[    2.427731] xhci_hcd 0000:05:00.0: remove, state 1

Então, depois de inicializar tudo, um reset é chamado tanto no hub raiz USB 2.0 quanto no USB 3.0. Eles são removidos e, em seguida, o driver tenta inicializar a coisa toda novamente (que é a segunda inicialização que vi). Só que desta vez falha muito.

No código-fonte do kernel, a função xhci_endpoint_reset tem comentários ao longo das linhas "Podemos precisar implementar o config ep cmd no xhci 4.8.1" e "Por enquanto apenas imprimir depuração para acompanhar a situação".

Portanto, este é definitivamente um caso para os desenvolvedores do kernel. Certifique-se de corrigir o relatório de erros com a saída de depuração.

    
por 29.04.2018 / 21:14
1

Estou tendo o mesmo problema ou um problema semelhante. Abri um tópico aqui: link

Meus testes chegaram ao resultado, que apareceu com o kernel 4.12.8-1-ARCH. E em outro laptop, esta mesma placa funciona - agora com o linux 4.15.15.

    
por 11.05.2018 / 21:09