GoPro USB file transfer freezes Opus

If the SD card works directly, it's possible the GoPro's USB storage implementation has problems with certain buffer sizes or I/O modes, or parallel file access or similar, which Opus is using but File Explorer isn't.

We've seen this with some cheap USB devices but it's surprising with something as big and popular as a GoPro.

At the same time, I don't think we have had any similar reports, so it could still be down to something else.

Could you make some process snapshots while the problem is happening? We can use those to see which API Opus is waiting on, which could reveal something.

Some other things that are worth a try:

Make sure Preferences / Miscellaneous / Advanced [Filesystem]: copy_nonbufferio_threshold is set to 0 (zero). Any other value will mean Opus uses less common I/O modes which some devices don't support.

Right above that is a copy_buffer_size setting. Try changing that to 16 KB, 64 KB and 2 MB to see if the GoPro prefers any of those.

Trying a different USB cable and USB socket (direct to the motherboard is usually best) may also be worth a try. A problem would usually also affect Explorer but it's possible one method of reading the data is overwhelming a USB hub or borderline cable while another isn't, perhaps. I've definitely had some strange experiences with fast USB 3 devices and USB hubs.

In the longer term, we have a change in the pipeline which will make Opus copy things in exactly the same way as File Explorer for simple file-to-file copies, which should alleviate compatibility issues with hardware like this. (But the same problem could affect any program that reads/writes files from the device, as Opus isn't doing anything that unusual. In fact, the way Explorer copies files is the unusual thing, but also the thing that almost everyone tests their devices against.)

1 Like