DVB-S
Стандарт DVB-S. Спутниковое ТВ (SAT) вещание было и остаётся самым быстрым, надёжным и экономичным способом подачи ТВ сигнала высокого качества в любую точку обширного пространства.
Содержание
Установка DVB-S карты
Установка DVB-S карт осуществляется в Yast -> Оборудование -> TV-карта
Установка TechniSat SkyStar 2
Добавить -> DVB Плата -> B2C2 FlexCopII DVB Chip/TechniSat SkyStar 2 card
Установка TT-Budget S1401 (SkyStar 3)
Добавить -> DVB Плата -> Technotrend-Budget / Hauppauge WinTV-NOVA-T DVB card Настройки эксперта. Модуль ядра 1: budget -> Далее Модуль ядра 2: tda10086 -> Далее
Проверка правильности установки
Если карта установилась правильно, то команда
ls /dev/dvb
Должна вернуть список установленных адаптеров. В случае если установлен всего один адаптер это будет просто adapter0
Проверка правильности настройки оборудования
Создание файла /etc/channels.conf
Файл /etc/channels.conf должен содержать список доступных каналов (список и параметры для вашего спутника смотрите на LyngSat).
Пример /etc/channels.conf для провайдера "Радуга", спутник Yamal 201 90E.Ku диапазон
Raduga:11671:v:0:18200:0:0:0
Пример для провайдера SatGate, спутник Yamal 202 49E
SatGate:12130:v:0:27500:0:0:0
Для канала O2 на спутнике Ямал-201 строка должна выглядеть так:
O2:3944:h:0:15550:2501:2502:2500
Здесь:
- O2 – название канала. Может быть любым.
- 3945 – частота
- h – поляризация. Может быть H – горизонтальная и V – вертикальная
- 0 – Номер Disec порта (0,1,2,3 - для 4-портового)
- 15550 – Величина потока (Symbol rate)
- 2501 – Видео PID
- 2502 – Аудио PID
- 2500 – Program id
Еще один пример:
#1 Номера строк указаны для того что бы их можно было использовать для команды szap (на 08.10.2008) #2--------------PlanetSKY--------------- #PlanetSky, спутник ExpressAM22 53' #pid 7000 PS:10974:v:0:32223:0:0:5 #PlanetSky, спутник Express-АМ1 40' #PS:11669:v:0:39715:0:0:7 - Больше нету!!! #9---------------SpaceGate--------------- #SpaceGate, спутник Eutelsat-W6 21.5e' #pid 1024 SGW6:11345:h:0:28782:0:0:12 #SpaceGate, спутник Telstar-12 15'e #pid 1024 SGT12:11000:v:0:6336:0:0:15 -- Тоже закрывают!!!! #SpaceGate, спутник HellasNet-12 39'e #pid 257 SGHN:11512:h:3:30000:0:0:18 #SpaceGate, спутник Express AM33 (96,5°) #pid SGAM33:12527:v:2:12000:0:0:21 #SpaceGate, спутник NSS 6, 95e #pid 750 SG:11017:v:0:10500:0:0:24 #26---------------SkyDSL----------------- #SkyDSL, спутник Express-АМ22 53'E - Закрыли!!!! # #20 #SkyDSL, спутник Eutelsat W3A (7.0° в.д.) SDSL:10845:v:0:27500:0:0:31 #23 #SkyDSL, спутник Atlantic Bird 2 8'E SDSL:12732:v:0:27500:0:0:34 #----------------SatGate------------------ #SatGate, спутинк Astra-5A, (31.5°)Несущая 5.235 восточный луч,Ku-диапазон ST:12379:h:0:27500:0:0:38 #SatGate, спутинк Astra-5A,31.5° восточной долготы, Несущая 5.201 восточный луч,Ku-диапазон ST:11733:h:0:14000:0:0:40 #SatGate, спутинк Sirius-4 B22, (5.0°) ST:12130:v:0:27500:0:0:42 #SatGate, спутник Ямал-202 49'E ST:4066:l:0:29763:0:044 #--------------STV----------------------- #STV, спутник Intelsat-904 60'E транспордер S1 #PID STV:11595:v:0:29270:0:0:49 #STV, спутник Intelsat-904 60'E транспордер S2 STV:11149:v:0:12700:0:0:51 #----------------SpectrumSat------------- #SpectrumSat, спутник HellasSat, 39' #pid 512 SS:11630:h:0:20500:0:0:56 #SpectrumSat Спутник NSS 6, 95° восточной долготы, Ku-диапазон SS:11017:v:0:10500:0:0:58 #----------------Raduga------------- #Raduga, спутник Sirius-4 (4°East) RAD:126985:h:0:7143:0:0:62 #Raduga, спутник Express AM1 (40°East) RAD:11082:v:0:5064:0:0:65 #Raduga, спутник Express AM22 (53° East) RAD:11096:v:0:6164:0:0:68 #Raduga, Спутник Intelsat 904 (60° East) транспордер S1 Платформа А RAD:11595:v:0:29270:0:0:71 #Raduga, Спутник Intelsat 904 (60° East) транспордер S1 Платформа В RAD:10983:v:0:3819:0:0:74 #Raduga, Спутник Intelsat 904 (60° East) транспордер DVB-S2 Платформа S2 RAD:11149:v:0:20000:0:0:77 #Raduga, спутник Yamal 201 Ku-Band (90E) RAD:11672:v:0:18200:0:0:80 #Raduga, спутник Yamal 201 C-Band (90° East) RAD:3980:h:38:0:0:83 #----------------Sky-Fi------------- #Sky-Fi, спутник Intelsat-904 (60° East) транспондер DVB-S2 SKYFi:11042:v:0:7181:0:0:87 #Sky-Fi, спутник Bonum 1 (56° East) SKYFi:12303:h:0:27500:0:0:89
Утилита szap
Утилита szap входит в пакет dvb, который необходимо установить в Yast -> программное обеспечение -> Управление прогрммным обеспечением После того как файл channels.conf создан и пакет dvb установлен можно попробовать настроиться на канал:
Выполните команду
szap -c /etc/channels.conf -x -l C_BAND -n 1 |
---|
Здесь:
- -c /etc/channels.conf – местоположение файла со списком каналов для szap
- -l C-BAND – указание, что частота принадлежит диапазону C-BAND для Ku-band ничего указывать не нужно
- -n 1 – настроиться на первый канал из channels.conf
- -x – выйти из программы по завершении настройки
Если все сделано верно, то вывод должен быть примерно таким:
# szap -c /etc/channels.conf -x -l C-BAND -n 1 reading channels from file '/etc/channels.conf' zapping to 1 'O2': sat 0, frequency = 3945 MHz H, symbolrate 15550000, vpid = 0x09c5, apid = 0x09c6 using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0' status 07 | signal 6ce9 | snr 3270 | ber 0000ff00 | unc 00000000 | status 1f | signal c08d | snr d344 | ber 00001800 | unc 00000000 | FE_HAS_LOCK
Ключевое слово здесь это “status 1f” и FE_HAS_LOCK. Остальные поля указывают уровень сигнала, количество ошибок и т.д. При указании ключа -x количество строк может быть от одного до 10-ти (в этом случае szap делает максимум 10-ть попыток настроиться). Как только устойчивый сигнал получен, szap завершит свою работу.
Просмотр DVB-S ТВ
openSUSE 10.3 (и другие версии) не имеют возможности просмотра DVB, потому что требуемый декодер не включен в дистрибутив. Для просмотра DVB-S необходимо установить пакеты из репозитариев сообщества. Подробнее см. Restricted Formats
Kaffeine
Для просмотра в Kaffeine программ DVB-S необходимо установить libxine собранный с поддержкой DVB, например из репозитария Packman.
Настройка
При первом запуске Kaffeine будет предложено настроить устройства DVB позднее этот диалог можно вызвать из DVB -> Настройка DVB...
1. Выбрать тип конвертера: Универсальный конвертер (Ku), C-Band LNB или C-Band Multipoint LNB 2. Выбрать тип ротора если есть и спутник.
Если спутника нет в списке то необходимо создать файл-описание спутника. в $HOME/.kde/share/apps/kaffeine/dvb-s/
Пример файла описания спутника Yamal 201 90E Ku:
# Yamal 201 90E Ku # freq pol sr fec S 10956000 V 2150000 3/4 S 10960000 V 2200000 3/4 S 10964000 V 3475000 3/4 S 10975000 V 3700000 3/4 S 10990000 V 2170000 3/4 S 10995000 V 4285000 3/4 S 11057000 V 26470000 3/4 S 11092000 V 26470000 3/4 S 11123000 V 2180000 3/4 S 11145000 V 22222000 3/4 S 11483000 V 25000000 3/4 S 11575000 V 5000000 3/4 S 11586000 V 11850000 3/4 S 11638000 V 2200000 3/4 S 11671000 V 18200000 5/6
Здесь:
- S - тип DVB здесь S - Sat
- 10956000 - частота
- V - поляризация может быть горизонтальная H или вертикальная V
- 2150000 - скорость птока в bit/s
- 3/4 - FEC
3. Далее необходимо просканировать каналы. DVB-> Каналы.. -> Начать поиск Справа появиться список найденых каналов. Из них надо выбрать те которые нужны и нажать "Добавить выбранное" или установить параметры фильтра и нажать "Добавить через фильтр" Каналы должны появиться в списке слева. Та их можно отредактировать двойным щелчком по нужному каналу.
Просмотр
Для просмотра спутникового ТВ необхожимо в главном окне нажать кнопку "Цифровое ТВ" и выбрать канал в списке слева.
Запись
Настройка параметров записи передач доступна в меню DVB- > Нстройка DVB...-> Запись Запись начинается оп нажатию DVB-> Мгновенная запись или по таймеру. Таймеры можно создать в DVB-> Таймеры...
DVB-S интернет
Кроме просмотра ТВ, при помощи спутникового оборудования можно получать и доступ в интернет. Сущесвуют два вида доступа в интернет через спутник - One Way и Two Way. One Way означает что пакеты идут только в одном направлении - от спутника к пользователю. При этом входящие пакеты идут через DVB-S карту, а для исходящих пакетов нужен наземный канал. Two Way -способ доступа при котором входяие и исходящие пакеты идут через спутник.
Ниже рассматривается настройка оборудования для доступа по One Way.
Дополнительная настройка DVB-S карты
Для использования спутникового интернета необходимо чтобы карта не "засыпала", иначе входящий трафик будет пропадать после некоторого времени. Проверить таймаут засыпания можно так:
Выполните команду
cat /sys/module/dvb_core/parameters/dvb_shutdown_timeout |
---|
options dvb-core dvb_shutdown_timeout=0
в файл /etc/modprobe.d/tv После правки он должен выглядеть примерно так:
alias char-major-81 videodev options i2c-algo-bit bit_test=1 alias char-major-81-0 off alias char-major-81-1 off alias char-major-81-2 off alias char-major-81-3 off # YaST configured TV card # zsAr.kXehR0AesgA:B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card install char-major-212-3 /sbin/modprobe dvb-core; /sbin/modprobe mt312 options dvb-core dvb_shutdown_timeout=0 #< -- эту строку мы добавили
После правки необходимо перезагрузиться и убедиться что теперь таймаут выставлен в 0.
VPN подключение
Немного теории
Так как в при использовании спутникового интернета с доступом через VPN подключение сетевые пакеты приходят через один интерфейс, а уходят через другой необходимо разрешить IP маршрутизацию. Проверить включена маршрутизация можно командой
Выполните команду
cat /proc/sys/net/ipv4/ip_forward |
---|
Если маршрутизация включена то команда должна вернуть 1 В openSUSE для включения IP маршрутизации необходимо исправить отредактировать файл /etc/sysconfig/sysctl
## Type: yesno ## Default: no # # Runtime-configurable parameter: forward IP packets. # Is this host a router? (yes/no) # IP_FORWARD="yes" # здесь включаем IP маршрутизацию
На лету маршрутизацию можно включить так:
Выполните команду с правами суперпользователя (root)
echo 1 > /proc/sys/net/ipv4/ip_forward |
---|
Кроме того необходимо отключить rp_filter который фильтрует пакеты которые не могут уйти через тот же интерфейс что и пришли. В случае спутникового интернета пакет приходит через один интерфейс а уходит через другой.
Если ответ на текущий пакет не может уйти через тот же интерфейс (когда приходит через один интерфейс, а уходит через другой), пакет отфильтровывается.
В openSUSE SuSEfirewall2 настроен по умолчанию на фильтрацию таких пакетов. Чтобы отключить фильтрацию для интерфейса dvb0_0 необходимо установить в файле /etc/sysconfig/SuSEfirewall2
## Type: string # # 25.) # Do you want to load customary rules from a file? # # This is really an expert option. NO HELP WILL BE GIVEN FOR THIS! # READ THE EXAMPLE CUSTOMARY FILE AT /etc/sysconfig/scripts/SuSEfirewall2-custom # FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"
Тем самым разрешив дополнительные правила фаерволла
Затем в файле /etc/sysconfig/scripts/SuSEfirewall2-custom в секцию fw_custom_after_antispoofing() добавить строчку
fw_custom_after_antispoofing() { # could also be named "before_port_splitting()" # these rules will be loaded after the anti-spoofing and icmp handling # but before any IP protocol or TCP/UDP port allow/protection rules # will be set. # You can use this hook to allow/deny certain IP protocols or TCP/UDP # ports before the SuSEfirewall2 generated rules are hit. #example: always filter backorifice/netbus trojan connect requests and log them. #for target in LOG DROP; do # for chain in input_ext input_dmz input_int forward_int forward_ext forward_dmz; do # iptables -A $chain -j $target -p tcp --dport 31337 # iptables -A $chain -j $target -p udp --dport 31337 # iptables -A $chain -j $target -p tcp --dport 12345:12346 # iptables -A $chain -j $target -p udp --dport 12345:12346 # done #done echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter # <- отключаем rp_filter на интерфейсе dvb0_0 true }
Проверить отключен ли rp_filter для интерфейса dvb0_0 можно командой
Выполните команду
cat /proc/sys/net/ipv4/conf/dvb0_0/rp_filter |
---|
На лету можно отключить rp_filter так:
Выполните команду с правами суперпользователя (root)
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter |
---|
Создание сетевого интерфейса
В начале необходимо настроить DVB-S карту на частоту вашего провайдера
Выполните команду с правами суперпользователя (root)
szap -c /etc/channels.conf -n 1 -x |
---|
Про команду szap и файл channels.conf подробнее см выше
Для создания сетевого интерфейса необходимо выполнить команду (dvbnet утилита из пакета dvb см выше):
Выполните команду с правами суперпользователя (root)
dvbnet -p 1234 |
---|
Здесь:
1233 - ваш пид выданный провайдером.
После выполнения команды должен появиться сетевой интерфейс dvb0_0
Теперь необходимо его настроить
Выполните команду с правами суперпользователя (root)
ifconfig dvb0_0 192.168.238.238 netmask 255.255.255.0 broadcast 255.255.255.255 |
---|
Здесь 192.168.238.238 - IP адрес тот который выдан провайдером по подписке в случае подключения с использованием ускорителей типа Slonax и любой другой ИП, но не тот который выдан провайдером по подписке если подключение осуществляется через VPN!!
если ваша подписка подразумевает фильтрацию по IP адресу а не по MAC адресу то необходимо задать интерфейсу dvb0_0 MAC адрес вычисленный из выданного IP адреса.
Выполните команду с правами суперпользователя (root)
ifconfig dvb0_0 hw ether 00:00:0A:FA:58:36 |
---|
Здесь 00:00:0A:FA:0C:22 - MAC адрес вычисленный из IP адреса.
Предположим выданный провайдером IP адрес 10.250.12.34, для того чтобы вычислить соответствующий MAC адрес необходимо просто перевести все десятичные значения в шестнадцатеричные и дописать слева 00:00
- 10 переводим в шестнадцатеричную систему - получаем 0A
- 250 переводим в шестнадцатеричную систему - получаем FA
- 12 переводим в шестнадцатеричную систему - получаем 0C
- 34 переводим в шестнадцатеричную систему - получаем 22
Записываем в том же порядке 0A:FA:0C:22, дописываем слева два шестнадцатеричных нуля и получаем наш MAC адрес 00:00:0A:FA:0C:22
Далее устанавливаем маршрут на интерфейс dvb0_0
Выполните команду с правами суперпользователя (root)
route add 192.168.238.238 dev dvb0_0 |
---|
Подключение через ускоритель Slonax
Создание сетевого интерфейса
В начале необходимо настроить DVB-S карту на частоту вашего провайдера
Выполните команду с правами суперпользователя (root)
szap -c /etc/channels.conf -n 1 -x |
---|
Про команду szap и файл channels.conf подробнее см выше
Для создания сетевого интерфейса необходимо выполнить команду (dvbnet утилита из пакета dvb см выше):
Выполните команду с правами суперпользователя (root)
dvbnet -p 1234 |
---|
Здесь:
1233 - ваш пид выданный провайдером.
После выполнения команды должен появиться сетевой интерфейс dvb0_0
Теперь необходимо его настроить
Выполните команду с правами суперпользователя (root)
ifconfig dvb0_0 172.12.34.56 netmask 255.255.255.0 broadcast 255.255.255.255 |
---|
Здесь 172.12.34.56 - IP адрес выданный вам по подписке. Обычно он написан в Личном кабинете на сайте провайдера.
Выполните команду с правами суперпользователя (root)
ifconfig dvb0_0 hw ether 00:0D:0A:FA:38:31 |
---|
Здесь 00:0D:0A:FA:38:31 - MAC адрес который введен у вас в Личном кабинете на сайте провайдера.
Далее устанавливаем маршрут на интерфейс dvb0_0
Выполните команду с правами суперпользователя (root)
route add 172.12.34.56 dev dvb0_0 |
---|
Остановка сетевого интерфейса
Если требуется воспользоваться DVB-S картой еще для чего-то, например для простора ТВ, то необходимо остановить и далить интерфейс dvb0_0. Останавливаем интерфейс:
Выполните команду с правами суперпользователя (root)
ifconfig dvb0_0 down |
---|
Удаляем интерфейс:
Выполните команду с правами суперпользователя (root)
dvbnet -d dvb0_0 |
---|
Решение проблем
Если входящего траффика нет, то следует начать искать проблему с выполнения команды
dvbtraffic |
---|
При нормальной работе команда должна показывать активность на пидах транспондера, выглядит это примерно так
-PID--FREQ-----BANDWIDTH-BANDWIDTH- 0000 10 p/s 1 kb/s 15 kbit 0010 0 p/s 0 kb/s 1 kbit 0011 0 p/s 0 kb/s 1 kbit 0014 0 p/s 0 kb/s 1 kbit 0032 60 p/s 11 kb/s 90 kbit 003c 10 p/s 1 kb/s 15 kbit 003d 31 p/s 5 kb/s 47 kbit 0064 13 p/s 2 kb/s 20 kbit 0065 889 p/s 163 kb/s 1337 kbit 0066 351 p/s 64 kb/s 529 kbit 0384 10 p/s 1 kb/s 15 kbit 0385 10 p/s 1 kb/s 15 kbit 03e8 5500 p/s 1009 kb/s 8272 kbit 2000 6892 p/s 1265 kb/s 10365 kbit
Если вывод команды пуст то скорее всего это вызвано "засыпанием" карты либо неправильной настройкой на спутник.
Уточнение. команда dvbtraffic выводит значение PID в шестнадцатиричном виде. Тогда как команда dvbnet -p PID по умолчанию принимает значение PID в десятичном виде.
Пример скрипта инициализации интерфейса dvb0_0
/etc/init.d/dvbcard
#!/bin/bash # Copyright (c) HighwayStar # # Скрипт для запуска интерфейса dvb0_0 ### BEGIN INIT INFO # Provides: dvbcard # Required-Start: # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # X-UnitedLinux-Should-Start: hotplug # Short-Description: start dvbcard for internet # Description: Script for start dvbnet interface ### END INIT INFO # Shell functions sourced from /etc/rc.status: # rc_check check and set local and overall rc status # rc_status check and set local and overall rc status # rc_status -v ditto but be verbose in local rc status # rc_status -v -r ditto and clear the local rc status # rc_status -s display "skipped" and exit with status 3 # rc_status -u display "unused" and exit with status 3 # rc_failed set local and overall rc status to failed # rc_failed <num> set local and overall rc status to <num> # rc_reset clear local rc status (overall remains) # rc_exit exit appropriate to overall rc status # rc_active checks whether a service is activated by symlinks # rc_splash arg sets the boot splash screen to arg (if active) . /etc/rc.status # First reset status of this service rc_reset DIR=/usr #пид вашего провайдера PID=1234 DEV_NAME=dvb0_0 #IP карты dvb. смотреть в мануале или в и-нете. IP_ADDR=192.168.238.238 NETMASK=255.255.255.0 BCAST=255.255.255.255 # здесь пишем MAC dvb карты. В случае VPN пишем MAC вычисленный # из IP если фильтрация по IP или MAC адрес из личного кабинета # если фильтрация по MAC MAC_ADDR=00:00:0A:FA:0C:22 case "$1" in start) echo -n "Starting DVBcard" /sbin/ifconfig | grep $DEV_NAME &> /dev/null # Подавление вывода. case $? in 0) echo "Interface already up and runnining" ;; esac # создаем сетевой адаптер # тюним на нужный спутник, частоту и т.п. echo -n "Read channels.conf" $DIR/bin/szap -c /etc/channels.conf -n 1 -x echo -n "Set PID ${PID}" $DIR/bin/dvbnet -p $PID # присваеваем карте IP echo -n "ifconfig Dev=${DEV_NAME} IP=${IP_ADDR}, Netmask=${NETMASK}, Broadcast=${BCAST}" /sbin/ifconfig $DEV_NAME $IP_ADDR netmask ${NETMASK} broadcast ${BCAST} # присваеваем карте MAC echo -n "Set MAC-Address - ${MAC_ADDR}" /sbin/ifconfig $DEV_NAME hw ether ${MAC_ADDR} # Устанавливаем маршрутизацию на этот интерфейс echo -n "Set route on DVB card interface" route add ${IP_ADDR} dev ${DEV_NAME} echo "Disable rp_filter" echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter echo 1 > /proc/sys/net/ipv4/ip_forward rc_status -v ;; stop) echo -n "Shutting down DVBcard" /sbin/ifconfig | grep $DEV_NAME &> /dev/null || \ echo -n " Warning: interface not running. " /sbin/ifconfig $DEV_NAME down dvbnet -d $DEV_NAME rc_status -v ;; restart) $0 stop $0 start rc_status # Remember status and be quiet rc_status ;; status) echo -n "Checking for DVBcard " /sbin/ifconfig | grep $DEV_NAME &> /dev/null rc_status -v ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac rc_exit
Эта статья является незавершенной! Эта статья нуждается в доработке. Если Вы можете помочь, сделайте это в соответствии с руководством по оформлению. |