Novatel and my ISP, Wireless Web Connect, do not officially support the Merlin for Ricochet on Linux. In fact, with an unmodified 2.2 or 2.4 kernel (pre-2.4.4), it doesn't work properly. That is because it has a big, fast UART. If you are running a Linux kernel with a version number lower than 2.4.4, please check that link and apply the necessary patch before you go any further. If you don't want to apply the patch or upgrade to a recent 2.4 kernel, can try these big, fast UART workarounds, but be forewarned that you won't get anywhere near the proper level of performance. For example, the highest raw PPP performance I was able to achieve with the workarounds was around 28 kbits/sec. The highest raw PPP performance I have seen with the patch is around 256 kbits/sec.
In order to verify that your kernel supports big, fast UARTs, or that you have properly implemented the workarounds, insert your Novatel Merlin for Ricochet into a PCMCIA slot. The command
# cardctl ident
should show the Novatel Wireless device, identifying it as an NRM6842. Running
# lsmod
should indicate that a module called "serial_cs" has been installed.
Furthermore, /var/log/messages should indicate which serial device
has been connected to the NRM6842 and tell you which tty it is using. If you
run minicom or another terminal program on that serial port, you
should be able to type AT commands.
ATS300?
will give you general information about the modem.
ATS?!
will give you the list of all Ricochet specific S registers.
This last AT command is very useful because it causes the modem to produce more than 512 bytes of output, and it will fail in various ways if you don't have big, fast UART support. If you do not have a patched kernel, but you have properly implemented the workarounds, then the 8th line of output should begin
327:Sleep Moe
and the rest of that line should be shifted left by one character. There should
be no pauses during the command. If there is a pause after "Sleep
Mo," then you probably don't have the low_latency option
set. If you see
327:Sleep Mode
with no pauses, then your kernel properly supports big, fast UARTs. Note that with the NRM6842, you don't ever need to set the baud rate. In fact, if you are using a kernel with big, fast UART support, then you don't need to set any serial parameters at all.
Once you have your UART working properly, you need to set up PPP. I am using
pppd version 2.4.0, and I recommend that you upgrade if you are
not already using it. However, if you are using Linux 2.2, I don't think there
should be any problem using a slightly older version of pppd.
The Ricochet network uses ordinary PPP with PAP authentiation. While the old
modems reportedly did not properly support Van Jacobson compression and
required the use of the novj option to pppd, the
Merlin for Ricochet has no problem with it. Novatel and your ISP may tell you
that you need to set the novj option. You don't.
Since my ISP is Wireless Web Connect, I store my pppd options in a
file called /etc/ppp/peers/wwc. I connect by typing "pppd
call wwc." Here is by pppd options file:
/dev/modem
debug
crtscts
name myname
remotename wwc
noauth
noipdefault
defaultroute
connect '/usr/sbin/chat -v -f /etc/chatscripts/wwc'
You should have been given a username and password when you signed up with your
ISP. Substitute your username where it says myname above. The PPP
daemon will use this value when it looks up your password in the pap-secrets
file (see below).
Since the NRM6842 does not care what baud rate you set it to, there is no point
putting a baud rate setting in your options file. Note also that it is not
necessary to reduce the size of your MRU and MTU. The Merlin for Ricochet works
properly with the MRU and MTU set at their maximum (and default) values of
1500. (Note: If you are having trouble, see if an MRU/MTU of 1460 helps.
I've seen rare, intermittent problems cured in this way, but I have made no
efforts to debug them. Please let me know if you encounter something like
this).
In addition to this, you need a /etc/ppp/pap-secrets file which
looks something like this:
myname wwc password
Substitute your username where it says myname and your password
where it says password.
Finally, you will need to install the chat script referenced in the pppd peers
file. Place it in /etc/chatscripts/wwc. Mine looks like this:
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'' 'ATZ'
'OK' 'ATDT3333'
'CONNECT' ''
'TIMEOUT' 15
'~--' ''
This is just the standard ppp chat script for an ordinary serial modem, with the exception of the magic Ricochet telephone number -- 3333. Yours may be different, but your ISP should have given it to you in any event.
Once you have set up these files, you should be able to type:
# pppd call wwc
and be connected to your ISP. You can test your bandwidth with the speed test
at www.bandwidthplace.com/speedtest
. If you are still having difficulty, I would recommend trying it out under
Windows first.