未检测到 USB 调谐器驱动程序

未检测到 USB 调谐器驱动程序

我正在使用 DVB 调谐器、USB 调谐器。我已经将驱动程序添加到内核中并且正在注册。但是当设备连接时,它不会调用探测函数。

有什么我要补充的吗?比如设备驱动程序应该映射到设备还是其他什么?并请解释如何根据 USB 设备的类型加载驱动程序。我使用的内核是linux 3.5。

答案1

您确定您的设备可以与该驱动程序配合使用吗?如果是这样:

固件

有些设备还需要额外的固件。不幸的是,提取固件并安装它所需的方法取决于设备。有些要求您下载 Windows 驱动程序的副本并使用工具来提取固件。谷歌将在这里为您提供帮助。

更改的供应商和产品 ID

有时供应商会更改供应商和产品 ID,这是驱动程序用于识别兼容设备的方法。

这些 ID 被硬编码在驱动程序中。幸运的是,现代设备驱动程序有一种在运行时临时添加供应商和产品 ID 的方法。

用于lsusb获取您设备的 ID:

# lsusb
Bus 002 Device 001: ID 1234:abcd Acme Corp DVB Tuner

拔下设备并卸载驱动程序(以获得新的起点):

# rmmod acme_dvb

接下来,加载您的驱动程序:

# modprobe acme_dvb

最后,告诉驱动程序新的 USB ID:

# echo 1234 abcd > sys/bus/usb/drivers/acme_dvb/new_id

请注意,确切的路径可能会有所不同。

插入您的设备并检查它是否已被识别:

# dmesg

如果这有效,正确的做法是将其报告为针对驱动程序的错误,以便维护人员添加新的 ID。

相关内容