Como eu conecto um dispositivo de armazenamento em massa USB que possui um pid e vid personalizado?

1

Eu tenho um dispositivo, um mp3 player personalizado, que o pid e o vid aparecem como a011: a011.

dmesg

usb 1-1.1: new high-speed USB device number 4 using ehci-pci
usb 1-1.1: New USB device found, idVendor=a011, idProduct=a011
usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5
usb 1-1.1: Product: Custom-Mp3
usb 1-1.1: SerialNumber: 123456789abcdef
usb 1-1.1: USB disconnect, device number 4
usb 3-3: new high-speed USB device number 2 using xhci_hcd
usb 3-3: New USB device found, idVendor=a011, idProduct=a011
usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
usb 3-3: Product: Custom-Mp3
usb 3-3: SerialNumber: 123456789abcdef

Eu posso conectar a este dispositivo no Windows 7, selecionando um driver de dispositivo de armazenamento em massa genérico. Tem uma única partição fat32 que eu posso ler e escrever.

Meu sistema é o Ubuntu 14. Tudo funciona. Eu conecto um pen drive USB e ele auto carrega o driver e cria o ponto /dev/sdX .

Como faço para conectar este mp3 player ao meu pc linux? Se eu puder criar o ponto /dev/sdX , posso montá-lo.

Eu tenho lido e tentando usar o modprobe e criando um /etc/udev/rules.d/80-mp3_a011.rules , mas ele ainda não clicou.

Gostaria de conectar uma única vez através da linha de comando primeiro.

Em seguida, gostaria que ele fosse conectado toda vez que eu o conectasse.

Por último, usando esta informação, vou criar as regras para o mdev que eu uso no meu sistema embarcado.

    
por jc__ 18.03.2016 / 18:08

1 resposta

1

A segunda parte está funcionando.

"Em seguida, eu gostaria que ele fosse conectado toda vez que eu o conectasse."

Criamos uma regra do udev em:

sudo vi /etc/udev/rules.d/80-mp3_a011.rules

Adicionadas essas informações que simplesmente modificam o armazenamento usb e adicionam meu pid: vid ao usb-storage new_id.

ACTION=="add", ATTRS{idVendor}=="a010", ATTRS{idProduct}=="a010", RUN+="/sbin/modprobe usb-storage" RUN+="/bin/sh -c 'echo a011 a011 > /sys/bus/usb/drivers/usb-storage/new_id'"

reinicie o udev

sudo /etc/init.d/udev restart

Agora, assim que eu conectar o dispositivo, ele será tratado como qualquer outro dispositivo de armazenamento em massa usb.

Primeira parte em funcionamento:

"Eu gostaria de conectar uma única vez através da linha de comando primeiro."

sudo echo a011 a011 > /sys/bus/usb/drivers/usb-storage/new_id

O NOT funcionou porque o sudo foi aplicado ao comando echo e não ao arquivo new_id ou a algo semelhante.

Alterado para um shell raiz primeiro e depois adicionado o PID: VID ao new_id.

sudo su

echo a011 a011 > /sys/bus/usb/drivers/usb-storage/new_id
    
por 18.03.2016 / 20:18