新闻详情

新闻详情

首页 / 资讯中心 / 详情

Linux之USB串口option驱动简介

发布时间:2026/10/1 6:46:47来源:尧图网络
Linux之USB串口option驱动简介
Linux之USB串口option驱动简介 | DDNotesLinux之USB串口option驱动简介概述在Linux内核中option 驱动源码位于 drivers/usb/serial/option.c是最重要、最常用的USB串口驱动之一。它最初是为了支持GSM/CDMA调制解调器Modem而开发的但现在广泛用于支持各种 3G/4G/5G 蜂窝网络模块如移远、广和通、华为、中兴、SIMCom等以及部分工业USB转串口设备它是 Linuhttps://notes.z-dd.online/2026/08/26/Linux%E4%B9%8BUSB%E4%B8%B2%E5%8F%A3option%E9%A9%B1%E5%8A%A8%E7%AE%80%E4%BB%8B/Linux之USB串口option驱动简介概述在Linux内核中option 驱动源码位于 drivers/usb/serial/option.c是最重要、最常用的USB串口驱动之一。它最初是为了支持GSM/CDMA调制解调器Modem而开发的但现在广泛用于支持各种 3G/4G/5G 蜂窝网络模块如移远、广和通、华为、中兴、SIMCom等以及部分工业USB转串口设备它是 Linux 移动宽带生态的基石。一、 option 驱动的核心作用option 驱动的主要任务是将USB蜂窝模块的串行通信接口映射为Linux系统中的字符设备通常是 /dev/ttyUSBx 或 /dev/ttyACMx。通过这些串口用户空间程序如 pppd, ModemManager, minicom可以发送 AT 指令控制模块拨号、查询信号、发短信。进行 PPP 拨号上网传统方式。抓取模块的底层 Debug 日志DM/DIAG 口。读取 GPS NMEA 数据。二、 核心匹配机制 (Device Matching)option 驱动如何知道该接管哪个USB设备它依赖以下三种机制1. 静态匹配 (VID/PID 白名单)在内核源码的 option_ids[] 数组中硬编码了大量已知模块的 Vendor ID (VID) 和 Product ID (PID)。当USB设备插入时内核会比对VID/PID如果命中则加载 option 驱动。2. 动态匹配 (Dynamic ID)如果你的模块是新产品内核中没有它的VID/PID可以通过 sysfs 动态添加无需重新编译内核BASH# 假设你的模块 VID 是 2c7cPID 是 0125 (移远 EC20)echo 2c7c 0125 /sys/bus/usb-serial/drivers/option1/new_id注重启后失效需写入 udev 规则实现持久化。3. 接口类匹配 (Class/SubClass/Protocol)某些模块不依赖具体的VID/PID而是通过USB接口描述符中的 Class通常为 0xFF Vendor Specific、SubClass 和 Protocol 来匹配。三、 多端口 (Multi-port) 与 接口过滤现代4G/5G模块通常是 **USB复合设备 (Composite Device)**包含多个USB接口Interface。一个模块可能同时暴露出 串口、网卡、存储CD-ROM等。1. 端口功能区分option 驱动接管串口后通常会生成多个 /dev/ttyUSBx 节点。常见的端口功能如下具体顺序因模块而异**DM / DIAG (Diagnostic)**用于高通 QXDM 等工具抓取底层 Log。GPS / NMEA输出 GPS 定位数据。**AT (AT Command)**用于发送 AT 指令控制模块。Modem / PPP用于传统的 PPP 数据拨号。ADBAndroid 调试桥端口针对运行 Android 系统的模块。2. 黑名单机制 (Blacklist)这是 option 驱动中最关键的设计之一。模块中的某些接口如 QMI, MBIM, ECM, RNDIS 网络接口绝对不能被 option 接管否则会导致无法上网。option 驱动内部维护了一个 option_blacklist。在 probe 阶段如果检测到当前接口是网络接口option 会返回 -ENODEV从而把该接口让给 qmi_wwan、cdc_mbim 或 cdc_ether 等网络驱动。四、 实战操作与调试指南1. 查看驱动是否加载及设备状态作者: Shell链接: https://notes.z-dd.online/2026/08/26/Linux%E4%B9%8BUSB%E4%B8%B2%E5%8F%A3option%E9%A9%B1%E5%8A%A8%E7%AE%80%E4%BB%8B/来源: DDNotes著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。。。。 。。。更多请关注我的博客https://notes.z-dd.online/或我的
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Muse AI 爆火后还能注册吗?我刚刚实测成功:Gmail + 虚拟浏览器,48 小时内再领 10 亿词元 2026/10/1 7:45:52

Muse AI 爆火后还能注册吗?我刚刚实测成功:Gmail + 虚拟浏览器,48 小时内再领 10 亿词元

Muse AI 注册实测:Gmail Lexmount Cloud Browser 完成注册,附常见报错与额度设置说明 最近几天 Muse AI 的讨论热度明显上升。 Muse 的定位并不是传统意义上的聊天机器人,而是更接近 Personal AI Agent(个人 AI 智能体&#xff0…

阅读更多 →
基于AI的自动化测试工具推荐:用TaoToken统一Key打通单元测试生成链路 2026/10/1 7:45:39

基于AI的自动化测试工具推荐:用TaoToken统一Key打通单元测试生成链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
从心理按摩到实操上手的OpenClaw全指南:TaoToken统一Key接入飞书Agent 2026/10/1 7:45:39

从心理按摩到实操上手的OpenClaw全指南:TaoToken统一Key接入飞书Agent

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
镜像与克隆:Iperius Backup 的磁盘级数据保护方案 2026/10/1 7:45:39

镜像与克隆:Iperius Backup 的磁盘级数据保护方案

当一台服务器在凌晨三点因硬盘物理故障彻底宕机,企业面对的不是“恢复几个文件”的问题,而是“整台机器怎么在最短时间内重新运行起来”。文件级备份在这个场景下几乎帮不上忙——企业需要的是磁盘镜像或磁盘克隆。Iperius Backup 在这两个方向上提供了相…

阅读更多 →
企业网盘自动化任务流串联:六种任务类型与执行权重设计 2026/10/1 7:45:39

企业网盘自动化任务流串联:六种任务类型与执行权重设计

企业网盘自动化任务流串联:六种任务类型与执行权重设计 企业在日常文件管理中面临一个共性问题:大量重复操作挤占了IT运维和业务人员的时间。文件上传后需要转PDF、压缩包需要自动解压、临时文件需要定期清理、命名规范需要统一执行——这些任务如果全部…

阅读更多 →
Harness 介绍及使用场景:用 TaoToken 统一 Key 跑通 AI Agent 工作流 2026/10/1 7:45:39

Harness 介绍及使用场景:用 TaoToken 统一 Key 跑通 AI Agent 工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