I’ve been searching high and low. ZTerm is extinct, screen kinda sucks with scrolling. So what do I have left?
I attempted to write a script in Python to turn the serial port into a local socket so I could use Telnet but I couldn’t seem to get past opening the serial port.
After some searching, I found MultiCom. It does exactly what I wanted – turns my serial port into a local socket. Works prefect!
Anyway, if you have time, help me with this script. It’s fairly simple and still incomplete, but I can’t get past fixing what blocks the open() calls to /dev/tty.PL2303-0000101D.
Update: I managed to figure out why my script didn’t work; I should have used /dev/cu.* instead of /dev/tty.*. I also found that MultiCom doesn’t work with Cisco devices due to an odd Cisco behavior. Read this blog entry for more info.
#!/usr/bin/python import os, socket dev = '/dev/tty.PL2303-0000101D' bind = '127.0.0.1' port = 8023 buff = 4096 fr = open(dev, 'rb', 0) print "Read FD open" fw = open(dev, 'wb', 0) print "Write FD open" ss = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Listening on port", port ss.bind((bind, port)) ss.listen(1) print "Waiting for socket" (cs, ca) = ss.accept() print "Got socket" ss.close() print "Forking" pid = os.fork() # child if pid == 0: print "In child" while 1: s = os.read(fr, buff) if not s: break print "Read serial:", s cs.sendall(s) close(fr) exit(0) # parent else: print "In parent" while 1: s = cs.recv(buff) if not s: break print "Read net:", s os.write(fw, s) close(fw) os.wait(pid) cs.close() exit(0)