Установка модема D-Link dsl-200
28 12 2006Установка модема D-Link dsl-200 на примере провайдера WebPlus
Описание устройств и програмного обеспечения
Настройка подключения к сети интернет производилась при следующем
оборудовании и программном обеспечении:
- Комплект WEB-PLUS ‘Волшебная коровка’ без выделенного ip-адреса
- ADSL модемем D-LINK DSL-200 USB
- Операционная система Ubuntu 6.06.1
Мной было замечено, что в последнее время W+ стали подключать некоторых с использованием аутендификации. Но не всех, это вовсе не зависит от времени подключения. Возможно, что от района. Так вот, в данной статье описывается метод установки связи без аутентификации.
Установка драйвера USB модема D-Link DSL-200 Generation II
К сожалению, фирма-изготовитель не выпускает драйвера для данного устройства под операционную систему Linux.
Поэтому необходимо использовать драйвера, разработанные сторонними организациями или сообществами.
Необходимые драйвера с соответствующим описанием настройки для типичных случаев выложены на единственном сайте
http://eciadsl.flashtux.org/ . Там можно скачать необходимый в нашем случае драйвер последней версии. В данной
статье использовался драйвер eciadsl-usermode-0.10-nortek-alpha.tar.bz2,
доступный по адресу http://eciadsl.flashtux.org/download.php?lang=en . Также необходимо скачать файлы синхронизации,
расположенные на той же странице.
Распаковка
Прежде всего необходимо распаковать архив:
[root@testadsl]# bunzip2 eciadsl-usermode-0.10-nortek-alpha.tar.bz2
[root@testadsl]# tar -xf eciadsl-usermode-0.10-nortek-alpha.tar
Затем из архива с файлами синхронизации необходимо извлечь файлы gs7470_synch04.bin и gs7470_synch06.bin
При необходимости можно ознакомиться с README, README_GS7470.txt, INSTALL, находящимися в каталоге с распакованным драйвером.
Проверка
В некоторых дистрибутивах возможен случай, когда модем DSL-200
определяется как звуковая карта; проверить это можно наличием или
отсутствием загруженного модуля внешней звуковой карточки dabusb, если
модуль загружен, то его необходимо отключить:
[root@testadsl]#lsmod |grep dabusb
Также, для работы драйвера модема необходимо загрузить модуль n_hdlc:
[root@testadsl]#modprobe n_hdlc
Отсутствие модуля означает необходимость перекомпиляции ядра.
Проверяем, что у нас загружается модуль tun для организации туннеля IPoATM как это организовано у WebPlus-а:
[root@testadsl]#modprobe tun
модуль дожен загрузиться без дополнительных сообщений. Проверка:
[root@testadsl]#lsmod |grep tun
Если выдается сообщение об отстутсвии модуля - придется прекомпилировать ядро.
Установка драйвера
Если предыдущие пункты выполнены успешно, необходимо приступить к
компиляции и установке драйвера, для этого нужно переместиться в
каталог распакованного драйвера eciadsl-usermode-0.10-nortek-alpha.tar.bz2
и выполнить следующие команды:
[root@testadsl]#./configure
[root@testadsl]#make
[root@testadsl]#make install
Также, необходимо скопировать файлы gs7470_synch04.bin и
gs7470_synch06.bin в каталог /etc/eciadsl.
Конфигурирование
Процесс конфигурирования этого устройства подразумевает установление
сетевых параметров устройства tap типа Ethernet, таких как ip-адрес,
DHCP, шлюз и пр., а так-же параметров Vendor-ID(VID) и
Product-ID(PID), необходимых для работы USB устройств.
Определение параметров VID1, PID1, VID2, PID2 производится путем
выполнения команды:
[root@testadsl]#eciadsl-probe-device
ниже приведен возможный вывод утилиты:
your USB devices:
1: USB UHCI Root Hub (0000:0000)
2: USB-ADSL Modem / GlobespanVirata, Inc. (2001:5100)
3: Basic Optical Mouse / Microsoft (045e:0083)
Выбираем наш модем (2):
probed USB device: USB-ADSL Modem / Microsoft
VID1=2001, PID1=5100
VID2=2001, PID2=5100
Did you really unplug/replug your modem before launching this script?
Запоминаем эти цифры. Учтите, что для DSL-200 эти цифры дожны попарно совпадать VID1=VID2, PID1=PID2.
Если это не так - что-то у вас неправльно. Естественно модем во время процедуры должен быть подключен.
Далее запускаем конфигурационную утилиту
eciadsl-config-textили
eciadsl-config-tk - это графический инсталлятор
В конфиге выбираем следующие параметры (учтите, что у некоторых опций много вариантов выбора, и в простом терминале нужные нам окажутся за пределами окна - используйте что-нибудь с возможностью прокрутки экрана):
Current user name is: - пишем что душе угодно, аутентификация у WebPlus не используется
Type in your password: - тоже самое
Select your provider: - выбираем Other
Type in an IP for DNS1: 194.8.160.90
Type in an IP for DNS2: 195.131.52.130
Type in your VPI: 1
Type in your VCI: 32
Select your modem: выбираем D-Link DSL200 rev B
Type in a VID1: 2001 (да, вот тут нам нужны цифры определенные на 12 шаге)
Type in a PID1: 5100
Type in a VID2: 2001
Type in a PID2: 5100
Select your modem chipset: внутрь модема я не залезал, но у меня без проблем работает вариант GS7470
Type in the USB ALT INTERFACE for SYNCH: не знаю что это, но у меня работает 4
Type in the USB ALT INTERFACE for PPPOECI: тоже не знаю что это, но тоже работает 4. Сильно подозреваю, что нам это не надо, ибо PPPoE у нас не используется.
Select your .bin file for synch: выбираем gs7470_synch06.bin - у меня он точно работаетЕсли не поможет пробуем второй. Если и он не заработает, то пробуем остальные из архива.
Select your PPP mode: из предложенных вариантов выбираем LLC_RFC1483_ROUTED_IP как наиболее подходящй к ситуации, хотя и не полностью совпадающий с тем что говорит по этому поводу руководство от WebPlus по настройке модема под винды.
Is DHCP used by your provider: n
Did you get a static IP from your provider: y
Type in your static IP: 195.xxx.xxx.xxx (вводим свой IP который дал WebPlus)
Type in your provider’s gateway IP: 195.xxx.xxx.1 (вводим адрес шлюза который дал провайдер)
Далее будут выведены все опции конфига. Просматриваем, убеждаемся, что все правильно нажимаем Enter.
Конфиг находится в файле /etc/eciadsl.conf. У меня он выглядит следующим образом:
[root@home eciadsl]# cat eciadsl.conf
VID1=2001
PID1=5100
VID2=2001
PID2=5100
MODE=LLC_RFC1483_ROUTED_IP
VCI=32
VPI=1
FIRMWARE=/etc/eciadsl/firmware00.bin
SYNCH=/etc/eciadsl/gs7470_synch06.bin
PPPD_USER=-
PPPD_PASSWD=
USE_DHCP=no
USE_STATICIP=yes
STATICIP=195.xxx.xxx.xxx
GATEWAY=195.xxx.xxx.xxx
MODEM=Other
MODEM_CHIPSET=GS7470
SYNCH_ALTIFACE=4
PPPOECI_ALTIFACE=4
PROVIDER=Other
DNS1=194.8.160.90
DNS2=195.131.52.130
Запуск
Для создания устройства tap типа Ethernet необходимо ввести команду:
[root@testadsl]#eciadsl-start
Модем начнёт синхронизироваться, о чём сообщает мигающая лампочка на
модеме, по установке соединения лампочка станет светить постоянно, и
утилита eciadsl-start сообщит вам об успешном соединении.
Ниже приведен фрагмент вывода команды ifconfig:
tap0 Link encap:Ethernet HWaddr F6:F2:D4:2A:31:6C
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:1419 (1.3 KiB) TX bytes:1475 (1.4 KiB)
Если возникают проблемы с синхронизецией, то лезем в /etc/eciadsl.conf и меняем там файл синхронизации, затем пробуем запустить опять. Между попытками модем необходимо выключать, и включать снова.
Проверять связь лучше всего пингом на один из DNS-ов. Например
[root@testadsl]#ping 194.8.160.90
У некоторых наблюдается задержка в 1-1,5 сек.
Автоматизация
Теперь каждый раз, когда вам нужно установить соединение, вам придется выполнять команду eciadsl-start. Автоматизировать этот процесс можно следующим образом:
Создаём скрипт:
sudo gedit /etc/init.d/eciadsl
Копируем туда следующий текст:
#!/bin/bash
sudo eciadsl-start
exit 0
делаем исполнимым:
chmod +x /etc/init.d/eciadsl
Добавляем в автозагрузку:
update-rc.d eciadsl defaults
Теперь синхронизация будет запускаться автоматически при запуске системы.
Ссылки
В этом разделе перечислены ссылки на документацию, которая использовалась при написании статьи:
http://demon.ru/adslwp.html
Настройка USB ADSL модема DLink DSL-200 на WebPlus
http://www.opennet.ru/base/modem/pppoe_adsl.txt.html
Настройка PPPoE ADSL-соединения под ОС Linux при помощи USB модема



