Android USB分析

news2024/12/23 10:46:54

先下一个定论,常规来讲,所有作slave的android设备都是配件,作为主机的android设备还是叫Host。此外还有usb tethering支持的radnis功能以及ncm功能,这两个是网络相关的usb应用,使用usb模拟网卡。其中radnis属于上网能力,有配套的iptables;ncm属于局域网功能,仅支持点对点通信。

配件模式

作为配件模式,需要监听广播ACTION_USB_ACCESSORY_ATTACHED和ACTION_USB_ACCESSORY_DEATTACHED,这里有一个问题。android设备目前默认是支持AOA的,但是作为配件的android设备在插入android设备后并不会收到ACTION_USB_ACCESSORY_ATTACHED,仅仅作为Host的usb主设备可以收到。

参考代码:

AccessoryDisplay/source/src/com/android/accessorydisplay/source/SourceActivity.java
AccessoryDisplay/sink/src/com/android/accessorydisplay/sink/SinkActivity.java

Usb从设备通过监听/devices/virtual/misc/usb_accessory的uevent时间确认是否开启配件模式。

这个设计原理可以这么想,作为usb主机刚开始我仅仅知道有一个设备通过usb和我连接在一起,底层默认支持配件,但是主机上层并不知道。对于主机来讲我只知道一个usb设备和我连接了,但是具体他是什么成分我并不关心,但是用户使用的目标app往往是清楚的,所以app会引导用户开启配件模式。

总结

USB复杂的东西大多在bsp这部分,从上电到全速、高速、低速几种方式的认证以及设备树的枚举过程。对于framework而言,实现的东西比较少。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1098324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何减轻软件测试的时间压力?6大注意事项

软件测试处于软件研发流程的下游。如果上游的项目进度延迟,往往会遇到通过压缩测试时间来按时交付的情况。 因此软件测试人员经常遇到时间压力,可能会为了赶时间草率测试,导致测试人员无法充分地测试所有功能和场景,影响测试的覆盖…

如何制作有专业水准的的电子杂志:专家教你秘籍

​随着数字化时代的到来,电子杂志作为一种新型的传媒形式,越来越受到人们的关注和喜爱。但是,如何制作一份具有专业水准的电子杂志呢? 今天,给大家分享一款在线就能制作的电子杂志------FLBOOK,让你轻松打造…

【mac】常用命令01

1、如何像windows一样看磁盘? 不断的在上层文件夹显示,找到最上层,拖拽到左侧,方便之后找 2、Macintosh HD显示隐藏文件夹方法 终端窗口: defaults write com.apple.finder AppleShowAllFiles true killall Finder 或者…

Java发起Soap请求

目录 1.前言2.请求报文格式2.1不带表头的请求格式2.2带表头的请求格式 3 请求代码实例3.1解析Soap返回的XML,提取需要的元素 参考 文章所属专区 超链接 1.前言 SOAP请求(Simple Object Access Protocol,简单对象访问协议)是HTTP…

CEC2013(MATLAB):猎豹优化算法(The Cheetah Optimizer,CO)求解CEC2013

一、猎豹优化算法CO 猎豹优化算法(The Cheetah Optimizer,CO)由MohammadAminAkbari等人于2022年提出,该算法性能高效,思路新颖。 参考文献: Akbari, M.A., Zare, M., Azizipanah-abarghooee, R. et al. Th…

word误删除的文件怎么恢复?恢复办法分享

在日常工作和学习中,我们常常会使用到Word来撰写文章、毕业论文、方案等。然而,我们可能会遇到Word误删文件的情况,令我们陷入恐慌,特别是这个文件很重要时。幸运的是,有办法找回。下面一起来看下word误删除的文件怎么…

RFID固定资产管理的应用

在如今的商界竞争中,要确保企业的固定资产管理得当至关重要。庆幸的是,现代科技为这一挑战带来了一项高效的解决方案,那就是RFID技术。 **RFID技术就是借助无线射频通信,通过RFID标签和读写器之间的互动,来识别和跟踪资…

【力扣520】检测大写字母

👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析 一、题目描述 题目链接:检测大写字母 我们定义,在以下情况时&#xff…

