Nomes persistentes para dispositivos serial-usb usando a regra do udev, não funcionando

1

Eu tenho um computador com o Ubuntu que conectou várias placas de som usb. Eu posso tocar som em um deles escrevendo um comando como:

aplay -D plughw:1,0 sound.mp3

aplay -D plughw:2,0 sound.mp3

O problema é que o valor "1,0" muda dependendo da ordem em que as placas de som usb estão conectadas. Eu preciso atribuir permanentemente uma certa placa de som usb para plugar 3,0, por exemplo. Mesmo que haja apenas uma placa de som conectada.

Estou seguindo este guia: link

Aqui: /etc/udev/rules.d/99-vmware-scsi-udev.rules tenho

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="0102", SYMLINK+="ardu"

E parece funcionar porque se eu digitar:

ls -l /dev/ardu

Eu recebo:

lrwxrwxrwx 1 root root 12 sep 5 01:32 /dev/ardu -> input/event5

E esta mensagem só é retornada caso a placa de som específica esteja conectada.

Agora, se eu digitar:

aplay -D /dev/ardu sound.mp3

A placa de som não foi encontrada. O que estou fazendo errado?

    
por pfernandez 05.09.2017 / 01:49

1 resposta

2

Resolvido nos comentários por CL.

Basicamente, siga este tutorial de url ao pé da letra, apenas o capítulo correspondente (Escrevendo regras do udev - Identifique dois dispositivos de áudio idênticos ): link

No final, tenho cada USB atribuído permanentemente a uma placa de som USB, e o USB não muda com a redefinição.

E eu posso fazer:

$ aplay -D hw:Room1 something.wav

$ aplay -D hw:Room2 something.wav

Room1 é uma placa de som USB conectada permanentemente ao usb1 e Room2 é o mesmo com outro usb.

Usar -D default:Room1 me deu problemas com o surround, mas -D hw:Room1 não, provavelmente, devido ao meu arquivo .asoundrc pessoal.

Fazer funcionar com um hub foi uma dor no rabo. Eu terminei de alterar duas coisas do guia: Eu configurei o arquivo /etc/udev/rules.d/85-my-usb-audio.rules com um número maior que o arquivo .rules atual (o arquivo .rules atual era como 99-something.rules , então eu fiz 100-my-usb-audio.rules ).

Depois de cada alteração no arquivo .rules, acabei de redefinir com:

sudo udevadm control --reload-rules

O resto é exatamente como o guia.

    
por pfernandez 05.09.2017 / 15:44