I have a Raspberry Pi connected to a Seagate Backup Plus 3T external hard drive.
I've written a Python script to make backup copies of files from my Windows File Server onto the external hard drive.
Everything SEEMS to be running fine.  But when I copy a file from the external hard drive back to the Windows File Server, I have random bit errors... specifically the high order bit of random bytes will be a '1' in the copied file (i.e. 0x31 ==> 0xB1, 0x2B ==> 0xAB, 0x71 ==> 0xF1).
In a 9MB .MOV file, I've got 13 of these random bit errors.
In the python application, I've used both shutil.copy2 function to copy the files, and I've written a subroutine to open files for binary read/write and copy 1MB at a time.
When I connected the external hard drive to a Windows 10 machine and tried to copy files from File Server to external hard drive and back, I didn't get any errors.
Finally got it figured out.  After additional trial and error, I figured out that there is something wrong with the wired network port on the Pi.  Everything works fine if I swap out my Pi3 with my Pi1, and the Pi3 works if I use the WiFi (been using wired port for speed).
Raspberry Pi: File copy to Seagate Backup Plus Bit Errors