USB设备自动移除问题
“山大老板”通过精心收集,向本站投稿了6篇USB设备自动移除问题,下面小编给大家带来USB设备自动移除问题,希望能帮助到大家!
篇1:USB设备自动移除问题
问:新买了一款MP3播放器,将MP3播放器插入电脑的USB接口后,可以正常看到一个新的移动磁盘,当我想把歌曲复制进MP3播放器时,系统提示USB设备被移除,反复换了多个USB接口、MP3播放器也更换过两个后问题依旧,但将MP3播放器插入朋友的电脑中却没有此现象,请问这是什么问题,我该怎么解决?
答:解决方法如下:首先,新安装一遍操作系统,正确安装MP3播放器的驱动程序与管理程序,如果问题依旧就不是软件故障所导致,
那么就耍考虑是否为硬件故障,很可能是由于你机器的USB接口供电不足所导致,建议购买一块PCI-USB接口卡,这样就可以直接用PCI接口取电。最后提醒一点,不要使用USB延长线或者前置USB接口,那样也很容易出现数据传输不稳定和供电不足等问题。
篇2:Windows8移除USB设备后LED灯常亮如何关闭
解决方法:
1、按下“Win”+“R”组合键打开运行窗口,输入“regedit”,点击“确定”,就会打开注册表编辑器,
2、双击注册表左侧树形目录,依次展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbhub, 3、右击“usbhub”,新建一个项,并命名为“HubG”。 4、右击“HubG”,新建一个DWORD (32位)值,并命名为“DisableOnSoftRemove”。如果是64位系统,请新建对应的QWORD(64位)值。 5、右击“DisableOnSoftRemove”,将数值修改为“1”,点击确定。篇3:Win7控制禁止USB设备的自动运行
在Windows XP系统下,用户在限制USB设备使用方面,首先考虑的就是禁止其自动播放,以避免木马病毒入侵,但很多时候,这样的方法并不是很有效。如果你是Windows 7用户,那就可以通过它独有的“权限控制”技术,从源头上控制USB设备的自动运行。
那么,怎样才能从源头控制呢?
大家应该都知道,当USB设备插入电脑主机,稍后一会,系统将会提示XX设备已经可以使用,这个过程其实就是系统识别,并为USB设备安装驱动的过程。我们可以利用Windows 7特有的权限控制功能,禁止它自动识别并安装驱动,这样就可以达到控制源头的目的了。
进入“X:Windowsinf”目录(X:为Windows 7所在分区盘符),分别找到“usbport.PNF”和“usbstor.inf”文件,然后分别再将与之对应的“组或用户”属性安全权限设置为“拒绝”,
以设置“usbstor.inf”为例:
右键单击“usbstor.inf”文件,在弹出的对话框中切换奥“安全”选项卡,将系统默认的组或用户“SYSTEM”的“完全控制”权限设置为“拒绝”。
将对应的组或用户的完全控制权限设置为“拒绝”
Win7
上图中,SYSTEM默认是完全控制的,用户可以通过下方的“高级”按钮,进入设置引导窗口。此处不做赘述。
此方法虽可以从源头控制USB设备的自安装情况,但相应的,当你将设备插入电脑主机后,系统就会“装聋作哑”,对于你的插入行为不做任何回应。相应的,笔者建议,用户应该为自己常用的用户提升权限,使其获得“完全控制”权限,以达到变通的效果。
篇4:USB设备配置简介
和PCI总线设备一样,USB设备也必须有自己的配置信息,以便实现即插即用,但是USB设备的配置信息比PCI设备复杂许多,这是因为USB设备的描述符种类比较多。要理解USB设备的描述符,首先需要看一下USB设备的逻辑结构(编程结构),如图10.46所示。
一个USB设备可以有几种配置。比如,一个最大需求200mA电流的设备和一个总线供电的LJSB设备相连时,它只能获得100mA电流。在这种情况下,这个设备就不被支持,主机软件也不会激活这个设备。为了避免出现这个情况,设备的设计者可以提供一种可选的配置,把设备对总线电流量的要求减少到100mA(当然,应采取措施保证在100mA时也能工作,比如,关闭某些功能)。
一个USB设备可以有几个接口。比如,USB数字电话有两个接口:音频接口(发送器和接收器)和人机接口(拨号装置)。又如,CD-ROM有三个接口:音频接口、视频接口和大容量存储接口。在USB系统中,一个接口实现一种功能。也可反过来说,设备中具有某种独立功能的部分构成一个接口。
端点的概念在前面已经提到,端点是主机和设备之间通信流的终点。比如,设备的一个输出寄存器就是一个输出端点。一个设备可以有多个端点,而端点总是属于某个接口的,这是因为端点是根据接口的需要设置的,一个接口可以有多个端点,
认识了USB设备的逻辑构成,就可以扫描一下USB设备的描述符。在USB系统中,设备的描述符包括:
①设备描述符:每个设备有一个设备描述符,它包含了设备的一般信息,并且标出了一个设备所支持的可能的配置的数量(一个或几个)。此外,它还包含了缺省通信管道(端点0)的信息。
②配置描述符:一个设备对它所支持的每一种配置都有一个配置描述符。它包括关于配置的一般信息,并且定义了当使用这些配置时的接口数量。
③接口描述符:提供了关于接口的一般信息,也指出了特定的接口所支持设备类。此外,它还指出了该接口进行通信时所使用的端点描述符的数量。
④端点描述符:一个端点描述符定义了一个通信点。端点描述符包含了一些信息,例如,端点支持的传输类型(指块传输、中断传输、等时传输和控制传输)以及支持的最高传输速率。
⑤字符串描述符:可选的描述符,由UNICODE(统一字符编码标准,用16位二进制数表示一个字符)字符串组成。它提供了那些可显示出来供人们读取的信息。可以为制造商、产品、序列号、配置和接口等定义字符串描述符。例如,为某个接口定义一个字符串描述符,并在接口描述符中设置指向该字符串描述符的指针。这样,可显示出与这个接口有关的说明信息。
⑥设备类定义描述符:可用来定义新的设备类,以便在标准设备类的基础上增加一些新的功能。
各种描述符的格式和含义在USB总线规范中都清楚地作了说明。例如,设备描述符。
篇5:USB设备开发简介
USB设备开发简介
USB设备的开发一般包括三个方面:设备端硬件接口设计、固件(即要写到设备内部只读存储器中去的运行程序)编写,及主机端设备驱动程序的开发,这里仅就设备端硬件接口设计作一些介绍。
1.USB设备接口设计方案
USB设备接口设计有两种方案可选:采用普通单片机加专用USB接口芯片;采用带USB接口的单片机,即专用USB控制器芯片。
目前有多种类型的USB接口芯片,例如USBN9602(NationalSemiconductor公司)、PDIUSBDl2(Philips公司)和USS820/825(Lucent公司)等。采用普通单片机加USB接口芯片方案的优点是:开发人员可以利用现有单片机开发系统开发设备的应用程序,而不必再投资购买新的单片机开发系统;缺点是:硬件设计比较复杂,调试麻烦。
第二种方案中所采用的LISB控制器芯片有两类:一类为完全从底层开发的微控制器芯片,如Cypress的CY7C63XXX系列;一类是基于通用单片机开发的USB控制器芯片,如与Intel8051兼容的8x930A/8x931A(Intel/Cypress公司)、EZ-USB(Cypress公司)。第二种方案的优点是设计简单。例如,EZ-USB单片机集成了加强的8051微控制器、智能USB引擎、USB收发模块和RAM等,它提供了24个I/O端口、16位地址线、8位数据线、1个PC机接口和l对USB接口。所集成的智能USB引擎可以完成USB协议所规定的80%~90%的通信工作,减轻了USB外设开发人员的开发负担;所提供的开发工具能自动生成固件框架,开发者只须根据需要填些相关函数体;固件和驱动程序可以分别独立调试,极大地提高开发速度。该方案的缺点是需购买新的单片机开发系统,投资较大。
如果要深入理解USB通信协议、USB设备工作机制以及USB设备驱动开发模型,最好选择第一种方案,即采用USB接口芯片+传统单片机+设备功能电路的模块化设计方法。设计出的USB设备的功能框图如图10.47所示。
2.USB芯片PDIUSBDl2简介
采用第一种方案时需要熟悉USB接口芯片。这里对PDIUSBDl2(简称D12)作一些简单介绍,使读者对该类芯片有一个基本认识。
D12全面支持USB规范1.1,并且与大多数设备类兼容,图像设备类、大容量存储设备、通信设备、打印设备、人机接口设备。D12还具有SoftConnect、GoodLink、可编程时钟输出,以及低频石英振荡器等特征,从而极大降低系统实现成本,并简化高级USB功能的实现,
该芯片采用双列直插封装,有28个信号引脚。其中包括2个USB数据信号(D+、
D-)、8个双向数据信号、1个中断输出信号、1个命令/数据口选择输入、读和写输入信号、GoodLinkLED指示灯信号,以及与DMA请求相关的信号引脚。
D12提供三组端点,每组有一个用于输入的端点和一个用于输出的端点。其中端点0(组)为设备缺省支持的控制端点;端点l(组)为普通端点,可以作为块传输或中断传输端点;端点2(组)称为主端点,除了支持块传输或中断传输外,还支持等时传输,此外,它采用双缓冲区结构,因此具有更高的传输速率,并支持DMA方式(与单片机之间的数据传送)。端点0和端点1的最大包尺寸为16字节,而端点2的最大包尺寸为64/128字节。
D12提供三组命令:初始化命令、数据流命令和一般命令。初始化命令在USB设备被枚举时使用,用来使能端点并为其分配地址、设置端点的传输方式以及进行其他初始化方面的操作。数据流命令用来管理端点与微处理器之间的数据交换。一般命令实际是两条:一条是发送给下游设备的恢复命令,用来激活被挂起的设备;一条是读当前帧的编号。
作为例子,下面看几条数据流命令的功能。
①选择端点命令:选择某端点,并将内部指针指向该端点缓冲区的开始。
②读缓冲区命令:从所选择端点缓冲区读取若干字节,每读取一个字节,缓冲区指针加1。
③写数据缓冲区命令:向端点缓冲区写入数据(最多130个字节)。
④读中断寄存器命令:该命令之后需读入两个字节。字节1用来判断总线事件,即哪个端点发生中断或总线状态变化;字节2的最低位指出DMA操作是否完成(高位保留)。
⑤SETUP确认命令:当控制端点接收到一个SETUP包时,该端点将被冻结,缓冲区中一直保留最后一个SETUP包。发出该命令将解除冻结,继续进行SETUP事务(向主机返回包)。设置该命令是考虑到控制传输的特殊性(对设备进行配置)。
数据流命令还有其他命令,如读取最后一次事务状态命令、清除缓冲区命令、设置端点状态命令等。仅从上面给出功能的几条命令可以看出,这些命令主要被设备的控制器(单片机)用来和D12芯片的数据缓冲区及专用寄存器打交道,而USB传输协议的执行(包括数据打包、握手包的形成与发送等)由D12完成。
篇6:USB设备检测过程
USB设备检测也是通过/proc目录下的USB文件系统进行的,为了使一个USB设备能够正常工作,必须要现在系统中插入USB桥接器模块。在检测开始时,一般要先检测是否存在/proc/bus/usb目录,若不存在则尝试插入USB桥接模块。
现在一般的USB桥接器模块有两种类型,UHCI和OHCI。在决定插入那一个桥接器模块时,可以察看/proc/pci文件来决定。打开此文件,您若发现USB节为 I/O at 0xHHHH格式(例如出现 I/O at 0xe000 [0xe01f]),HHHH为16进制数,则桥接器类型为UHCI。若是它为32 bit memory at 0xHH000000形式(例如出现32 bit memory at 0xee000000),HH为16进制数,则桥接器类型为OHCI。但是若您的桥接器类型不满足上述任何一种情况,唯一的解决办法就是您尝试插入这两种模块,直到成功为止。一般而言,UHCI类型的桥接器它的插入模块是uhci或usb-uhci(由内核版本决定);而对于OHCI类型的桥接器它的插入模块是ohci或usb-ohci。
您在正确的插入了桥接器模块之后,这时/proc文件系统下就会出现USB设备目录,不过这时这个目录是空的,没有任何文件。这时您就必须挂接 usbdevfs文件系统,然后通过此文件系统检测连接的设备。在成功挂接usb文件系统之后,就会生成文件 /proc/bus/usb/devices,/proc/bus/usb/drivers和目录/proc/bus/usb/busNo。挂接 usbdevfs文件您可以通过如下操作实现:
mount -t usbdevfs none /proc/bus/usb
或在/etc/fstab上加入
none /proc/bus/usb usbdevfs defaults 0 0
然后通过/proc/bus/usb/devices文件的内容,您就可以获得连接的设备信息,包括设备标识和制造商标是等信息。
usb设备类型描述:
设备规范 设备类码 接口类码
应用程序特定 - 0xFE
声音接口 0x00 0x01
通信设备 0x02 -
CDC控制接口 - 0x02
CDC数据接口 - 0x0A
HID 0x00 0x03
HUB 0x09 0x09
批量存储设备 0x00 0x08
监视器 same as HID same as HID
电源设备 same as HID same as HID
物理设备 - 0x05
打印机 - 0x07
供应商特定 - 0xFF
5.2 usb文件系统简介
T = 总线拓扑结构(Lev, Prnt, Port, Cnt, 等),是指USB设备和主机之间的连接方式
B = 带宽 (仅用于USB主控制器)
D = 设备描述信息
P = 产品标识信息
S = 串描述符
C = 配置描述信息 (* 表示活动配置)
I = 接口描述信息
E = 终端点描述信息
一般格式:
d = 十进制数
x = 十六进制数
s = 字符串
拓扑信息
T: Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=ddd MxCh=dd
| | | | | | | | |__最大子设备
| | | | | | | |__设备速度(Mbps)
| | | | | | |__设备编号
| | | | | |__这层的设备数
| | | | |__此设备的父连接器/端口
| | | |__父设备号
| | |__此总线在拓扑结构中的层次
| |__总线编号
|__拓扑信息标志
带宽信息
B: Alloc=ddd/ddd us (xx%), #Int=ddd, #Iso=ddd
| | | |__同步请求编号
| | |__中断请求号
| |__分配给此总线的总带宽
|__带宽信息标志
设备描述信息和产品标识信息
D: Ver=x.xx Cls=xx(s) Sub=xx Prot=xx MxPS=dd #Cfgs=dd
P: Vendor=xxxx ProdID=xxxx Rev=xx.xx
D: Ver=x.xx Cls=xx(sssss) Sub=xx Prot=xx MxPS=dd #Cfgs=dd
| | | | | | |__配置编号
| | | | | |______缺省终端点的最大包尺寸
| | | | |
| | | | |__设备协议
| | | |__设备子类型
| | |__设备类型
| |__设备USB版本
|__设备信息标志编号#1
P: Vendor=xxxx ProdID=xxxx Rev=xx.xx
| | | |__产品修订号
| | |__产品标识编码
| |__制造商标识编码
|__设备信息标志编号#2
串描述信息
S: Manufacturer=ssss
| |__设备上读出的制造商信息
|__串描述信息
S: Product=ssss
| |__设备上读出的产品描述信息,对于USB主控制器此字段为USB *HCI Root Hub
|__串描述信息
S: SerialNumber=ssss
| |__设备上读出的序列号,对于USB主控制器它是一个生成的字符串,表示设备标识
|__串描述信息
配置描述信息
C: #Ifs=dd Cfg#=dd Atr=xx MPwr=dddmA
| | | | |__最大电流(mA)
| | | |__属性
| | |__配置编号
| |__接口数
|__配置信息标志
接口描述信息(可为多个)
I: If#=dd Alt=dd #EPs=dd Cls=xx(sssss) Sub=xx Prot=xx Driver=ssss
| | | | | | | |__驱动名
| | | | | | |__接口协议
| | | | | |__接口子类
| | | | |__接口类
| | | |__中断点数
| | |__可变设置编号
| |__接口编号
|__接口信息标志
终端点描述信息
E: Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddms
E: Ad=xx(s) Atr=xx(ssss) MxPS=dddd Ivl=dddms
| | | | |__间隔
| | | |__终端点最大包尺寸
| | |__属性(终端点类型)
| |__终端点地址(I=In,O=Out)
|__终端点信息标志 '
【USB设备自动移除问题】相关文章:
4.自动回复
8.qq自动回复
9.QQ自动回复
10.个性自动回复






文档为doc格式