Manual Acorp Sprinter@ADSL USB+

Installation/usage of EciAdsl driver under Linux

Manual Acorp Sprinter@ADSL USB+

Postby sality » Wed Oct 15, 2008 20:47

Установка USB ADSL модема Acorp Sprinter @ USB+ на Ubuntu 9.10 для провайдера Bashtel (Башинформсвязь)

1)Качаем
http://eciadsl.flashtux.org/download/debian/etch/eciadsl-usermode_0.12-1_i386.deb - драйвер eciadsl
http://eciadsl.flashtux.org/download/eciadsl-synch_bin.tar.bz2 - файлы синхронизации
http://www.roaringpenguin.com/files/download/rp-pppoe-3.10.tar.gz - исходники пакета rp-pppoe
2)Ставим rp-pppoe:
Распаковываем папку rp-pppoe-3.10 в home каталог, для удобства перименуем ее в ppp
Выполняем:
Code: Select all
cd ppp
sudo ./go

Ждем пока сконфигурируется и установится пакет rp-pppoe
По окончанию он предложит настроить наш pppoe.conf, поэтапно вводим:
-1.Ваш юзернейм
-2.Интерфейс - tap0
-3.Demand value - no
-4.Первичный dns сервер, для Bashtel это - 10.195.1.6
-5.Вторичный dns сервер, для Bashtel это - 10.195.1.5
-6.Ваш пасс
-7.Повторный ввод пасса
-8.Firewall. Значения не имеет, но я ставил 0
-9.Проверяем, правильно ли мы все ввели и вбиваем - y
pppoe.conf создан! Можете проверить, лежит в home/etc/ppp/
Сразу же выполняем:
Code: Select all
sudo gedit /etc/ppp/pppoe.conf

Открылся pppoe.conf, ищем строку USER='ваш юзернейм' и сразу же после нее добавляем строку PASSWORD='ваш пасс'
Сохраняем конфиг
3)Устанавливаем и настраиваем eciadsl
Устанавливаем eciadsl-usermode_0.12-1_i386.deb
Бросаем файл синхронизации gs7470_synch21.bin в home/etc/eciadsl/
Если не получается, помещаем gs7470_synch21.bin в home каталог и выполняем:
Code: Select all
sudo cp -T '/home/имя вашей учетки/gs7470_synch21.bin' /etc/eciadsl/gs7470_synch21.bin

Можете проверить, на месте ли синх файл.
Далее настройка eciadsl:
Code: Select all
sudo eciadsl-config-text

Далее поэтапно вводим значения:
-1.Выбираем 1 - Configure all settings
-2.Ваш юзернейм
-3.Ваш пасс
-4.Повторный ввод пасса
-5.Провайдер, выбираем 59 - Other
-6.Первичный dns сервер, для Bashtel это - 10.195.1.6
-7.Вторичный dns сервер, для Bashtel это - 10.195.1.5
-8.VPI, для Bashtel - 0
-9.VCI, для Bashtel - 33
-10.Модем, выбираем 67 - Other
-11.VID1 - 0915
-12.PID2 - 8104
-13.VID2 - 0915
-14.PID2 - 8104
-15.Чипсет, GS7470 - 3
-16.USB ALT INTERFACE for SYNCH process - 4
-17.USB ALT INTERFACE for PPPOECI process - 4
-18.Синх файл. Выбираем номер под которым gs7470_synch21.bin
-19.PPP mode LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS - 3
-20.DCHP - no
-21.Static IP - no (Если вы у провайдера заказывали статический айпи, настройки будут иными)
-22.Проверяем настройки - жмем Enter
eciadsl.conf записан
Выполняем:
Code: Select all
sudo gedit /etc/eciadsl/eciadsl.conf

