jjzjj

c# - LibUsbDotNet UsbDevice.ControlTransfer 挂起

我有一个C#.NetWinforms应用程序,它使用LibUsbDotNet通过“DFU_DNLOAD”传输将固件编程到USB设备(AtmelAVR32),这是一种特殊的控制传输。这一切都有效,但是:导致设备删除其内部闪存的特定类型的传输未能在正确的时间发送ACK。发生这种情况时,我的LibUsbDotNet连接将无法修复地断开,这会导致一切失败。我的代码执行以下操作:intTransferToDevice(byterequest,shortvalue,byte[]data){varsetup=newUsbSetupPacket((byte)(UsbCtrlFlags.Directio

windows - 伪造 USB 设备的存在以测试 Windows 上的驱动程序安装

我被要求帮助解决一家公司在使用Windows安装程序时遇到的一些问题,其中包括为他们制造的某些硬件安装的一些自定义驱动程序。我可以访问源代码来构建软件和安装程序(这是一个WIX/MSI的),但无法访问硬件,因此无法正确测试它。是否有可能(使用或不使用工具包)诱使Windows认为特定设备USB设备已连接到计算机以触发Windows尝试安装驱动程序?.我可以访问所有VendoerId、DeviceID等信息。谢谢汤姆 最佳答案 这应该是可能的。查看WDKUSBSamp和NDIS虚拟微型端口(或虚拟串行驱动程序)示例。第一个是USB驱动

windows - 如何使用设备实例句柄获取 USB 设备句柄?

我正在使用CM_Locate_DevNode()、CM_Get_Child()和CM_Get_DevNode_Registry_Property()API枚举设备管理器树。我能够获取设备实例句柄。使用该句柄,我试图获取设备句柄以查询设备的字符串描述符。设备实例句柄和设备句柄是否相同,或者有什么方法可以从设备实例句柄中获取设备句柄? 最佳答案 Arebothdeviceinstancehandleanddevicehandlesameoristhereanywaytogetthedevicehandlefromdeviceinstan

windows - 滥用 USB 大容量存储类进行无驱动 I/O

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭5年前。Improvethisquestion我正在开发用于Windows桌面系统的基于USB的外围设备,并且希望避免驱动程序安装步骤。部分原因是由于开发和签署自定义驱动程序所需的资源,部分原因是第三方驱动程序已被证明是用户的重要障碍。这建议使用标准USB设备类。HID简单且灵活,但由于MCU特定的限制而加剧了低吞吐量。相反,我正在评估模拟大容量存储设备的方案。诀窍是报告包含隐藏设备I/O文件的FAT文件系统的元数据,然后接口(interface)应

c# - 如何获取之前连接的 USB 设备的时间戳?

我正在尝试获取一个旧的PowerShell脚本来显示以前连接的USB设备的时间。在阅读了一些取证之后blogs喜欢this,我找到了thisscript来自thisblog.(杰森·沃克的剧本。)遗憾的是,它不显示任何时间戳或有关设备的任何其他有用的详细信息。所以我希望thereshouldbeawaytogetthattoo.只有我看不出如何合并它。FunctionGet-USBHistory{[CmdletBinding()]Param([parameter(ValueFromPipeline=$True,ValueFromPipelinebyPropertyName=$True)

windows - 如何在 Windows 10 专业版 64 位上将二进制文件刻录到通过软盘 USB 插入的软盘的扇区 0

大家好,我正在用Assembly16位NASMwindows1064位(具体而言)编写一个操作系统,并将其编译为2个二进制.bin文件:内核.bin启动.bin正如您可能猜到的那样,boot.bin会加载kernel.bin并创建一个文件系统,这样就没问题了。但问题是我需要在真机上测试它以测试硬件如何react而不仅仅是虚拟的!所以我得到了软盘(3.5"1.44MB),这已经足够了,但我试图将引导加载程序(boot.bin)写入带有软盘USB驱动器的软盘的扇区0(驱动器和软盘正常工作!)我使用以下步骤在cmd中将操作系统放在软盘上:formatA:nasm-fbinkernel.asm

c++ - 如何从处于低功耗状态的 USB 设备获取字符串描述符?

我正在尝试用C++编写一个应用程序,其中列出了从USB设备获得的信息。我正在关注USBView(Github)实用程序的代码。当设备处于D0电源状态(完全供电)时,我能够获取字符串描述符,但是当设备进入低电源状态时(D2),我不是。IOCTLIOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION返回错误“连接到系统的设备无法正常工作”。USBView实用程序显示当设备处于低功耗状态时字符串描述符不可用。这种行为很奇怪,我在USB规范中没有找到任何地方提及它。我检查了2台设备,我得到了相同的行为。即使在D2状态下,我也可以获得其他描述符,例如设备描述符

windows - 免驱动程序支持哪些 USB 类?

Windows/Linux/等的标准安装支持哪些USB类,没有产品特定的驱动程序?例如,始终支持大容量存储设备,无论其VID/PID组合如何。还有哪些类是这样工作的? 最佳答案 我不知道这是否与编程相关,但人机界面设备通常得到很好的支持。当然,仍然有一些HID需要“特殊”驱动程序来实现它们的额外功能(绘图板,我正在看着你)。 关于windows-免驱动程序支持哪些USB类?,我们在StackOverflow上找到一个类似的问题: https://stackov

c++ - 使用 Windows USB 虚拟 Com 端口识别断开连接事件

我正在开发一个使用虚拟串行端口设备驱动程序与USB设备通信的应用程序。我们遇到过这样一种情况,如果在串口句柄打开时设备被拔掉(或死机),那么在串口句柄关闭后重新连接的唯一方法是拔掉设备,然后再插回。如果我能够足够快地检测到故障,则有潜在的解决方法。问题在于,在这些条件下,以下函数调用不会报告错误:ClearCommErrorGetCommModemStatusReadFile根据我的经验,当设备被拔掉时唯一返回错误的函数是WriteFile。可以理解,我真的不想为了测试端口连接是否仍然有效而编写无意义的数据。我的问题是是否有一些方法可以用来确定端口连接是否仍然有效。如果对我正在做的事情

windows - 适用于 Windows XP、7、8 应用程序的 USB 麦克风描述符

我正在尝试使用STMicroelectronics的USB-FS库在STM32F103上实现USB麦克风。在WindowsXP、7和8上检测到我的麦克风。当我尝试使用Audacity录制语音时,信号在WindowsXP和Windows8上是正确的,但在Windows7上信号被放大了。有人知道发生了什么事吗?这是描述符:constuint8_tMic_ConfigDescriptor[]={/*Configuration1*/0x09,/*bLength*/USB_CONFIGURATION_DESCRIPTOR_TYPE,/*bDescriptorType*/0x64,/*wTotal