How to request only one pipe per frame on USB Custom HID? - usb

In pipe and out pipe occur continuously within one frame when sending out pipe in Custom HID USB.
In pipe is requested periodically by the host pc every 1ms.
How can I modify the descriptor or FW that host pc don't ask for the in pipe within same frame when transfering out pipe?
Please let me know.
USB Communication Capture Image

It is not possible to modify the firmware or USB device descriptors to get that effect. That is not a standard feature of USB. You might try modifying the firmware of the device so that it can handle this situation (in fact I'm not sure why it would ever be a problem in the first place). You could also maybe modify the drivers/software you are using to communicate with the device.

Related

HDMI Splitter taking Input from Mac into capture card shutting off a channel

Hey so what I'm trying to do is take HDMI input (from a computer) to a splitter from which one channel goes to some viewing device (projector or something) while the other channel goes through a capture card into another system for some processing that I'm doing. However, four seconds after I connect my capture card to one of the splitter's output channels the splitter just stops outputting on that channel and essentially shuts that channel off (as seen by the LED on it). However, if I connect a projector to the other output channel it stays working fine on that.
Keep in mind that the input I'm using is from a MacBook Pro. When I switch the input to an Xbox 360 everything works absolutely fine. Also, if I connect the input (MacBook) directly to the system bypassing the splitter it works absolutely fine. Can someone explain what might be going wrong here when I put the splitter in the mix?
Here is the equipment that I'm using:
Splitter: http://www.gofanco.com/2-port-hdmi-splitter-4k-black-splitter2p.html
Capture Card: https://www.amazon.com/Video-Capture-Device-1080P-Grabber/dp/B01N4SM7H6/ref=sr_1_7?ie=UTF8&qid=1522955789&sr=8-7&keywords=full+hd+video+capture
Any help would be greatly appreciated :)
I would guess this may be an EDID issue. A display or capture device negotiates the best resolution and frame rate via EDID with your graphics card.
Now if you put the splitter in between the EDID based communication can go sideways.
HDCP could be another reason. Your splitter may not correctly handle or advertise HDCP

USB packet and data buffer capture

I need a software or application with API support to capture USB packet and data buffer. I would like to analyse the captured data using LabVIEW.
Suggest applications for usb packet and data capture with API support, so that I can access them using LabVIEW.
Or
Alternate methods to capture and analyse usb data using LabVIEW
I had tried a approach using logman.exe . But that doesn't log all the USB packets. Has anyone tried logman to capture the usb packets?
you can consider using VISA functions.
A few examples are shipped with Labview (open example finder and look for USB).
Here is a starting point giving instructions about how to give VISA access to the device.
You need find out some windows dll's and use it in labview. the examples provided for NI USB devices.

Read Data Across USB Port

I'm playing around with an old Trackball I purchased from Sparkfun. My trackball powers on, but it doesn't actually work. All the lights flash, and it indicates that I've left and right clicked, but the mouse on my screen does nothing.
I want to monitor the input values of the trackball across a USB port so I can track down the problem. I've looked for code I can run on Netbeans, but came up empty handed.
Please advise
You didn't specified what OS are you using. You need dedicated driver for this device. In case of Linux you would need to write your own driver for the kernel. But first you need to have specification of protocol which this device is using over usb and also usb protocol itself. It is quite sophisticated task to do...
In case of Windows there are some programs for dumping transmission between usb host (PC) and device (trackball), but at the moment I can't give you any name of such program. In case of Linux you can dump the transmission using tcpdump or wireshark commands.

USB device design for an embedded MCU

I am working on a product with an LPC1788 which needs the following USB features:
Firmware download (from host PC to device, not through a USB
key).
File upload (from device to host).
Ideally we'd also be able to get some information from the device like serial number etc.
The device should only work with a custom Windows application, so simply using a mass-storage device as-is will not do. There are quite a lot of data to upload (200MB +), so using USB bulk transfers seem necessary to me.
What is the best way to approach this? I imagine I would need to create some sort of USB composite device(?). However, I was hoping to use nxpUSBlib or winUSB so I don't have to go through the Windows driver validation process.... What are my options? Perhaps there some way to make the mass-storage device invisible for Windows?
Thanks!
Dirk
I think you'll definitely want to go with a vendor specific bulk device and you can easily use WinUSB for all of this. This should be sufficient for everything you've specified here.
For your firmware loader I'd recommend looking at the DFU (device firmware update) specification. You'll probably want make some command for your device that when sent will cause it to reenumerate itself in to DFU mode for update (rather than a composite device that is always exposed - this restricts the issue of the other interface being in use while you're flashing your device). Then you can flash it and reset it so it will reenumerate as your vendor specific bulk device again.
I wouldn't recommend mucking with mass storage, from your requirements it will be better to implement your own protocol and create some application or DLL that consumes the WinUSB API to communicate with your device, including the firmware update.

USB HID device detection

I am trying to access an USB HID device under Ubuntu(kernel-3.0). I want to write a program which could notify me whenever an USB device is attached to the bus i.e is there any event generated whenever an USB device is plugged in which I can monitor. I have looked into DBus and HAL without any success. But I don't want linux to load its current modules(USBHID and HID) when the device is plugged in. I also want to ask if the mentioned modules are also the device drivers used for HID devices.
My sole purpose is to run a script whenever an USB device is plugged into the bus which will indirectly call the above mentioned modules.
I am writing my code in C. I am quite new to linux. So it would be of great help if anyone could point me in the right direction.
Thanks..
The UDisks deamon will send the D-Bus signal "DeviceAdded" when a USB drive is inserted, and probably another "DeviceAdded" for each partition on the drive. If you have automount you would also get a "DeviceChanged" signal when the partition(s) are mounted. You can then query the UDisks interface, as well as individual devices about their properties, for example. You can find more info on the UDisks interface here: http://hal.freedesktop.org/docs/udisks/UDisks.html
One way to get more familiar with what goes on with block devices (or whatever) on D-Bus, is to install and use D-Feet to inspect the bus. UDisks appear on the System bus. You can see what is there and inspect the properties for individual devices as well as the UDisks interface itself.
Another way, which would also allow you to see what signals are transmitted on the bus, is to run dbus-monitor from the command line.