Открылся конфиг, смотрим, остались ли где-то пустые значения, если есть, то вписываем их, конфиг должен выглядеть следующим образом:
Code: Select all
VID1=0915
PID1=8104
VID2=0915
PID2=8104
MODE=LLC_SNAP_RFC1483_BRIDGED_ETH_NO_FCS
VCI=33
VPI=0
FIRMWARE=/etc/eciadsl/firmware00.bin
SYNCH=/etc/eciadsl/gs7470_synch21.bin
PPPD_USER=Ваш юзернейм
PPPD_PASSWD=если пусто, обязательно пишем свой пасс
USE_DHCP=no
USE_STATICIP=no
STATICIP=no
GATEWAY=no
MODEM=Other
MODEM_CHIPSET=GS7470
SYNCH_ALTIFACE=4
PPPOECI_ALTIFACE=4
PROVIDER=Other
DNS1=10.195.1.6
DNS2=10.195.1.5



Если вдруг поля STATICIP,GATEWAY,PPPD_PASSWD - пустые, дописываем их как в конфиге!
Теперь идем в винду за MAC адресом вашего модема
Запускаем утилиту DSL Status, жмем alt+F1, появляется меню, слева находим пункт Program EEPROM, видим поле MAC Addr, 12-значное значение этого поля сохраняем куда-нибудь, уходим в линукс.
Выполняем:
Code: Select all
sudo eciadsl-start

Происходит синхронизация модема, у меня заняло около 10 сек
Как только завершилась синхронизация, проверяем, появился ли интерфейс tap0:

Code: Select all
ifconfig -a

Если tap0 отсувствует, выполняем команду
Code: Select all
sudo pppd call adsl
- до тех пор, пока в ifconfig -a не появится интерфейс tap0(в моем случае он появляется после 8-10 раз выполнения команды)
Как только tap0 появился, выполняем следующую команду, заменяя иксы своим MAC адресом, который мы взяли в винде:
Code: Select all
sudo ifconfig tap0 hw ether XX:XX:XX:XX:XX:XX up

Далее смотрим:
Code: Select all
ifconfig

Появился интерфейс tap0 c правильным значением HWaddr, если что-то не сходится, делаем по-новой
Все, можем запускать соединение!
Code: Select all
sudo pppoe-start

Если все делали по ману, то должны увидеть
Code: Select all
. Connected!

З.Ы У меня получилось настроить в новой системе с первого раза!
Выполняем
Code: Select all
ifconfig

видим, что создался интерфейс ppp0
Проверяем инет в мозиле...
Далее приведу примеры рабочих скриптов автоподключения и отключения:
Создадим adsl-start.sh, содержимое ниже:
Code: Select all
#!/bin/bash
eciadsl-start
sleep 3s
t=`ifconfig | grep tap0`
while [ "$t" == "" ]
do
   
        sudo '/home/user/eciadsl-repeate.sh'   
   sleep 3s
#   pppoe-start
   t=`ifconfig | grep tap0`
done

pppoe-start

Вы должны указать точное местоположение скрипта eciadsl-repeate.sh
eciadsl-repeate.sh нужен для автоустановления tap0 интерфейса(спасибо roand за скрипты)
Содержимое eciadsl-repeate.sh:
Code: Select all
#!/bin/bash

function wait_for_iface()
{
    # Wait until ppp0 get available
    COUNTER=10
    FLREADY=0
    TIMES=1
    echo -n "Waiting for $1... "
    while [ $TIMES -le $COUNTER ]; do
        ifconfig $1> /dev/null 2>&1
        if [ $? -eq 0 ]; then
            FLREADY=1
            break
        fi
        sleep 1
        echo -n "."
        TIMES=$(expr $TIMES + 1)
    done
    echo
    if [ "$FLREADY" -eq 0 ]; then
        echo "no $1 device found"
        exit $STEP
    fi
}

# <CONFIG>
BIN_DIR="/usr/bin"
ETC_DIR="/etc"
CONF_DIR="/etc/eciadsl"
PPPD_DIR="/etc/ppp"
VERSION="0.12"
# </CONFIG>

