Well, I spent an evening searching the web for USB-specs when I stumbled on windriver/USB, which is a tool for developing device-drivers. It did automatically detect the empeg and show the available pipes:
Pipe00 : Type:control transport:in/out packet size:16
Pipe02 : Type:bulk transport:out packet size:64
Pipe03 : Type:bulk transport:out packet size:64
Pipe82 : Type:bulk transport:in packet size:64

It then let's you try sending/receiving bytes to the available pipes.
I tested with :

# cat /dev/usb0

on the empeg, which gave me the bytes I transmitted at the win2k end on pipe 02

also:

# echo test > dev/usb0

showed the correct bytes at the windows end on pipe 82

Windriver then let's you generate C/C++/Delphi Code with all the basic functions to communicate over these pipes.

NOTE: all communication was done with the player-app shut down.
when the player is running, half of the bytes sent are lost/read by the player app.
I tried to fake the /dev/usb0 device by replacing it with a file, but then the player really freaks out...

Frank van Gestel
_________________________
Frank van Gestel