当前位置: 首页 > 知识库问答 >
问题:

当设备是调制解调器时,USB类有什么不同?

白子明
2023-03-14

每个USB设备都必须根据设备驱动程序将在Linux系统上使用的一些USB设备类定义...

但是我不能理解一些事情。例如,大多数USB调制解调器都属于通信设备类。我有一个3G USB调制解调器和一个3G USB加密狗(例如,塔塔光子),两者都属于相同的通信类别,但3G USB调制解调器使用CDC-ACM驱动程序,3G加密狗使用串行转换器驱动程序(USB-Serial)。是什么让这些设备与众不同?

有人能解释一下吗?

共有3个答案

许嘉福
2023-03-14

所有Linux驱动程序的源代码都可用。。。通过查看源代码,您可以自己看到。

楚彦
2023-03-14

USB设备指示将加载何种类型的驱动程序。如果它本身带有CDC类描述符,那么它将加载一个CDC类驱动程序(其他类型的设备如USBAudio、HID键盘/鼠标等也是如此)。

如果USB设备本身带有特定于供应商的描述符,则需要在VID和PID上进行匹配,以确定要加载哪个特定于供应商的驱动程序。在USB到串行网桥的情况下,有许多供应商,因此加载的驱动程序取决于您的特定电缆。您可以在root/drivers/usb/serial/中找到基于usbserial的驱动程序的源代码,从那里您可以查询设备的VID/PID,以确定为该接口加载的驱动程序。

看起来最近有一个3Ghtml" target="_blank">加密狗的promise,也许这就是你想要的?

何涵衍
2023-03-14

Linux的源代码是可用的,所以你可以看看它是如何工作的。这里是你提到的cdc-acm USB驱动程序的源代码:http://lxr.linux.no/linuxv3.12.2/驱动程序/usb/class/cdc-acm. c

查看第1516行附近的acm\u id[]数组。这是一个庞大的结构数组,用于描述cdc acm驱动程序将与哪些USB设备匹配。看起来这个阵列从古怪的设备开始,最后有了更多标准的通用设备。看看你是否能找到与你拥有的每台设备相匹配的线路!这个数组被传递给内核中一些更通用的USB代码,这些代码负责将USB设备与驱动程序进行匹配。

 类似资料:
  • 我试图使用USB调制解调器发送短信(我有一个D-Link Usb调制解调器)。我刚刚找到SmsLib,但我不知道如何使用USB调制解调器。我找到的例子是串行调制解调器,我没有找到任何USB调制解调器的例子。我需要将usb端口映射为串行端口吗?使用什么?我的调制解调器由SmsLib支持。您对如何使用SmsLib配置USB调制解调器有任何想法吗? (我有一台MacBook)。

  • 尝试在Linux上使用USB调制解调器开发应用程序。使用带有CNMI=1,1,0,1,0设置的华为E220(还尝试了其他CNMI设置,但均无效),并在接收到的消息上获得新的消息指示,在接收到的状态传递消息上也获得新的消息指示。是否有其他方法可以配置设备以启用接收到的SMS警报?感谢windows机器,它工作正常。唯一的问题是linux。非常感谢。

  • 有没有办法打开tcpip端口5555进行调试,而不需要通过USB连接到电脑?

  • 最好的方法是什么?我读过,但大多数话题都过时了。大多数示例都使用“COM”端口,但我在COM连接(在设备管理器中)中找不到USB调制解调器,而不是在“网卡”中。

  • 我正在用PHP7.1编写一个脚本,用华为E3531 usb调制解调器发送短信。没有文档记录,我很难找到解决方案。这是发送短信的脚本,但我收到一个错误100002。首先,我用curl恢复令牌和sessionid,然后再次使用curl发布短信 然而,我已经做了另一个脚本,让短信已经发送,它确实工作。以下是代码: 在这个链接上使用的三个步骤(通过命令行与华为E3131和debian系统上的HiLink发

  • 简介 USB 即 Universal Serial Bus 是一种支持热插拔的通用串行总线,在 USB 体系中又分为 USB Host 和 USB Device。本文将基于 stm32l475-atk-pandora 开发板,讲解基于 RT-Thread Studio 开发 USB Device 驱动。 USB Device 设备驱动的开发可总结为如下几个步骤: 新建 RT-Thread 完整版项