MAXSTEPS=5
STEP=1
NOERROR=0
BASE=${0##*/}
while [ -n "$1" ]
do
   case "$1" in
   "-v"|"--version")   version;;
   "-h"|"--help")      usage $NOERROR;;
   -*)               echo "unsupported switch '$1'"
                  usage $STEP;;
   *)               echo "unsupported argument '$1'"
                  usage $STEP;;
   esac
   shift
done

# ===== Read options from config file =====

if [ -s "$CONF_DIR/eciadsl.conf" ]; then
    vid1=`grep -E "^[ \t]*VID1[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    pid1=`grep -E "^[ \t]*PID1[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    vid2=`grep -E "^[ \t]*VID2[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    pid2=`grep -E "^[ \t]*PID2[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    mode=`grep -E "^[ \t]*MODE[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    VPI=`grep "^VPI=" "${CONF_DIR}/eciadsl.conf" | sed -e 's/.*=\(.*\)/\1/'`
    VCI=`grep "^VCI=" "${CONF_DIR}/eciadsl.conf" | sed -e 's/.*=\(.*\)/\1/'`
    firmware=`grep -E "^[ \t]*FIRMWARE[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -s "\t" " "`
    synch=`grep -E "^[ \t]*SYNCH[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -s "\t" " "`
    staticip=`grep -E "^[ \t]*STATICIP[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    gateway=`grep -E "^[ \t]*GATEWAY[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    use_staticip=`grep -E "^[ \t]*USE_STATICIP[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    use_dhcp=`grep -E "^[ \t]*USE_DHCP[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    firmware_options=`grep -E "^[ \t]*FIRMWARE_OPTIONS[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -s "\t" " "`
    synch_options=`grep -E "^[ \t]*SYNCH_OPTIONS[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -s "\t" " "`
    pppoeci_options=`grep -E "^[ \t]*PPPOECI_OPTIONS[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -s "\t" " "`
    synch_attempts=`grep -E "^[ \t]*SYNCH_ATTEMPTS[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -d " \t"`
    preferred_usb_hub=`grep -E "^[ \t]*PREFERRED_USB_HUB[ \t]*=" "$CONF_DIR/eciadsl.conf" | tail -n 1 | cut -f 2 -d '=' | tr -s "\t" " "`
else
    echo -e "\nWarning: couldn't find $CONF_DIR/eciadsl.conf, default config assumed"
fi
test -z "$vid1" && vid1="0547"
test -z "$pid1" && pid1="2131"
test -z "$vid2" && vid2="0915"
test -z "$pid2" && pid2="8000"
test -z "$mode" && mode="$($BIN_DIR/eciadsl-pppoeci --modes 2>&1 | grep default |cut -d ' ' -f 1)"
test -z "$firmware" && firmware="$CONF_DIR/firmware00.bin"
test -z "$synch" && synch="$CONF_DIR/synch01.bin"
test -z "$synch_attempts" && synch_attempts=1


GW=""

    $BIN_DIR/eciadsl-pppoeci $pppoeci_options
    if [ $? -ne 0 ]; then
        echo "ERROR: failed to connect"
        exit $STEP
    fi

    ifconfig tap0 hw ether XX:XX:XX:XX:XX:XX up
    # wait_for_iface tap0
    GW=tap0


В eciadsl-repeate.sh иксы замените на свой MAC адрес
И, наконец, скрипт разъединения disconnect.sh его содержимое:

Code: Select all
#!/bin/bash
sudo pppoe-stop
sleep 3s
sudo eciadsl-stop


Все, теперь по выполнению скрипта adsl-start.sh должно запускаться соединение
Встает вопрос добавления скрипта в автозагрузку системы, мне пока этого не удалось сделать, кто сделает, отпишите
sality
 
Posts: 1
Joined: Mon Jun 02, 2008 21:09

Return to EciAdsl - Linux installation

Who is online

Users browsing this forum: No registered users and 1 guest

cron