Установка спутникового Internet под Linux

Провайдер спутникового Internet: SatSpeed

Спутниковая (DVB) карта: Telemann SM200DTP

Запросный канал: dial-up соединение

ОС: Linux (kernel 2.4.x)

Внимание! Все описанные действия описываются, подразумевая, что у вас уже имеется установленная машина с ОС Linux (я использовал RedHat 7.1 в конфигурации не по умолчанию). За основу установки был принят "шаблон", правда нескольно скорректированный и дополненный, с www.bog.pp.ru


Установка DVB Telemann SM200DTP

Итак, первое, что необходимо сделать, это установить DVB карту. В своих экспериментах я использовал различные версии ядра 2.4: от 2.4.2 до 2.4.17. В данный момент все работает на 2.4.18. Перекомпилируем ядро с поддержкой модулей и всего вашего оборудования.

Теперь нам необходимы драйвера для карты: берем их с сайта производителя:  http://www.telemann.com/datadown/sm200d/sm200d_linux_text_v2.01.tar.gz  (у меня заработала версия 2.01). И еще нам нужен один файл sm200d_v2.01.24.src.tar.gz с http://ts-zone.tripod.com/sm200, или на этом сайте. Теперь разворачиваем их. Заменяем родной файл sm2_drv.c на такой-же, но из второго, скаченного нами, архива (без этого драйвер не собирается). Теперь немного правим файл ./drv/drv.mak

Было:

CFLAGS = -DMODULE –D__KERNEL__ -Wall –c –DSM200D –O

Надо:

CFLAGS = -DMODULE –D__KERNEL__ -Wall –c –DSM200D –O –I /usr/src/linux/include

Иначе драйвер компилируется, но работать не хочет.
Затем все это дело компилируем. Получаем директорию ./Realease. В ней расположены все файлы, которые нам нужны. Теперь можно проверить как собрались драйвера. Подключаем их к ядру:

> insmod sm200d_lnx.o

Посмотрим, как оно поживает :)

> lsmod

должны получить, что-то типа этого:

Module       Size     Used by
Sm200d_lnx   20240    1

Ну, все, драйвер подцепляется. Идем дальше.

Для автоматического подключения и настройки карты я изготовил небольшой скриптик (точнее я его переделал из http://www.ll.net.ua/pptp/soft/sm200 )

Вот, что, что получилось у меня:

#!/bin/sh
# sm200d        Start/Stop the sm200d.
# chkconfig: 2345 10 91
# description: sm200d is a DVB card to receive satellite data channel.
# processname: sm200d
# pidfile: /var/run/sm200d.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Paths to commands:
PS=/bin/ps
GREP=/bin/grep
WC=/usr/bin/wc
AWK=/usr/bin/awk
ECHO=/bin/echo
INSMOD=/sbin/insmod
RMMOD=/sbin/rmmod
IFCONFIG=/sbin/ifconfig
PWD=/bin/pwd
SH=/bin/sh
KILL=/bin/kill
TOUCH=/bin/touch
RM=/bin/rm
# sm200d software directory:
SM200D_DIR={сюда пропишите свою директорию Realease}
RETVAL=0
# See how we were called.
case "$1" in
  start)
     $ECHO -n "Starting sm200d: "
        r=`$PS axw | $GREP "SkyData" | $GREP -v "grep"
| $WC |\
            $AWK '{print $1}'`
        if [ $r != "0" ]; then
          $ECHO -ne "already running.\n"
          RETVAL=1
        else
#
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 1 > /proc/sys/net/ipv4/ip_forward
          $INSMOD -fs $SM200D_DIR/sm200d_lnx.o
          DIR=`$PWD`
          cd $SM200D_DIR
       ./SkyData 2>/dev/null &
     sleep 1
          $IFCONFIG sm200d 192.168.4.1 up
echo 0 > /proc/sys/net/ipv4/conf/sm200d/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/sm200d/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/sm200d/accept_source_route
echo 0 > /proc/sys/net/ipv4/conf/sm200d/log_martians
echo 1 > /proc/sys/net/ipv4/conf/sm200d/send_redirects
          cd $DIR
          $ECHO
          RETVAL=0
        fi
     [ $RETVAL -eq 0 ] && $TOUCH /var/lock/subsys/sm200d
     ;;
  stop)
     $ECHO -n "Stopping sm200d: "
        DIR=`$PWD`
        $KILL `$PS axw | $GREP "sm200d.run" | $GREP -v "grep" |\
                $AWK '{print $1}'` >/dev/null 2>/dev/null
        $KILL `$PS axw | $GREP "SkyData" | $GREP -v "grep" |\
                $AWK '{print $1}'` >/dev/null 2>/dev/null
        cd $DIR
        $IFCONFIG sm200d down >/dev/null 2>/dev/null
        $RMMOD sm200d_lnx >/dev/null 2>/dev/null
     RETVAL=$?
     $ECHO
     [ $RETVAL -eq 0 ] && $RM -f /var/lock/subsys/sm200d
    ;;
  status)
        r=`$PS axw | $GREP "SkyData" | $GREP -v "grep" | $WC |\ $AWK '{print $1}'`
        if [ $r != "0" ]; then
          $ECHO -ne "sm200d is running.\n"
        else
          $ECHO -ne "sm200d is not running.\n"
        fi
     RETVAL=0
     ;;
  restart)
     $0 stop
     $0 start
     RETVAL=$?
     ;;
  reload)
        $0 restart
     RETVAL=$?
     ;;
  *)
     $ECHO "Usage: sm200d {start|stop|status|restart}"
     exit 1
