gpt4 book ai didi

linux - 调试 cdc-acm 内核模块

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:09:25 26 4
gpt4 key购买 nike

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

cdc_acm 6-2:1.1: This device cannot do calls on its own. It is not a modem.

cdc_acm: probe of 6-2:1.1 failed with error -22

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

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

最佳答案

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

  1. 将 cdc-acm.c 中的 DEBUGVERBOSE_DEBUG #undef 更改为 #define
  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

[...]

关于linux - 调试 cdc-acm 内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23048225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com