linux串口重定向到usb串口,基于Linux的USB设备重定向研究

第27卷第4期2008年12月武 汉 工 业 学 院 学 报

Journal of W uhan Polytechnic University Vol 127No 14Dec 12008

收稿日期:2008209211

作者简介:王璇(1978-),男,福建省福清县人,工程师。

文章编号:100924881(2008)0420040203

基于L i n ux 的USB 设备重定向研究

王 璇1

,蔡雄飞2

,吴志军

3

(1.福建工程学院计算机与信息科学系,福建福州350014;2.武汉市建筑设计院,湖北武汉430014;

3.武汉工业学院机械工程系,湖北武汉430023)

摘 要:L inux 具有良好的移植性和较好的稳定性,在终端和服务器的领域都得到极广的应

用。而US B 总线也具有很强的通用性,是目前最为流行的外围接口总线之一。鉴于L inux 的操作系统作为服务器不支持设备重定向这一缺陷,提出基于L inux 的US B 设备重定向的方案,介绍了URB 请求重定向的处理流程以及服务器和终端所需要做的工作。关键词:US B;重定向;L inux

中图分类号:TG 306 文献标识码:A

0 引言

由于L inux 开放源代码便于移植,运行稳定,无论是在终端还是服务器领域,L inux 的应用都越来越广。L inux 终端可以通过xd mcp 等协议登陆到L inux 服务器,在这种c /s 体系中,数据的访问、查询、处理、存储在服务器上,终端只负责数据的输入输出以及前期工作,因此对终端的软件和硬件的要求不高。

US B 设备即插即用,数据传输速率快,US B 接

口已经取代串口、并口、I EEE1394,成为使用最广泛的计算机外围接口。但是xdmcp 等协议并没有象W indo ws 服务器提供的rdeskt op 、I CA 协议那样,具

有设备重定向的功能,也就是说终端登陆到L inux 服务器后,服务器上的应用程序并没有办法操作终端上的US B 设备,而终端本地多采用嵌入式操作系统,对设备操作能力有限。这对于本地资源来说,是一种严重的浪费,也使L inux 服务器的应用受到了一定限制。

本文提出了基于L inux 的US B 设备重定向的方案,详细介绍了URB 请求重定向的处理流程以及服务器和终端所需要做的工作,使得L inux 服务器上的应用程序可以访问L inux 终端上的US B 设备。

1 设备重定向

1.1 重定向的原理

设备重定向,就是把L inux 服务器上,对设备的操作,重定向到L inux 终端上。US B 设备重定向的原理是:在服务器通过创建虚拟设备,对该设备的操

作(主要是URB 请求)被虚拟驱动通过网络发送到终端,终端接收到请求后,发送给US B 设备,再把结果通过网络返回给服务器。对于服务器来说,网络是透明,上层的应用程序并不知道它所操作的对象是远端的US B 设备,就像操作本地的US B 设备。也就是把对服务器本地的虚拟设备的URB 请求重定向到终端的实际US B 设备。URB 请求的具体执行是L inux 终端来完成。

要成功的完成URB 请求操作,就必须搞清楚URB 请求的含义以及所代表的操作。1.2 URB

URB (US B request bl ock )是US B 设备驱动中用

来描述与US B 设备通信所用的基本载体和核心数据结构。用户要和US B 设备通讯,必须按照URB 请求包的格式提交给L inux 内核,内核根据这个URB 请求包的p i pe 信息,把URB 请求包添加到不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值