首页 > 其他分享 >Android Qcom USB Driver学习(三)

Android Qcom USB Driver学习(三)

时间:2024-08-15 22:29:47浏览次数:7  
标签:usb hub usb1 Driver Host Qcom 1.1 Android USB

usb hub区分端口 USB 子系统拓扑浅析
USB ID Database VendorID and ProductID

usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: xHCI Host Controller
usb usb1: Manufacturer: Linux 4.19.157 xhci-hcd
usb usb1: SerialNumber: xhci-hcd.0.auto
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected

usb 1-1: New USB device found, idVendor=0451, idProduct=8142, bcdDevice= 1.00
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
usb 1-1: SerialNumber: 3E000079C0A6
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected

usb 1-1.1: New USB device found, idVendor=0451, idProduct=8027, bcdDevice= 1.10
usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=1
usb 1-1.1: SerialNumber: F30100617AAF
hub 1-1.1:1.0: USB hub found
hub 1-1.1:1.0: 2 ports detected

usb 1-1.2: New USB device found, idVendor=0424, idProduct=9e00, bcdDevice= 2.00
usb 1-1.2: Product: USB 2.0 Fast Ethernet Adapter

usb1 是 USB Host Controller 直接控制的 roothub, roothub 是 1 起序的,所以这是第一个 hub;其中 “1-0:1.0”中的 “1-0”表示的是第 1 个 hub(即usb1)的第 0 号端口,但实际上 hub 的 port 编号是从 1 开始, 0 号 port 就是指 hub 自身。而 “:” 后面的 “1.0” 对应的语法格式是 “configID:interfaceID”,当检测到连在 roothub(usb1) 上的另一个新设备 “1-1”。 它连在 roothub 的第 2 个 port 上,编号从 1 开始。

idVendor(vid):    厂商ID
idProduct(pid):   产品ID
bcdDevice:        设备版本号

iManufacturer:    描述厂商的字符串索引
iProduct:         描述产品的字符串索引
iSerialNumber:    产品序列号字符串的索引

usb拓扑图

---------------------------------------+------------------------------  platform bus
			                           |
							   /-----------------
							   | Host Controller |  (usb1), which contains a roothub (1-0)
							   -----------------/  the roothub has only one downstream port
			                           |          
---------------------------------------+------------------------------ usb bus (level 1)
							           |		
							      /---------
							      |   1-1   |    hub (1-1), has 4 ports
							      ---------/
							           |
-----------------+----------------+---------------------+-------+----- usb bus (level 2)
                 |                |                     |       |
            /---------            |                     |       |
            |  1-1.1  | Fast Ethernet Adapter(1-1.2)  1-1.3   1.1.4     
            ---------/   
                 |
----------+-------------+------------------------------------------- usb bus (level 3)
          |             |
          |             |      

那其实我们注意到hub的root必须是Host,之前在项目上就遇到过识别到client的情况下,我们的usb3803进入hub mode而导致usb口在电脑上无法识别于工作,正常应该是要bypass mode

hub的root需要usb Host Controller,常见的就是

(1)UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1),主要是因特尔自家芯片组
(2)OHCI: Open Host Controller Interface (开放主机控制接口,USB1.0/1.1),其他厂商的nvidia等使用
(3)EHCI: Enhanced Host Controller Interface (用于USB2.0高速设备的“增强主机控制接口”)
(4)XHCI: EXtensible Host Controller Interface,(用于USB3.0的接口标准), xHCI支持所有种类速度的USB设备(USB 3.0 SuperSpeed, USB 2.0 Low-, Full-, and High-speed, USB 1.1 Low- and Full-speed)。xHCI的目的是为了替换前面3中(UHCI/OHCI/EHCI)

标签:usb,hub,usb1,Driver,Host,Qcom,1.1,Android,USB
From: https://www.cnblogs.com/linhaostudy/p/18361909

相关文章

  • Android Qcom USB Driver学习(二)
    BCv1.2充电规范BatteryChargingSpecificationUSBport如何识别不同的Charger类型USBCharger类型USB_SDP_CHARGERPOWER_SUPPLY_TYPE_USB(StandardDownstreamPort)USBChargerUSB_CDP_CHARGERPOWER_SUPPLY_TYPE_USB_CDP(ChargingDownstreamPort)USBChar......
  • Android T(13) The app is granted permissions by default
    对比Android11,frameworks\base\services\core\java\com\android\server\pm\permission文件夹下,多了个PermissionManagerServiceImpl.java.有一部分关于权限的处理,移到了这个文件中.比如:restorePermissionState(...)allappgrantedpermissionsbydefault+++b/frameworks......
  • 高德地图SDK Android版开发 5 地图交互操作
    高德地图SDKAndroid版开发5地图交互操作前言控件控件介绍接口UiSettingsAMapOptions示例代码Logo指南针比例尺缩放按钮效果图地图手势地图手势方法说明地图手势开关指定屏幕中心点的手势操作地图手势事件地图点击事件监听接口地图长按事件监听接口地图触摸事件监......
  • 百度地图SDK Android版开发 5 地图交互操作
    百度地图SDKAndroid版开发5地图交互操作前言控件控件介绍接口MapViewBaiduMapUiSettingsLogoPosition示例代码Logo指南针比例尺缩放按钮地图上控件边距效果图地图手势地图手势方法说明地图手势开关接口地图手势事件地图单击事件监听接口地图双击事件监听接口地图长......
  • Android面试中Service夺命六小问
    1、请解释一下Android中的Service以及它的用途。Service是Android中的四大组件之一,它可以在后台执行长时间运行的操作,而不需要与用户进行交互。它主要用于执行一些不需要用户界面的任务,例如播放音乐、下载文件、同步数据等。Service有以下几个特点:后台运行:Service......
  • Android笔试面试题AI答之Kotlin(6)
    文章目录24.以下代码执行的结果是什么?25.解释一下下述Kotlin代码有什么问题?26.如何在Kotlin中创建常量?示例注意事项总结27.Koltin可以互换使用IntArray和Kotlin中的Array吗?IntArrayArray<Int>互换使用从IntArray到Array<Int>从Array<Int>到IntArra......
  • Android SDK 遇到的坑之讯飞语音合成
    目录一、讯飞在线语音合成二、组件未安装.(错误码:21002)2.1Android10错误信息2.2Android13错误信息三、错误分析    3.1没有使用SpeechUtility.createUtility()设置appid  3.2 没有将libmsc.so放到工程中往期推荐一、讯飞在线语音合成   ......
  • Android10.0 最近任务Recents功能分析
    在Android10.0上,Recents功能分布在SystemUI和Launcher3里面集成.一.初始化跟Android8.1类似,先看初始化入口:1.Recents.javaRecents继承SystemUI,进程启动后会在Dependency里面通过@Inject进行初始化,然后在SystemUIService里面调用SystemUIApplication的startServicesIfNee......
  • Android HWUI
    AndroidHWUI(HardwareAcceleratedRenderingEngineforUI)是Android系统中用于处理UI渲染的硬件加速引擎。它的主要作用是利用GPU(图形处理单元)来加速UI的渲染过程,从而提高渲染效率和流畅度。以下是AndroidHWUI工作的主要方式和步骤: 一、基本工作原理传统软件的UI绘制是依靠......
  • Android-代码混淆及字符串加密
    代码混淆使用ProGuard&R8一些参考链接Android混淆,新引入的D8、R8改变了什么?sdk打包必备,proguard混淆规则如何配置开启混淆app/build.gradle.android.buildTypesrelease{minifyEnabledtrue//开启混淆proguardFilesgetDefaultProguardFile('proguard-and......