为设备查找模块

本文介绍了一种确定USB设备驱动的方法,通过查找设备的总线ID并利用内核源码进行匹配,适用于嵌入式系统开发人员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

作者:王劲男,华清远见嵌入式培训中心讲师。

有些时候无法找到内核中有效的选项,使硬件设备正常工作。

找到新设备的驱动最简单的方法是,将内核中此类驱动全部构建成模块,并由udev来完成设备和驱动之间的匹配。

如果不想构建所有的驱动(有些时候这是非常恐怖的事情),那就需要一点额外的工作来确定所需要的驱动程序。下面的步骤很复杂,而且需要深入内核源码。

不过这样做会帮助你很好的理解硬件和内核源码。

我们以USB设备为例。

首先我们要找到设备的总线ID,这是非常重要的用来确定一个设备的.我们可以使用下面这个命令:

/usr/sbin/lsusb
        Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
        Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
        Bus 001 Device 002: ID 1058:1023 Western Digital Technologies, Inc.
        Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

USB 设备的编号不固定,每次插入拔除设备,都会为设备分配一个不同的设备编号,但是ID是不会变的。

我们主要观察Western Digital Technologies,Inc的设备ID。

1058:1023

这分别代表了,Vendor ID和 Devices ID

grep –i –R –l 1058 drivers/*

可以搜索到一些包含有1058的文件。

通过找到的文件找到驱动的名字,可以确定驱动程序,再在内核的Makefile中找到相关选项,选中即可。

嵌入式及3G相关资源及学习请点击:嵌入式开发视频 android开发视频 android培训 3G培训 QT培训 QT开发视频 物联网培训 物联网技术视频 嵌入式学习   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值