Вступление
Функциональность цифрового плеера Dune HD Lite 53D можно расширить за счет установки дополнительного программного обеспечения. В этой статье рассказывается, как выполнить эту процедуру всего за несколько шагов.
Компактный пакет Linux утилит для медиаплееров HDI Dune Base3/Prime3/Max/Duo/Smart-[BDH]1/Lite53D
Введение
Полная версия пакета включает в себя следующие программы и утилиты Linux:
- dropbear-0.52-1 (компактный ssh сервер);
- mc-4.7.5.2 (мощный файловый менеджер Midnight Commander);
- nano-2.2.6 (мощный текстовый редактор);
- screen-4.0.3 (расширение терминала);
- transmission-daemon-2.33 (быстрый и компактный битторрент клиент);
- microdc2-0.15.6-7 (консольный клиент пиринговых сетей DC++);
- aria2-1.11.1 (мульти-протокольная download утилита);
- pure-ftpd-1.0.29 (быстрый и компактный ftp сервер);
- nfs-utils-1.2.3 (обслуживание NFS сервера);
- nut-2.4.3 (Network UPS Tools – универсальный инструмент для мониторинга UPS);
- e2fsprogs-1.41.12 (утилиты для управления файловыми системами ext2/3);
- util-linux-ng-2.19.1 (fdisk, blkid);
- parted-3.0 (альтернативная утилита разметки дисков, с поддержкой GPT);
- smartmontools-5.40 (контроль HDD по S.M.A.R.T.);
- hdparm-9.37 (управление параметрами HDD);
- sdparm-1.05 (управление HDD дисками и CD/DVD/BD приводами);
- usbutils-0.87 (апплет lsusb);
- paragon ntfs tools (chkntfs);
- tuxera ntfsprogs-2.0.0 (mkntfs).
Мини-версия пакета включает в себя следующие программы и утилиты Linux:
- dropbear-0.52-1 (компактный ssh сервер);
- mc-4.7.5.2 (мощный файловый менеджер Midnight Commander);
- transmission-daemon-2.33 (быстрый и компактный битторрент клиент);
- pure-ftpd-1.0.29 (быстрый и компактный ftp сервер);
- nfs-utils-1.2.3 (обслуживание NFS сервера);
- e2fsprogs-1.41.12 (утилиты для управления файловыми системами ext2/3);
- util-linux-ng-2.19.1 (fdisk, blkid);
- parted-3.0 (альтернативная утилита разметки дисков, с поддержкой GPT);
- smartmontools-5.40 (контроль HDD по S.M.A.R.T.);
- hdparm-9.37 (управление параметрами HDD);
Мини-версия пакета также не содержит локализаций (фиксированная локаль en_US.UTF-8).
Пакет был собран с помощью кросс-компилятора Sourcery mips-linux-gnu v4.3-154 из под Debian Linux 6.0.2 с использованием параметров компилятора для максимальной оптимизации:
- -march=74kf2_1 -mtune=74kf2_1 -mdspr2 (Sigma SMP864X)
- -march=24kf -mtune=24kf (Sigma SMP865X)
Пакет собран под родную библиотеку glibc.
Установка и обновление
Для установки данного пакета требуется наличие установленного системного накопителя Dune.
Для установки или обновления пакета нужно выполнить следующие действия:
- Распаковать архив с пакетом на любой доступный накопитель Dune, удобнее это сделать по сети через Samba или FTP
- Запустить файл «dune_service_ltu_install.dsf» из OSD меню плеера и дождаться результата
Конфигурация пакета
Чтобы сконфигурировать пакет, требуется подключиться терминалом по протоколу Telnet или SSH. По умолчанию разрешено подключение через Telnet. Для доступа через Telnet и SSH лучше всего использовать программу PuTTY, предварительно настроив ее на кодировку UTF-8 и тип терминала Xterm R6. По умолчанию логин «root», пароль отсутствует. Для конфигурации удобнее воспользоваться файловым менеджером Midnight Commander (MC), набрав в терминале команду mc. Переходим в директорию /ltu и открываем на редактирование файл configure (F4 в MC). После редактирования сохраняем файл (F2 в MC), закрываем MC (F10) и перезагружаем плеер, набрав в терминале команду:
reboot
Параметры файла /ltu/configure:
LOCALE_UTF8=1
Определяет NLS (National Language Support) локализацию для терминальных приложений mc, nano, microdc2, aria2.
- Значение 0 устанавливает локаль en_US.UTF-8 (Английский США).
- Значение 1 устанавливает локаль ru_RU.UTF-8 (Русский).
- Значение 2 устанавливает локаль uk_UA.UTF-8 (Украинский).
SAVE_PASSWD=0
Активирует хранение системных пользователей и паролей на системном накопителе (по умолчанию вЫключено).
Так как rootfs Linux распакован в ОЗУ, то любые изменения паролей и пользователей не сохраняются после перезагрузки плеера. Если требуется задать пароль (например при доступе через SSH), то необходимо включить данную функцию и перезагрузить плеер. После перезагрузки можно будет изменять пароли через команду passwd и они будут сохраняться на системном накопителе.
ВНИМАНИЕ! если вы забудете пароль, подключиться терминалом будет невозможно, до тех пор пока не будет извлечен системный накопитель или не будет сделана процедура форматирования системного накопителя через служебный dsf файл.
START_TELNET=1
Активирует автозапуск встроенного Telnet сервера (по умолчанию включено).
Когда запущен Telnet, в OSD меню, Настройки – Информация будет всегда гореть надпись РЕЖИМ ОТЛАДКИ.
START_SSH=0
Активирует автозапуск компактного SSH сервера dropbear (по умолчанию вЫключено).
Доступ по SSH рекомендуется для подключения извне через интернет, так как используется защищенное соединение. Также замечено, что в SSH быстрее работает Midnight Commander (чем через Telnet). Чтобы обеспечить защиту SSH соединения, нужно обязательно задать пароль для root (см. выше). При активном SSH доступе, существует возможность подключаться по защищенному SFTP протоколу (SSH FTP) для доступа к файлам. Существует множество SFTP клиентов, самые популярные FileZilla и WinSCP.
START_NFSD=0
Активирует автозапуск NFS сервера v3 (по умолчанию вЫключено).
Путь для каждой NFS шары будет выглядеть как /tmp/mnt/storage/{наименование раздела}.
Для ручного запуска NFS сервера можно набрать в терминале команду:
nfsd-start
Для ручной остановки NFS сервера можно набрать в терминале команду:
nfsd-stop
Для управления доступом и ресурсами NFS сервера служит файл /ltu/etc/exports. После изменения параметров exports, нужно набрать в терминале команду:
nfsd-reload
для перезагрузки изменений.
START_TRANSMISSION=0
Активирует автозапуск битторрент клиента Transmission (по умолчанию вЫключено).
Настройку см. ниже.
START_DCPP=0
Активирует автозапуск в фоновом режиме DC++ клиента microdc2 (по умолчанию вЫключено).
Настройку см. ниже.
START_ARIA_RPC=0
Активирует автозапуск download менеджера Aria2 в роли RPC сервера (по умолчанию вЫключено).
Сервер Aria2 ждет подключения управляющих оболочек, например таких как Aria2c Remote Control. Aria2 использует хранение своих настроек и закачек на ЛЮБОМ пользовательском накопителе, у которого в корне раздела есть директория «aria» (с маленькой буквы). Эта директория линкуется в rootfs /aria, к которой будет происходить доступ. В связи с этим нужно соблюдать правило – директория «aria» должны быть и быть единственной на подключенных дисках/разделах.
START_NUT=0
Активирует автозапуск UPS мониторинга NUT (по умолчанию вЫключено).
Перед запуском NUT требуется его настроить. NUT – очень гибкий инструмент, но довольно сложный в настройке. Основная сложность – составить дескриптор UPS и правильно указать для него драйвер. Все настройки NUT задаются конфигурационными файлами в директории /ltu/etc/nut. NUT состоит из трех уровней – драйвер UPS, сервер upsd и клиент upsmon. Также возможна только работа по сети, когда NUT, используя клиента upsmon, слушает удаленный сервер NUT и принимает от него события серверного UPS. Для проверки корректной настройки можно использовать скрипты nut-start и nut-stop. Функциональность и события от UPS можно проконтролировать через системный лог /tmp/messages. Всю информацию по настройке можно получить с сайта поддержки программы NUT http://www.networkupstools.org.
START_SMARTD=0
Активирует автозапуск S.M.A.R.T. мониторинга (по умолчанию вЫключено).
Демон smartd опрашивает 1 раз в 2 часа S.M.A.R.T. HDD дисков и изменения параметров записывает в системный лог. Демон настраивается через файл /ltu/etc/smartd.conf. Независимо от этого значения, S.M.A.R.T. любого HDD можно отобразить в любое время вручную, набрав команду:
smartctl -a /dev/sd{буква диска}
USE_FTP_SERVER=1
Выбор FTP сервера. По умолчанию используется встроенный FTP сервер vsftpd, работающий через inetd.
Встроенный сервер vsftpd настроен на минимальную безопасность, разрешает всем анонимный доступ с полными правами root, что представляет собой угрозу безопасности в больших локальных сетях, но особенно, если плеер подключен напрямую к Internet. Установка параметра 0 отключит FTP сервер. Установка параметра 2 отключит vsftpd сервер и запустит standalone FTP сервер Pure-FTPd. По умолчанию имя пользователя dune, пароль dune. Можно добавлять, изменять пользователей, менять пароли доступа к FTP, используя команду
pure-pw [useradd|usermod|passwd|mkdb]
Подробная информация на странице Pure-FTPd: Virtual users
USE_FIX_TCP_RMEM=0
Активирует принудительное фиксирование TCP окна ядра Linux (по умолчанию выключено).
Установлено, что версия ядра Linux 2.6.22.19 имеет ошибку (предположительно в модуле tango_enet), которая проявляется при использовании любого торрента (Transmission/BTPD) во время высокой скорости закачек с большого количества пиров. Происходит багчек ядра с кодом ошибки «scheduling while atomic», при этом ядро останавливается и плеер полностью зависает (аналог BSOD в Windows). При анализе стека ошибки было выяснено, что ошибка происходит в ядре Linux при динамической реаллокации буфера TCP окна в большую сторону. Пакет LTU делает автоматическую коррекцию TCP окна ядра при запуске приложений Transmission, Aria2, MicroDC2, что позволяет обойти ошибку и закачивать сколько угодно долго и на любых скоростях. Параметр USE_FIX_TCP_RMEM=1 позволяет сделать принудительное фиксирование TCP окна, в случае использования встроенного торрента или других программ закачек.
HDD_SPINDOWN_TIME=30
Активирует загрузку spindown таймера бездействия во все HDD (по умолчанию 30 минут бездействия).
После заданного времени бездействия, HDD диски будут останавливать двигатель. Если указать значение 0, то загрузка spindown таймера выполняться не будет. Поддерживаются только дискретные значения таймера 5, 10, 15, 20, 30, 60, 90, 120, 150, 180 минут. Также поддерживается автоматическая установка таймера при горячем подключении нового HDD диска.
HDD_APM_DISABLE=0
Переводит Advanced Power Management в максимальное значение, при котором HDD перестает парковать головки через каждые 8 секунд бездействия. Позволяет остановить рост параметра Load_Cycle_Count и устранить неприятный эффект «залипания» HDD. Некоторые HDD не поддерживают APM, либо не используют автопарковку головок. Параметр также будет загружаться при горячем подключении нового HDD диска.
HDD_AAM_QUIET=0
Переводит Advanced Acoustic Management в тихий режим. При этом звук позиционирования головок HDD становится заметно тише и HDD меньше нагревается. Некоторые HDD не поддерживают AAM. Параметр также будет загружаться при горячем подключении нового HDD диска.
Подготовка к работе битторента Transmission
Пакет включает в себя последнюю стабильную версию битторента Transmission (http://www.transmissionbt.com).
Если в конфигурации указан автостарт битторрент клиента Transmission START_TRANSMISSION=1 либо если его запустить вручную, набрав в терминале команду
transmission-start
будет выполнен запуск демона transmission-daemon, со следующим условием:
- Transmission использует хранение своих настроек, торрентов и закачек на ЛЮБОМ пользовательском накопителе, у которого в корне раздела есть директория transmission (с маленькой буквы). Эта директория линкуется в rootfs /transmission, к которой будет происходить доступ. При запуске Transmission, скрипт выполняет сканирование всех дисков и разделов на предмет наличия директории transmission, причем ожидает максимум 10 секунд появления такого раздела, поскольку разделы могут монтироваться системой хаотично. Как только будет обнаружен первый ЛЮБОЙ такой раздел, он линкуется к /transmission и демон запускается в этой директории. В связи с этим нужно соблюдать правило – директория transmission должны быть и быть единственной на подключенных дисках/разделах. Достаточно создать пустую такую директорию, при первом запуске Transmission найдет и слинкует ее, скопирует в нее файл конфигурации по умолчанию, создаст директории для хранения торрентов и закачек.
Хранение настроек, торрентов и закачек на одном диске позволяет держать несколько дисков под разные закачки, которые можно менять. Перед извлечением диска с закачками, нужно обязательно остановить демон, набрав в терминале команду
transmission-stop
иначе закачиваемые файлы могут быть повреждены. Для нормальной работы настоятельно рекомендуется использовать раздел диска под закачки в файловой системе ext3. Дело в том, что под Linux драйвер NTFS «чужеродный» и обеспечивает нормальную работу только в режиме чтения. Запись также работает, но экстремальных условий битторента она не выдержит, особенно если будут сбои питания. ext3 журналируема, поддерживается на уровне ядра Linux и хорошо защищена от сбоев при записи. В данном пакете включен свежий набор для работы с ф.с. ext2/3, можно разбить диск и создaть ext3 раздел прямо из плеера, воспользовавшись fdisk (parted), mkfs.ext3, tune2fs, fsck.ext3. Все закачки будут располагаться на диске в директориях:
- /transmission/downloads/complete – завершенные закачки
- /transmission/downloads/incomplete – незавершенные закачки
Для автоматического подхвата .torrent файлов можно активировать в настройках watch директорию:
/transmission/watch
из которой демон будет автоматически добавлять новые торренты.
Настройки текущей сессии и торренты хранятся в директории /transmission/.config. Основной файл конфигурации демона /transmission/.config/settings.json.
При первом запуске Transmission, будет использоваться оптимальный файл конфигурации по умолчанию. Для работы в дальнейшем, можно изменить пароль для доступа к демону, отредактировать список разрешенных хостов. По умолчанию доступ к демону разрешен с любых ip адресов, логин отключен, пароль пустой. Для редактирования нужно будет будет остановить Transmission, достаточно набрать в терминале команду transmission-stop, затем перейти на диске в директорию /transmission/.config и отредактировать файл settings.json. Достаточно отредактировать поля:
- «rpc-authentication-required»: true,
- «rpc-username»: «username»,
- «rpc-password»: «password»
- «rpc-whitelist»: «127.0.0.1, 192.168.*.*»,
- «rpc-whitelist-enabled»: true,
После следующего запуска, либо ручного запуска, который можно быстро вызвать командой transmission-start, демон зашифрует поле «rpc-password». Перед редактированием данных полей нужно обязательно остановить демон, иначе при остановке он заменит в файле эти поля на старые, на те что хранятся у него в памяти в текущий момент. Для управления демоном можно использовать Web браузер (IE не ниже 7 версии), набрав в строке адреса http://ip-адрес-плеера:9091.
Также можно использовать альтернативные приложения с более удобным интерфейсом, похожим на uTorrent:
- transmission-remote-dotnet (http://code.google.com/p/transmission-remote-dotnet)
- transmission-remote-gui (http://code.google.com/p/transmisson-remote-gui)
Из-за ограничений размера оперативной памяти плеера доступной под OS (180 МБ) и невысокой тактовой частоты процессора (667МГц), не рекомендуется устанавливать большое кол-во пиров, больше чем эти значения:
- «peer-limit-global»: 100,
- «peer-limit-per-torrent»: 20,
- «upload-slots-per-torrent»: 15,
Также заслуживают внимание поля:
- «preallocation»: 1, – быстрая аллокация файла без распределения всей длины, 2 – медленная полная пре-аллокация всего файла (забивается нулями), уменьшает фрагментацию на диске. Во втором случае будет очень долго выполняться преаллокирование файла при добавлении нового торрента (во время которой возможен временный отвал интерфейса), хотя это уменьшит фрагментацию закачиваемых файлов. Параметр не работает для NTFS разделов, при этом на NTFS всегда срабатывает полная преаллокация.
- «cache-size-mb»: 4, – максимальный размер дискового кеша в МБ. Не рекомендуется устанавливать больше 2-4 МБ из-за малого размера ОЗУ плеера.
Описание всех параметров transmission-daemon можно получить на странице поддержки:
https://trac.transmissionbt.com/wiki/EditConfigFiles
Подготовка к работе DC++ клиента microdc2
microdc2 – компактный консольный DC++ клиент для пиринговых сетей DC++. Клиент microdc2 не поддерживает запуск в режиме демона, поэтому для запуска в фоне используется GNU screen. Скрипт для запуска microdc2 в фоновом режиме – /ltu/bin/microdc2d. Скрипт для запуска microdc2 в интерактивном режиме /ltu/bin/microdc2i. Если microdc2 был запущен в фоновом режиме, можно вызвать его интерактивно, введя команду в консоли:
microdc2s
Для отключения от консоли (detach) нужно нажать Ctrl+A, затем Ctrl+D.
Для настройки microdc2 служит файл конфигурации /ltu/etc/microdc2.conf. Все временные файлы и файлы хешей будут размещены по пути /ltu/home/.microdc2.
Удаление пакета
Для удаления пакета нужно выполнить следующие действия:
- Запустить файл «dune_service_ltu_uninstall.dsf» из OSD меню плеера
- Перезагрузить плеер
После удаления пакета и перезагрузки плеера, пакет не оставляет никаких следов в Linux root.
Ограничения
Данный пакет тестировался с прошивками
Dune-H1:
- - dune_firmware_hdsmart_h1_110606_1315.dff
- - dune_firmware_hdsmart_h1_110511_2007_beta.dff
- - dune_firmware_hdsmart_h1_ktv_110314_1500.dff
- - dune_firmware_hdsmart_h1_110225_1222.dff
- - dune_firmware_hdsmart_h1_110114_1515_beta.dff
- - dune_firmware_hdsmart_h1_101203_2124_test.dff
- - dune_firmware_hdsmart_h1_100916_2027_beta.dff
Работа на более старых версиях прошивок не гарантируется.
ВНИМАНИЕ!
Пакет не будет работать на предыдущем поколении плееров Dune на базе чипа SMP863X (ядро CPU MIPS 4Kс). Так как в пакете присутствует мощный файловый менеджер Midnight Commander, который позволяет получить визуальный доступ ко всей корневой системе Linux медиаплеера, необходимо быть очень ВНИМАТЕЛЬНЫМ, чтобы случайно не удалить или изменить важные системные файлы. Большинство файлов находятся в ramfs и их изменение будет актуально только до перезагрузки. Часть файлов доступны только для чтения. Если вы не осознаете что делаете, не делайте этого!
ВНИМАНИЕ!
В текущей сборке найден способ корректного завершения работы качающего битторента Transmission при перезагрузке плеера через dsf файл, либо перезагрузке путем ввода команды reboot. К сожалению пока не найден способ, как отловить завершение работы с ПДУ или кнопки (удерживание нажатия), после которой плеер отключается. Если отключить плеер при активных закачках (не раздачах), то при следующем запуске Transmission начнется долгая перепроверка закачиваемых файлов, так как хеши будут не обновлены.
Загрузить Dune Linux Term Utils v0.4.6 (кроме Lite53D)
Загрузить Dune Linux Term Utils v0.4.6 (для Lite53D)
Загрузить Dune Linux Term Utils Mini v0.4.6 (кроме Lite53D)
Загрузить Dune Linux Term Utils Mini v0.4.6 (для Lite53D)
Загрузить отдельно набор сервисных файлов dsf
