This was of my main use cases for getting a WiModem232 - actually a pair of them so that I could use them together in nullmodem mode without having to run a physical serial cable. One would plug into my Amiga, the other into a Linux PC with an old-school serial port. The Linux side runs a PPP server:
Code:
sudo pppd demand holdoff 5 nodetach local crtscts lock noauth noipv6 192.168.11.34:192.168.11.10 /dev/ttyS0 115200
where 192.168.11.34 is the PPP address for the Linux machine and 192.168.11.10 is for the Amiga, and /dev/ttyS0 is where the WiModem232 is plugged in. This gives a reusable, on-demand connection: I can bring it up/down repeatedly from the Amiga without having to restart the PPP server. I've been using MiamiDx on the Amiga because it's easy to set up and troubleshoot, but other PPP software should work.
Using a single WiModem232
Today though I realised that I could possibly make it work using just the WiModem232 on the Amiga, since the WiModem232 can make TCP/IP connections itself, and the Linux box already has TCP/IP connectivity. The idea would be to expose a PPP connection via a network port for the WiModem to connect to. Now, pppd normally talks to a serial port (/dev/ttyXX), but can also use a pseudo-tty or pty. The bridge between that pty and the TCP/IP side of things can be made using a command such as socat. Here's a crude illustration:
Amiga + WiModem <---> socat / pty / pppd <---> Internet
While it's possible to pass the socat command as part of the pppd command line, I found it necessary (or at least easier to follow) to run them separately in order to get the same on-demand reusable connection behaviour as my nullmodem scheme.
First the socat command will listen on a TCP port and bridge that connection to a pty device file that it creates (the name /dev/ttyV0 suggests a virtual serial port). I used port 6400 as that's what the WiModem232 uses by default for its listening port.
Code:
sudo socat PTY,link=/dev/ttyV0,rawer,echo=0,wait-slave,unlink-close=0 TCP-LISTEN:6400,reuseaddr,fork &
Then you can run pppd, telling it to use the pty device that connects via socat to the server port:
Code:
sudo pppd persist maxfail 0 holdoff 2 nodetach local lock noauth noipv6 192.168.11.34:192.168.11.10 /dev/ttyV0 115200
In order to reach the outside world, you might also need to enable packet forwarding on the Linux gateway, update route settings, firewall config, etc.
Code:
sudo sysctl -w net.ipv4.ip_forward = 1
Then you can "dial in" from your PPP client using the WiModem, à la:
Code:
ATDT192.168.1.34:6400
(or whatever IP address or hostname reaches the Linux gateway)
Note: This approach does expose the potential security vulnerability that anyone who can reach your PPP port could connect to your network directly (effectively using a local IP address). You could restrict access to the port using a firewall, limit the access provided to the PPP subnet, and require PPP authentication to improve this.
So, yes, you do need an intermediary device, just like an old-school dial-up PPP connection. Here we have the added novelty that it's like dialup but it's wireless!

The PPP connection runs on top of the TCP/IP stack provided by the WiModem, so the full stack from the Amiga would be something like TCP/IP/PPP/TCP/IP/WiFi. And yes, you could certainly use a Raspberry Pi for this.
I'm also excited to see that someone has released a modern, lightweight TCP/IP stack for Amiga release 1.3 named
TheWire13. I'll try this with my WiModem232 on my Amiga 500 soon...
Hope this helps!