如何连接具有自定义 pid 和 vid 的 USB 大容量存储设备?

如何连接具有自定义 pid 和 vid 的 USB 大容量存储设备?

我有一个设备,自定义 mp3 播放器,pid 和 vid 显示为 a011:a011。

消息

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

我可以通过选择通用大容量存储设备驱动程序在 Windows 7 中连接到此设备。它有一个可以读写的 fat32 分区。

我的系统是 Ubuntu 14。一切正常。我连接 USB 拇指驱动器,它会自动加载驱动程序并创建/dev/sdX点。

如何将此 MP3 播放器连接到我的 Linux 电脑。如果我可以创建该/dev/sdX点,那么我就可以安装它。

我一直在阅读并尝试使用 modprobe 并创建一个/etc/udev/rules.d/80-mp3_a011.rules,但它还没有点击。

我想先通过命令行连接一次。

接下来我希望每次插入时都能连接。

最后,我将使用此信息为我在嵌入式系统上使用的 mdev 创建规则。

答案1

第二部分工作了。

“接下来我希望每次插入时它都能连接。”

在以下位置创建了 udev 规则:

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

添加此信息只是简单地 modprobes usb-storage 并将我的 pid:vid 添加到 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'"

重新启动udev

sudo /etc/init.d/udev restart

现在,一旦我连接设备,它就会像任何其他 USB 大容量存储设备一样进行处理。

第一部分工作:

“我想先通过命令行连接一次。”

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

做过不是工作是因为 sudo 应用于 echo 命令而不是 new_id 文件或类似的东西。

首先更改为 root shell,然后将 PID:VID 添加到 new_id。

sudo su

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

相关内容