|
Процедура настройки абонентского компьютера Требования к операционной системе Ядро версии 2.4.18 или более новое (последнюю версию можно взять на сервере ftp://ftp.kernel.org/pub/linux/kernel/). Ядро должно быть собрано с поддержкой загрузки модулей. Внимание! Не рекомендуется устанавливать плату DVB адаптера в слот PCI, расположенный рядом со слотом AGP. Компиляция и установка • Установить пакет dvb-20031116.tar.bz2. tar zxvf dvb-20031116.tar.bz2 cd DVB make cd driver make install Если компиляция завершилась без ошибок, модули будут скопированы в директорию /lib/modules/2.4.x/misc Нам необходимы только mt312.o , dvb-core.o Кроме того из дирректории linuxtv-dvb-1.0.1/driver/b2c2 придется скопировать модуль skystar2.o cp DVB/driver/b2c2/skystar2.o /lib/modules/2.4.XX/misc/skystar2.o depmod -a Далее копируем файлы dvbnet (подстановщик Data PID) и szap (тюнер) в /usr/local/bin cp DVB/apps/dvbnet/dvbnet /usr/local/bin/dvbnet cp DVB/apps/szap/szap /usr/local/bin/szap Создаем в /dev устройство dvb. cd DVB/driver ./makedev.napi Не обращаем внимания на ошибки, содержащие chown 'root.video': invalid group • Распаковаваем sky1conf.tar, содержащий настройки tar -xvvf sky2conf.tar Копируем скрипт, который будет отвечать за настройку на спутник, конфигурационный файл настроек транспондера channels.conf и скрипт, который будет получать MAC адрес. cp sky3 /usr/local/bin/sky3 cp channels.conf /usr/local/bin/channels.conf cp get_mac /usr/local/bin/get_mac Проверяем правильность путей в sky3 (если вы скопировали все по инструкции, то это делать не нужно). Проверяем правильность Data PID: PID=700 и номера канала Ch: Ch=2 Запускаем sky3 с параметром restart: sky3 restart Не обращаем внимания на ошибки ifconfig (см. ниже раздел "Почему так") • Получаем MAC адрес вашего DVB модема /usr/local/bin/get_mac Переписываем полученный МАС без 4-х последних нулей в файл sky3 в дирректтиву MAC_ADDR= Запускаем sky3 с параметром restart: sky3 restart Можно посмотреть статус: sky3 status Отключить прием и выгрузить модули можно так: sky3 stop Все, можно работать. • Почему так? При загрузке модулей и появлении нового устройства корректно не пишется MAC DVB карты, хотя в syslog-е сообщение об этом есть, но МАС там длиннее (в конце всегда 4 нуля xx-xx-xx-xx-xx-xx-00-00). Поэтому используется скрипт get_mac, который и проверяет syslog на наличие MAC адреса Skystar2. Программа dvbnet подставляет сетевому интерфейсу dvb0_x DATA PID. В связи с некой некорректностью написания ее, при изменении PID-a вместо удаления старого и изменении его на новый на данном устройстве, она создает новое устройство. Таким образом при неоднократной замене PID-a в системе появляется несколько dvb0_x (где x=1,2,3). Проблема заключается в том, что после этого dvbnet не может удалить все эти устройства из системы, а выгруз модулей намертво "вешает" систему. Решением служит "отлавливание" всех появившихся интерфейсов и выдаче каждому комманды ifconfig dvb0_x down. После этого модули выгружаются корректно. Поэтому в данном скрипте поддерживается одно dvb0_0 и, соответственно, один PID. Для предотвращения появления нескольких интерфейсов при загрузке скрипт вначале пытается выдать останов интерфейсу dvb0_0, затем выгружить модули из системы и уже только потом загрузить их заново. Если вы хотите использовать одновременно несколько PID, добавьте для каждого дополнительного PID-a новое устройство dvb0_x (где x=1,2,3 и т. д.) и дополнительный PID. В данном скрипте реализована возможность использовать 2 PID-а. Для этого нужно просто раскоментировать строчки, идущие за "For second PID uncommnet next string" и добавить необходимый PID в "PID1=". Соответственно 2,3 и т. д PID-ы можно добавть по аналогии. Было протестировано на ядрах 2.4.18 2.4.20 2.4.22 Дистрибутив: Slackware Linux Подключиться к услугам HeliosNet
наверх
|