Рубрика:
Администрирование /
Продукты и решения
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Александр Пчелинцев
Один из вариантов настройки спутникового Интернета в Mandriva Linux 2007
Ядро версии 2.6.17 ОС Mandriva Linux 2007 не поддерживает DVB-карту SkyStar 3, поэтому с её настройкой в данной ОС у многих возникают проблемы. Есть способ их решить.
В обсуждаемом способе подключения к Интернету информационный обмен производится по разным каналам для исходящего и входящего трафика. Входящий трафик большого объема доставляется через спутник от прокси-сервера провайдера. А вот исходящий трафик, состоящий, как правило, из небольших запросов к ресурсам Интернета, будет в данном случае отправляться через провайдера мобильной связи, т.е. используя сотовый телефон.
Поэтому для начала займемся настройкой подключения к Интернету с помощью этого устройства. Хочу заметить, что ваш провайдер мобильной связи должен обеспечивать доступ в Интернет. Если с этим имеются проблемы, то обратитесь к своему мобильному оператору.
Как только вы подключите, например, мини-USB-кабель с использованием включенного сотового телефона к компьютеру, то система должна опознать его как модем.
Как я считаю, для выхода в глобальную сеть через сотовый телефон не надо покупать самый новый аппарат. Дело в том, что могут возникнуть проблемы с настройкой модема (udev может «не опознать» идентификационные номера данного аппарата или в ядре могут отсутствовать модули для этого устройства). Я работал с Motorola C350. После подключения сотового телефона это устройство становится в систему как /dev/ttyACM0. Затем, чтобы настроить GPRS-соединение, я установил программу gprsec из дистрибутива Mandriva Linux 2007 Linux Center Edition на 3 DVD, приобретенного в интернет-магазине [1].
Для установки программы можно зайти в меню «Настройка компьютера», далее в строке поиска задать gprsec и отметить найденный rpm-пакет галочкой. Запустить ее в командной строке так:
gprsec
Далее настроить соединение очень просто. После запуска надо щелкнуть на кнопку «Параметры» и в появившемся окне на вкладке «Обязательные параметры» ввести необходимые данные (см. рис. 1).
Рисунок 1. Окно настроек программы gprsec
Далее нажимаем кнопку «Сохранить», пробуем соединиться (при удачной попытке в трее появится сообщение «Сеть поднята») и проверяем работу в сети, например, командой:
ping www.ya.ru
Если ping проходит успешно, то можно приступать к настройке DVB-карты, иначе рекомендуется проверить параметры программы gprsec.
С помощью DVB-карты Phillips TechnoTrend-budget (SkyStar 3) будем принимать входящий трафик.
Существующее ядро не поддерживает это устройство. Очевидный путь решения проблемы – обновить ядро до версии 2.6.19 или выше, которое можно загрузить с [2]. Но пойти таким путем у меня не получилось (обновление ядра может привести, например, к проблемам с устройством /dev/console). Предлагаю сделать иначе. Так как процесс сборки протекает значительное время (на моей машине около часа), то будем обновлять не все ядро, а только модули DVB-устройства.
Для этого сначала устанавливаем в систему исходные тексты дистрибутивного ядра с первого установочного диска. Это и последующие действия осуществляются с правами учетной записи root. Поэтому в консоли выполняем команду:
su -
и набираем пароль root в ответ на приглашение.
Командой:
rpm -ihv /mnt/cdrom/i586/media/main/kernel-source-2.6.17.5mdv-1-1mdv2007.0.i586.rpm
устанавливаем тексты ядра 2.6.17.
Теперь необходимо загрузить архив с обновлениями модулей DVB-устройств [3], рапаковать его, например, в /usr/src/dvb, зайти в этот каталог и выполнить команду на конфигурирование новых возможностей ядра:
make xconfig
Появится окно, показанное на рис. 2.
Рисунок 2. Окно конфигурирования новых возможностей ядра
Отмечаем «Enable drivers not supported by this kernel». Сохраняемся и выходим.
Пробуем собрать командой:
make
При компиляции драйверов выдается ошибка:
/usr/src/dvb/v4l/dvb_net.c: In function 'wq_set_multicast_list':
/usr/src/dvb/v4l/dvb_net.c:1141: error:
'struct net_device' has no member named 'xmit_lock'
|
Вариант исправления: ищем в файле /usr/src/dvb/v4l/dvb_net.c (точнее, там находится ссылка на этот файл) функцию wq_set_multicast_list() и в ней меняем строку:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18)
на строку:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17)
Такую замену нужно сделать в этой функции в двух местах.
Потом еще раз:
make
После этого сборка пройдет нормально.
Далее настраиваем загрузку модулей для нашего DVB-устройства. В редакторе создаем текстовый файл-скрипт dvbstart следующего содержания:
#!/bin/bash
make -C /usr/src/dvb reload
Затем изменяем ему атрибуты (делаем его выполняемым):
chmod +x dvbstart
Запускаем его командой:
./dvbstart
Если в /dev появилась папка dvb, значит драйвер опознал и правильно установил устройство и можно ставить dvb-apps. Заходим в «Система -> Настройка -> Настройка компьютера -> Установка пакетов программ -> Видео» и отмечаем пакет dvb-apps.
Я пользуюсь услугами компании СТВ [4]. Поэтому таким пользователям, как я, рекомендую загрузить из личного кабинета прокси globax для Linux и конфигурационный файл globax.conf и для удобства использования положить их в один каталог (например, в /etc/sputn_inet) с файлом dvbstart.
Также создаем в каталоге sputn_inet конфигурационный файл channels.conf с характеристиками интернет-канала, передаваемого со спутника:
STV:11595:V:1:29270:0:0
Создаем в sputn_inet скрипт start_inet:
#!/bin/bash
dvbnet -p <pid_из_личного_кабинета>
ifconfig dvb0_0 <IP_из_личного_кабинета> hw ether <MAC_из_личного_кабинета>
./globax globax.conf
szap -n 1 -c channels.conf
Здесь MAC-адрес имеет формат 00:00:XX:XX:XX:XX, а pid я прописывал в десятичной системе счисления.
Меняем ему атрибуты, как в предыдущем случае. Запускаем (и не закрываем консоль!):
./start_inet
В консоли мы увидим следующие строки, отображающие характеристики сигнала, принимаемого со спутника:
status If | signal 3333 | snr 3737 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
status If | signal 3232 | snr 3737 | ber 00000006 | unc 00000000 | FE_HAS_LOCK
status If | signal 3333 | snr 3737 | ber 00000000 | unc 00000000 | FE_HAS_LOCK
|
Флаг FE_HAS_LOCK означает, что можно приступать к приему данных через спутниковую антенну. Описание характеристик приводится в статье [5]. Они позволяют настроить антенну на спутник вашего провайдера.
Для удобства папка sputn_inet у меня располагается в домашнем каталоге. Замечу, что у меня все работает без проблем, если запускать dvbstart и start_inet с правами учетной записи root (первый по-другому и не запустится) и при отключенном персональном брандмауэре (при установке системы я выставлял стандартный уровень безопасности). Таким образом, для старта спутникового интернета в Mandriva Linux необходимо запустить GPRS-соединение, войти в консоли (лучше по <Ctrl+Alt+F1>) с использованием учетной записи root и запустить два скрипта – dvbstart и start_inet. Последний, чтобы не занимать консоль, удобнее запускать в виртуальной консоли screen с имитацией демона так:
screen -dmS my_cons ./start_inet
Теперь можно настроить прокси, например, в Mozilla Firefox. Заходим в «Правка -> Настройки -> Параметры соединения». В «HTTP-прокси» прописываем 127.0.0.1, порт 3128. Можно поставить галку в «Использовать этот прокси-сервер для всех протоколов». Можно считать, что спутниковый интернет у вас настроен.
Если возникли какие-либо вопросы, пишите на форум журнала http://www.samag.ru/forum.
- http://www.linuxcenter.ru.
- http://kernel.org.
- http://linuxtv.org/downloads/snapshots/v4l-dvb-20061209.tar.gz.
- http://www.stv.su.
- Борисов А. Цифровое небо, или Организуем прием спутникового вещания. //Системный администратор, №10, 2005 г. – С. 79-81.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|