4

I'm using an Intel Edison, and I want to edit files on there with Emacs. I can connect to the device with tramp, using several methods and explore using dired. But trying to visit a file gives an error "Invalid base64 data".

1 Answer 1

4

The Edison didn't have some of the utilities tramp needs (base64, uuencode). Apparently tramp sends a perl script if it can't find them, but it did not work. It turns out that even when using methods like scp, tramp tries to do inline transfers when the file is below a size threshold, tramp-copy-size-limit. I can do

(setq tramp-copy-size-limit nil)

to force "external copy" (i.e. using scp) always.


New problem: multi-hops don't allow scp. E.g. /ssh:proxy|scp:user@remote:file is invalid, which in turn means that external copy is not used for multi-hops. I guess I'll have to set up an ssh proxy for that:

Host dev # the edison, on another network
User root # on dev
HostName 10.251.1.112 # LAN IP of dev
# nc must be installed on proxy
ProxyCommand ssh -Aq jpkotta@proxy "nc -q 1 %h %p"

/scp:dev:file or /ssh:dev:file with tramp-copy-size-limit set to nil.

2
  • Yes for files < 10240 bytes, set the limit to nil to force TRAMP to use the specified external method. Otherwise TRAMP defaults to inline methods.
    – Emacs User
    Commented May 16, 2016 at 19:00
  • 1
    this didn't help
    – A_P
    Commented Apr 10, 2019 at 20:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.