Como recuperar o sysfs devpath de uma unidade flash USB considerando seu caminho sysfs de partição correspondente?

2

Eu tenho uma unidade flash USB conectada a um hub. Seu devpath de partição do dispositivo de armazenamento em sysfs é /devices/pci0000:00/0000:00:12.2/usb6/6-1/6-1.2/6-1.2:1.0/host10/target10:0:0/10:0:0:0/block/sdb/sdb1 . Gostaria de recuperar o caminho do dispositivo USB correspondente (por exemplo, /devices/pci0000:00/0000:00:12.2/usb6/6-1/6-1.2 ou melhor ainda /sys/bus/usb/devices/6-1.2 ). Eu vou fazer isso em alguma linguagem de script (shell, python, qualquer que seja) para qualquer dispositivo inserido no PC. EDITAR : Eu recebo o devpath da partição original do udev e preciso rastreá-lo de volta para a entrada do dispositivo USB.

A abordagem mais simples e estúpida é navegar no caminho para cima, até a entrada 6-1.2. Tem algumas desvantagens graves e óbvias, no entanto. Primeiro, o dispositivo pode ou não estar conectado a um hub e, portanto, seu caminho pode mudar. Em segundo lugar, o dispositivo pode ou não ter partições, o que também altera o devpath. Eu também preciso de uma solução genérica, não apenas para o dispositivo 6-1.2.

Aparentemente, não há links simbólicos para a entrada do dispositivo no diretório .../block/sdb/sdb1 . Existe alguma maneira elegante de fazer o que eu quero?

    
por Roman Dmitrienko 22.03.2013 / 13:14

0 respostas

Tags