Howto: Ubuntu + Usb-модем D-link Dsl-200 Generation Iii + Megaline

Автор ping_Win, 03 Декабря 2008, 23:10

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Ануар

Модем только у меня работает крайне не стабильно или он сам по себе таков? http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/angry.gif\' class=\'bbc_emoticon\' alt=\':angry:\' />

Vicpo

после соединения проверяем маршруты
route -nили попробуйте
route add default gw ppp0

Власенко Михаил

13 Октября 2009, 19:52 #202 Последнее редактирование: 02 Мая 2010, 19:12 от Власенко Михаил
ОС: Ubuntu 8.04.03
Kernel:  2.6.24-24-generic
Модем: D-Link DSL-200 Generation III

Большое спасибо за этот пост. Начинал настраивать свой модем, опираясь на пост пользователя new bea. Были сильные мучения с процессом синхронизации, синхронизация успешно заканчивалась после 5-ой ... 10-ой попытки. После того как наткнулся на эту статью и стал использовать для синхронизации бинарный файл gs7470_synch999.bin, процесс синхронизации стал происходить намного успешнее. Сразу отмечу, что в настоящий момент использую драйвер eciadsl-usermode 0.10-1. Остаётся неразрешимой проблема следующего рода: Модем устанавливает соединение всего лишь на несколько минут (иногда часов), а потом обрывает. Перечитал все посты в этой теме. Пока есть два соображения. Либо попытать счастье с драйвером 0.12, несмотря на утверждения о том, что 0.12 не поднимает tap0, у меня почему-то поднимал. И вторая попытка решить проблему - это попробовать сделать самому бинарный файл синхронизации. Если у Вас будут соображения по поводу моей проблемы, прошу поделиться.
Соединение с интернетом по команде sudo pppoe-start ещё ни разу не увенчалась успехом:
Цитироватьalexander@alexander-desktop:~$ sudo pppoe-start
[sudo] password for alexander:
................TIMED OUT
/usr/sbin/pppoe-start: line 191:  6527 Terminated              $CONNECT "$@" > /dev/null 2>&1
По этой причине я соединяюсь командой: sudo pon dsl-providerДля автоконнекта модема при загрузке системы сделал следующее.
1) Создал файл /etc/init.d/eciadsl со скриптом.
sudo gedit /etc/init.d/eciadslСам текст скрипта (содержимое этого файла):
[codebox]#!/bin/bash

# This is an improved eciadsl launch script, which
# tries to connect after failures until success.
# Feel free to share and modify
# by Starlite

case "$1" in
    start)
        sudo mount -t usbfs none /proc/bus/usb
        sudo eciadsl-start
        result=$?
        #echo 'exit code:' $result
        until [ $result -eq 0 ]
        do
            echo 'Error: connection failed'
            sudo eciadsl-stop
            sudo eciadsl-start
            result=$?
        #    echo 'exit code:' $result
        done
        echo 'connection established'
        sudo pon dsl-provider
        exit $?
        ;;
    stop)
        sudo eciadsl-stop
        exit $?
        ;;
    restart|force-reload)
        $0 stop && $0 start
        exit $?
        ;;
    *)
        echo 'Usage: eciadsl {start|stop|restart}'
        exit 1
        ;;
esac
exit 0[/codebox]
*Примечание: В настоящий момент этот скрипт очень сильно переработал.Здесь можно найти самую последнюю версию этого скрипта.
Этот скрипт я позаимствовал у вышеупомянутого new bea. В этом скрипте команда eciadsl-start выполняется до тех пор пока код ошибки не будет равным нулю. Это несколько рисковано, потому что может случиться ситуация, когда из-за этого скрипта не будет возможности войти в систему. По этой причине у меня вопрос к знатокам, как исправить обработку ошибок так, чтобы проверка кода ошибки происходила только ограниченное число раз.

2) Присвоил права на запуск этого скрипта:
sudo chmod +x /etc/init.d/eciadsl
3) Поставил этот скрипт на автозапуск:
update-rc.d eciadsl defaults
Выкладываю для анализа конфигурационные файлы.

