Using serial modem

From Alpine Linux
Revision as of 14:34, 5 January 2011 by Mhavela (talk | contribs) (Cleaning up, adding setserial notes, etc.)

General notes

Warning: Page is under heavy construction. Do not use unless you know what you are doing! Funtionallity is still unknown.


Requirements

Install alpine-2.1.3 or newer (see these notes if you are unsure how to do it).
And do basic setup (run 'setup-alpine').

Hardware

Choose what ttyS port to use. (In below examples replace ttyS? with the ttyS? that applies for your needs)

  • /dev/ttyS0 is same as COM1
  • /dev/ttyS1 is same as COM2
  • (and so on...)

Install packages

Configure repository

When this article was written, some of the packages was still in 'testing'. So we need to add testing to repository.

echo "http://dl-3.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repository
apk update

Install packages

Install required packages

apk add ppp
apk add setserial

Modules

Load some needed modules and make sure they get automatically loaded at next reboot

modprobe ppp
echo "ppp" >> /etc/modules

Configure

Create configfiles

Note: This is a draft config - it needs fixing

/etc/ppp/peers/serialmodem

/dev/ttyS0
38400
crtscts
modem
noauth
usepeerdns
defaultroute
noipdefault
debug
noccp
nobsdcomp
novj
user "irrelevant"
password "irrelevant"
connect '/usr/sbin/chat -f /etc/ppp/chat-serialmodem'
Note: This is a draft config - it needs fixing

/etc/ppp/chat-serialmodem

ABORT BUSY
ABORT ERROR
ABORT 'NO CARRIER'
REPORT CONNECT
TIMEOUT 10
"" "ATZ"
OK "AT+CPIN=pin"
OK AT+CGDCONT=1,"ip","internet"
OK "ATE1V1&D2&C1S0=0+IFC=2,2"
OK "AT+IPR=115200"
OK "ATE1"
TIMEOUT 60
"" "ATD*99***1#"
CONNECT \c

Note: The above highlighted word(s) 'pin' is the PIN of your card (typically a four digit code)
Note: The above highlighted word(s) 'internet' is the Access Point Name (APN) of the service you use (for instance mine is "web.omnitel.it"). If you don't know the Internet APN, ask your service provider.

Start/Stop

Start connection

pon serialmodem

Stop connection

poff serialmodem

If something goes wrong...

Check if process is running

ps | grep pppd

Logfile would also give you information on what happened

grep pppd /var/log/messages

Check nic information

ifconfig ppp0

pppd seems to have some pppstats function

pppstats

Check and set serial speed

Check your ttyS settings

setserial -ga /dev/ttyS1

You should see something like this:

/dev/ttyS1, Line 1, UART: 16550A, Port: 0x02f8, IRQ: 3
    Baud_base: 115200, close_delay: 50, divisor: 0
    closing_wait: 3000
    Flags: spd_normal skip_test