I found a very sketchy rundown, but here's a little more detail:
1) force the usbserial driver to load for the device (I'm sure that this manual step can be converted into a udev rule):
modprobe usbserial vendor=0x1d09 product=0x4000
If you do this with the device plugged in (or plug in the device after this), you should get two tty devices, /dev/ttyUSB0 and /dev/ttyUSB1. As with many other usbserial modems, /dev/ttyUSB0 is the one you're interested in.
2) Set up a connection with the ever-so-simple pppconfig (this is where the other article was a little sketchy, and where I will endeavour to be a little less sketchy:
i) select "Create Create a connection"
ii) enter a name for the connection (how about an unoriginal "neotel" -- the rest of this walkthrough assumes that name)
iii) select "Dynamic Use Dynamic DNS"
iv) select "PAP Peer Authentication Protocol"
This is important: the Neotel connection uses PAP and PAP only -- the chat side of things is basically not present, and dialing with dialers such as wvdial (or a frontend like gnome-ppp) will run into issues because of the lack of chat. "Stupid Mode" is supposed to fix this for wvdail, but that didn't work for me.
v) enter your login name (phone number @ neotel.co.za)
vi) enter your super-sneaky password
vii) I left the connection rate at 115200
viii) Use Tone dialing
ix) enter the super-sneaky phone number (#777)
x) don't try to auto-detect the modem (it won't work anyway)
xi) enter /dev/ttyUSB0 for the modem port
x) select "Finished"
xi) select "Quit"
3) The following command worked for me the first time I tried it but not subsequently:
The problem was, however, resolved by simplifying the chat script (to be found at /etc/chatscripts/neotel). The following is my current chatscript, sans comment lines:
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
Note how there is no actual chat to the modem (none of the "OK", "CONNECT" or any of that, which you might expect). Like I say, I've read that wvdial's "Stupid Mode" is supposed to do this, but it didn't work for me.
4) You should have a ppp0 device, routing and dns (assuming you haven't done any other funky stuff (like set up an existing bind9 service and use that as your resolver -- as I have; I just had to add the DNS entries I could see by running "plog -f" to my forwarders to get DNS working again)
Hope this helps someone out there. Viva La Linux!