Why not use the libraries for which you already have a working solution?

Any specific reason you want to reimplement the USB communication manually?

Cheers,
_