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