热门关键字:  ubuntu  分区  Fedora  linux系统进程  函数

当前位置 :| 主页>Linux教程>Linux入门>

Linux USB指南

来源: 作者: 时间:2008-07-31 Tag: 点击:

Linux USB指南

1. 简介

USB是什么?

USB的意思是通用串行总线(Universal Serial Bus),是一种扩展接口标准,主要用于不同计算机或其周边设备之间的通信。一些大众化的USB设备有键盘、鼠标、U盘、数码相机、CD和DVD外接读写器、打印机等。

目前USB标准有两种版本:USB 1.1 与USB 2.0。由于USB的前一版总是向后兼容的,所以USB 2.0兼容USB 1.1。最新的USB设备通常都是支持USB 2.0。USB 2.0支持的最大数据传输速率为480 MBps与60 MBps,这分别是USB 2.0与其所兼容的USB 1.1的数据传输速率。USB还具有支持设备热插拔的优点,这意味着不必重启系统即可使用USB设备。

技术剖析

在进行内核有关USB配置之前,先来了解一下它的一些知识细节。如果没有多少时间或者不想阅读这一节,可直接阅读配置内核一节。

USB系统有一个主控制器(host controller),一些集咂?hub)(不是网络工具中的那个“集线器”)以及一个 根集线器(root hub), 根集线器所能连接的USB设备的上限是127个。主控制器只是USB设备与操作系统之间的硬件接口。目前有两种主控制器接口(HCI, Host Controller Interface):Compaq的OHCI (Open HCI),Intel的UHCI (Universal HCI)和EHCI (Enhanced HCI)。OHCI/UHCI是针对USB 1.1的工业标准,而EHCI是针对USB 2.0的。

硬件商向程序员提供开发接口,即所谓的HCD (Host Controller Device)。通过HCD,USB设备可以与系统软件进行交互,看下面的图示会更易于理解这一点。

代码 1.1: USB一般体系结构

(软件层还有设备驱动之类的成份构成,但出于简化问题的目的,在此略去) + ---- 硬件 ---- + ---- 软件 ---- + | | | | [USB Dev] -+-> {EHCI} -+---> ( EHCD ) | | | | | 用户 | `-> {UHCI} -+---> ( UHCD ) | | | | + ---- 硬件 ---- + ---- 软件 ---- +


USB设备可以有单独的驱动程序,也可以使用系统提供的驱动程序,这依赖于设备的类别。也就是说,如果一个USB设备属于某种类别,那么其他属于该 类别的设备就可以使用同一种设备驱动。在USB设备类别中有一些是USB HID (Human Interface Device)类别,它包括:输入设备,如键盘、鼠标;USB块存储设备,比如U盘、数码相机、音频播放器等;USB CDC (Communication Devices Class,通信设备类别),比如USB口的modem或其他类似设备。

你的机器上有什么?

要想弄清楚你的机器是否支持USB 2.0是很简单的,可以使用lspci来查看。

注意: lspci工具是sys-apps/pciutils包的一部分,如果未有安装该软件包,请emerge pciutils。要注意的是,必须是root用户才有权限执行lspci命令。

代码 1.2: lspci的输出

(系统是兼容USB 1.1的,即UHCI接口)# lspci -v | grep USB0000:00:04.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI])(A system that is USB 2.0 compliant, note the EHCI and UHCI)00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 01) (prog-if 00 [UHCI])00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 01) (prog-if 00 [UHCI])00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 01) (prog-if 00 [UHCI])00:1d.7 USB Controller: Intel Corp. 82801DB USB EHCI Controller (rev 01) (prog-if 20 [EHCI])


使用lspci,可以搞清楚系统是否支持USB 2.0,这在配置内核编译选项时有用。

上一篇:linux杂集
下一篇:WINGRUB教程


相关文章:
linux U盘启动盘制作
Linux设置启动程序
free -m
多核技术与并发多线程技术介绍
理解Linux的性能
section.2 booting and shutting down 引导与关机
Linux — 目录的读权限与执行权限
Linux — 硬链接与符号链接
Linux裸设备总结
linux系统文件综述
Linux下硬盘数据恢复与分区表恢复
./configure命令常用选项详解
浅谈如何学习linux
grub双系统启动顺序更改
Linux 下实现远程开机
Linux系统清除Grub的几种方法
AIX如何才能看出网线是否插好?
vxvm 逻辑卷管理中遇到的问题
linux系统文件认识
Linux守护进程列表
关于/dev/null
FreeBSD学习笔记
Linux简明教程
linux任重道远
在Linux里设置环境变量的方法(export PATH)
关于.bashrc和.vimrc不能自动被执行的问题
linux优秀网站列表
关于swap,虚拟内存和page的区别
Linux系统下系统目录详解
Cooperative Linux