I'm working with a linux application which needs to talk with a remotely-located serial (rs-232) device. I've worked out how to use socat on the remote end to send the device's serial data over an IP connection, but how do I then convert that IP stream back into a (pseudo) serial device character device (e.g. /dev/fakesocatserial0) on the other side?


You should be able to use the PIPE address type of socat to create a Unix pipe to connect to, for example (assuming that the device with the real serial device creates the network connection):

socat PIPE:/dev/fakesocatserial0 TCP-LISTEN:1234
| improve this answer | |
  • Maybe something like this? socat PTY,link=/dev/fakeserial0,raw,echo=0,wait-slave TCP4:remote-board:1723 – Alex G May 1 '12 at 17:00

have you tried sshfs? You can simply mount remote:/dev into somewhere like local:/remote/dev and point to the actual character device

| improve this answer | |
  • 1
    Well, the remote device is an embedded board with no SSH, so I'm trying to avoid changing its configuration if at all possible. – Alex G May 1 '12 at 17:00
  • ah, then @mgorven 's socat method is the way to go – platinummonkey May 1 '12 at 17:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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