/etc/eciadsl/eciadsl.conf
[codebox]VID1=0572
PID1=cb16
VID2=0572
PID2=cb16
MODE=LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS
VCI=35
VPI=0
FIRMWARE=/etc/eciadsl/firmware00.bin
SYNCH=/etc/eciadsl/gs7470_synch999.bin
PPPD_USER=*****
PPPD_PASSWD=*****
USE_DHCP=yes
USE_STATICIP=no
STATICIP=
GATEWAY=
MODEM=Other
MODEM_CHIPSET=GS7470
SYNCH_ALTIFACE=0
PPPOECI_ALTIFACE=0
PROVIDER=Other
DNS1=212.19.149.227
DNS2=212.19.149.226
[/codebox]
/etc/ppp/pppoe.conf
[codebox]ETH='tap0'
USER='*****'
DEMAND=no
#DEMAND=300
DNSTYPE=SPECIFY
PEERDNS=no
DNS1=82.200.130.10
DNS2=212.19.128.4
DEFAULTROUTE=yes
CONNECT_TIMEOUT=30
CONNECT_POLL=2
ACNAME=
SERVICENAME=
PING="."
CF_BASE=`basename $CONFIG`
PIDFILE="/var/run/$CF_BASE-pppoe.pid"
SYNCHRONOUS=no
#SYNCHRONOUS=yes
CLAMPMSS=1412
#CLAMPMSS=100
#CLAMPMSS=no
LCP_INTERVAL=20
LCP_FAILURE=3
#LCP_FAILURE=30
PPPOE_TIMEOUT=80
FIREWALL=NONE
LINUX_PLUGIN=
PPPOE_EXTRA=""
PPPD_EXTRA="" [/codebox]
/etc/ppp/peers/dsl-provider[codebox]
# Configuration file for PPP, using PPP over Ethernet
# to connect to a DSL provider.
#
# See the manual page pppd(8) for information on all the options.

##
# Section 1
#
# Stuff to configure...

# MUST CHANGE: Uncomment the following line, replacing the user@provider.net
# by the DSL user name given to your by your DSL provider.
# (There should be a matching entry in /etc/ppp/pap-secrets with the password.)
#user myusername@myprovider.net

# Use the pppoe program to send the ppp packets over the Ethernet link
# This line should work fine if this computer is the only one accessing
# the Internet through this DSL connection. This is the right line to use
# for most people.
#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452"

# An even more conservative version of the previous line, if things
# don't work using -m 1452...
#pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1412"

# If the computer connected to the Internet using pppoe is not being used
# by other computers as a gateway to the Internet, you can try the following
# line instead, for a small gain in speed:
#pty "/usr/sbin/pppoe -I eth0 -T 80"


# The following two options should work fine for most DSL users.

# Assumes that your IP address is allocated dynamically
# by your DSL provider...
noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
# Use this connection as the default route.
# Comment out if you already have the correct default route installed.
defaultroute

##
# Section 2
#
# Uncomment if your DSL provider charges by minute connected
# and you want to use demand-dialing.
#
# Disconnect after 300 seconds (5 minutes) of idle time.

#demand
#idle 300

##
# Section 3
#
# You shouldn't need to change these options...

hide-password
lcp-echo-interval 20
lcp-echo-failure 3
# Override any connect script that may have been set in /etc/ppp/options.
connect /bin/true
noauth
persist
mtu 1500

# RFC 2516, paragraph 7 mandates that the following options MUST NOT be
# requested and MUST be rejected if requested by the peer:
# Address-and-Control-Field-Compression (ACFC)
noaccomp
# Asynchronous-Control-Character-Map (ACCM)
default-asyncmap

plugin rp-pppoe.so
nic-tap0
user "*****"[/codebox]

*Примечание: везде вместо ***** указан собственный логин и пароль для доступа в интернет. VPI и VCI указан таким, какой в нашем городе рекомендует провайдер "Казахтелеком". Тоже самое относится для DNS-серверов. У нас рекомендуют: 212.19.149.227 и 212.19.149.226. Эксперементировал с другими, как тут где-то указывалось. Похоже, что большой разницы нет. Мне кажется, что на самом деле используются те, что в файле /etc/resolv.conf
Цитироватьnameserver 212.19.149.227
nameserver 212.19.149.226
И на всякий случай результат команды route -n
alexander@alexander-desktop:~$ route -n
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
95.58.144.8     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

Ануар

13 Октября 2009, 21:32 #203 Последнее редактирование: 13 Октября 2009, 21:32 от Ануар
Ручками заново выставь настройки eciadsl и pppoe!

Именно ручками, а не конфиг файлами. 
sudo eciadsl-config-text

sudo pppoe-setup

Ануар

слез с Кубунту, на Убунту и тут меня лис удвил сильно. 



Уже и систему обновил всею, и пакеты скачал, а вот он в интернет выходить не хочет. о_О

Nervovred

Приветствую. Вынужден просить помощи.
Третий день знакомства с Убунту, третий день пытаюсь настроить интернет
пакеты eciadsl и pppoe из первого поста скачал, поставил.
результат eciadsl-probe-device:
your USB devices now:
 1:  OHCI Host Controller / Linux 2.6.24-19-generic ohci_hcd (0000:0000)
 2:  USB-ADSL Modem / Conexant, Inc. (0572:cb16)
 3:  EHCI Host Controller / Linux 2.6.24-19-generic ehci_hcd (0000:0000)
 4:  Mass Storage Device / Generic (058f:6377)

 probed USB device: USB-ADSL Modem / Conexant, Inc.
 VID1=0572, PID1=cb16
 VID2=0572, PID2=cb16
 Did you really unplug/replug your modem before launching this script?
 nerv@nerv-desktop:~$
 

