Re: HID very slow.
For full speed device, HID is limited at about 64kBytes/sec (full duplex). So, you're apparently way off the mark. To get 64kB/sec you need to make sure that:
1. Your device is full speed (as opposed to low speed).
2. Your Input (or Output) report size is 64 bytes (or n*64 bytes) long.
3. You send/receive a report at every frame.
Some people do faster by using oversized Feature reports, but this is tricky.
If you need more than 64kB/s, switch to CDC or custom class.