kianryan / kianryan.github.io

www.kianryan.co.uk
2 stars 0 forks source link

The Sidecar for Psion - A PPP Modem and Linux Terminal for RS232 devices #70

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

The Sidecar for Psion - A PPP Modem and Linux Terminal for RS232 devices

Creating the PiRS232 and playing with the Pi over serial has been leading towards an idea - I wanted to create a small, battery powered device, a sidecar that I could carry with my Psion and use as portable Linux terminal. I also managed to turn it into an Internet...

https://www.kianryan.co.uk/2022-11-28-psion-sidecar-ppp-modem-and-terminal/

terrabite3 commented 1 year ago

This is cool. My dad had a Psion Series 3, 3a, 3c, and 5. They kept breaking but his prescient purchase of an incredible extended warranty from Incredible Universe paid for them all. I think they went out of business just to get out of replacing them lol!

I remember the Series 5 used Compact Flash instead of whatever proprietary format the 3 used. I still have his old 4MB card. I wonder if a custom CF-format peripheral card could be used to add new capabilities. I know the hardware could be done, but I don't know what it would take on the software side.

gadgetcoin commented 1 year ago

Hi Kian. Would you consider selling a completed unit? Cheers A

fhunter commented 1 year ago

Actually - if I remember correctly - if one sets up mgetty on linux side, it will be able to automatically detect PPP connection on that console, and still have ability to do console login on the same serial port. I definitely did that way back in 2000s, when I set my own dial-in server.

rml1997 commented 1 year ago

I thought about doing this years ago, not that the technology or my skill was up to the job at the time. Kudos for realising it into a working product! I had intended to emulate a modem via RJ11 to enable a different set of old devices. I'd considered the lack of Https support and it seems to me that running a proxy on the raspberry pi would allow you to fix the problem pretty securely, translating Https to http there. It might also be possible to extend this using headless chrome on the pi to pre-render and re-encode the site for the device. I'm less sure about that one depending on web standards support in the opera browser.

richteel commented 1 year ago

I've just repaired 2 Diamond Revo devices, a Psion 5mx, and an Ericsson MC 218. I was just thinking about making something similar. Finding your work here will save me a bunch of time. Kian, thanks for posting this.

richteel commented 1 year ago

I'm receiving a "Connection refused" error in Hermes instead of "Connected to internet". I suspect that the PPP configuration on the Raspberry Pi may be missing a step. I'm still looking into it.

Here are the results of running some commands on the Raspberry PI.

$ ip link 4: ppp0: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 3 link/ppp

$ ip addr 4: ppp0: <POINTOPOINT,MULTICAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 3 link/ppp

$ ip route default via 10.140.1.1 dev wlan0 proto dhcp src 10.140.1.21 metric 303 10.140.1.0/24 dev wlan0 proto dhcp scope link src 10.140.1.21 metric 303

richteel commented 1 year ago

I just realized that a reboot may help. It did change things but still no dice. It does look a bit better in that ppp0 now has the IP Address assigned.

$ ip link 2: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 3 link/ppp

$ ip addr 2: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3 link/ppp inet 10.0.0.1 peer 10.0.0.2/32 scope global ppp0 valid_lft forever preferred_lft forever

$ ip route default via 10.140.1.1 dev wlan0 proto dhcp src 10.140.1.21 metric 303 10.0.0.2 dev ppp0 proto kernel scope link src 10.0.0.1 10.140.1.0/24 dev wlan0 proto dhcp scope link src 10.140.1.21 metric 303

richteel commented 1 year ago

BTW: I got through everything up to the PPP point. I'm nearing the finish line but need to get through this one issue.

Hermes dialog - Connection refused

richteel commented 1 year ago

Sorry for so many comments but want to include what I find in case someone actually reads this before I figure it out. I ran the dump option and found that is may be trying to authenticate the user even though the noauth option was specified.

pi@pi-rs232:~ $ sudo pppd dump pppd: The remote system is required to authenticate itself pppd: but I couldn't find any suitable secret (password) for it to use to do so. pi@pi-rs232:~ $

richteel commented 1 year ago

Okay, think I know what is going on and feel silly that I did not think of it right off the bat. The Raspberry Pi does not have a telnet server running, so the Psion cannot connect to it if it does not exist. Verifying that this assumption is correct or not. It may be as simple as installing and configuring telnet on the Raspberry Pi.

richteel commented 1 year ago

Yep, that was the issue.

sudo apt-get install telnetd

kianryan commented 1 year ago

@gadgetcoin Hello, I'm not selling these units, but the designs are open. At @richteel's suggestion, I'm looking at making the RS232 boards available via PCBWay.

kianryan commented 1 year ago

terrabite3 I've seen a few people try, but not be very successful at use the CF port for other purposes. It may be asking for headaches when the serial port is very accessible and functional.

kianryan commented 1 year ago

@rml1997 a local proxy is an option, but I'm debating how useful it really is. Most modern sites aren't geared for plain HTTP content anymore, and remote proxies such as The Old Internet provide a pretty good job.

squelch41 commented 9 months ago

Thanks for posting the Opera codes - been looking everywhere for them!

richteel commented 9 months ago

@squelch41, Thanks for your comment. I was not aware that Robert Snoulton found them. That is awesome.

sudo-dj commented 8 months ago

This is so cool! I've ordered the bits and bobs and I'm looking forward to assembling this project. It's also an excuse to finally get myself a cheap 3D printer.

I wonder how much more work would be required to make this work with IrDA? I used to connect to the internet over IrDA with my ancient Nokia phone. I dimly recall that back in 2000 or 2001 there were one or two companies that made IrDA to ethernet bridge devices, but for things like the 5MX or other handhelds, that might be the easiest way to get up and running, no cables required.

MarkWllms commented 7 months ago

This is a valid approach. I've got a similar result by using a serial to Bluetooth module, the Firefly RN-270M, connecting to the Secure Tether app on my Android phone. From the Psion side it just appears to be a normal PPP connection to a DUN service.

BjornB2 commented 4 months ago

Thanks for the great guide. I'm running in an issue though. I (think) I followed your guide exactly (checked a couple of times), but the only thing I can connect to is to 10.0.0.1 in Hermes. If I try to connect to anything else, either using a domain name or IP address (to exclude dns issues) I get nothing but a "to much repetitions" error. Do you know what I might have done wrong?