конфиг eciadsl:
VID1=0572
 PID1=cb16
 VID2=0572
 PID2=cb16
 MODE=LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS
 VCI=35
 VPI=0
 FIRMWARE=/etc/eciadsl/firmware00.bin
 SYNCH=/etc/eciadsl/gs7470_synch21.bin
 PPPD_USER=mcc1608uz
 PPPD_PASSWD=
 USE_DHCP=no
 USE_STATICIP=no
 STATICIP=
 GATEWAY=
 MODEM=Other
 MODEM_CHIPSET=GS7470
 SYNCH_ALTIFACE=0
 PPPOECI_ALTIFACE=4
 PROVIDER=Other
 DNS1=212.12.0.2
 DNS2=212.12.0.3
 

конфиг pppoe:
 ETH='tap0'
 USER='mcc1608uz'
 DEMAND=no
 #DEMAND=300
 DNSTYPE=SPECIFY
 PEERDNS=no
 DNS1=212.12.0.2
 DNS2=212.12.0.3
 DEFAULTROUTE=yes
 CONNECT_TIMEOUT=30
 CONNECT_POLL=2
 ACNAME=
 SERVICENAME=
 PING="."
 CF_BASE=`basename $CONFIG`
 PIDFILE="/var/run/$CF_BASE-pppoe.pid"
 SYNCHRONOUS=no
 #SYNCHRONOUS=yes
 CLAMPMSS=1412
 #CLAMPMSS=100
 #CLAMPMSS=no
 LCP_INTERVAL=20
 LCP_FAILURE=3
 #LCP_FAILURE=30
 PPPOE_TIMEOUT=80
 FIREWALL=NONE
 LINUX_PLUGIN=
 PPPOE_EXTRA=""
 PPPD_EXTRA=""
 

