howto: avangard-dsl + dlink dsl-200 generation III + linux

originally posted at http://blog.erstd.net/2009/01/13/200/ by erste 13.01.2009

Итак у нас есть модем, выданый забесплатно в Северо-западном телекоме. Это юсбишный dlink dsl-200. Необходимо настроить интернеты в операционной системе linux. Для начала надо скачать драйвера. Двенадцатая версия у меня когда-то так и не завелась, так что я использую одинадцатую, например. Файлы синхронизации скачиваются оттуда же. Затем файл gs7470_synch20.bin из архива перемещается в /etc/eciadsl. Например:

$ wget -c http://eciadsl.flashtux.org/download/eciadsl-synch_bin.tar.bz2
$ bunzip2 eciadsl-synch_bin.tar.bz2
$ tar xvvf eciadsl-synch_bin.tar
$ cd eciadsl-synch_bin
$ sudo cp gs7470_synch20.bin /etc/eciadsl/

После нужно установить пакет утилит rp-pppoe. В дебиане и слаке он присутвовал изначально на установочных дисках, а вот, например, в suse 11.0 его не было, пришлось собирать самому. Хотя это было давно я не помню, может использовал alien или что-то подобное. Затем конфиги. Конфиги в конце поста. Когда конфиги на месте, добавлены имена пользователей и пароли — подключаем модем к юсб. Синхронизируем:

$ sudo eciadsl-start

Если все прошло успешно, то ifconfig должно показать что-то вроде:

$ sudo ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:22 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1492 (1.4 KiB)  TX bytes:1492 (1.4 KiB)
tap0      Link encap:Ethernet  HWaddr 00:ff:7b:b6:50:fb
          inet6 addr: fe80::2ff:7bff:feb6:50fb/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:120897 errors:0 dropped:0 overruns:0 frame:0
          TX packets:111205 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:123851251 (118.1 MiB)  TX bytes:14277840 (13.6 MiB)

Если tap0 не появился, тогда либо синхронизация не удалась, либо можно попробовать до посинения вводить в консоли команду eciadsl-pppoeci. Обычно раз через 30-50 интерфейс появлялся. Кстати, в последнее время появлятся сразу (дистрибутив debian lenny). Что не может не радовать. А дальше, если tap0 имеется, светодиод на модеме горит, можно попробовать подключиться к интернетам:

$ sudo pppoe-connect

Или:

$ sudo pppoe-start

Если повезло, то оно даже заработает. А если вообще крупно повезло, то и РАЗРЫВОВ не будет.

Конфиги далее.

/etc/eciadsl/eciadsl.conf

VID1=0915
PID1=8104
VID2=0915
PID2=8104
MODE=LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS
VCI=35
VPI=0
FIRMWARE=/etc/eciadsl/firmware00.bin
SYNCH=/etc/eciadsl/gs7470_synch20.bin
PPPD_USER=имя пользователя
PPPD_PASSWD=пароль
USE_DHCP=yes
USE_STATICIP=no
MODEM=Other
MODEM_CHIPSET=GS7470
SYNCH_ALTIFACE=0
PPPOECI_ALTIFACE=0
PROVIDER=Other

/etc/ppp/pppoe.conf

USER='имя пользователя'
PASSWORD='пароль'
ETH='tap0'
DEMAND=no
#DEMAND=300
DNSTYPE=SERVER
PEERDNS=yes
DNS1=
DNS2=
DEFAULTROUTE=yes
CONNECT_TIMEOUT=30
CONNECT_POLL=2
ACNAME=
SERVICENAME=
PING="."
CF_BASE=`basename $CONFIG`
PIDFILE="/var/run/$CF_BASE-pppoe.pid"
SYNCHRONOUS=no
CLAMPMSS=1412
#CLAMPMSS=no
LCP_INTERVAL=20
LCP_FAILURE=3
PPPOE_TIMEOUT=80
FIREWALL=NONE
LINUX_PLUGIN=
PPPOE_EXTRA=""
PPPD_EXTRA=""

Ключевая ссылка: http://eciadsl.flashtux.org/forum/viewtopic.php?f=5&t=3420.