我目前正在使用Seowon SWU-3220A WiMAX USB调制解调器的内核模式USB驱动程序。它是一个复杂的设备(在插入系统后显示为USB CDROM,驱动程序需要将其切换到调制解调器模式)。我的问题是我的驱动程序中的probe()函数永远不会被调用。我认为这是因为OS使用标准的USB大容量存储驱动程序而不是我自己的。Linux USB驱动程序probe()问题

我初始化驱动程序如下:

#define GDM7213_VENDOR_ID 0x1076

#define GDM7213_PRODUCT_ID 0x7f40

static struct usb_device_id gdm7213_table [] = {

{ USB_DEVICE(GDM7213_VENDOR_ID, GDM7213_PRODUCT_ID) },

{ }

};

MODULE_DEVICE_TABLE(usb, gdm7213_table);

static struct usb_driver gdm7213_driver = {

.name = "gdm7213",

.probe = gdm7213_probe,

.disconnect = gdm7213_disconnect,

.suspend = gdm7213_suspend,

.resume = gdm7213_resume,

.pre_reset = gdm7213_pre_reset,

.post_reset = gdm7213_post_reset,

.id_table = gdm7213_table,

};

static int gdm7213_probe(struct usb_interface *interface, const struct usb_device_id *id)

{

printk(KERN_INFO "GDM7213 gdm7213_probe()\n");

return 0;

}

static int __init gdm7213_init_module(void)

{

int result;

printk(KERN_INFO "GDM7213 init_module()\n");

result = usb_register(&gdm7213_driver);

if (result)

err("usb_register failed. Error number %d", result);

return result;

}

static void __exit gdm7213_cleanup_module(void)

{

printk(KERN_INFO "GDM7213 cleanup_module()\n");

usb_deregister(&gdm7213_driver);

}

module_init(gdm7213_init_module);

module_exit(gdm7213_cleanup_module);

可有人说我哪里是一个bug或者提出任何解决方法吗?

+0

看:http://stackoverflow.com/questions/2538079/linux-usb-driver-probe-not-called-if-device-already-plugged –

2012-11-06 15:45:28

linux usb驱动 probe,Linux USB驱动程序probe()问题相关推荐

  1. Linux设备驱动---OMAP3630 Linux I2C总线驱动分析(1)

    原文地址:http://blog.csdn.net/kellycan/article/details/6394737 1 Linux I2C驱动架构 Linux下I2C驱动的架构图如下: 图1.1 L ...

  2. linux设备驱动模型-linux驱动开发第5部分-朱有鹏-专题视频课程

    linux设备驱动模型-linux驱动开发第5部分-4285人已学习 课程介绍         本课程是linux驱动开发的第5个课程,主要内容是linux的设备驱动模型,包括总线.类.设备.驱动等概 ...

  3. 【翻译】【linux设备驱动】linux地址类型

    [翻译][linux设备驱动]linux地址类型 Linux中使用的地址类型列表: 用户虚拟地址(User virtual addresses) 用户空间程序可见的普通地址.用户虚拟地址的长度为32位 ...

  4. linux蜂鸣器驱动指令,linux蜂鸣器驱动 蜂鸣器--LINUX.doc

    linux蜂鸣器驱动 蜂鸣器--LINUX 导读:就爱阅读网友为您分享以下"蜂鸣器--LINUX"的资讯,希望对您有所帮助,感谢您对92的支持! //mux = 1/16 tcfg ...

  5. 10 怎么写USB驱动,Cadence USB 2.0 Controller和PHY IP驱动移植

    怎么写USB驱动,Cadence USB 2.0 Controller和PHY IP驱动移植 作者 将狼才鲸 日期 2022-03-26 本子文档所属的上级文档(Gitee仓库): 才鲸 / 嵌入式知 ...

  6. linux下usb驱动配置文件,Linux环境下USB的原理、驱动和配置

    随着生活水平的提高,人们对USB设备的使用也越来越多,鉴于Linux在硬件配置上尚不能全部即插即用,因此关于Linux如何配置和使用,成为困扰我们的一大问题.本文引用地址:http://www.eep ...

  7. linux设备驱动子系统,Linux设备驱动子系统终极弹 - USB

    0. 预备理论 1. USB Core 2. USB Hub 3. USB OTG 4. USB Host 5. USB Gadget 6. USB Mass Storage USB博大精深,不是一两 ...

  8. Linux系统USB驱动目录,Linux那些事儿之我是USB 目录

    目录 第1篇  Linux那些事儿之我是USB Core 1.引子 2 2.它从哪里来 2 3.PK 3 4.漫漫辛酸路 3 5.我型我秀 4 6.我是一棵树 5 7.我是谁 9 8.好戏开始了 11 ...

  9. Linux系统USB驱动目录,linux安装usb驱动命令

    有时我们会用到usb设备,这时我们就要学会如何在linux系统下安装usb驱动了.下面由学习啦小编为大家整理了linux安装usb驱动命令的相关知识,希望大家喜欢! linux安装usb驱动命令 安装 ...

  10. linux查看usb驱动版本号,linux查看硬件信息及驱动设备相关整理

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 联系我登录 首页 业界新闻 技术文章 资源分享 微语 linux查看硬件信息及驱动设备相关整理[转] 蓝猫 发布于:2014-5-30 17:48 分类: ...

最新文章

  1. ffmpeg-20160526-git-bin
  2. [原]Java 正则 多子串 匹配 替换
  3. Java synchronized 实现生产者-消费者模型
  4. idea 拉取分支代码
  5. flutter打开第三方应用
  6. 今日头条面试题:生成随机数(根据rand5()生成rand7())
  7. redis哨兵主从不切换_Redis的三种模式:主从、哨兵、集群
  8. TCP/IP详解 学习三
  9. idea 未实现接口红线提示,重复代码波浪线提示,自动换行,控制台输出内容自动换行...
  10. ARTS打卡计划第5周-ALGORITHM
  11. C51语言检测电平变化,单片机引脚上的电平变化
  12. 电子计算机与其它计算机工具的本质区别是,电子计算机与其他计算工具的本质区别是...
  13. Can‘t locate XXX/XXX.pm in @INC (you may need to install the XXX::XXX module)
  14. SpringBoot 启动报错 No property found for type !
  15. Ubuntu 关闭guest用户
  16. 现钞和现汇有什么区别??
  17. Intel RDT特性详解
  18. 西南民族大学第十届校赛(同步赛) 个人笔记 题解
  19. 微信公众号图文中怎么下载封面图?
  20. Shell内建命令之echo、local、logout

热门文章

  1. Android Freeform模式
  2. 互联网公司面试题合集
  3. Git篇01:Push rejected解决方法
  4. 【文献精读】HeadFi: Bringing Intelligence to All Headphones
  5. Unity,android和IOS 防止八门神器注入
  6. Word控件Spire.Doc 【图像形状】教程(7): 如何使用 C# 在 Word 中替换图像
  7. android接听ios电话,教程】教你用电脑连接 iPhone 、 Android ,在电脑上接打电话、收发短信。...
  8. CSS中大于号[]的含义
  9. 基于微信小程序的企业职工薪资查询系统小程序
  10. webgl通过shader实现逼真水面