Re: USB test



Roger Hamlett a écrit :
"Victor" <vdecampos@xxxxxxxxxx> wrote in message news:37b9e$45f93ae1$544ae2a1$10326@xxxxxxxxxxxxxxxxxx
Hello,

I'm searching for a PC software that to send commands through a USB port.
Does anyone know about one ?
The problem here is that USB, is not a simple interface like the serial port. Everything is packetised, and involves layers of negotiation from both ends. The 'host', will normally send a packet, with a type, direction, device address, and endpoint number defined. Then there is a packet either to or from the host (depending on direction), or a 'no data' indication. Then there is an acknowledgement from the other end. There are more complex forms with an extra packet.
At the driver 'end', there is the USB stack (handling the packets), and then the PC side driver, talking to this.
There are a number of 'standard' packet forms (HID device etc.), where the driver is present in Windows, and the simplest USB implementations, will take advantage of these. A lot of the initial communication, is the same whatever the device, so the hub driver, will receive a notification when a device is attached, and automatically develops a 'request device identifier' packet, and then sets up the initial 'pipe'.
A connection to a specific device, is a 'pipe', and you can generate an IRP (I/O request packet), to the PC host controller, which then handles the physical translation across the USB interface.
So the problem is that you can't just 'send a command', and expect anything to happen. There has to be a complete packet, with all the handling associated with this, and several parts of this will automatically happen when a device is attached, without any further software being needed.
There are dozens of 'USB monitor' applications (some free), which allow you to snoop on the transactions, and in some cases allow them to be displayed ordered by device, and command type. These are pretty much essential when configuring a new device.

Best Wishes


Hi Roger and many thanks for all the explanations! I don't know much about USB and thought I could find something like it exists for RS232. In fact I'm working on a project that involves a PICDEM FS USB board (from Microchip) and in a older project an ex-colleague was using a basic GUI (using .NET) to send commands to the same board.

The problem now, is that we don't have the source code anymore (anyway I haven't got a clue about programming with .NET...:) and the executable is a little useless for me and moreover I can't get it working since it throws me a "SecurityException" as soon as I run it.

Well, I've found something using Java (javax.usb) so I'll try a little that way...

Bye.
.



Relevant Pages

  • Question about USB ISO IN transfer
    ... I set the flag USBD_SHORT_TRANSFER_OK to tell the USB ... host driver that a short transfer is supposed to be ok, ... the CPU is very busy when receiving isochronous data (packet size ...
    (microsoft.public.development.device.drivers)
  • Re: OHCI IssueBulkTransfer problem
    ... to send packet when requested. ... David Liao wrote: ... USB OHCI or SetClrearFeature is send out but your function device ignor it. ... //Pack sent before transfer timeout and received and returned ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Talking to USB
    ... I have located the low level driver DLL but there is no documentation ... There is a well documented TWAIN driver, of course, but I ... I had hoped that USB has some canonical low level comms ... Of course, each device uses different commands, but I ...
    (microsoft.public.vb.syntax)
  • Re: How do USBCAMD for USB2.0 receive over then 1 packet per SOF
    ... Where is the command that the driver set the ... If you declare well in usb endpoint descriptor well, ... than one packet well. ...
    (microsoft.public.development.device.drivers)
  • Re: OHCI IssueBulkTransfer problem
    ... your description, it looks like it is certainly Data Toggle issue, the ... USB OHCI or SetClrearFeature is send out but your function device ignor it. ... //Pack sent before transfer timeout and received and returned ... When the packet that is lost is sent, ...
    (microsoft.public.windowsce.platbuilder)