近期在做烧写工具的优化工作,有一些关于USB的内容须要总结一下当中包含设备的初始化过程和枚举过程. 在枚举的过程中,设备会一直等PC端的状态,当等到reset命令时会对设备进行又一次枚举.可是这个reset终端是怎样而来呢? Halt Conditions A control endpoint may recover from a halt condition upon receiving a SETUP packet. If the endpoint does not recover from…
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Threading;using System.Collections;using S…
1.接上电源   关机 先按下shift +ctrl + opt + 开机键    ,等待10秒,这10秒是没有反应的,屏幕不会亮,系统不会跑起来,  10秒之后松开所有键,再按下opt + cmd  +r + p 接着按下开机键,这时电脑会不断重启,期间不会进入系统,屏幕白了黑了白了黑了,系统声音也不断响起,四次之后松开所有键,坏掉了的usb又可以闪闪功能恢复了------- 2.  其实官方人士说是系统硬件冲突问题,也可以用来解决声音没了,触摸板没有反应之类的问题.欢迎大家关注后续问题,更加…
现象:把USB设备接到PC1. 右下角弹出"发现android phone"2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能知道是"android phone"答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"     提示你安装的是"设备驱动程序"          USB总线…
现象:把USB设备接到PC        (韦老师总结) 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能知道是"android phone" 答1. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"      提示你安装的是"设备驱动程序&q…
linux-3.4.2\driver\hid\usbhid\usbmouse.c 内核只带USB驱动程序 (hub和usb是两个不同的设备,hub在内核上电的过程中在usb_hub_init函数中调用usb_register来注册,usb驱动才是我们自己写的驱动,也是用usb_register来注册,内核只带驱动程序是通过宏module_usb_driver来注册的,作用和usb_register一样) 现象:把USB设备接到PC 1. 右下角弹出"发现android phone"2.…
虚拟机中不能连接usb设备解决办法 1.点击开始->运行,在对话框中输入"services.msc",确定,打开windows服务管理器.2.在服务列表中选中"VMware USB Arbitration Service",双击打开属性对话框,再选择"启动",就能启动VMware USB Arbitration Service服务了.3.关闭VMware软件,并重新打开,启动一个虚拟机,进入系统之后VMware就会提示发现USB设备.如果要…
(一)DeviceIoControl的PInvoke /* ---------------------------------------------------------- 文件名称:DeviceIoControl.cs 作者:秦建辉 MSN:splashcn@msn.com QQ:36748897 博客:http://blog.csdn.net/jhqin 开发环境: Visual Studio V2010 .NET Framework 4 Client Profile 版本历史: V1.…
USB设备驱动 ·  )USB Hub:每个USBHost控制器都会自带一个USB Hub,被称为根(Root)Hub.这个根Hub可以接子(Sub)Hub,每个Hub上挂载USB设备.一般PC有8个USB口,通过外接USB Hub,可以插更多的USB设备.当USB设备插入到USBHub或从上面拔出时,都会发出电信号通知系统.这样可以枚举USB设备,例如当被插入的时候,系统就会创建一个USB物理总线,并询问用户安装设备驱动.如图17-4所示为一个典型的USB Hub的示意图. 是控制管道,管道1…
我们做USB通信时,通信成功后,往往要检测USB设备的拔插状态,这里就USB拔插进行一下说明. 参考:https://www.imooc.com/article/17438 先说明一下,我这里只是用C#写上位机的自定义USB设备的检测,是调用window的DLL来实现USB设备通信的,具体通信过程说明,我会在后期补上. 要实现USB插拔检测,就不得不说到WM_DEVICECHANGE 消息了,当设备被插入/拔出的时候,WINDOWS会向每个窗体发送WM_DEVICECHANGE 消息,而WM_D…
usb驱动分为通过usbfs操作设备的用户空间驱动,内核空间的内核驱动.两者不能同时进行,否则容易引发对共享资源访问的问题,死锁!使用了内核驱动,就不能在usbfs里驱动该设备. 下面转载的一篇分析usb-skeleton.c文章. 初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了.好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发.但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催…
这是采用C#开发的一个USB库,使您可以管理USB设备的连接和分离事件,探测自己的设备.可以运行在Windows XP和Windows7 64位系统下. 01 private void USBPort_USBDeviceAttached(objectsender, 02              USBClass.USBDeviceEventArgs e) 03 { 04    if (!MyUSBDeviceConnected) 05    { 06       if(USBClass.Get…
在开发过程中,需要用一个树莓派链接多个串口转USB设备(GPS模块,数传模块等),在树莓派linux系统环境下,USB串口设备的命名规则是 /dev/ttyUSB0 ,/dev/ttyUSB1,/dev/ttyUSB2.串口设备的命名规则一般是根据设备插拔顺序进行命名,第一个插入的USB串口设备名称为/dev/ttyUSB0,第二个名称为 /dev/ttyUSB1,以此类推,但是在实验环境中,往往会发生USB设备插拔情况,从而导致串口设备命名混乱,为此,需要对串口设备进行名称绑定,固定串口设备名…
有时候我们需要在虚拟机的操作系统中进行一些USB设备的测试,但默认情况下USB设备是在宿主机系统里面的,那这个时候我们就要进行切换才能够达到目的,具体要怎么操作呢?下面讲解一下:   1. Ctrl+r弹出运行窗口,输入services.msc弹出服务窗口 2. 找到VMware USB Arbiration Service,然后启动 3. 关闭VMware软件,重新打开,在VM中就可以看到USB设备 4. 连接USB设备即可     http://blog.sina.com.cn/s/blog…
虚拟化(一):虚拟化及vmware产品介绍 虚拟化(二):虚拟化及vmware workstation产品使用 虚拟化(三):vsphere套件的安装注意及使用 虚拟化(四):vsphere高可用功能前提-共享存储搭建 虚拟化(五):vsphere高可用群集与容错 vmware桌面虚拟化产品包括3种,即vmware horizon view.horizon mirage.horizon workspace. vmware view客户端通过使用微软的RDP协议或vmware 专有的PCoIP协议…
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=611 问题描述: 在安装完VirtualBox的USB控制器扩展(关于在VirtualBox中安装USB控制器扩展的方法可以查看我的这篇文章:http://zhaokaifeng.com/?p=443),并且在设置里打开了"启用USB控制器"的情况下,插入USB设备(如U盘)后,启动虚拟系统,在"设备->USB"里没有找到该USB设备. 解决方法如下: 1 添加Ubuntu当前…
之前写了一个简单的例子usb-host一步一步学(一)安卓在usb-host模式下列出当前连接的usb设备,下面的这个例子是获取各种usb设备.usb接口以及usb连接点(endpoint) 正如上一章节提到的那样,为了指定应用程序以usb-host模式运行,在AndroidManifest.xml文件中需要添加<uses-feature android:name="android.hardware.usb.host">并且修改安卓的minSDKVersion="…
转载请注明出处: https://www.cnblogs.com/darkknightzh/p/11086935.html 最近使用ubuntu通过ssh连接服务器时,由于密码错误,多次连接失败后,在使用正确的密码时,会出现ssh_exchange_identification: read: Connection reset by peer. 有多种原因及解决方法,其中一种原因是,多次输入密码错误后,被服务器封了IP...(此处使用电脑A,无法登陆服务器,但是使用其他电脑B,就可以成功登陆.)…
1.应用背景: 无人监测的设备,常需要设置应用程序开机启动,程序启动前需要保证调用的设备先启动,运行环境先启动. 2.test.sh部分源码 #!/bin/sh #查看桌面是否启动 while true; do COUNT=$(ps -ef |grep lxpanel |grep -v "grep" |wc -l) ]; then break fi done #查看nginx是否启动 while true; do COUNT=$(ps -ef |grep nginx |grep -v…
目录 要求 安装 第一步 在Window安装usbipd 第二步 在WSL里安装USBIP 工具和硬件数据库 使用方法 22.3.19 微软官方文档:连接 USB 设备 | Microsoft Docs 要求 运行 Windows 11(内部版本 22000 或更高版本). (可提供 Windows 10 支持,请参见下面的注释) Linux 发行版已安装并设置为 WSL 2. 运行 Linux 内核 5.10.60.1 或更高版本. 如果内核版本较低,可以使用wsl --update进行更新.…
测试环境:Win7(其他Windows系统环境,也可参考) 总结办法来源,https://bbs.csdn.net/topics/392297251?page=1文章中热心网友的评论指引 1. 控制面板--管理工具--性能监视器--性能--打开资源监视器 2. 资源监视器窗口,点击切换到CPU页 在“关联的句柄”搜索框内输入盘符+冒号(如h:),就可以查看有哪些进程在占用usb设备.把这些进程在任务管理器里结束掉,然后可正常安全地弹出usb设备 如果占用移动设备的进程是explorer(资源管理…
在本次尝试中,我的安卓手机(HTC One X) 通过OTG线作为usb主机模式列出当前插入的usb设备,版本要求minSDKVersion="12". 没有外设的情况下,结果如下图所示: 通过OTG线插入读卡器设备后,结果如下: 为了指定应用程序以usb-host模式运行,在AndroidManifest.xml文件中需要添加<uses-feature android:name="android.hardware.usb.host">并且修改安卓的mi…
源码: 1 #!/usr/bin/python 2 import sys 3 import usb.core 4 # find USB devices 5 dev = usb.core.find(find_all=True) 6 # loop through devices, printing vendor and product ids in decimal and hex 7 for cfg in dev: 8 if cfg.idVendor == 0x2207: 9 print(str(c…
USB驱动分为两块,一块是USB的bus驱动,这个东西,Linux内核已经做好了,我们可以不管,我们只需要了解它的功能.形象的说,USB的bus驱动相当于铺出一条路来,让所有的信息都可以通过这条USB通道到达该到的地方,这部分工作由usb_core(drivers/usb/usb.c)来完成.当USB设备接到USB控制器接口时,usb_core就检测该设备的一些信息,如生产厂商的ID(VID)和产品的ID(PID),或者是设备所属的class.subclass跟protocol,以便确定应该调用…
前言: USB设备使用方便,但也可能被用来携带恶意软件.病毒,感染计算机系统.通过禁用自动播放功能.杀毒软件查杀.不定期的对设备进行格式化等操作可以确保它是干净的.但它存在的安全问题要比我们想象的更深,问题不仅在于它携带了什么,还在于通过它的工作方式就能产生安全隐患. USB隐藏的危险: 安全研究员Karsten Nohl 和Jakob Lell 发现了从根本上颠覆USB安全性的方法.他们创建的恶意软件,暂且称为BadUSB,可以被安装到USB设备中完全控制PC,无形中修改内存中的文件,甚至重定…
usb设备驱动 本章主要内容包含以下:USB总线介绍,USB协议分析,USB系统架构 一.USB总线介绍 1.1USB发展史 USB(Universal Serial Bus)通用串行总线,是一种外部总线标准用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft等多家公司联合提出的,自1996年推出后已成功替代串口和并口,成为当今个人电脑和大量智能设备的必配接口之一. USB 1.0出现在1996年的,速度只有1.5Mb/s1998年升级为USB 1…
工作当中我们经常会遇到Android手机连接PC的时候无法正确安装驱动,或者安装失败.当然找到正确的驱动文件时首选的解决方案,如果正确的驱动文件依旧无法安装成功我们可以打开我的电脑-->属性-->硬件-->设备管理器,在端口或者通用串行总线控制器中找到我们的设备,应为设备没有正确安装,我们可以看到在我们的设备前有一个黄色的问号,此时我们右键-->属性-->在详细信息中找到设备范例Id并复制(Ctrl+C),通常如下PCI\VEN_8086&DEV_27C8&S…
USB设备,分为3层:1.底层为传送和接受数据的总线接口:2.中间层处理总线和不同端点的数据传输:3.最高层由串行总线设备提供.主要研究中间层. USB设备状态,主要研究外部可见状态. 1,连接态-->USB设备可从Host上连接或者断开. 2,加电态-->设备对电源的支持能力是通过配置描述表来反映的. 3,缺省态-->加电后尚未复位之前不应对总线相应,在接收到复位信号后,设备在缺省地址处可寻址. 4,编址态-->设备由主机分配一个唯一的地址后,就保持这个地址. 5,配置态--&g…
USB现在已经成为PC机必不可少的接口之一,几乎所有的设备都可以接在USB设备上,USB键盘.鼠标.打印机.摄像头,还有常用的U盘等等,从本篇文章开始,将集中篇幅介绍一下在DOS中使用USB设备的方法,具体会有几篇暂不好定,写到哪里算哪里吧,三.四篇总是少不了的.    本文介绍如何使用我以前文章中介绍过的知识在你的机器中找到USB设备,并判定设备类型.    一个USB系统一般由一个USB主机(HOST).一个或多个USB集线器(HUB,但不是局域网里的集线器)和一个或多个USB设备节点(NO…
usb_bulk_msg函数 当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当你需要连续地对设备进行读/写时,建议你建立一个自己的urbs,同时将urbs 提交给usb子系统. 转载于此http://os.chinaunix.net/a2003/0630/1056/000001056933.shtml Linux下的硬件驱动——USB设备(上)(驱动配置部分) USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和…