при попытке sudo pppoe-start с вероятностью примерно 20% происходит коннект, но страницы не открываются. pppoe-status пишет следующее:
nerv@nerv-desktop:~$ sudo pppoe-status
 [sudo] password for nerv:
 pppoe-status: Link is up and running on interface ppp0
 ppp0      Link encap:Point-to-Point Protocol
            inet addr:94.28.197.13  P-t-P:10.251.0.110  Mask:255.255.255.255
           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
           RX packets:3 errors:0 dropped:0 overruns:0 frame:0
           TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:3
           RX bytes:30 (30.0 /cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />  TX bytes:37 (37.0 /cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />
 

sudo pppoe-connect пишет вот что:
nerv@nerv-desktop:~$ sudo pppoe-connect
 Using interface ppp0
 Connect: ppp0 <--> /dev/pts/0
 PAP authentication succeeded
 Cannot determine ethernet address for proxy ARP
 local  IP address 94.28.197.13
 remote IP address 10.251.0.110
 

Не могу понять, почему используется интерфейс ppp0, модем в ifconfig определяется как tap0 (лог ifconfig сохранить забыл. Если понадобится, сделаю)
Еще хотелось бы узнать, какая из предложенных при конфигурации esiadsl инкапсуляций соответствует "RFC 2684 IPoATM Bridged LLC Encapsulation".

Власенко Михаил

16 Октября 2009, 16:53 #206 Последнее редактирование: 16 Октября 2009, 17:06 от Власенко Михаил
Цитата: Ануар от 16 Октября 2009, 00:57слез с Кубунту, на Убунту и тут меня лис удвил сильно.



Уже и систему обновил всею, и пакеты скачал, а вот он в интернет выходить не хочет. о_О



Мне каждый раз приходится в Mozilla Firefox убирать галочку напротив "Работать автономно" в меню Файл. Может быть по этой причине ты не можешь в своём веб-браузере просматривать веб-страницы. Другой причиной может быть - неверно указанные DNS-сервера

Власенко Михаил

Цитата: Nervovred от 16 Октября 2009, 03:43при попытке sudo pppoe-start с вероятностью примерно 20% происходит коннект, но страницы не открываются...

Лично мне кажется это из-за DNS-серверов. У тебя в конфигурационных файлах указаны 212.12.0.2 и 212.12.0.3. Где взял такие?

А я тем временем попробывал с новыми версиями  eciadsl-usermode с 0.11-1 и с 0.12-1 - хуже. Создал свой собственный бинарный файл синхронизации - не помогло. Продолжает наблюдаться дисконнект через несколько минут (или часов). По команде sudo pppoe-start коннекта нет. Может кто-нибудь подскажет как можно сделать так, чтобы при дисконнекте происходило автоматическое повторное соединение? Могут ли мои проблемы быть связаны с моей старой версией ОС? У кого-нибудь с новой версией Убунты есть стабильный коннект без обрывов?

Nervovred

16 Октября 2009, 20:37 #208 Последнее редактирование: 16 Октября 2009, 21:58 от Nervovred
ДНС сервера выданы провайдером, ipconfig в win говорит, что адреса правильные:
<название подключения> - PPP адаптер:
DNS-суффикс этого подключения . . :
Описание  . . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Физический адрес. . . . . . . . . : 00-53-45-00-00-00
Dhcp включен. . . . . . . . . . . : нет
IP-адрес  . . . . . . . . . . . . : 95.139.194.194
Маска подсети . . . . . . . . . . : 255.255.255.255
Основной шлюз . . . . . . . . . . : 95.139.194.194
DNS-серверы . . . . . . . . . . . : 212.12.0.2
212.12.0.3
NetBIOS через TCP/IP. . . . . . . : отключен


Upd: переконфигурировал eciadsl, отключил DCHP. Теперь вижу вот что:
nerv@nerv-desktop:~$ sudo pppoe-start
.... Connected!
nerv@nerv-desktop:~$ sudo pppoe-status
pppoe-status: Link is attached to ppp0, but ppp0 is down

Власенко Михаил

Установил eciadsl-usermode версию 0.12-1, по инструкции пользователя ping_Win сгенерировал новый файл синхронизацииeciadsl-vendor-device.pl usbsnoop.log -chipset=GS7470скопировал его в каталог /etc/eciadsl. Отредактировал файл конфигурации eciadsl.confsudo gedit /etc/eciadsl/eciadsl.confуказав в нём на новый файл синхронизации. Перегрузился. И вот я в интернете с новым драйвером eciadsl-usermode v. 0.12-1. Кто-то утверждал, что это невозможно, что эта версия никогда не поднимает tap0. Смею утверждать, что это не так, ибо именно сейчас пишу эти строки, используя версию 0.12-1. В настоящий момент обновляюсь до Ubuntu 8.10 и тем самым тестирую новый коннект на предмет устойчивости. В случае неудачи - дам знать о провале. В случае успеха - выложу файл синхронизации.

Власенко Михаил

17 Октября 2009, 21:54 #210 Последнее редактирование: 17 Октября 2009, 22:08 от Власенко Михаил
Тест прошёл успешно. Около 6 с половиной часов прошло без обрыва. Выкладываю файл синхронизации.

P.S. К сожалению через Konqueror выложить файл не получается. Попытаюсь через IE в Windows.

Nervovred

Продолжаю борьбу с модемом... судя по всем логам, соединение устанавливается.
nerv@nerv-desktop:~$ sudo pppoe-connect
 Using interface ppp0
 Connect: ppp0 <--> /dev/pts/1
 PAP authentication succeeded
 Cannot determine ethernet address for proxy ARP
 local  IP address 94.28.207.10
 remote IP address 10.251.0.110
 

ifconfig ppp0 тоже пишет что-то подобное:

ppp0      Link encap:Point-to-Point Protocol
  inet addr:94.28.207.10  P-t-P:10.251.0.110  Mask:255.255.255.255
 UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
 RX packets:5 errors:0 dropped:0 overruns:0 frame:0
 TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:3
 RX bytes:142 (142.0 /cool.gif\' class=\'bbc_emoticon\' alt=\'B)\' />  TX bytes:2304 (2.2 KB)
 

Прочитал про похожие симптомы вот такой совет:
"Поднимаешь ppp0.
Смотришь # ifconfig ppp0, там адрес сервера с которым соединился, скажем ххх.ххх.ххх.ххх
Делаешь: # route add default gw xxx.xxx.xxx.xxx ppp0
Это надо сделать один раз, при последующих перезагрузках не надо.
В принципе, если все остальное в норме инет должен появиться."

Не понял, какой из адресов следует прописывать в этой строке. При отключении и повторном подключении оба адреса меняются. Не получается зайти даже на локальную страничку "личного кабинета".

Власенко Михаил

Цитата: Nervovred от 16 Октября 2009, 20:37Upd: переконфигурировал eciadsl, отключил DCHP. Теперь вижу вот что:
В предыдущем твоём посте в конфигурационном файле /etc/eciadsl/eciadsl.conf, указано
Цитата: Nervovred от 16 Октября 2009, 03:43конфиг eciadsl:
VID1=0572
...
USE_DHCP=no
...
что говорит о том, что DHCP уже был отключен.
Но лично мне по прежнему кажется, что это проблема с DNS-серверами. Я не знаю, почему у меня не получается соединяться по команде sudo pppoe[color="#666600"]-[/color]start, но зато работает альтернатива: sudo pon dsl[color="#666600"]-[/color]provider, которая по всем признакам использует настройки, указанные в конфиг-файле /etc/ppp/peers/dsl-provider. А в этом файле имеется такая директива: usepeerdns (см. мои конфигурационные файлы, указанные выше). Предшествующий комментарий на английском языке "Try to get the name server addresses from the ISP" говорит о том, что DNS-сервера будут автоматически определяться провайдером, - это как я понял. Это наводит на мысль, что возможно команда sudo pppoe[color="#666600"]-[/color]start не использует конфигурационный файл /etc/ppp/peers/dsl-provider, вместо этого она черпает параметры из /etc/ppp/pppoe.conf, где есть нечто аналогичное, параметр PEERDNS=no. Короче говоря, попробуй у себя изменить этот параметр на yes. После чего соединись командой pppoe[color="#666600"]-[/color]start или pppoe-connect. Если это не поможет, то попробуй альтернативный вариант, команду sudo pon dsl[color="#666600"]-[/color]provider, при этом убедись, что в конфиге /etc/ppp/peers/dsl-provider есть параметр usepeerdns.

Nervovred

Стало чуть веселее, но результата все равно нет. Почитал про проблемы из-за NetworkManager'a, проверил. Соединений он создать не успел, я его снес в один из первых дней. Буду ковыряться дальше.
Лог message:
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
PAP authentication succeeded
IP address 94.28.232.119
IP address 10.251.0.106
primary   DNS address 212.12.0.2
secondary DNS address 212.12.0.3
No response to 3 echo-requests
Serial link appears to be disconnected.
Connect time 1.4 minutes.
Sent 1722 bytes, received 0 bytes.
Modem hangup
Connection terminated.
Exit.

Надо попробовать завтра поднять старенький внутренний dial-up модем. Если не заработает, значит проблема уже не в конфигурациях, а где-то в полуметре от монитора)

Власенко Михаил

22 Октября 2009, 20:05 #214 Последнее редактирование: 19 Мая 2010, 11:48 от Власенко Михаил
Nervovred, а ты не пробывал поднять интернет, используя версию 0.12-1 драйвера eciadsl-usermode? Кстати, практикуя частые переустановки этого драйвера, я решил доработать вышеприведённый мною скрипт, который служит для автоконнекта при старте системы. Вот этот скрипт в обработанном виде.
eciadsl:

[codebox]
#!/bin/bash

# This is an improved eciadsl launch script, which
# tries to connect after failures until success.
# Feel free to share and modify
# by Starlite

# Cкрипт для автоконнекта

# Скопируйте этот скрипт в каталог /etc/init.d
# sudo cp eciadsl /etc/init.d/eciadsl
# Дайте права на запуск этого скрипта
# sudo chmod +x /etc/init.d/eciadsl
# Поставте этот скрипт на автозапуск
# sudo update-rc.d eciadsl defaults

# Если нужно - можно запускать его самостоятельно:

# /etc/init.d/eciadsl [опция]
# где [опция] = start                   - запуск
#               stop                    - остановка
#               restart, force-reload   - перезапуск (остановка + запуск)

# Оригинал данного скрипта был взят здесь -
# http://starl1te.files.wordpress.com/2007/03/eciadsl.txt

# Автор доработки данного скрипта:
# Власенко Михаил Викторович,
# e-Mail: Michael1972[at]mail.ru
# Веб-страница: http://michael1972.forever.kz/
# IRC: nick = Michael72,     
#    server = irc.ru - Demos IRC server in RusNet IRC Network
# ICQ: 290060286
# Skype: michahel_


#SETTINGS

max=5                            # Максимальное количество попыток синхронизации

# Выберите один из способов подключения.
# Первый метод подключения: sudo pppoe-start
# Второй метод подключения: sudo pon adsl
#    здесь adsl - это скрипт соединения, который лежит в каталоге /etc/ppp/peers/

pppoe="sudo pon adsl"           # Команда подключения

#END OF SETTINGS

choice()
{
echo -en "$1"
while [ $? -eq 0 ]
do
  read -s -n1
  case "$REPLY" in
        "$2") echo $2; return 1;;
        "$3") echo $3; return 2;;
  esac
done
}

