gpt4 book ai didi

usb - 如何在嵌入式 Linux 中设置 USB 设备的 VID 和 PID

转载 作者:行者123 更新时间:2023-12-04 06:31:04 25 4
gpt4 key购买 nike

我有一个嵌入式 Linux 设备,我想设置 VID、PID 和名称。这通常在哪里完成?在文件系统中还是编译到内核中?

最佳答案

它是在内核中完成的:我假设您有一个您已经开发或正在使用的 USB 小工具驱动程序,以便您的嵌入式 Linux 设备可以用作 USB 设备。

这个驱动程序肯定有 struct usb_device_descriptor那是在某处宣布的。如你所见,这个结构有一些 idVendor , idProduct字段。人类可读的字符串是 iManufacturer , iProductiSerialNum .这是完整的结构:

/* USB_DT_DEVICE: Device descriptor */
struct usb_device_descriptor {
__u8 bLength;
__u8 bDescriptorType;

__le16 bcdUSB;
__u8 bDeviceClass;
__u8 bDeviceSubClass;
__u8 bDeviceProtocol;
__u8 bMaxPacketSize0;
__le16 idVendor;
__le16 idProduct;
__le16 bcdDevice;
__u8 iManufacturer;
__u8 iProduct;
__u8 iSerialNumber;
__u8 bNumConfigurations;
} __attribute__ ((packed));

如果您使用的是已经开发的驱动程序,有些可以让您使用作为模块参数传递的一些值来设置这些字段,请参阅 drivers/usb/gadget/printer.c。一个很好的例子。这样,您可以将值从用户空间传递给内核。

关于usb - 如何在嵌入式 Linux 中设置 USB 设备的 VID 和 PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5410181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com