LOG и сообщения об ошибках.

    Astra может записывать лог своей работы в следующие назначения:

    • console — если Astra запущена в интерактивном режиме, без опции -- daemon
    • file --log /var/log/astra.log, где /var/log/astra.log полный путь к файлу журнала
    • syslog --syslog astra, где astra -имя процесса
    • web interface - отображение во вкладке LOG текущих системных сообщений

    Сообщения в логе бывают следующих видов:

    • information
    • warning
    • error
    • debug

    Описание ошибок и способы их устранения:

    fe has lock
    fe has lock. status:SCVYL signal:60% snr:80% ber:0 unc:0

    Состояние адаптера DVB.
    Описывается несколькими значениями:

    • status —список флагов, описывающих состояние тюнера. Состояние, если есть сигнал SCVYL:

      • SIGNAL — появляется да же при незначительном уровне сигнала
      • CARRIER — found a DVB signal
      • VITERBI — FEC (forward error correction) is stable
      • SYNC — found sync data
      • LOCK — signal locked
      • signal — уровень сигнала
      • snr — отношение сигнал/шум
      • ber — bit error rate. important for determining the reception quality
      • unc — некоррекные блоки данных. также как ber, показывает качество приема
    Too many open files

    Ошибка возникает, если количество активных подключений или открытых файлов превышают ограничение операционной системы. Для проверки текущего лимита используйте следующую команду:

    grep "open files" /proc/PID/limits

    где PID — уникальный идентификатор процесса. Для его поиска - выполните: ps ax | grep astra

    Чтобы изменить системный лимит, выполните команду ulimit -n 65536 и перезапустите Astra. Команда присутствует в скрипте запуска init.d

    PAT: stream with id * is not found

    Канал с указанным номером (pnr) в потоке не найден. Для проверки доступных каналов, необходимо просканировать источник.

    Device or resource busy

    Ошибка возникает при попытке использовать DVB адаптер, занятый другим процессом. Список адаптеров и их состояние можно проверить с помощью команды:
    astra --dvbls
    Пример вывода команды:.
    Свободный адаптер:

    Nov 10 09:00:00: INFO: adapter = 3, device = 0
    Nov 10 09:00:00: INFO:     mac = 00:17:42:00:00:00
    Nov 10 09:00:00: INFO:     frontend = Montage DS3103/TS2022
    Nov 10 09:00:00: INFO:     type = S

    Адаптер занят:

    Nov 10 09:00:00: WARNING: adapter = 2, device = 0
    Nov 10 09:00:00: WARNING:     adapter in use
    Nov 10 09:00:00: WARNING:     mac = 00:17:42:54:09:52
    Nov 10 09:00:00: WARNING:     frontend = Montage DS3103/TS2022
    Nov 10 09:00:00: WARNING:     type = S

    Ошибка при обращении к устройству. Возможно DVB адаптер неисправен, или вам нужно произвести переустановку драйвера:

    Nov 10 09:00:00: ERROR: adapter = 1, device = 0
    Nov 10 09:00:00: ERROR:     failed to open [Bad file descriptor]

    Чтобы определить, какой процесс использует адаптер, используйте следующую команду:

    lsof | grep adapterX | head -n1

    замените X на номер адаптера.

    Address already in use

    Ошибка возникает при попытке использовать TCP-порт занятый другим процессом. Для просмотра списка открытых портов используйте команду:

    netstat -tnlp
    Resource temporarily unavailable

    Сетевой адаптер не справляется с объемом данных, поступающих от Астры. Возможные причины:

    • Проверьте настройки сетевого буфера;
    • Проверьте режим работы сетевого адаптера: выполните команду ethtool eth* или mii-tool eth* . Скорость должна соответствовать типу адаптера 1Gbit, 10Gbit
    • Сетевой адаптер должен быть Intel или Broadcom
    • Проверьте настройки DVB-адаптеров и каналов. Если в настройках DVB адаптера установлен параметр budget=true, а в свойствах канала не указан номер канала (pnr), то будет передан весь транспондер
    PES-Error

    Ошибка в заголовке пакета с видео или аудио. Основные причины:

    • Неверный ключ дешифровки;
    • В случае приема потока от DVB адаптера необходимо проверить качество сигнала: astra –femon -a ADAPTER
    CC-Error

    CC-ошибка, увеличивается на 1 с каждым сбоем счетчика пакетов.
    MPEG-TS поток разделяется на пакеты. Каждый пакет имеет номер со значением в диапазоне 0-15. Значение счетчика увеличивается с каждым пакетом и сбрасывается на 0 после 15 пакета.
    Счетчик CC-ошибок увеличивается на 1 с каждым потерянным пакетом.

    Возможные причины:

    • Потеря данных при приеме UDP/RTP. В Linux можно проверить с помощью команды netstat -su.
      Если значение packet receive errors увеличивается, необходимо проверить настройки буфера сетевых соединений..
      По возможности проведите диагностику на передающем сервере.

    • Слабый сигнал DVB или ошибки в сигнале. Необходимо проверить уровень сигнала и ошибки приема: astra –femon -a ADAPTER.
    • Дублирование потока при передаче по UDP. Несколько потоков имеют одинаковую группу мультикаста и номер порта.
    Channel has no active inputs

    Ошибка возникает, если канал не имеет доступных источников для переключения.
    В настройках канала можно указать несколько источников (входов) для резервирования. Источники работают по порядку, в случае выхода из строя первого источника, происходит переключение на второй и так далее.
    Ошибка возникает, если канал не имеет исправных доступных источников для переключения.
    Причину сбоя источника можно определить по другим сообщениям в журнале, так как она является следствием ошибки, произошедшей ранее. Также можно проверить входящий поток с помощью анализатора потока: astra--analyze ADDRESS.

    ECM Not Found

    Не найден ключ для дешифрования потока. Возможная причина:

    • Нет подписки или подписка закончилась.
    • Неверный идентификатор пакета для пакетов ключей. При запуске канала, идентификатор пакета (PID) отображается в сообщении Select ECM pid:*. Идентификатор пакета можно выбрать вручную с помощью параметров ecm_pid или cas_data.
      ecm_pid - устанавливает идентификатор пакета. Доступные идентификаторы отображаются в логе (сообщения Skip ECM pid:*).
      cas_data — зависит от системы условного доступа.
    • Ограничение количества запросов сервера условного доступа или карты доступа.
    Both keys changed
    • Нарушение последовательности ключей дешифровки. Обычно появляется после сообщения ECM Not Found.
      Ключи для расшифровки потока передаются парами: current и next.
      После смены ключа шифрования на следующий, приходит новая пара. Образец:
    1111110022222200:33333300444444005555550066666600:
    33333300444444005555550066666600:7777770088888800
    Receiving timeout. restart input

    В случае, если источник данных недоступен, происходит его перезапуск.
    К примеру, если у нас есть сбой приема данных по протоколу http mpeg-ts и сервер закрыл соединение - произойдет попытка повторного подключения к нему.

    Authentication failed

    Ошибка авторизации при попытке доступа к Web-интерфейсу или API.
    В лог выводится так же логин и IP адрес, с которым была попытка произвести авторизацию.

    Event_request_send

    Статус отправки данных на сервер мониторинга.
    Если код ответа HTTP не 200 - то будет выведена ошибка.

    Примеры:

    failed 0:connection timeout
    failed 400:Bad Request
    Server limit

    Возможно, ваша лицензия была скомпрометирована или вы превысили количество серверов в лицензии.
    Свяжитесь со службой поддержки.

    SDT checksum error

    Ошибка проверки контрольной суммы таблицы SDT.
    Обычно не приводит к проблемам с изображением.

    PCR interval out of range

    Временные метки приходят реже чем раз в 250ms

    hls sync. wrong pts

    Значение PTS в потоке постоянно увеличивается.
    Когда значение доходит до 8 589 934 591 оно должно начаться с 0
    Разницу по PTS Астра считает как новое значение.(Логично, что новое значение должно быть больше предыдущего).
    Случается что в потоке новое значение меньше предыдущего - это вызывает ошибку в формировании сегментов.


    Ошибки http клиента:
    connection timeout - поделючение к серверу не произошло
    request timeout - подключение состоялось но сервер вовремя не принял запрос
    response timeout - сервер принял запрос, но вовремя не ответил
    receiving timeout - (hls) - сегменты принимаются слишком долго