Can anyone help me with an Unrecognized device: Device descriptor request failed error on Windows 8.1? - windows

I have a Metrologic MS1690 Barcode scanner that I'm trying to use with Windows 8.1, I get a Unrecognized Device: Device descriptor request failed error in devices and printers. The scanner gets no power from the computer when it is plugged in because of this. It usually shows up as a usb keyboard in windows 8 and 7, but with 8.1 it does not and I can't find an answer anywhere. Please help! Or even if someone could tell me how to get a generic usb keyboard driver for this thing that may help as well. Thanks.

The scanner gets no power from the computer when it is plugged in
Bit of a guess, but there was a change in Win8.1 that can affect HID devices like this. Such devices are now suspended when no application or service is accessing it. This can cause the device to misbehave if it depends on receiving timely power to operate correctly.
The workaround is to disable Enhanced Power Management for the device. The instructions are pretty elaborately spelled-out in this blog post. At break-neck speed: use Regedit.exe, locate the device in the HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Enum\ USB key and set the EnhancedPowerManagementEnabled value to 0.

The "solution" for me has been to add a PCI-E USB card, and use that for the scanner. I went with this one from Rosewill because it uses an NEC chipset which I have heard good things about.
After installing the provided drivers for the PCI-E card, the scanner seems to enumerate consistently (I have only been able to test it for a couple days so far).
According to the person I bought my scanner from, it's an issue with the USB chipset on the motherboard. Some are compatible and some aren't. If I had to do it over again, I would go with an RS232 cable and a power adapter instead of USB. I haven't tested that setup, but if your app needs serial data like mine does, it should be more reliable given that it's not dependent on the vagaries of integrated USB chipsets.

Related

Problems reading serial data on Windows IOT rasberry pi3

I have an Adafruit Ultimate GPS on a USB serial interface and using the same UWP application can read data just fine on a x86 build on a desktop. When I try a ARM build on the PI3 (remote), everything appears to work, but the serial data read never returns. No timeout, nothing. On the desktop, it starts getting GPS data from the chip right away. I also tried the CustomSerial sample app and am getting the same result. I do have the manifest updated to show serial port access, so don't think that is the problem.
Any ideas would be greatly appreciated. Thanks.
Problem resolved, operator error. Prolific driver not supported, was trying to read data from on-board serial port. Move the GPS sensor to the on-board serial, all is working now. Apologies for the distraction.

Real ICE with PIC18f26 on MPLAB 8.83 - Can't make it work

I'm trying to use my real ice board under mplab 8.83.
I have already fixed some issues thanks to the microchip forum but sadly I have one last error that keeps coming up.
Few minutes ago it was :
Target Device ID not detected
and now that is not showing anymore but I get :
Target Device ID (00000000) does not match expected Device ID (00004c40).
I have switched the driver from MPLAB X to MPLAB 8, the self test of the real ice is working just fine. I also have tried to connect/disconnect the board. I have also tried with a ICD2 without success.
I am working with Windows 7, 64-bit.
It has nothing with Real ICE or ICD2 since it complains about device on your target board. You have to check connections between debuggers (ICD2, REAL ICE...) and hardware. If connection on ICD header is OK, next you have to check is power supply on hardware board.
Eventually I was able to solve my problem.
It turns out, that having forgotten to install the MLA library, Windows was considering the REAL ICE as a common usb device (such as thumb drive). It was listed as "Custom USB Device --> WinUSB device" in the Device Manager.
After re-installation of everything (MPLAB, C18, MLA) , the REAL ICE is listed as "Custom USB Device --> Microchip Custom USB Device" and it works perfectly !!!

Force bluetooth legacy pairing in Windows 7

I recently acquired a Bluetooth headset (Philips SHB9100) for my smartphone, but also wanted to use it with my Windows 7 PC, so I bought a cheap USB Bluetooth adapter without noticing it was a v2.0 adapter, while the headset is v2.1 + EDR.
The USB Adapter installed correctly on Windows 7, and I am able to discover my headset, but when they try to pair, an ugly Error 0x80004005 appears, never asking me for a PIN.
After some googling, and founding many people had this pairing problem, I read that the major improvement in Bluetooth v2.1 is SSP, which permits pairing without the need to enter a PIN, and also that Windows 7 chooses the "best pairing mechanism" automatically. And so I started to suspect that this is what's happening:
Windows discovers a SSP capable device.
Windows tries to pair with that device using SSP.
The USB Adapter, being v2.0, is unable to permit pairing with the headset via SSP.
Windows does it's best showing a 0x80004005 error.
I searched for a v2.1 or superior USB Bluetooth Adapter in my city but couldn't find any (I'm from La Plata, Argentina) and even though I think I'll end buying one, I'd like to make this work, or at least know for sure why the devices aren't pairing.
And so my question is (and I swear I did some more googling before asking here):
Can I force Windows to try a legacy pairing with my headset?
Any info on the subject is welcome.
Thanks!
I recently faced a similar issue and after a lot of trial and error together with research, I finally fint a compatible driver. I downloaded a few drivers from the intel site and tried it with each one of them. Finally I was able to fix my issues with the driver below.
https://communities.intel.com/thread/103579
https://downloadcenter.intel.com/download/26191
This link can also help with the issue, worth sharing.
https://superuser.com/questions/471767/bluetooth-headset-pairs-and-appears-in-sound-devices-but-shows-as-disconnected