case "$1" in
   start)
# Если вы используете драйвер eciadsl-usermode версии 0.11-1 и выше, вы можете закомментировать
# следующую строку, поставив в её начале символ решотки - #.
      sudo mount -t usbfs none /proc/bus/usb
      sudo eciadsl-start
      result=$?
#      echo 'exit code:' $result
      if [ "$result" -eq "3" ]; then
              echo 'Модем не подключен. Подключите модем и повторите попытку.'
              exit $result
      fi
      a=1
      until [ $result -eq 0 ] || [ "$a" -eq "$max" ]
      do
         let "a+=1"
         echo 'Error: connection failed (синхронизация не удалась)'
         echo 'Попытка синхронизации №: '$a' из '$max
         [ "`pidof eciadsl-pppoeci`" ] && eciadsl-stop
         sudo eciadsl-start
         result=$?
#         echo 'exit code:' $result
      done
      if [ "$result" -eq "0" ]; then
              echo 'connection established (синхронизация прошла успешно)'
              ifconfig tap0 > /dev/null
              if [ "$?" -eq "0" ]; then
                      $pppoe
              else
                      cat <<End-of-message

Error: Среди карт/интерфейсов отстутствует tap0
Повторите попытку синхронизации ещё раз.
Если уж совсем много раз не выходит -
что-то не правильно с вашими настройками -
проверьте настройки и файлы синхронизации.
Вам нужно добиться, чтобы лампочки не гасли http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />.

