"Victor" wrote in message news:37b9e$45f93ae1$544ae2a1$ snipped-for-privacy@news.hispeed.ch...
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