Using serial modem

From Alpine Linux
Revision as of 12:42, 10 January 2011 by Mhavela (talk | contribs) (→‎/etc/ppp/chat-serialmodem: Wait a second for ISP to settle)
This material is work-in-progress ...

Do not follow instructions here until this notice is removed.
(Last edited by Mhavela on 10 Jan 2011.)

Requirements

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

Decide which serial port to use and plug you modem there.
In below examples replace ttyS0 with the ttyS? that applies for your needs.
(/dev/ttyS0 is same as COM1, ttyS1=COM2, ttyS2=COM3, ttyS3=COM4, ...)

Install packages

Install required packages

apk add ppp

Load modules

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

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

Configfiles

/etc/ppp/peers/serialmodem

(The filename 'serialmodem' can be changed to whatever is appropreate for you, but you will need to remember it when running pon/poff command)

debug
/dev/ttyS0
115200
modem
crtscts
asyncmap 0
defaultroute
noipdefault
lock
noauth
connect '/usr/sbin/chat -v -f /etc/ppp/chat-serialmodem'

/etc/ppp/chat-serialmodem

(The filename 'chat-serialmodem' can be changed to whatever is appropreate for you, but you will need modify above configfile to reflect your decition)

ABORT 'BUSY'
ABORT 'ERROR'
ABORT 'NO ANSWER'
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'Invalid Login'
ABORT 'Login incorrect'
REPORT 'CONNECT'
TIMEOUT '60'
'' 'ATZ'
OK 'ATDT{phonenumber}'
CONNECT '\d\c'
Username: '{login_id}'
Password: '{your_password}'
Note: Replace above words {login_id}, {your_password} and {phonenumber} with what you received from your ISP. The characters { and } should also be removed.

See this link for more details.

Start/Stop

Start connection

pon serialmodem

Stop connection

poff serialmodem

If something goes wrong...

Check if process is running

pidof pppd

Logfile might give you a clue on what went wrong

egrep "pppd|chat" /var/log/messages

Check nic information

ifconfig ppp0

pppd has a statusinformation function that could come in handy

pppstats