arquivo 'power / persist' não encontrado no diretório sysfs do dispositivo USB

3

O arquivo /usr/share/doc/linux-doc/usb/persist.txt.gz menciona que o recurso de persistência de USB pode ser ativado para um determinado dispositivo USB gravando 1 no arquivo persist no diretório desse dispositivo em /sys/bus/usb/devices/$device/power . Isso é dito - se entendi corretamente - para permitir que montagens de volumes na unidade persistam durante a perda de energia durante a suspensão.

No entanto, descobri que o dispositivo para o qual eu gostaria de ativar esse recurso - um disco rígido USB - não tem esse arquivo no diretório correspondente e que tentativas de criá-lo são recusados.

Existe talvez um módulo do kernel que precisa ser carregado para que isso funcione? Preciso criar um kernel personalizado? Estou executando o Ubuntu 10.10.

    
por intuited 06.01.2011 / 08:49

1 resposta

1

Como observado no final da resposta, isso já deve estar acontecendo. (Também quando Q foi postado).

Observe também que a postagem cruzada foi encerrada devido à falta de resposta - o que é mais apropriado postar aqui. E imagino que outros possam usar as informações.

O documento que você vinculou diz (enfatize o meu):

[…]
Note that the "USB-persist" feature will be applied only to those devices for which it is enabled. You can enable the feature by doing (as root):

echo 1 >/sys/bus/usb/devices/.../power/persist

where the "..." should be filled in the with the device's ID. Disable the feature by writing 0 instead of 1. For hubs the feature is automatically and permanently enabled and the power/persist file doesn't even exist, so you only have to worry about setting it for devices where it really matters.

Em outras palavras: (parece que) você está tentando configurá-lo para um hub, que é redundante - como sempre é definido, e não é possível porque o arquivo não existe.

Para ver quais caminhos realmente tem um arquivo persist , faça o seguinte:

$ ls -l /sys/bus/usb/devices/*/power/persist

Para verificar o status, faça o seguinte:

$ tail /sys/bus/usb/devices/*/power/persist

Se você usa lsusb para identificar o dispositivo, o caminho correto é

/sys/bus/usb/devices/<BUS>-<DEVPATH>/power/persist
  • <BUS> é de lsusb
  • <DEVPATH> você pode combinar com Device de lsusb por:

    $ tail <BUS>-*/devnum
    

Ou verifique dmesg , etc., por exemplo:

$ dmesg | grep -iA3 "new usb"

Você também pode verificar, por exemplo:

$ udevadm info -q all -p /sys/bus/usb/devices/<BUS>-<DEVPATH>

A política para persist foi alterada para on como padrão pelo kernel 2.6.26-rc5.

Alguns ref's da alteração para ativado por padrão:

A implementação:

por 13.06.2013 / 07:03