**************************************************
Пройти процедуру синхронизации модема ещё раз?
End-of-message
                      choice "(Да-1, Нет-0) -?" 1 0
            if [ "$?" -eq "1" ]; then
               $0 restart
            fi
              fi
      else
              cat <<End-of-message

Error: connection failed
Синхронизация не удалась.
Превышено максимальное количество попыток синхронизации: $max.

Вы можете изменить это значение, отредактировав
в файле $0
значение переменной \$max в секции #SETTINGS

End-of-message
      fi
      exit $?
      ;;
   stop)
      [ "`pidof eciadsl-pppoeci`" ] && eciadsl-stop
      exit $?
      ;;
   restart|force-reload)
      $0 stop
      $0 start
      exit $?
      ;;
   *)
      echo 'Usage: eciadsl {start|stop|restart}'
      exit 1
      ;;
esac
exit 0
[/codebox]
(*Примечание: было решено, самую последнюю версию этого скрипта публиковать здесь)

Кстати, обрати внимание на комментарий в скрипте. Там ты найдёшь ссылку на то, как создавать файл usbsnoop.log, необходимый для генерирования файла синхронизации. На мой взгляд, там имеется существенная деталь, которая была упущена в инструкции от ping_Win.
P.S. Ссылка, о которой идёт речь выше, в скрипте уже отсутствует, так как скрипт подвергся переработке. Имелась ввиду ссылка на инструкцию, которую можно найти здесь.
А для процедуры установки/переустановки драйвера eciadsl-usermode родился новый скрипт. Пока что не удалось его испытать как он действует на практике, но буду очень рад, если кому-либо он поможет. Скрипт создан таким образом, чтобы каталог со всеми необходимыми файлами для установки драйвера можно было бы записать на CD-ROM - в нужном месте предусмотрен переход в каталог /tmp.
install:

[codebox]
#!/bin/bash
# Скрипт для установки eciadsl-usermode. Требует параметры:
# 1-[имя пакета с драйвером]

# где [имя пакета с драйвером] = имя файла с пакетом eciadsl-usermode, например:
# install '~/eciadsl_0.10_KZedition.deb'
# При этом будет сгенерирован файл синхронизации и скопирован в каталог
# /etc/eciadsl с именем my_synch.bin
# Для успешной инсталляции/реинсталляции, кроме наличия файла с пакетом драйвера eciadsl-usermode
# требуется наличие в том же каталоге, где и данный скрипт, файла конфигурации eciadsl.conf
# с необходимыми параметрами и файла usbsnoop.log, который служит для генерации
# файла синхронизации. Инструкцию о том, как получить этот файл, вы можете найти здесь -
# http://lug.dn.ua/papers/LinuxBegin/linuxbegin/article710.html
# Рекомендуется предварительно отредактировать и внести все необходимые изменения в файле
# eciadsl.conf.
# В частности, отредактируйте строку с параметром SYNCH: SYNCH=/etc/eciadsl/my_synch.bin

# В каталоге с данным скриптом кроме пакета eciadsl-usermode требуется наличие:
# tk8.5_8.5.7-1_i386.deb (или >)
# tcl8.5_8.5.7-1_i386.deb (или >)
# pppoe_3.8-3_i386.deb
# eciadsl-synch_bin.tar
# eciadsl.conf
# pppoe.conf
# eciadsl - скрипт для автоконнекта
#-----------------------------------------------
# Примечание:
#    Запуск install (данный скрипт) с параметром не обязателен.
#    Самый первый запуск данного скрипта произведёт копирование "Скрипта для автоконнекта" (eciadsl)
#    в каталог /etc/init.d и поставит его на автозапуск.

choice()
{
echo -en "$1"
while [ $? -eq 0 ]
do
  read -s -n1
  case "$REPLY" in
        "$2") echo $2; return 1;;
        "$3") echo $3; return 2;;
  esac
done
}

if [ ! -z "$3" ]
then
  case "$3" in