Custom USB Driver for Windows? Mac?

I'd like to modify a USB driver to send and receive USB data over a network.
Take for example, an iMac and a PC. I have an iPod plugged in to my PC (in NY). I want my iMac (in LA) to recognize the iPod as plugged in to a local USB port and be able to communicate with the iPod.
Forget my qualifications, or lack thereof (I have background in web, iOS apps, I've toyed with Java and C).
Where can I get source code for a USB driver for Windows that I can modify? Mac OS?
Any tips or pointers towards accomplishing my goal would be appreciated as well.
It looks like folks are coming up with something close to what you want. If you do decide to roll your own, the USB driver source you asked for is libusb.
On the Mac OS X end, drivers are built up in a stack. What you want to do should be relatively simple (nothing is really simple in kernel land). You need to create a driver that can communicate over ethernet with the PC and looks like a USB device to the driver matching software. Then everything else will happen automatically.
The source code is available for Apple's USB stack. You should also read about the IOKit API and IOKit device driver guidelines and IOKit fundamentals.
Oh yes and you say you have toyed with Java and C. To write device drivers on OS X, you'll need to learn some C++.
I suggest you to go see USBIP project. This is available on Linux and Windows, but not clear for MAC. If you can get a VHCI-Controller driver installed for MAC, we can kick start USBIP for MAC.
Sounds quite like this product, a bit unsure if theirs works over wide-area networks though.
I have a general idea of how I'd go about it, but not any specifics. Basically, I'd use the platform's driver development kit to write a USB device emulator on the client machine. I'd then add a virtual device to that system called "Networked USB Host", or something similar that maintains an open port to listen for communication from the server and passes it on to your virtual USB device. IIRC, the Windows DDK comes with a USB simulation framework that might be able to help you with this.
On the server, you'd have to hook into the USB subsystem to send raw USB packets to the client machine. libpcap and wireshark have USB capturing facilities for that, but I'm not sure if this works with winpcap and the Windows version of wireshark as well.
EDIT: Look at this for cross-platform USB capture alternatives.
You can buy OSR USB learning kit: https://www.osronline.com/custom.cfm?name=index_fullframeset.cfm&pageURL=https://www.osronline.com/store/index.cfm
This is actually small USB device with known interface. Windows Driver Kit (WDK) contains sample KMDF driver for this device: http://www.microsoft.com/whdc/driver/wdk/
This is good starting point to learn Windows Drivers development, and USB drivers development specifically. However, it is still far away from your problem solution.
Can't you use some sort of Remote Desktop?

How to sniff a USB port under Windows?

From time to time, I need to dump USB traffic under Windows, mostly to support hardware under Linux, so my primary goal is to produce dump files for protocol analysis.
For USB traffic, it seems that SniffUsb is the clear winner... It works under Windows XP (but not later) and has a much nicer GUI than earlier versions. It produces huge dump files, but everything is there.
However, my device is in fact a USB serial device, so I turned to Portmon which can sniff serial port traffic without the USB overhead.
After five years waiting, now it's possible to sniff usb packets on windows
See http://desowin.org/usbpcap/tour.html for a quick tour. It works pretty well
Since people don't seem to realize it, Wireshark does monitor USB traffic and has a parser for it; but the catch is it only works under Linux. Wireshark on Windows will not do this.
It may be possible to plug the USB device you want to monitor, along with a Linux machine (with Wireshark running) and your Windows machine and just use the USB device under Windows.
Problem with the above? I don't know how the Linux machine or the Windows machine will detect each other.
Busdog, an open source project hosted on github, has worked well for me. It has a driver it installs to allow it to monitor USB communications. The config window allows you to reinstall or remove the device at any time.
You can select the USB device you want from an enumerated list. A nice feature is to have it automatically trace a new device that is plugged in:
Data communications to and from an SWR analyzer I was reverse engineering were captured flawlessly:
USBSnoop works too - and is free.
Or, you could buy a USB to Ethernet converter and use whatever network sniffer you prefer to see the data.
Personally, I'd use QEMU or KVM and instrument their USB passthrough code, and then use libusb to prototype the replacement driver in user space (this latter bit I've done before; writing USB device drivers in Python is fun!).
Microsoft Message Analyzer was able to capture USB traffic, with Device and Log File parser from MS: link
Update: as mentioned by #facetus, MS Message Analyzer has been retired on November 25 2019.

Resources