esac
exit $RETVAL

Изменяем настройки в файле SkyData.ini (Прописываем свои настройки спутника). Для работы со SatSpeed я прописал так:

Frequency       = 12525
SymbolRate      = 14649
LocalOscillator = 10600
Alignment       = H
LNBHigh         = 1
LNBPower        = 1
ToneBurst       = 0
DiseqcPort      = 0
DataPID         = 1C3,3
DataPID         = 200,3
MACFilter     = 1
#Это наш IP адрес, который мы установили для sm200d
IPAddress       = 192.168.4.1

Я столкнулся с тем, что карта вроде работает, но из нее ничего не выходит. Оказалось надо дать команду

echo 0 > /proc/sys/net/ipv4/conf/sm200d/rp_filter

И тогда, все начинает работать. Эта команда прописана в начальной загрузке.

И еще один момент. Каждый раз после соединения через модем (т.е. по ppp0) параметр rp_filter у sm200d изменяется на 1. Т.е. работать не будет. По этому пришлось написать еще файлик и запускать его сразу после соединения по ppp0. Вот он.

#!/bin/sh
echo 0 > /proc/sys/net/ipv4/conf/sm200d/rp_filter
echo 1 > /proc/sys/net/ipv4/conf/sm200d/accept_redirects
echo 1 > /proc/sys/net/ipv4/conf/sm200d/accept_source_route
echo 0 > /proc/sys/net/ipv4/conf/sm200d/log_martians
echo 1 > /proc/sys/net/ipv4/conf/sm200d/send_redirects

На этом настройка карты завершена.


Настройка клиента sat4u

Теперь надо настроить клиентский (локальный) прокси сервер sat4u. Я установил sat4u версию 0.7 (на текущий момент 11.04.2002 она как раз и работает.)

Здесь все просто. Скачиваем из любого места. Например с http://www.internetvia-satellit.de/download/linux-sat4u-0.7

Разворачиваем.

Генерируем ключи:

./keygen ./sat4u > key.ini

Затем эти ключи надо зарегистрировать. Открывает на этой-же машине браузер (хотя люди говорят, что можно и с другой. Главное, что бы ключи были сгенерированны на машине с катрой), и вводим в адресной строке:

https://ors2.satspeed.de/register.php?key1=”первый-ключ”&key2=”второй-ключ”

после ввода логина на вывалившейся странице должно появится сообщение о успешной регистрации. Прописываем в браузере настройки прокси:

http proxy: localhost:9202
socks proxy: localhost:9203

Теперь можно запускать клиента.

./sat4u

Теперь через браузер заходим на http://localhost:2517/www/client/login/login.html

Вводим пароль еще раз. И все. Да, поставьте галочку «Remember Password». После этого не надо будет повторно вводить пароль. Он будет храниться в зашифрованном виде.

Ну и конечно это все тоже хорошо было бы автоматизировать при загрузке. Пожалуйста:

#!/bin/sh
#
#chkconfig: 345 90 95
# description: sat4u Client
# processname: sat4u
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /(путьк sat4u) ] || exit 0
# See how we were called.
case "$1" in
  start)
        # Start client.
        echo -n "Starting sat4u: "
        cd (путь к sat4u)/sat4u-0.7
     ./sat4u &
        touch /var/lock/subsys/sat4u
        echo
        ;;
  stop)
        # Stop client.
        echo -n "Shutting down sat4u: "
     killproc sat4u
        echo "done"
        rm -f /var/lock/subsys/sat4u
        ;;
  status)
     # Status client
     status sat4u
     ;;
  restart)
     # Restart client sat4u
     $0 stop
     $0 start
     ;;
  *)
        echo "Usage: sat4u {start|stop|restart|status}"
        exit 1
esac
exit 0

И конечно не забудем chkconfig.

Ну вот, вроде и все.

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

Удачи.


С великим удовольствием прочитаю все пожелания и предложения по корректировке неправильностей и недоделанностей. Эта инструкция писалась исходя из того, что мне в свое время не удалось найти ничего подобного в Internet-е в одном месте. Все приходилось собирать по кускам и немного доделывать. Может быть все, то, что я написал и не правильно, но, оно работает (даже по сети).

e-mail: paganelp@yahoo.com

Полезные ссылки:

http://ts-zone.tripod.com/sm200/index_rus.html

http://www.telemann.com/

http://www.ll.net.ua/pptp/soft/sm200

http://www.internetvia-satellit.de/support/support.html

http://www.satspeed.com.ua/

Высокие технологии на благо людям. Тысячи товаров. Лучший сервис. Быстрая доставка. Только в лучшем магазине. В ПОРТА.ру

Назад

Hosted by uCoz