# Проверка параметров
   testpar)
      if [ -e $1 ]
      then
        if [ "`aptitude show eciadsl-usermode | grep -Ei "^Состояние: " | sed 's/^Состояние: //'`" = "установлен" ] || [ "`aptitude show eciadsl-usermode | grep -Ei "^State: " | sed 's/^State: //'`" = "installed" ]
        then
          $0 $1 `pwd` reinstall
        else
          $0 $1 `pwd` install
        fi
      else
        $0 - - set_num eciadsl*.deb
      fi
      exit $?
      ;;
   set_num)
      if [ -e "$4" ]
      then
        PS3='Выберите версию драйвера eciadsl-usermode: ' # строка приглашения к вводу (prompt)
        until [ ! -z "$eciadsl" ]
        do
          echo
          select eciadsl in eciadsl*.deb
          do
            if [ ! -z "$eciadsl" ]
            then
              break
            else
              echo $'\a'Извините, неверное значение!
              echo
              choice "(Повторить ввод-1, Выход-ESC) -?" 1 $'\033'
              if [ "$?" -eq "2" ]; then
                echo -en "^\n"
                exit 0
              fi
              break
            fi
          done
        done
        $0 $eciadsl - testpar
      else
        $0 - - bad_call
      fi
      exit $?
      ;;
   reinstall)
      sudo apt-get remove eciadsl-usermode
      sudo dpkg -i $1
      cd /tmp
      $0 - $2 synch