ARM Cortex-A9:裸机开发,点亮LED3

1.看原理图 外设板原理图 核心板原理图 2.在芯片手册中找到控制硬件的有效的特殊功能寄存器 选择0x1输出 GPX1DAT[0]->GPX1_0 0->1/0 3.编程 start.s Makefile复制到桌面 使用超级终端,连接串口 随便写一个 选择串口 配置串口 板子上电马上按enter…

MATLAB | 对随机信号进行统计分析,绘制频次直方图、频率分布图,与理论概率密度进行比较

一、问题描述 对于一个随机信号,我们可以通过统计手段,得到其的频次分布图(直方图),并由此计算出它的频率分布图。当观察次数区域无穷大时,频率分布图近似于概率密度函数。 下面我们以稳定分布的随机变量为…

MySQL多表查询面试题一

其中分析题意,学生表student是与成绩表score关联,课程表course与教师表teacher关联,由此可以先确定关联关系,学生表为s,课程表为c,教师表为t,成绩表为o。s.s_ido.s_id,c.t_idt.t_id …

SpringBoot核心功能与基础配置

SpringBoot简介 原先的Spring程序缺点,包括依赖设置繁琐,每项jar的引用都需要自己撰写。并且配置繁琐,配置文件中也需要自己写加载bean等。由此针对原始的Spring程序,Pivotal团队提供的全新框架——SpringBoot,其设计…

PyQt 定义控件SwitchButton 指南

PyQt 定义控件SwitchButton 指南 PyQt 定义控件SwitchButton 指南实例程序效果如下所示: PyQt 定义控件SwitchButton 指南 SwitchButton 是一个自定义开关按钮控件,通常用于在用户界面中启用或禁用某些功能或选项。它是一种用户友好的控件,允…

云汉芯城一站式电子制造平台启想智联顺利通过IATF16949:2016质量管理体系认证

近日,云汉芯城旗下一站式电子制造服务平台上海启想智能科技有限公司(以下简称“启想智联”)顺利通过IATF16949:2016质量管理体系认证,并获得由URS颁发的认证证书。通过此项认证,标志着启想智联在全球汽车行业的技术规范…

AdminLTE 2 图标大全

AdminLTE 2 图标大全 链接地址:::::AdminLTE 2 | Icons

再也不用花钱了,教你一套键鼠控制多台电脑

Synergy是一款用于多台电脑之间共享键盘和鼠标的软件。它允许用户使用一套键盘和鼠标同时控制多台电脑,极大地提高了工作效率。Synergy支持跨平台使用,包括Windows、Mac和Linux等操作系统。用户只需在每台电脑上安装Synergy客户端,并按照软件…

十四.镜头知识之镜头色差

十四.镜头知识之镜头色差 文章目录 十四.镜头知识之镜头色差**14.1 色差** /Chromatic Aberration/**14.2 纵向色差****14.3 横向色差**14.4 ISP色彩还原同一场景两张由不同镜头拍出来的照片比较:上方的照片来自更高质量的镜头,下方的照片则出现了明显的色差,特别是在房顶右…

什么是云原生?零基础学云原生难吗?

伴随着云计算的浪潮,云原生概念也应运而生,而且火得一塌糊涂,但真正谈起“云原生”,大多数非 IT 从业者的认知往往仅限于将服务应用放入云端,在云上处理业务。实际上,云原生远不止于此。 现在越来越多的企…

LIMS第三方实验室信息化管理系统

实验室信息化管理系统LIMS,由计算机硬件和应用软件组成,能够实现实验室数据和信息的收集、分析、陈述和处理。实验室信息化管理系统LIMS是以查验检测作业为中心,包含一个以样品分析为主线的从样品登录、登记处理、查验检测、数据计算分析到成…

文字连续光影特效实现思路

文字连续光影特效实现思路 实现了一个文字阴影的效果,文字会不断变换颜色并产生阴影效果。具体实现如下: 使用 keyframes 定义一个名为 shadow 的动画,动画从当前颜色到 #ff0266,同时设置文字阴影的偏移量和模糊半径。使用 * 选…