xref: /plan9/sys/lib/dist/pc/inst/configppp (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier#!/bin/rc
2*9a747e4fSDavid du Colombier
3*9a747e4fSDavid du Colombier# desc: configure your internet connection via ppp over a modem
4*9a747e4fSDavid du Colombier
5*9a747e4fSDavid du Colombierswitch($1) {
6*9a747e4fSDavid du Colombiercase go
7*9a747e4fSDavid du Colombier	devs=`{ls -p '#t/'eia? >[2]/dev/null}
8*9a747e4fSDavid du Colombier	if(~ $#devs 0) {
9*9a747e4fSDavid du Colombier		echo 'No serial port found; this can''t happen.'	# because configip checks
10*9a747e4fSDavid du Colombier		exit
11*9a747e4fSDavid du Colombier	}
12*9a747e4fSDavid du Colombier
13*9a747e4fSDavid du Colombier	# not going to use the mouse for PPP
14*9a747e4fSDavid du Colombier	if(~ eia^$mouseport $devs)
15*9a747e4fSDavid du Colombier		devs=`{echo $devs | sed 's/eia'^$mouseport^'//'}
16*9a747e4fSDavid du Colombier
17*9a747e4fSDavid du Colombier	if(~ $#devs 0) {
18*9a747e4fSDavid du Colombier		echo 'The only serial port you have is your mouse.'
19*9a747e4fSDavid du Colombier		echo 'Cannot configure PPP.'
20*9a747e4fSDavid du Colombier		exit
21*9a747e4fSDavid du Colombier	}
22*9a747e4fSDavid du Colombier
23*9a747e4fSDavid du Colombier	echo
24*9a747e4fSDavid du Colombier	echo 'Please choose the serial port or modem to use to connect to your ISP.'
25*9a747e4fSDavid du Colombier	echo
26*9a747e4fSDavid du Colombier	for(i in $devs) {
27*9a747e4fSDavid du Colombier		n=`{echo $i | sed 's/eia//'}
28*9a747e4fSDavid du Colombier		n=`{hoc -e 1+$n}
29*9a747e4fSDavid du Colombier		echo '	'^$i^'(Windows'' COM'^$n^')'
30*9a747e4fSDavid du Colombier	}
31*9a747e4fSDavid du Colombier	echo
32*9a747e4fSDavid du Colombier	prompt 'Serial device' $devs
33*9a747e4fSDavid du Colombier	pppdev=$rd
34*9a747e4fSDavid du Colombier
35*9a747e4fSDavid du Colombier	echo
36*9a747e4fSDavid du Colombier	echo 'Pick a baud rate for the PPP connection.'
37*9a747e4fSDavid du Colombier	echo
38*9a747e4fSDavid du Colombier	prompt -d 115200 'Baud rate'
39*9a747e4fSDavid du Colombier	pppbaud=$rd
40*9a747e4fSDavid du Colombier
41*9a747e4fSDavid du Colombier	echo
42*9a747e4fSDavid du Colombier	echo 'You can specify your dialup phone number, username, and password,'
43*9a747e4fSDavid du Colombier	echo 'or you can log in manually by typing the modem commands yourself.'
44*9a747e4fSDavid du Colombier	echo
45*9a747e4fSDavid du Colombier	prompt 'Dialing method' auto manual
46*9a747e4fSDavid du Colombier	pppmethod=$rd
47*9a747e4fSDavid du Colombier
48*9a747e4fSDavid du Colombier	switch($pppmethod){
49*9a747e4fSDavid du Colombier	case auto
50*9a747e4fSDavid du Colombier		prompt 'PPP phone number'; pppphone=$rd
51*9a747e4fSDavid du Colombier		prompt 'PPP phone username'; pppuser=$rd
52*9a747e4fSDavid du Colombier		prompt 'PPP phone password'; ppppasswd=$rd
53*9a747e4fSDavid du Colombier	}
54*9a747e4fSDavid du Colombier
55*9a747e4fSDavid du Colombier	export pppdev pppmethod pppphone ppppasswd pppuser pppbaud
56*9a747e4fSDavid du Colombier	exec startppp go
57*9a747e4fSDavid du Colombier
58*9a747e4fSDavid du Colombiercase checkdone
59*9a747e4fSDavid du Colombier	if(! ~ $#pppmethod 1 || ! test -f /dev/$pppdev){
60*9a747e4fSDavid du Colombier		configppp=notdone
61*9a747e4fSDavid du Colombier		export configppp
62*9a747e4fSDavid du Colombier	}
63*9a747e4fSDavid du Colombier}
64