Como mapear / sys / bus / usb / devices para / dev / video *?

4

Estou usando uma biblioteca (librealsense) que apenas exibe o barramento e o número da porta como tal (9.1). Ele usa a libusb internamente. O problema é desse identificador na libusb Eu quero saber a qual dispositivo físico ele pertence em / dev / video0. Por exemplo, 9.1 - > / dev / video0 e 7.2 - > / dev / video2 quando duas câmeras estão conectadas nas portas 9.1 e 7.2.

Isso é possível? Como faço para adquirir quais caminhos de dispositivos pertencem a um barramento e a uma porta? Qualquer resposta parcial seria útil.

    
por nico 14.02.2017 / 03:38

2 respostas

2

Respondendo para que eu possa fechar essa questão com crédito total para @ridgy e @dirkt por sua ajuda. Com o comando:

udevadm info -n video0 -q path

Ou, da mesma forma, com ls -l /sys/class/video4linux/ , um caminho do formulário /devices/pci0000:00/0000:00:10.0/usb7/7-2/7-2:1.0/video4linux/video0 pode ser encontrado. Que, em combinação com a listagem dos dispositivos de vídeo usando ls /dev/video* ou v4l2-ctl --list-devices , permite criar um mapa entre a porta usb e o dispositivo de vídeo.

    
por 14.02.2017 / 20:33
0

você também pode usar o comando abaixo para obter mais informações

udevadm info -a -p $(udevadm info -q path -n /dev/video0)

udevadm info -a -p $(udevadm info -q path -n /dev/video1)

    
por 11.07.2018 / 13:00