linux 切换usb,一种Linux下USB设备主从切换实现.doc

本文介绍了在Linux系统中实现USB设备从Host到Device身份切换的方案。通过umonitor.ko驱动检测USB接口变化,根据ID pin状态决定加载USB Host或Device控制器驱动。当USB线拔出时,驱动卸载对应驱动。
摘要由CSDN通过智能技术生成

一种Linux下USB设备主从切换实现

一种Linux下USB设备主从切换实现   摘 要 USB协议是严格的主从协议,通讯过程中必须有一个做Host,一个做Device。本文阐述了一种在Linux下实现USB Host和Device身份切换的方法。

【关键词】USB OTG Host Device

1 引言

USB协议是严格的主从协议,通讯过程中规定通讯双方必须有一个做Host(比如PC),一个做Device(比如U盘)。但是有些设备可能会希望同时具有两种身份,在某个时刻做Host,另外一个时刻做Device,于是USB IF官方制定了OTG协议,规定两个都支持OTG协议的USB设备可以动态地根据需要进行主从切换。但是真正支持OTG协议的设备并没有流行起来,原因应该有如下:

(1)OTG协议实现要复杂些,而实际应用需求不强,市面上真正支持OTG协议的设备也很难找到,单方面支持OTG协议是没有用的,因此各大厂商没有动力推出OTG设备。

(2)USB协议规定Host要给Device供电,而大部分USB设备都是便携设备,对另外一个USB设备供电能力不足。

既然真正支持OTG协议的设备几乎难觅,那么为什么目前市面上很多的音视频播放器或平板电脑都号称支持OTG呢?其实这些设备并没有真正实现OTG协议(包括HNP协议和SRP协议),而只是通过USB线上ID Pin的状态来确立自己究竟是做主设备还是做从设备,一旦身份确认,在通讯过程中是无法动态切换的,所以严格来说这只是一种伪OTG设备。本文将讨论的就是Linux下这种情况的一种具体实现方法。

2 Linux下主从切换方案设计

Linux下该方案总体设计思路如图1:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值