Redefinir um dispositivo PCI no Linux

12

Existe uma maneira genérica de redefinir um dispositivo PCI no Linux a partir da linha de comando? Isto é, faça com que o barramento PCI emita um comando de reset.

    
por Jonathan 23.01.2012 / 06:15

3 respostas

6

de acordo com o link , você pode redefinir funções individuais do dispositivo se suportado:

What:       /sys/bus/pci/devices/.../reset
Description:
            Some devices allow an individual function to be reset
            without affecting other functions in the same device.
            For devices that have this support, a file named reset
            will be present in sysfs.  Writing 1 to this file
            will perform reset.
    
por 05.07.2012 / 11:54
5

A coisa mais próxima que o barramento PCI tem de uma redefinição de nível de dispositivo é alterar o estado de energia para D3 e de volta para D0. Depois de descarregar o driver (seria ruim reiniciar o hardware sob o driver), você pode usar setpci para gravar nos registros de controle para alterar o estado de energia, mas acredito que isso acontece automaticamente quando você descarrega o driver.

    
por 23.01.2012 / 16:58
2

Como um dispositivo PCI genérico não é hotpluggable, não haverá uma maneira de redefini-lo e fazer com que o kernel o reumere.

Qualquer que seja o tipo de problema que você esteja tentando resolver, há certamente uma maneira melhor do que apenas redefini-lo.

    
por 23.01.2012 / 06:21

Tags