Hi Nikunj,
Thanks for the info. Are you using Linux as the host OS? I'm using Windows 7 x64 as the host OS. It seems to me that the problem is with the host PC driver I'm using. I tried WinUSB driver from WinDDK 7600.16385.1 as well as my own driver and both seem to have issues with 512 byte packet. I'll try libusb-win32 when I get a chance and see if that helps. For now, I think I can work around this problem by adding extra byte when ever I need to send 512 byte packet.
I'd appreciate it if you can confirm that your host OS was Linux.
Thanks
Brian