Да, ещё есть одна фишка: В Ubuntu 6.06 Dapper Drake всё работает, а вот в 6.10 Edgy - нет, там скрипты eciadsl вываливаются с ошибками. В основном это unexpected “(”. Это связано с тем, что в 6.10 используется dash вместо bash. Это можно пофиксить, выполнив команду
sudo dpkg-reconfigure dashи выбрав там bash.
Написал скрипт для автостарта. Будет пытаться установить соединение до тех пор, пока не установит его. Подойдет для соединения только через eciadsl-start, pppoe не запускает. Положите его в /etc/init.d и сделайте
sudo chmod +x /etc/init.d/eciadsleciadsl autostart script
Q: У меня дома 2 компа, на 1-м линукс, на 2-м винда. Оба иногда выходят в инет с одного и того же модема. Под винду, естественно, дрова официальные. Если установить дрова eciadsl, не будет ли проблем с виндой?
Вроде как там устанавливается ихий firmware.
A: Я, честно говоря, не знаю. Я слышал, что у некоторых людей были такие проблемы, и в винде модем отказывался синхронизироваться, однако они решили эту проблему переустановкой дров в винде - после чего все работало и там, и там.
Сам же я с этим не сталкивался, и никто из тех людей, с кем я общался по этому поводу, тоже. Возможно, это имело место быть на старых дровах eciadsl. На версиях 0.10 и выше подобных проблем не замечено. Лично у меня шаг с инсталляцией firmware вообще пропускается при запуске eciadsl-start.
поставил недавно Оpen suse 10.3 решил научится ,да не тут то было D-Link200 ЮСБ модем невидит.
Всё чтo описано выше для меня темный лес,есть ли другие способы это cделать ? без интернета как без рук.
К сожалению, я еще не телепат и не знаю, что подразумевается под “Оpen suse 10.3 модем невидит.” Поэтому лучшее, что я могу предложить за неимением более подробной информации - это купить нормальный модем… Еще можно попытаться обратится на форум вашего сообщества (если есть) или на linuxforum.ru
P.S. Невозможно чему-то научится, если следовать простыми путями.
хей-хей, огромнейшее спасибо за статью, она очень и очень мне пригодилась
Спасибо!