I remember the dance so well. Try zmodem. If it worked, done. If it didn’t, try kermit.
This was one of the things that made it OK not to have a real internet connection when I couldn’t afford one in the late 80s/early 90s.
What a wonderful collection of nontrivial software written for a huge variety of systems. It’s almost a Rosetta stone, for languages, and APIs, not to mention getting “the same” program running on systems with wildly varying capabilities. It’s also a useful program in itself for retrocomputing hobbyists: If there’s a Kermit binary on the emulated system, and the emulator supports some kind of virtual serial line, you can get files on and off the emulated system without a lot of effort.
C Kermit is my goto for interaction with our hardware if network is unavailable. Serial cable, same as for the beaglebone, some Kermit scripts to automate the u boot interruption and all is well. Special scripts for nfs boot, wonderfully simple. Not a single modem program can beat it for my use case (looking at you screen)