#      sudo eciadsl-config-text
      sudo /etc/init.d/eciadsl start
      exit $?
      ;;
   install)
      sudo dpkg -i tcl*
      sudo dpkg -i tk*
      sudo dpkg -i pppoe_3.8-3_i386.deb
      sudo dpkg -i $1
      cd /tmp
      echo Копирую файлы...
      tar -xvf $2/eciadsl-synch_bin.tar > /dev/null
      sudo mv ./eciadsl-synch_bin/*.bin /etc/eciadsl/
      rm -Rf ./eciadsl-synch_bin
      $0 - $2 synch
      dabusb=`sudo lsmod | grep dabusb`
      [ ${#dabusb} -eq 0 ] || sudo modprobe -r dabsusb
      sudo modprobe tun
      sudo modprobe n_hdlc
      sudo cp $2/eciadsl.conf /etc/eciadsl/eciadsl.conf
      VID_PID2[0]=`sudo grep -Ei "^VID1=" /etc/eciadsl/eciadsl.conf | sed 's/^[A-Za-z0-9]*=//'`
      VID_PID2[1]=`sudo grep -Ei "^PID1=" /etc/eciadsl/eciadsl.conf | sed 's/^[A-Za-z0-9]*=//'`
      VID_PID2[2]=`sudo grep -Ei "^VID2=" /etc/eciadsl/eciadsl.conf | sed 's/^[A-Za-z0-9]*=//'`
      VID_PID2[3]=`sudo grep -Ei "^PID2=" /etc/eciadsl/eciadsl.conf | sed 's/^[A-Za-z0-9]*=//'`
      cat <<End-of-message

ВНИМАНИЕ!!! ПРОЦЕДУРА ПРОВЕРКИ ПАРАМЕТРОВ МОДЕМА

В файле конфигурации eciadsl.conf указаны следующие VID/PID модема:
 VID1: ${VID_PID2[0]}
 PID1: ${VID_PID2[1]}
 VID2: ${VID_PID2[0]}
 PID2: ${VID_PID2[1]}

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

**************************************************
Пройти процедуру проверки параметров модема?
End-of-message
      choice "(Да-1, Нет-0) -?" 1 0
      if [ "$?" -eq "1" ]; then
              cat <<End-of-message

Процедура проверки параметров модема состоит из запуска утилиты -
eciadsl-probe-device
После запуска данной утилиты вы увидите список USB-устройств.
Выбирите цифру, соответствующую вашему USB-ADSL Модему.
Важно, чтобы перед запуском утилиты ваш модем уже был подключен.

Соедините ваш USB-ADSL модем с компьютером.
Нажмите ENTER, когда будете готовы.
End-of-message
              read -s ready                                 # Ожидание.
              sudo eciadsl-probe-device
      fi
      sudo cp $2/pppoe.conf /etc/ppp/pppoe.conf
      sudo ln -sf /bin/bash /bin/sh
#      sudo pppoe-setup
      sudo eciadsl-config-tk
      sudo cp $2/eciadsl /etc/init.d/eciadsl
      sudo update-rc.d eciadsl defaults
      sudo /etc/init.d/eciadsl start
      exit $?
      ;;
   synch)
      if [ -e "$2/usbsnoop.log" ]
      then
        eciadsl-vendor-device.pl $2/usbsnoop.log -chipset=GS7470
        sudo mv gs7470_synch999.bin /etc/eciadsl/my_synch.bin
      else
        cat <<End-of-message

В каталоге $2 отсутствует log-файл usbsnoop.log.
Процесс генерации файла синхронизации будет пропущен.

Инструкцию о том, как получить этот файл, вы можете найти здесь -
http://lug.dn.ua/papers/LinuxBegin/linuxbegin/article710.html

End-of-message
      fi
      exit $?
      ;;
   bad_call)
      clear
      echo ────────────────────────────────────────────────────────────────────────
      echo Для установки драйвера eciadsl-usermode вызывайте INSTALL так:
      echo
      echo "    install имя_пакета_с_драйвером_eciadsl-usermode"
      echo "    например:  install eciadsl-usermode_0.12-1_i386.deb"
      echo
      echo "Драйвер eciadsl-usermode будет установлен из указанного пакета."
      echo ────────────────────────────────────────────────────────────────────────
      read -s -n1 -p "▌▌▌ Нажмите любую клавишу для выхода. Press any key to exit. "
      echo
      exit 1
      ;;
   *)
      $0 - - bad_call
      exit $?
      ;;
  esac
else
   cd "$(dirname "$0")"
   if [ ! -z "$1" ]
   then
     $0 $1 - testpar
   else
     $0 - - set_num eciadsl*.deb
   fi
fi
exit $?
[/codebox]

palych

23 Октября 2009, 13:19 #215 Последнее редактирование: 23 Октября 2009, 13:22 от palych
то Nervovred

конфиг eciadsl:
VID1=0572
 PID1=cb16
 VID2=0572
 PID2=cb16
 MODE=LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS
[color="#FF0000"] VCI=35
 VPI=0[/color]
 FIRMWARE=/etc/eciadsl/firmware00.bin
 SYNCH=/etc/eciadsl/gs7470_synch21.bin
 PPPD_USER=mcc1608uz
 PPPD_PASSWD=
 USE_DHCP=no
 USE_STATICIP=no
 STATICIP=
 GATEWAY=
 MODEM=Other
 MODEM_CHIPSET=GS7470
 SYNCH_ALTIFACE=0
 PPPOECI_ALTIFACE=4
 PROVIDER=Other
 DNS1=212.12.0.2
 DNS2=212.12.0.3
 

Если мегалайн, то неверно указан VCI=35,
VCI=40
VPI=0

Вот нормально, стабильно работающие днс
DNS1=212.19.149.53
DNS2=208.67.220.220

Nervovred

Нет, далеко не мегалайн. Домолинк, подразделение Тула. Вот инструкция по настройке модема под наш домолинк в виндовс:
[extract]Настройки
1.Удаляем дравера модема...
2.Устанавливаем их по новой указав вместо WAN на LAN...
3.В натройках модема вносим изминения - vpi - 0,vci - 35...
4.Далее инкапсуляция RFC 2684 IPoATM Bridged LLC Encapsulation...
5.Mode - Multimode///
6.Дожидаемся установки...
7.Далее - пуск, сетевые подключения, создание нового...
8.Создаём подключение новое подключение для высокоскоросного подключения ADSL с запросом пароля...
9. Вводим параметры пользователя...
10. Подключаемся... и вуаля... ваш модем работает...
[/extract]
По теме: на несколько дней пришлось отложить эксперименты, стабильность работы была в приоритете. Отосплюсь, буду мучаться дальше.

Власенко Михаил

11 Ноября 2009, 16:21 #217 Последнее редактирование: 02 Мая 2010, 19:20 от Власенко Михаил
Отмучился с решением проблемы, которую можно назвать Автореконнект. Пришлось самостоятельно написать скрипт и поместить его в /etc/rc.local. Как понятно из названия, этот скрипт служит для повторного коннекта при обрыве. Малость улучшил скрипт для автоконнекта. (Во втором файле eciadsl.gz находится более свежая версия. Жаль, что форум не позволяет управлять уже прикреплёнными файлами. Нет возможности удалить уже загруженный на сервер файл. По этой причине было принято решение: самую последнюю версию данного скрипта публиковать здесь)
Выкладываю прикреплёнными файлами.
Остаётся сильная проблема с очень частым обрывом. В Windows такого не происходит, хотя обрывы тоже бывают, но не так часто. Есть ли какое-то решение против неустойчивого коннекта?

farid

16 Ноября 2009, 11:37 #218 Последнее редактирование: 16 Ноября 2009, 12:07 от farid
извините за назойливость. что -то я никак не подключусь.третий день пухну. синхронизируюсь нормально.лампы горят. sudo pppoe-start  ни как не подключается-timed out.
/usb/sbin/pppoe-start: line191: 4736 terminated          $connekt   "$@" > /dev/null  2>&1

Wish

20 Ноября 2009, 12:34 #219 Последнее редактирование: 20 Ноября 2009, 12:53 от Wish
Подскажите как можно настроить мегалайн
модем дсл2500у. подключен через сетеую карту в режиме роутера и городская локальная сеть с выделенным айпи
вопрос в том как сделать чтобы локальные сервисы он грузил через локалку а инет через модем
на винде такое возможно если прописать в настройки модема его айпи, днс и тд, а на убунту он при таких же настройках не работает, нету инета