Another possible source if everything is set up properly is, how long is the USB cable? Is it a good cable, or an el-cheapo?
The longer they are, the more data loss you get. It'll usually recognize the printer because that's just a handshake with little data, but when you send a lot of data it gets lost. Cheap cables are prone to RF interference too, so you want a good quality shielded cable with ferrite chokes to prevent RF, and anything over 15-20 feet an active cable works best. Printers can have issues being connected to a USB hub too, best to be a direct connection to the computer.