首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调试cdc-acm内核模块

调试cdc-acm内核模块
EN

Stack Overflow用户
提问于 2014-04-13 20:43:23
回答 1查看 4.1K关注 0票数 3

我试图解决我在Ubuntu上遇到的一个问题(尝试了不同的版本,包括最新的13.10版本),用USB设备在其中一个接口上谈论CDC/ACM。处理这类设备的内核模块只报告

cdc_acm 6-2:1.1:这个设备不能单独执行调用.这不是调制解调器。 cdc_acm: 6-2:1.1探测失败,错误-22

在dmesg,就是这样。没有关于“零长度描述符引用”或其他人在网络上报告的类似内容。所以我想知道问题出在哪里。我遵循http://www.silly-science.co.uk/2012/06/23/lenovo-usb-modem-in-linux-ubuntu-10-04中的描述来编译和加载一个定制的cdc模块。首先,我将用于调试的两个#undef更改为cdc-acm.c中的#define,但仍然没有在dmesg中获得任何额外的输出。

将cdc-acm.c的DRIVER_VERSION定义中的版本字符串更改为其他内容,我可以验证修改后的模块确实已加载。我是否在错误的地方寻找调试输出?

EN

回答 1

Stack Overflow用户

发布于 2015-08-05 11:21:19

我设法从dmesg中的cdc_acm中获得了调试信息,尽管我没有什么特别的东西要分享,但这是我的步骤,使用了今天4.2-Rc5的最新内核:

  1. 在cdc-acm.c中将DEBUGVERBOSE_DEBUG #undefs改为#defines。
  2. make -C /lib/modules/$(uname -r)/build M=$(pwd)/drivers/usb/class modules
  3. modprobe -r cdc_acm; insmod $(pwd)/drivers/usb/class/cdc-acm.ko
  4. 插入兼容设备后的dmesg

..。

14035.355036 cdc_acm 2-2:1.1: acm_tty_write -写1

14035.368040 cdc_acm 2-2:1.1: acm_softint

14038.156445 cdc_acm 2-2:1.0: acm_tty_close

14038.173054 cdc_acm 2-2:1.0: acm_ctrl_msg - rq 0x22,val 0x0,len 0x0,结果0

14038.173059 cdc_acm 2-2:1.0: acm_port_shutdown

14038.173640 cdc_acm 2 -2 :1.0: acm_ctrl_irq - urb关闭状态:-2

14038.174636 cdc_acm 2-2:1.1: acm_read_bulk_callback - urb 0,len 0

..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23048225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档