Novatel Merlin CDPD under Linux
I've had mixed results with this modem. It's nice not to have the stupid
external box and batteries like in the Candlestick. However, the dang
thing likes to just hang the whole box when it's under heavy load.
Similar results occurred with using kernel version 2.4.10, 2.4.11,
and 2.4.12.
However, it's probably as reliable as the Candlestick over all, and
doesn't require that you dump AAs into it all the time (depending on use).
It actually is a bit more reliable, it doesn't seem to need to be reset
quite as much.
I found it locked up my box a little less often if I specified that
it should use the 16650 UART with "setserial /dev/ttyS1 uart 16650".
It caused it to hang a little less often... I put that in my serial
startup file so it happens on every startup.
To configure the modem, do:
- at\aprog,NRM6831 <enter>
- ats110=<your ip> <enter>
- at&W;
Other stuff you can do
- To set IP address: ATS110=198.228.170.13
- To set DNS IP: AT#DNS=198.80.55.1,198.80.55.2
- To prefer A-side: AT\N3
- To prefer B-side: AT\N4
- Change MRU (default is 576): AT#MRU=1500
- Request modem register: ATO
- Ask modem if it's registered (replies with ABCDE if it is): ATS57?
In-band status
The modems support sending status information to the computer if you do
"atdt10.0.0.1" to initiate PPP. However, the PPP daemon under Linux
seems to block this (or maybe it's the kernel driver or something).
Anyway, a description of the protocol is in:
MCSI_Protocol.pdf This is a local copy
because the last time I went searching for CDPD information for the
Candlestick, most of the pages were dead or contained dead links.
This PDF is from the Novatel Wireless site (vendors of the modem).
Installing
Create a
/etc/ppp/chat-merlin file using the data
specified here. Note that 10.0.0.1 should
NOT be changed in
the file.
Next, create a
/etc/ppp/peers/merlin using the
data specified here. NOTE that you will need to change the IP addresses
on the first line (<your IP>:<gateway>) and the terminal
device name.
Finally, you may want to add lines to your
serial.opts file to get it to auto-start CDPD
when you put the card in. This script is a bit primitive because my
laptop only has one CDPD port.