I have yet failed to do it with pure Linux, but if anyone knows how, I would be very interested to learn. Reason for this is that some companies only do firmware updates from Windows — avoid such companies/products if possible :-(
some guides describe how to use diskpart to format the USB drive. This did not work for me on Windows XP, it didn’t show the USB at all in there. Trying to format the drive with linux didn’t result in a bootable one, even after I tried several tools such as “MbrFix” and “bootsect” (a Vista copy I found on the net), all from within Windows. Partitioning with diskmgmt.msc was also not possible for me.
here were my steps to success in some more detail:
fdisk the USB drive with one partition (if you have already messed everything up, consider dd if=/dev/zero of=your_drive etc…), type “b” (Win95)
(quick)format the drive in Windows
extract the repair image somewhere
use wintoflash to have it copy the files to the USB