4

我对内核编程很陌生,我正在按照以下教程进行操作: USB 引导身份验证

我想获得 USB 驱动器的“设备结构”。我有 USB 设备的“dev_t”实例。此外,我想检查设备结构是否是 USB 设备。我无法弄清楚如何开始......

谢谢

4

2 回答 2

3

正如 hiteshradia 所说dev_t的是一个设备号(一个主要的数字和次要的数字)。但是,您可以使用它以及块设备可以访问struct device与其关联的知识。为此,请使用struct block_device *bdget(dev_t)from linux/fs.h。从中您可以使用block_device->bd_part获取struct hd_struct *设备的 a 并最终使用struct device *part_to_dev(struct hd_struct *)定义为linux/genhd.h.

于 2014-02-13T17:28:11.133 回答
1

dev_t只是一个设备号,它代表/dev/sdb1从您的链接中看到的分区。无法使用它获取底层 USB 驱动器详细信息。

在您提供的链接中有部分

if(udev->serial != NULL)
{
    if((strcmp(udev->serial, "3513001D97827E69")) == 0) /* Hard coded usb device serial here*/
    {
        key_dev_found = 1;
    }
}

您可以在哪里获取 USB 设备详细信息和struct usb_device *udev

于 2013-02-19T10:58:10.257 回答