ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

为什么叫 ums_adb_acm ums?

为什么叫 ums_adb_acm ums? 在 Linux 和 Android USB 领域ums是一个历史悠久的标准缩写umsUSBMassStorageUSB 大容量存储协议 / U 盘模式一、 拆解ums_adb_acm的含义在你们的代码里ums_adb_acm代表这个 USB 复合设备Composite Device同时包含了3 种功能缩写全称对应 ConfigFS 节点作用umsUSBMassStoragemass_storage.usb0提供U盘 / CD-ROM 光盘存储功能Interface 0adbAndroidDebugBridgeffs.adb提供ADB 调试功能Interface 1acmAbstractControlModelacm.gs2提供CDC 虚拟串口通讯功能Interface 2 3所以ums_adb_acm的意思就是“U盘 ADB调试 虚拟串口” 三合一复合设备。二、 这一行代码的作用是什么代码里写着write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration ums_adb_acm在 USB 官方规范中设备可以向母 设备Host 侧提供一串人类可读的字符串Configuration String Descriptor配置描述符文本。这句话的作用就是向母 设备 的操作系统自我介绍“你好母 设备我的这个 USB 配置包含了 umsU盘、adb调试和 acm串口三种功能。”母 设备 的 Linux 内核在dmesg日志里就会打印出process_configuration: config string ums_adb_acm。三、 拓展Android 中常见的 USB 功能缩写表在 Android 的init.rc脚本中你会经常看到以下这些标准缩写umsUSB Mass StorageU盘 / 存储卡模式mtpMedia Transfer Protocol媒体传输协议手机连接电脑传文件常用的模式ptpPicture Transfer Protocol图片传输协议相机传输模式acmAbstract Control ModelCDC 虚拟串口POS 通讯用的模式adbAndroid Debug BridgeAndroid 开发者调试模式rndisRemote NDISWindows 共享 USB 虚拟网卡ncmNetwork Control Model通用 Linux/Mac USB 虚拟网卡
返回列表