Сразу оговорюсь - то, что здесь рассказано, взято с другого сайта, вот оригинальная ссылка: http://kotinetti.suomi.net/mcfrisk/linux_gprs.html Там рассказано про все, но на английском :).

Здесь же, я расскажу как сделать подключение с использованием мобилки (в моем случае S45 перешитый до S45i), подключенной к компу через serial cable, и программ pppd и chat.
Подключаемся к Билайн.
За неимением Irda, Bluetooth и USB-кабеля попробовать эти фишки не могу.


Итак, необходимо иметь Linux с установленными pppd и chat.

Как советуют, для ядра 2.4.x надо добавить следующую строку в файл /etc/modules.conf
options ppp_async flag_time=0

Теперь настраиваем pppd вкупе с chat.

1. Файл конфигурации pppd.
Создаем конфиг-файл /etc/ppp/peers/gprs
# С этой опцией pppd не будет отсоединяться от терминала
# если закоментировать, то pppd уйдет в background
nodetach
# Отладка pppd
debug
# Показывать пароль в отладочном выводе
show-password
# Скрипт для соединения. В нашем случае - с использованием chat
connect /etc/ppp/peers/gprs-connect-chat
# Скрипт для отсоединения
disconnect /etc/ppp/peers/gprs-disconnect-chat
# Устройство, к которому подключен шнурок к мобиле
/dev/ttyS0
# Скорость com-порта
57600
# Управление потоком - аппаратное
crtscts  # serial cable, Bluetooth and USB
#nocrtscts # IrDA
# Игнорировать сигнал CD с мобилы
local
# не диктовать удаленной стороне свои ИП
noipdefault
# Принимать ИП адрес, назначаемый сервером
ipcp-accept-local
# Добавлять маршрут по-умолчанию в таблицу роутинга
defaultroute
# Использовать DNS сервера, назначаемые сервером
# (следует заметить, что само прописывание адресов в файл /etc/resolv.conf
#  производится скриптом ip-up. Я использовал ручное прописывание
# Т.е. прописал в файл /etc/resolv.conf строки:
# nameserver 217.118.66.243
# nameserver 217.118.66.244
#
usepeerdns
# Отключение всякой компресии
novj
nobsdcomp
novjccomp
nopcomp
noaccomp
# Отключение необходимости авторизации
noauth
# Имя пользователя и Пароль
# Если сервер потребует авторизацию, то использовать указанное имя
# Имя и пароль прописываются в файле /etc/ppp/chap-secrets в виде
# "beeline"	*	"beeline"	*
# есть так-же и PAP авторизация. Но судя по всему, используется именно CHAP
user "beeline"
2. Теперь создаем файл сценария для подключения /etc/ppp/peers/gprs-connect-chat
#!/bin/sh
#
exec chat \
	TIMEOUT		5							\
	ECHO 		ON							\
	ABORT		'\nBUSY\r'						\
	ABORT		'\nERROR\r'						\
	ABORT		'\nNO ANSWER\r'						\
	ABORT		'\nNO CARRIER\r'					\
	ABORT		'\nNO DIALTONE\r'					\
	ABORT		'\nRINGING\r\n\r\nRINGING\r'				\
	''		\rAT							\
	TIMEOUT		12							\
	SAY		"Press CTRL-C to close the connection at any stage!"	\
	SAY		"\ndefining PDP context...\n"				\
	OK		ATH							\
	OK		ATE1							\
	OK		'AT+CGDCONT=1,"IP","internet.beeline.ru"'		\
	OK		ATD*99***#						\
	TIMEOUT		22							\
	SAY		"\nwaiting for connect...\n"				\
	CONNECT		""							\
	SAY		"\nConnected."						\
	SAY		"\nIf the following ppp negotiations fail,\n"		\
	SAY		"try restarting the phone.\n"
3. Создаем файл сценария для отключения /etc/ppp/peers/gprs-disconnect-chat
#!/bin/sh
exec /usr/sbin/chat -V -s -S \
	ABORT		"BUSY"					\
	ABORT		"ERROR"					\
	ABORT		"NO DIALTONE"				\
	SAY		"\nSending break to the modem\n"	\
	""		"\K"					\
	""		"+++ATH"				\
	SAY		"\nPDP context detached\n"
4. Раздаем необходимые права этим файлам:
chown root:root /etc/ppp/peers/gprs*
chmod u+rwx,g=rx,o=rx /etc/ppp/peers/gprs-connect-chat
chmod u+rwx,g=rx,o=rx /etc/ppp/peers/gprs-disconnect-chat
5. Использование!
Чтобы установить соединение, надо в окне терминала дать команду:
pppd call gprs
и в этом же окне пойдет вывод отладочной информации.
Должно получиться что-то вроде вот этого:
$ pppd call gprs
Press CTRL-C to close the connection at any stage!
defining PDP context...
AT
OK
ATH
OK
ATE1
OK
AT+CGDCONT=1,"IP","internet.beeline.ru"
OK
waiting for connect...

ATD*99***#
CONNECT
Connected.
If the following ppp negotiations fail,
try restarting the phone.

Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x416ea141>]
rcvd [LCP ConfNak id=0x1 <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x2 <asyncmap 0xa0000> <magic 0x416ea141>]
rcvd [LCP ConfAck id=0x2 <asyncmap 0xa0000> <magic 0x416ea141>]
rcvd [LCP ConfReq id=0x3 <mru 2000> <asyncmap 0xa0000> <pcomp> <accomp> <magic 0xd8fec14c> <auth chap MD5>]
sent [LCP ConfRej id=0x3 <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x5 <mru 2000> <asyncmap 0xa0000> <magic 0xd8fec14c> <auth chap MD5>]
sent [LCP ConfAck id=0x5 <mru 2000> <asyncmap 0xa0000> <magic 0xd8fec14c> <auth chap MD5>]
sent [LCP EchoReq id=0x0 magic=0x416ea141]
rcvd [CHAP Challenge id=0x1 <e0e95f3b7300daf955e6a486869bbce3061e240e>, name = ""]
sent [CHAP Response id=0x1 <f99115615e9d12294a20ff28b6736146>, name = "beeline"]
rcvd [LCP EchoRep id=0x0 magic=0xd8fec14c]
rcvd [CHAP Success id=0x1 ""]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
rcvd [LCP ProtRej id=0x6 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1 <addr 192.168.254.254>]
sent [IPCP ConfAck id=0x1 <addr 192.168.254.254>]
rcvd [IPCP ConfNak id=0x1 <addr 172.19.53.30> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
sent [IPCP ConfReq id=0x2 <addr 172.19.53.30> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
rcvd [IPCP ConfAck id=0x2 <addr 172.19.53.30> <ms-dns1 217.118.66.243> <ms-dns3 217.118.66.244>]
Cannot determine ethernet address for proxy ARP
local  IP address 172.19.53.30
remote IP address 192.168.254.254
primary   DNS address 217.118.66.243
secondary DNS address 217.118.66.244
Script /etc/ppp/ip-up started (pid 346)
Script /etc/ppp/ip-up finished (pid 346), status = 0x0
6. Отключение.
Чтобы отключиться - надо в этом-же окне терминала нажать комбинацию Ctrl-C
Либо дать команду killall pppd (ВНИМАНИЕ! это убъет все запущенные демоны pppd)

Это все. Юзайте на здоровье.

PS. Если вы привыкли подключаться с помощью, например, kppp, то делайте соответствующие настройки в нем.
Если у вас будет положительный опыт, присылайте информацию, разместим.

LOE

[7902] last:29-03-2024 06:44:47