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
Как только 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 должно запускаться соединение
Встает вопрос добавления скрипта в автозагрузку системы, мне пока этого не удалось сделать, кто сделает, отпишите