Using serial modem: Difference between revisions

From Alpine Linux
m (→‎If something goes wrong...: Simplifying debugging)
m (→‎Note for above example configs: Fixed broken link.)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Draft}}
[[Category:Networking]]
[[Category:Networking]]


Line 5: Line 4:
Install alpine-2.1.3 or newer (see [[Installation|these]] notes if you are unsure how to do it).
Install alpine-2.1.3 or newer (see [[Installation|these]] notes if you are unsure how to do it).


Decide which serial port to use and plug you modem there.<BR>
Decide which serial port to use and connect your modem to it.<BR>
In below examples replace ttyS0 with the ttyS? that applies for your needs.<BR>
In the example below, replace ttyS0 with ttyS'''X''' where '''X''' matches your com port number.<BR>
''(/dev/ttyS0 is same as COM1, ttyS1=COM2, ttyS2=COM3, ttyS3=COM4, ...)''
''(/dev/ttyS0 is the same as COM1, ttyS1=COM2, ttyS2=COM3, ttyS3=COM4, ...)''


== Install packages ==
== Install packages ==
Line 14: Line 13:


== Load modules ==
== Load modules ==
Load some needed modules and make sure they get automatically loaded at next reboot
Load the required modules and make sure they're automatically loaded at next reboot
{{cmd|modprobe ppp
{{cmd|modprobe ppp_generic
echo "ppp" >> /etc/modules}}
echo "ppp_generic" >> /etc/modules-load.d/ppp.conf}}


== Configfiles ==
== Config files ==


=== /etc/ppp/peers/serialmodem ===
=== /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)''
''(The filename 'serialmodem' can be changed, but you will need to remember it when running pon/poff command)''
<pre>debug
<pre>debug
/dev/ttyS0
/dev/ttyS0
Line 29: Line 28:
asyncmap 0
asyncmap 0
defaultroute
defaultroute
noipdefault
lock
lock
noauth
noauth
user '{login_id}'
connect '/usr/sbin/chat -v -f /etc/ppp/chat-serialmodem'
connect '/usr/sbin/chat -v -f /etc/ppp/chat-serialmodem'
</pre>
</pre>


=== /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)''
''(The filename 'chat-serialmodem' can be changed, but you will need modify the config file shown above to reflect your choice)''
<pre>ABORT 'BUSY'
<pre>ABORT 'BUSY'
ABORT 'ERROR'
ABORT 'ERROR'
Line 48: Line 47:
'' 'ATZ'
'' 'ATZ'
OK 'ATDT{phonenumber}'
OK 'ATDT{phonenumber}'
CONNECT ''
CONNECT '\d\c'
ogin: '{login_id}'
Username: '{login_id}'
sword: '{your_password}'
Password: '{your_password}'
</pre>
</pre>


=== /etc/ppp/pap-secrets ===
If your pppd log reports something like this:
daemon.debug pppd[5665]: rcvd [LCP ConfReq id=0xf6 <asyncmap 0xa0000> <auth pap> <magic 0xa239b2b1> <pcomp> <accomp>]
''(Note the "<auth pap>" section)''<BR>
you might need to use a pap-secrets file (or chap-secrets depending on what pppd reports in the logs).<BR>
Your file might look something like this:
<pre># client    server  secret            IP addresses
{login_id}  *      {your_password}  *
</pre>
If you are using 'pap-secrets' (or 'chap-secrets') you should most likely comment out the 'Username:' and 'Password:' lines in your '/etc/ppp/chat-serialmodem' config.
== Note for above example configs ==
{{Note|Replace above words '''{login_id}''', '''{your_password}''' and '''{phonenumber}''' with what you received from your ISP. The characters '''{''' and '''}''' should also be removed.}}
{{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 [http://www.yolinux.com/TUTORIALS/LinuxTutorialPPP.html this] link for more details.
{{Note|You might need to replace the''' 'Username:' '''and''' 'Password:' '''parts to reflect the words your ISP is using to ask you to enter your credentials}}
{{Tip|You might need to replace  "'''CONNECT '\d\c''''" with "'''CONNECT 'CLIENT''''" in your chat-serialmodem config}}
References:
* http://axion.physics.ubc.ca/ppp-linux.html
* http://www.yolinux.com/TUTORIALS/LinuxTutorialPPP.html
* https://tldp.org/HOWTO/PPP-HOWTO/options.html


= Start/Stop=
= Start/Stop=

Latest revision as of 14:58, 25 August 2023


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 connect your modem to it.
In the example below, replace ttyS0 with ttySX where X matches your com port number.
(/dev/ttyS0 is the same as COM1, ttyS1=COM2, ttyS2=COM3, ttyS3=COM4, ...)

Install packages

Install required packages

apk add ppp

Load modules

Load the required modules and make sure they're automatically loaded at next reboot

modprobe ppp_generic echo "ppp_generic" >> /etc/modules-load.d/ppp.conf

Config files

/etc/ppp/peers/serialmodem

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

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

/etc/ppp/chat-serialmodem

(The filename 'chat-serialmodem' can be changed, but you will need modify the config file shown above to reflect your choice)

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}'

/etc/ppp/pap-secrets

If your pppd log reports something like this:

daemon.debug pppd[5665]: rcvd [LCP ConfReq id=0xf6 <asyncmap 0xa0000> <auth pap> <magic 0xa239b2b1> <pcomp> <accomp>]

(Note the "<auth pap>" section)
you might need to use a pap-secrets file (or chap-secrets depending on what pppd reports in the logs).
Your file might look something like this:

# client     server  secret            IP addresses
{login_id}   *       {your_password}   *

If you are using 'pap-secrets' (or 'chap-secrets') you should most likely comment out the 'Username:' and 'Password:' lines in your '/etc/ppp/chat-serialmodem' config.

Note for above example configs

Note: Replace above words {login_id}, {your_password} and {phonenumber} with what you received from your ISP. The characters { and } should also be removed.
Note: You might need to replace the 'Username:' and 'Password:' parts to reflect the words your ISP is using to ask you to enter your credentials
Tip: You might need to replace "CONNECT '\d\c'" with "CONNECT 'CLIENT'" in your chat-serialmodem config

References:

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