Список изменений:
- Добавлен патч TCP окна, устраняющий багчек в ядре (sheduling while atomic) при активных закачках торрентом;
- Добавлен торрент клиент transmission-daemon 2.13, обновляющий NMT версию transmission 1.76;
- Исправлен сброс SSH ключей при обновлении пакета.
Описание
- Введение
Данный комплект включает в себя следующие утилиты:- busybox-1.17.3 (только дополнительные апплеты, которых нет в оригинальном busybox);
- dropbear-0.52 (компактный ssh сервер);
- mc-4.7.0.10 (мощный файловый менеджер Midnight Commander);
- nano-2.2.5 (мощный текстовый редактор);
- screen-4.0.3 (расширение терминала);
- e2fsprogs-1.41.12 (утилиты для управления файловыми системами ext2/3);
- transmission-daemon-2.13 (обновленная версия битторрент клиента для NMT);
- util-linux-ng-2.17.2 (fdisk, blkid);
- parted-2.3 (альтернативная утилита разметки дисков, с поддержкой GPT);
- smartmontools-5.40 (контроль HDD по SMART’у);
- hdparm-9.35 (управление параметрами HDD);
- sdparm-1.05 (управление HDD дисками и CD/DVD/BD приводами);
- usbutils-0.86 (апплет lsusb);
- paragon ntfs/hfs tools (chkntfs, chkhfs).
В пакете находится недостающий модуль PTY, который Syabas вырезала из ядра Linux для соблюдения лицензионных требований. Без PTY невозможна работа терминалов, таких как Telnet и SSH. Данный модуль был собран woj как загружаемый модуль ядра и позволяет запустить PTY без необходимости пересборки ядра. Данный модуль не требуется для последних версий прошивок плейера (он вновь был вернут в ядро), при этом скрипт автоматически проверяет наличие модуля в ядре и при надобности его загружает.
Пакет был собран с помощью кросс-компилятора Sourcery mips-linux-gnu v4.3-154 из под Ubuntu Linux 10.10
с использованием параметров компилятора:
-march=74kf2_1 -mtune=74kf2_1 -mdspr2
Это соответствует максимальной оптимизации кода для Sigma SMP864X. - Установка и обновление
Данный пакет имеет формат NMT CSI и устанавливается с помощью установщика NMT CSI (www.nmtinstaller.com). Если установщик NMT CSI еще не установлен на компьютере, то его необходимо скачать и установить. Установщик NMT CSI подключается к плееру через FTP протокол, поэтому необходимо на медиаплеере запустить Приложение NMTFTP сервер
. Далее нужно запустить установщик NMT CSI и в менюЭкстра
выбратьНастройки FTP
. В полеОборудование
нужно выбрать модель медиаплеера. Если Приложения NMT были установлены на USB флешку, нужно выбрать модель с типом USB. В полеСервер/IP адрес
нужно указать IP-адрес медиаплеера, например 192.168.0.200, имя пользователя и пароль указать такие, которые заданы в плеере для Приложений NMT, по умолчанию имяnmt
, пароль1234
.
Для установки пакета Linux Term Utils, необходимо выбрать в меню NMT CSIФайл
>Установить из файла
и указать путь на zip-архив с пакетом. После нажатия «Далее», пакет будет установлен на диск с Приложениями NMT по стандартному пути /share/Apps в директорию /share/Apps/LinuxUtils.При обновлении пакета не затирается пользовательский скрипт user.script.sh, а также сохраняются настройки из configure. Если в дальнейшем Вы переустановите системные Приложения NMT (с сохранением данных), то все существовавшие CSI пакеты будут видны в списке установленных, но ни одно CSI приложение не будет запускаться автоматически при старте. Это из-за того что системные Приложения NMT восстанавливают стартовый скрипт по умолчанию. Чтобы это исправить, нужно снять, а затем поставить галочкуНачать по загрузке
на любом из пакетов, при этом действии CSI установщик добавит запуск CSI приложений в стартовый системный скрипт NMT. - Настройка
При желании можно отредактировать файл конфигурации /share/Apps/LinuxUtils/configure и отключить ненужные утилиты или задать требуемые параметры.
Внимание! Файл конфигурации имеет Unix формат и редактировать его нужно в редакторах, которые понимают окончание строки Unix, например редактором из Far Manager.Если в конфигурации активен параметр START_LOGGER=1, или 2, то запускается логгер, который пишет все системные события и события ядра в файл messages в /tmp, или (при START_LOGGER=2) в /share/Apps/LinuxUtils/log/, доступ к которому можно получить через SAMBA (Win), перейдя в эту директорию. В пакет включен скрипт для автоматической реконфигурации встроенного в NMT приложения Web сервера Apache, который Syabas не посчитала нужным подстроить под ограничения ресурсов медиаплеера. По умолчанию Apache запускает 6 процессов и плюс еще 6 при старте NMT приложенияСервер myiHome
и ожидает до 150+150 подключений.
Скрипт ограничивает кол-во процессов до 2 и уменьшает число доступных соединений до 5, что позволяет сэкономить ОЗУ и ресурсы ЦПУ. Новая конфигурация Apache будет применена после перезагрузки плеера.
Данная реконфигурация может служить альтернативой сомнительной установки стороннего Web сервера lighttpd (который предлагают установить через CSI-инсталлер) вместо Apache, для уменьшения потребления ресурсов.
Скрипт управляется параметром TUNE_APACHE=1 в конфигурации. Для автоматического запуска при старте плеера пользовательских команд предусмотрен скрипт /share/Apps/LinuxUtils/user.script.sh. При его редактировании также не забываем про Unix-формат перевода строки. После изменения конфигурации необходимо перезапустить приложение LinuxUtils через CSI установщик. - Подключение терминала
После запуска пакета, если установлен параметр TERMINAL_SERVER=1 в /share/Apps/LinuxUtils/configure, то медиаплеер ожидает подключения Telnet-клиента на стандартном порту 23. Для Telnet доступны максимум 4 терминальных сессии одновременно.
Если параметр установлен как TERMINAL_SERVER=2, то медиаплеер ожидает подключения SSH-клиента на стандартном порту 22.Для доступа через Telnet можно воспользоваться клиентом Microsoft Telnet, но лучше всего использовать программу PuTTY, предварительно настроив ее на кодировку UTF-8.
PuTTY также имеет SSH-клиент. SSH клиент рекомендуется для подключения извне через интернет, так как использует защищенное соединение. Также замечено что в SSH быстрее работает Midnight Commander.
Чтобы обеспечить лучшую защиту SSH соединения, нужно сгенерировать свои уникальные rsa и dss ключи для SSH сервера. Для этого в терминале необходимо набрать командуdropbearkeynewпри этом новые ключи перезапишутся в директории /Apps/LinuxUtils/ssh/etc/dropbear. Они и будут использоваться после следующей загрузки плеера.
После подключения будет запрошен логин, нужно ввести root. Пароль для root задается параметром PASSWD_ROOT= и обязательно должен быть задан при использовании сервера SSH. Если до этого использовался Lundman Shell, то его можно удалить, так как при наличии полноценного терминала он более не нужен. - Обновление битторента Transmission
При установке данного пакета, он обновляет NMT версию битторента Transmission (1.76) до последней стабильной версии 2.13. Обновление происходит автоматически, при этом выполняется резервная копия оригинальных файлов, из которой оригинальная версия 1.76 будет восстановлена при удалении пакета. Обновленные файлы копируются по пути /nmt/apps, который размещен на первом скрытом разделе NMT приложений. Если переустановить системные NMT приложения, будет автоматически возвращена версия 1.76. Для того чтобы заново обновить Transmission без переустановки этого пакета, достаточно в терминале запустить скрипт:/share/Apps/LinuxUtils/appsetup.sh btupdateЧтобы вернуть версию 1.76 без удаления этого пакета, достаточно в терминале запустить скрипт:
/share/Apps/LinuxUtils/appsetup.sh btrestoreПо умолчанию, оригинальный и обновленный NMT Transmission используют RPC порт 8077 для доступа из браузера или альтернативных remote-оболочек. Также оригинальный и обновленный NMT Transmission не используют RPC авторизацию. Эти два основных условия должны выполняться, если требуется доступ к Gaya оболочке из OSD меню попкорна (Web сервисы -> Apps -> Торрент). Если изменить порт или установить авторизацию, Gaya оболочка не будет работать (не будет видеть закачки). Если Gaya оболочка не нужна, можно изменять любые настройки в /share/.transmission/settings.json (только после остановки Transmission).
Если до этого был установлен отдельный CSI пакет Transmission, при обновлении, из него будут автоматически скопированы все торренты и настройки (только один раз). Скрипт автоматически остановит Transmission, если он запущен. CSI пакет Transmission по умолчанию использует RPC порт 9091, поэтому после переноса настроек, если требуется рабочая Gaya оболочка, нужно вернуть порт 8077 в настройках /share/.transmission/settings.json («rpc-port») и отключить авторизацию по имени и паролю («rpc-authentication-required»).
Все торренты и настройки CSI пакета Transmission находятся по пути:
/share/Apps/Transmission/.transmission
Все торренты и настройки оригинального, а также обновленного NMT Transmission находятся по пути:
/share/.transmission
После того как торренты и настройки будут перенесены, CSI пакет Transmission лучше удалить, поскольку его скрипты и скрипты CSI постоянно пишут во внутреннюю флеш память плейера при каждом запуске торрента и при каждой перезагрузке плейера. - Обход ошибки ядра Linux при использовании закачек торрентом на высокой скорости
Установлено, что версия ядра Linux 2.6.22.19 имеет ошибку (предположительно в модуле tango_enet), которая
проявляется при использовании любого торрента (Transmission/BTPD) во время высокой скорости закачек с большого количества пиров. Происходит багчек ядра с кодом ошибки «sheduling while atomic», при этом ядро останавливается и плейер полностью зависает (аналог BSOD в Windows). При анализе стека ошибки было выяснено, что ошибка происходит в ядре Linux при динамической реаллокации буфера TCP окна в большую сторону. Данная ошибка проявляется только на прошивках «02-03-100821-21-POP-408-000″ и более поздних, поскольку до этого syabas использовала фиксированный зажатый размер TCP окна. При включенном параметре FIX_TCP_RMEM=1 данный пакет делает коррекцию TCP окна ядра, что позволяет обойти ошибку и пользоваться битторентом сколько угодно долго и на любых скоростях.
К сожалению, коррекцию сделать не так просто, поскольку встроенный в прошивку скрипт /opt/sybhttpd/default/setups.cgi постоянно вызывается в фоне и сбрасывает параметры TCP окна. Чтобы это устранить, нужно пропатчить оригинальный setups.cgi в HEX редакторе, заменив строковый ресурс >/proc/sys/net/ipv4/tcp_rmem на >/dev/null. После этого нужно скопировать пропатченный setups.cgi в директорию ../tcp_rmem данного пакета. Скрипт запуска пакета автоматически привяжет пропатченный setups.cgi и параметры окна больше не будут сбрасываться. В данном пакете уже поставляется пропатченный setups.cgi от прошивки C-200 «02-04-101206-21-POP-408-000″, который при совпадении будет использован. Также в пакете можно найти и использовать уже пропатченный setups.cgi от прошивки A-200/A-210 «02-04-101106-21-POP-411-000″. Если установлена другая прошивка, нужно патчить /opt/sybhttpd/default/setups.cgi самостоятельно. - Ограничения
ВНИМАНИЕ! Перед установкой пакета НАСТОЯТЕЛЬНО рекомендуется удалить через NMT CSI следующие пакеты (если они были установлены):- busybox (Ger Teunis);
- Telnet (Vaidyasr);
и после удаления перезагрузить плеер.
Данный пакет тестировался с прошивками плеера:
C-200: версии 02-04-101206-21-POP-408, 02-04-101104-21-POP-408, 02-03-101006-21-POP-408 и 02-03-100821-21-POP-408;
A-200/A-210: версии 02-04-101106-21-POP-411-000 и 02-03-100918-21-POP-411-000.
Работа на более старых версиях прошивок не гарантируется. Пакет не записывает никаких изменений в NAND-Flash и после отключения или удаления и перезагрузки плеера не оставляет никаких следов в Linux root.
ВНИМАНИЕ! Так как в пакете присутствует мощный файловый менеджер Midnight Commander, который позволяет получить визуальный доступ ко всей, в том числе и корневой файловой системе Linux медиаплеера, необходимо быть очень внимательным, чтобы случайно не удалить или не изменить важные системные файлы.
Большинство файлов находятся в ramfs и их изменение будет актуально только до перезагрузки. Часть файлов доступны только для чтения. Однако в директории /opt присутствуют такие файлы, которые находятся под контролем pflash и если их изменить, они будут записаны во внутреннюю флеш память. Если вы не осознаете что делаете, не делайте этого!Если требуется произвести обслуживание раздела /share, на котором установлены LinuxUtils, такое как проверка раздела, форматирование, ручная разбивка диска, необходимо перед размонтированием раздела выполнить из терминала скрипт /share/Apps/LinuxUtils/copy_to_roofs.sh». При этом самые необходимые утилиты cкопируются в rootfs (в ОЗУ) и будут доступны после размонтирования раздела. После перезагрузки плейера содержимое rootfs всегда восстанавливается по умолчанию.
- История изменений
v0.6 (16.12.2010):- Добавлен патч TCP окна, устраняющий багчек в ядре (sheduling while atomic) при активных закачках торрентом;
- Добавлен торрент клиент transmission-daemon 2.13, обновляющий NMT версию transmission 1.76;
- Исправлен сброс SSH ключей при обновлении пакета.
v0.5 (09.12.2010):
- Исправлена проблема совместимости с прошивкой C-200 «02-04-101206-21-POP-408-000″.
v0.4 (30.11.2010):
- Исправлен баг терминала в GNU screen;
- SSH dropbear устанавливается в rootfs для работы SSH после отключения диска с приложениями;
- Добавлена работа терминала из под пользователя nmt;
- Добавлены утилиты для проверки (fsck) файловых систем FAT, FAT32, NTFS, HFS, HFS+;
- Добавлена настройка выбора пути для системного лога;
- Добавлен скрипт «copy_to_roofs.sh» для временного копирования утилит в rootfs;
- Исправлен конфликт с OSD меню попкорна: При попытке сделать чистую установку NMT приложений происходила ошибка «Ошибка форматирования, возможно неисправен жесткий диск».
v0.3 (18.11.2010):
- Добавлен GNU screen v4.0.3;
- Исправлен запуск скрипта
dropbearkeynew
из под telnet терминала; - Ускорена загрузка PTY модуля в 25 раз (ранее это занимало 8 секунд);
- Пакет подготовлен по стандарту NMT CSI.
v0.2 (12.11.2010):
- Добавлен файловый менеджер Midnight Commander 4.7.0.10;
- Добавлен логгер smartd из smartmontools;
- Обновлен ssh сервер dropbear до v0.52, добавлен скрипт для обновления ключей;
- Обновлен редактор nano до v2.2.5;
- Пересобран lsusb без использования библиотеки libusb-0.1;
- Доработан CSI скрипт запуска/остановки пакета;
- Добавлен стартовый пользовательский скрипт user.script.sh.
v0.1 (08.11.2010):
- Первый релиз.
Padavan
16.12.2010
Загрузить Linux Term Utils v0.66
17 декабря 2010 г. в 08:57
Padavan, я еще не ставил новый релиз, но уже есть есть вопрос:
Раз уж ты опережаешь Ger Teunis в компиляции Transmission, то можно попросить тебя в следующую сборку скрипт перед запуском Transmission вживить — на проверку существования требуемых ему же разделов (с пропиской контроллируемых каталогов в том же общем для LU конфиге), со стартом только после того как маунт всего отработает.
Что-то типа такого, но поприличнее.
17 декабря 2010 г. в 10:48
я ничего не понял но зависание при закачке на большой скорости хочетса удалить
помогите пожалуйста
19 декабря 2010 г. в 12:42
Поставил, сразу же словил непонятный глюк — после старта приложений Telnet уже появился (штатный или нет — не уверен) — успел dmesg посмотреть, а потом все порвалось и не смог сессию переконнектить никак. Только рестарт LTU через CSI помог.
Еще раз ребутнул с пульта — вроде все ок.
Да — раз уж Transmission есть — как ему проверку на наличие маунтов привесить — Padavan, подскажи где же его скрипт на старт ? в /nmt/apps/etc ?
19 декабря 2010 г. в 17:01
1) Удалите из user.script.sh патч TCP окна (если добавляли руками). Он может помешать обновлению LTU из-за bind.
2) Используйте сборку LTU 0.64, я недавно архив обновлял, ссылка обновлена. Ставить всегда нужно поверх, реализовано корректное обновление без затирания пользовательских скриптов и настроек.
3) После установки можете спокойно снести CSI трансмишен. Он будет автоматически отключен из автозагрузки.
4) Для решения проблемы позднего монтирования есть решение, я подробно его описывал здесь http://forum.ixbt.com/topic.cgi?id=62:17700-154#5059
19 декабря 2010 г. в 18:28
Вот оно — on-stop и on-start. Здесь же в ньюсе эти итерации не описаны (как и в ридми пакета 0.64, который я и поставил). Форум я давненько не курил — времени 0. Надо бы вынести про это на сайт.
А вариант с трансом на HDD не прокатит — у меня 4 HDD, 2 с них на USB — маунт просто хаотический
19 декабря 2010 г. в 18:39
Первый вариант что я описывал прокатит всегда, потому что старт NMT приложений вызывается из mounter. Он это делает только после того как примонтирует /nmt и /share.
Если использовать второй вариант, то лучше опираться на метки тома. Правда для этого скрипт нужно дорабатывать, поскольку метки тома создаются в корне в виде символических ссылок.
19 декабря 2010 г. в 16:17
Found hardware type: Popcorn Hour C200
Application Initializer version 1.12
—————————————
Checking for new version: up to date
Checking Application Initializer profile: Valid
cat: can’t open ‘/mnt/syb8634/server/php5server/httpd.conf’: No such file or directory
cat: can’t open ‘/mnt/syb8634/etc/ftpserver.sh’: No such file or directory
Configuring system to start all applications on boot: cat: can’t open ‘/mnt/syb8634/etc/ftpserver.sh’: No such file or directory
/opt/sybhttpd/localhost.drives/SATA_DISK/Apps/AppInit/appinit.cgi: line 186: /mnt/syb8634/etc/ftpserver.sh: No such file or directory
Done
Installing application from file /share/LinuxUtils.tar: Done
Starting LinuxUtils: Done
папка mnt пустая. syb8634 есть в nmt . видимо что то нудно смонтировать, чтобы в mnt было. Подскажите.
19 декабря 2010 г. в 17:07
Какой-то непонятный бардак. Установите сначала NMT приложения на чистую.
19 декабря 2010 г. в 19:09
спасибо за Вашу работу. Все ставится и настраивается довольно легко.
У меня почему-то не получается зайти через ssh. Захожу из под Linux Ubuntu 10.04. В шэлле пишет: root@10.0.0.100‘s password:
Permission denied (publickey,password).
А в логах на nmt пишет:
Dec 19 17:56:11 NMT-popcorn authpriv.warn dropbear[2926]: user ‘root’ has blank password, rejected
Dec 19 17:56:35 NMT-popcorn authpriv.warn dropbear[2926]: user ‘root’ has blank password, rejected
Dec 19 17:56:54 NMT-popcorn authpriv.warn dropbear[2926]: user ‘root’ has blank password, rejected
Dec 19 17:56:55 NMT-popcorn authpriv.info dropbear[2926]: exit before auth (user ‘root’, 3 fails): Exited normally
~
подскажите в чем тут может быть дело?
19 декабря 2010 г. в 19:26
Откройте файл /Apps/LinuxUtils/configure. Там задается пароль для рута. Он не должен быть пустым, иначе dropbear не пустит через SSH. После смены пароля нужно перезапустить LTU или перезагрузить попкорн.
19 декабря 2010 г. в 23:51
Пароль я сменил на свой сразу же: PASSWD_ROOT=»1234″. Проблема не в этом.
20 декабря 2010 г. в 01:06
Так как пароли не могут храниться в rootfs по причине его нахождения в RAM, при каждом старте LTU в скрипте генерится пароль через passwd. Судя по всему у вас пароль не сгенерился по какой-то причине и остался пустой. SSH dropbear не разрешает пустые пароли, это нормально. Покажите что в файле /Apps/LinuxUtils/.daemonresult.
20 декабря 2010 г. в 01:15
Вот содержимое /Apps/LinuxUtils/.daemonresult:
ln: /sbin/blkid: File exists
ln: /sbin/findfs: File exists
passwd: password for root is unchanged
passwd: password for nmt is unchanged
FIX_TCP_RMEM FAILED! File setups.cgi has mismatch size. Different firmware?
20 декабря 2010 г. в 03:08
У вас какой плейер и какая версия прошивки? Патч TCP не сработал, поскольку нужно заменить setups.cgi от своей версии прошивки, читайте в описании.
У меня такое ощущение что вы файл configure испортили DOS окончанием строки. Возьмите оригинальный файл из пакета, замените его и аккуратно отредактируйте его в нормальном редакторе, понимающем UNIX формат окончания строк. Затем перезагрузите попкорн и посмотрите что будет в .daemonresult
20 декабря 2010 г. в 09:09
У меня А-200. Прошивка: 02-04-101208-21-pop-411-000
Версия NMT: 02-04-101104-21pop-411
Патч TCP пока не ставил, т.к. не пользуюсь торрентами.
Странно, но я в Вашем архиве «Linux Term Utils» я не нашел файлика «./LinuxUtils/configure».
Для редактирования конфига я использовал gedit, или встроенный редактор в midnigh commnader. Так, что думаю, что проблема не в этом. Хотя я бы попробовал последовать Вашему совету,будь у меня оригинальный «config» — где его найти?
20 декабря 2010 г. в 15:18
configure генерится автоматически при установке пакета. Мождете конфиг взять отсюда http://nmt200.ru/wp-content/uploads/utils/configure.tar.gz.
21 декабря 2010 г. в 22:04
переконфигурировал новый конфиг файл. Ситуация не изменилась видимо проблема не в этом. Еще идеи?
22 декабря 2010 г. в 02:31
Переключите терминал на telnetd, залогиньтесь и посмотрите, почему пароль не меняется у рута. Попробуйте руками сменить, сменится или нет. Посмотрите что в passwd и shadow. Вы первый, у кого скрипт не может сменить пароль.
20 декабря 2010 г. в 16:08
При загрузке девайса срабатывает user.script.sh
Если я правильно понимаю ситуацию, то если, не выключая устройство, поменяю диск в кармане или добавлю через USB, то команда hdparm из скрипта не сработает. А можно что-нибудь придумать для того, чтобы после появления нового диска срабатывал дополнительный скрипт?
20 декабря 2010 г. в 16:31
Да, не сработает. Динамически загружать параметры не получится, так как для этого в прошивке используется демон mounter, который срабатывает от PnP вызовов ядра через udev. mounter загружает автоматически во вновь установленные диски hdparm -S60, это спин-даун таймер на 5 минут бездействия.
21 декабря 2010 г. в 07:36
Padavan, есть нарекания к стопу Transmission 2.13 через интерфейс Настройка->Приложения NMT. Дважды стопал его при активных закачках. Останавливается неожиданно быстро, но последующий запуск приводит к речекингу файлов.
Ты уверен, что все ок со стопом демона?
P.S. пре и пост скрипты (on start и on stop) еще не трогал
21 декабря 2010 г. в 13:36
Покажите мне пожалуйста содержимое /nmt/apps/server/clutch.
21 декабря 2010 г. в 15:27
APPPATH="/nmt/apps/bin"
DLPATH="/share/Download"
LTUPATH="/share/Apps/LinuxUtils"
func_start()
{
echo -n "Start Transmission Damon: "
killall -q btpd_monitor
chmod 777 /tmp
crontab /nmt/apps/etc/root.cron
if [ -e /share/.transmission/btschlist ]; then
schnum=`cat /share/.transmission/btschnum`
cat /share/.transmission/btschlist >> /var/spool/cron/crontabs/root
sed -i '1c\\#-'${schnum} /var/spool/cron/crontabs/root
crontab /var/spool/cron/crontabs/root
fi
umask 0000
# create default settings dir
if [ ! -d /share/.transmission ] ; then
mkdir /share/.transmission
else
chmod -R 777 /share/.transmission
fi
# create default settings.json
if [ ! -f /share/.transmission/settings.json ] ; then
$APPPATH/transmission-daemon -a "127.0.0.1, *.*.*.*" -w "$DLPATH" -p 8077 -L 150 -l 30 -d 2>/share/.transmission/settings.json
fi
# create default download dir
if [ ! -d "$DLPATH" ] ; then
mkdir -p -m 777 "$DLPATH"
fi
# call user script before start transmission
if [ -f "$LTUPATH/transmission/on_start.sh" ] ; then
"$LTUPATH/transmission/on_start.sh"
fi
export HOME=/share
export CLUTCH_HOME=/nmt/apps/clutch5
export TRANSMISSION_WEB_HOME=/nmt/apps/clutch5
# start transmission
$APPPATH/transmission-daemon -g /share/.transmission
if [ $? -eq 0 ] ; then
# save started state
if [ "$1" == "save" ] ; then
if [ "`pflash get btpdserv`" == "0" ] ; then
pflash set btpdserv 1
fi
fi
/opt/sybhttpd/default/webservices.cgi cmd=RelPG_0
echo "[ OK ]"
else
echo "[FAILED]"
fi
}
func_stop()
{
echo -n "Stop Transmission Daemon: "
killall -q btpd_monitor
if [ "$1" == "save" ] ; then
# save stopped state
if [ "`pflash get btpdserv`" == "1" ] ; then
pflash set btpdserv 0
fi
fi
crontab /etc/cron/root.cron
if [ "$1" != "forcestop" ] && [ -e /share/.transmission/btschlist ] ; then
schnum=`cat /share/.transmission/btschnum`
cat /share/.transmission/btschlist >> /var/spool/cron/crontabs/root
sed -i '1c\\#-'${schnum} /var/spool/cron/crontabs/root
crontab /var/spool/cron/crontabs/root
fi
# stop transmission
killall -q transmission-daemon
# gracefully wait max 30 seconds while transmission stopped
i=0
while [ -n "`pidof transmission-daemon`" ] && [ $i -le 30 ] ; do
echo -n "."
i=$(( $i + 1 ))
sleep 1
done
[ $i -ne 0 ] && echo -n ". "
trmd_pid=`pidof transmission-daemon`
if [ -n "$trmd_pid" ] ; then
# force kill (hungup?)
kill -9 "$trmd_pid"
sleep 1
echo "[KILLED]"
else
echo "[ OK ]"
fi
rm -f /tmp/bt_data
# open full access for settings.json
if [ -f /share/.transmission/settings.json ] ; then
chmod 777 /share/.transmission/settings.json
fi
# call user script after stop transmission
if [ -f "$LTUPATH/transmission/on_stop.sh" ] ; then
"$LTUPATH/transmission/on_stop.sh"
fi
}
case "$1" in
start)
func_start
;;
start-save)
func_start save
;;
stop)
func_stop
;;
forcestop)
func_stop forcestop
;;
stop-save)
func_stop save
;;
*)
echo "Usage: $0 {start|stop|start-save|stop-save}"
exit 1
esac
exit 0
21 декабря 2010 г. в 17:23
Скрипт обновленный, все в норме. Я сам тестировал большое кол-во раз остановку и запуск через OSD меню, ни разу прокола не было. Точнее был такой прокол два раза из-за btpd_monitor, он киляет transmission-daemon после нескольких секунд ожидания. Он был в старом скрипте, я его перетащил с оригинального скрипта 1.76, оказалось что от него вред. Если запустить btpd_monitor, он через несколько секунд прибьет transmission-daemon через kill -9 (насильное прибиение процесса) и после этого все торренты будут перечекиваться.
21 декабря 2010 г. в 17:40
Добавьте вот этот блок в начале func_start в /nmt/apps/server/clutch и /share/Apps/LinuxUtils/transmission/server/clutch
{
# Make sure already running
if [ -n "`pidof transmission-daemon`" ] ; then
echo "Transmission already running!"
exit 0
fi
...
Это предотвратит запуск второй копии, особенно если запускать через скрипт. Вторая копия может побить хеши, поскольку берет одну конфигурацию. Я обновлю в следующей минорной сборке.
21 декабря 2010 г. в 15:15
Padavan, спасибо за проделанную работу. Уже несколько дней мой C200 c LTU v 0.63 работает как часы. Из положительных моментов по сравнению с поведением NMT c LTU v 0.5 + Transmission 2.12 + TCP window size bug fix от Padavan могу отметить:
1. Почему-то ~ на 70% вырос объем раздачи (Transmission 2.13 из LTU), явно существенно возросла средняя скорость отдачи.
2. Transmission настроен с preallocation:2 и в предыдущем варианте в момент выделения места под торрент C200 практически не реагировал на команды пульта ДУ, жутко тормозиа даже ssh (telnet) сессия.
В нынешнем варианте Transmission 2.13 из LTU при выделении место под торрент тормозов практически нет,
плеер бодро откликается на команды ДУ и ssh (telnet) сессия работает вообще без проблем.
WildFlexy, только что остановил Transmission 2.13 через OSD меню плеера, подождал, проверил, что торрент точно остановлен, запустил. Раздачи возобновились без всякого речека.
21 декабря 2010 г. в 15:20
В том то и дело, если пакет нормально обновился и /nmt/apps/server/clutch из сборки 0.63 и выше, никаких проблем с остановкой нет — демону кидается команда на выход и корректно ожидается выход демона в течении максимум 30 секунд. Обычно демон завершает работу в течении 3-8 секунд.
21 декабря 2010 г. в 15:45
Да, так и есть — около 5 секунд. 2.12 CSI тупил на стоп подольше.
Ну раз я один — значит где-то во мне порылась проблема.
Я же еще конфиг транса слил с 2.12 — поэтому у меня порт старый 9091 — может я зря это сделал?
21 декабря 2010 г. в 16:12
WildFlexy, добавил один большой торрент, дождался интенсивной закачки, еще раз проверил останов/запуск трансмишен через OSD меню: все работает нормально, речека незавершенных и завершенных торрентов нет. У меня
NMT приложения и медиасетап на HDD 500Gb 2.5″, у Вас на флешке вроде бы. Может это как-то влияет.
P.S. Вы в курсе, что на Вашем сайте если неправильно ответишь на контрольный вопрос, выводятся непонятные кракозяблики вместо информации об ошибке и сообщение безвозвратно пропадает, без возможности второй попытки ответить на вопрос.
21 декабря 2010 г. в 16:58
Хорошо что у тебя все хорошо!
Padavan’у, конечно, пожизненный респект — дропы на ап на сетевухе совсем ушли. Они раньше жить не мешали, но сейчас совсем не стало.
Если бы Padavan еще и на почту отвечал…
P.S. Сайт рассчитан на тех, кто в соcтоянии проделать простейшие математические вычисления — это отсеивает море спама. Пока более лучшего плагина не нашел, а свой писать некогда.
Кракозяблов не наблюдал (у меня хром и опера).
И еще — вроде как регистрированным и одобренным однажды пользователям не надо математику считать.
30 декабря 2010 г. в 01:33
привет! у меня такая же проблема диск на 2.5″wd640 постоянно зависает такой пример смотрю фильм ставлю на паузу кофейка налить прихожу висит,я сделал так hdd вытащил вставил его в корпус с usb от 3.5″ теперь у меня все летает не разу не завис, я только желею зачем я купил диск 2.5 640 знал-бы купил 2tb 3.5 за эти деньги, по моему опыту я понял для него нужен другой корпус побольше как у dune поставить на hdd отдельный вентилятор,а в А200 есть место для вентилятора но не куда воткнуть может кто знает как,а во стальном супер плеер, еще раз не купил его
22 декабря 2010 г. в 15:24
Уважамый Padavan! А можно ли этот комплект установить в плееры HDI DUNE?
22 декабря 2010 г. в 18:51
Вы читаете мои мысли. Комплект готов для дюны, скоро будет выложен. Осталась одна проблема, пока не могу поймать каллбэк от оболочки дюны, чтобы безопасно останавливать трансмишен. Каллбек от перезагрузки нормально прикрутил, а от выключения — пока нет. Если сейчас дуню выключить при качающем трансмишене, будет речекинг.
23 декабря 2010 г. в 08:59
Padavan — а выкладывать файлы для Dune куда будешь?
P.S. И на почту ты не отвечаешь… Тебя на контакт не вытащишь по приватным вопросам
23 декабря 2010 г. в 16:41
Пока выложил на этом хостинге, надо бы статью сделать, как рукий дойдут. По привату письмо получил, страницу отредактировал. Сорри что не ответил. С аватаром пока лень возиться.
23 декабря 2010 г. в 18:19
Ок — поместил страницу по LTU на почетное место.
По статье — как всегда — жду с нетерпением
А по почте — ты реагируй — там может быть много вкусного !
23 декабря 2010 г. в 02:40
Не обновляется до transmission-daemon 2.13.
Было установлено Linux Term Utils v0.5 и transmission 2.12.
Удалил Linux Term Utils v0.5, через NMT остановил transmission 2.12, установил Linux Term Utils v0.6.
Что делаю не так ?
23 декабря 2010 г. в 09:04
2.12, скачанный и установленный через CSI и 2.13 из комплекта LTU — 2 разных приложения.
Поставив LTU 0.6 ты заменил штатный из комплекта Приложений NMT Transmission v1.76 видимый частично в папке /share/.transmission на новый 2.13.
Перенеси свой torrents и resume в /share/.transmission и запускай 2.13 через штатный OSD (на телеке)
Если ты ему конфиг не правил — порт на коннект будет 8077:
http://PCH-C200:8077
26 декабря 2010 г. в 05:58
Добрый день ! Нужна помощь . В первую очередь спасибо за работу , уже год жду что бы торрент работал нормально . Установил все как написано , ( прошивка у меня последняя ) , все ровно жёсткие зависания в меню . Невозможно переключатся ! Что может быт не так ? Всем Спасибо !!!!!!
26 декабря 2010 г. в 06:42
У меня C-200, приложения на USB-Flash.
Качаю как на SATA HDD, так и на подключенные через USB. Все эти HDD в Ext3, на всех низкий уровень фрагментирования (везде файлы или перезалиты или создавались Transmission с preallocation=2).
Зависания (а точнее торможение) в меню у меня есть, НО ТОЛЬКО в момент создания Transmission новых файлов. И это не проблема, реактивной многозадачности от медиаплеера не дождешься
26 декабря 2010 г. в 15:59
Да дело в том , что как только скорость достигает 1 мега все , меню пользоваться не возможно , вообще . После 10 часов продолжает работать , у меня один диск в ext3 и один в NTFS (SATA) . Закачка происходит на ext3 .
28 декабря 2010 г. в 06:48
У меня также 1МБ/сек и выше качает.
Проверь при такой закачке нагрузку в командной строке через top — сколько ресурсов cpu и кто кушает?
28 декабря 2010 г. в 21:50
Скажи , как это сделать ? я не болшой специалист . Я проверу и отпишусь ! Спасибо !!!!
28 декабря 2010 г. в 22:30
Mem: 187376K used, 3904K free, 0K shrd, 2240K buff, 105488K cached
CPU: 18.7% usr 8.9% sys 0.0% nic 47.5% idle 14.9% io 0.0% irq 9.7% sirq
Load average: 1.37 1.42 1.49 3/77 3746
PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND
2451 1 root S 23680 12.3 0 28.0 /nmt/apps/bin/transmission-daemon
1011 1009 root S 407m217.5 0 2.9 syb_framework
886 1 root S 9008 4.7 0 0.2 /upnp/upnpapp
2009 1953 nmt R 3104 1.6 0 0.2 top
22161 22158 nobody S 23408 12.2 0 0.0 /share/Apps/lighttpd/bin/php-cgi -
22158 1694 nobody S 21904 11.4 0 0.0 /share/Apps/lighttpd/bin/php-cgi -
935 886 root S 7984 4.1 0 0.0 /upnp/upnpapp
1788 1 root S 7792 4.0 0 0.0 /nmt/apps/bin/smbd -D
1793 1788 root S 7792 4.0 0 0.0 /nmt/apps/bin/smbd -D
1694 1 nobody S 5152 2.6 0 0.0 sbin/lighttpd -f etc/lighttpd.conf
1016 1 root S 5088 2.6 0 0.0 nmt_scannerd
1786 1 root S 4848 2.5 0 0.0 /nmt/apps/bin/nmbd -D
936 1 root S 4320 2.2 0 0.0 /opt/sybhttpd/sybhttpd /opt/sybhtt
1953 1436 nmt S 4112 2.1 0 0.0 -sh
1022 1 root S 3856 2.0 0 0.0 crond -l 20
1 0 root S 3360 1.7 0 0.0 init
1009 1 root S 3344 1.7 0 0.0 /bin/sh ./appcontrol
865 1 root S 2672 1.3 0 0.0 mounter
1436 1 root S 2608 1.3 0 0.0 telnetd -K -l login
1731 1 root S 2560 1.3 0 0.0 ./nmtdaemon
1403 1 root S 2544 1.3 0 0.0 syslogd -O /tmp/messages
29 декабря 2010 г. в 05:42
Нагрузка от transmission-daemon не большая, да и вообще полпроца свободно. Никакого криминала.
lighttpd снести пробовал ?
Себе я это никогда не ставил и вообще не рекомендую (и Padavan то же советует)
У тебя приложения на USB-флешке или на SATA?
30 декабря 2010 г. в 13:46
Проги стоят на HDD , но вот странность изменил директорию загрузки на другой диск NTFS и нет проблем ! Видемо проблема с диском ! Скажи у меня диск WD 2T 4k ext3 , можно его исправит на 512К , без потери информации . Там фильмов на 1.5Т . Спасибо тебе за помощь !!!
30 декабря 2010 г. в 18:42
Не совсем понял — как это исправить?
Насколько я понял, твой WDC WD20ExDS отформатирован как системный и средствами самого попкорна? Это было до декабрьской прошивки?
Или ты на нем вручную выравнивал кратность секторов под 4 килобайта (как давали тут рекомендации) ?
30 декабря 2010 г. в 20:31
Да у меня отформатирован средствами попкорна , до декабрьской прошивки . Диск системный . Можно ли выравнивал кратность секторов под 4 килобайта в ручную не удалая содержимое ( Фильмы) . Я слышал , что с декабрьской прошивкой можно отформатирован и использовать без проблем , как системный Samsung HDD F4 или WD EARS . Это так ? У нас просто проблема нету HDD с 512K sectors. Только Samsung HDD F4 или WD EARS !
30 декабря 2010 г. в 21:00
В Linux нет ничего невозможного!
Но для этого нужна магия уровня дисковых операций и написания скриптов.
Я бы сбэкапил NMT-раздел (первый) — как я писал для BBK, а потом, ручками поднял бы в fdisk его стартовый сектор до 2048, передвинул второй и третий разделы на границы секторов, кратные 8, а четвертый, с данными, сдвинул бы немного вниз, применив
Но лучше это делать, поставив SATA-диск напрямую в PC, а то через SATA<>USB мостик или на самом плеере умрешь до окончания операции
30 декабря 2010 г. в 22:15
Ок , спасибо , почитаю , попробую !!! А как на счет декабрьской прошивки, она и в правду корректно работает с новыми HDD ? Я имею ввиду : можно ли использовать новые HDD (HD204UI или WD20EARS ) , как системные ? После чистой установки через Попкорн !! Большое спасибо за терпение и помощь !!!! С наступающим Новым Годом !!!!!!
31 декабря 2010 г. в 05:14
Да, на новой прошивке при выбранной установке Приложений NMT как «Чистая» нарезка HDD идет с сектора 2048 и далее кратно 8 для любых HDD (размер сектора не контролируется). И это правильно.
C наступающим!
31 декабря 2010 г. в 11:28
почему начинают именно с 2048?
есть меньшие числа кратные 8.
1 января 2011 г. в 17:23
Новый стандарт — GPT (General Partition Table) для данных предусматривает начало именно с сектора 2048. Старый, DOS-совместимый, был с 63.
Можно и нестандартно — в Linux в общем-то фиолетово (откуда скажешь — оттуда и будет). Но есть и другие операционки (Win например) и дисковые утилиты, которые не вкуривают такие нестандартные размещения и могут на этот диск (в своем диск-менеджере) показать полную ерунду. Так что лучше стандарт, чем произвольная разбивка.
31 декабря 2010 г. в 13:29
через telnet захожу нормально. Но пароль не справшивает… Странно, чтобы зайти на сетевые ресурсы через самбу, то пароль нужно ввести обязательно. Видимо пароль забит через smbpasswd. При попытке сменить системный пароль root или пользователя nmt с помощью chpasswd ничего не происходит — программка нечего не выдает и можно только выйти из нее по ctrl+C назад в шелл.
Почему не работает смена пароля в логах ничего не нашел.
Где можно еще искать решение?
7 ноября 2011 г. в 22:03
Ребята! Кто может попроще подсказать какова причина может случиться в с200 вдруг перестал закачивать добавленые торент файлы хотя включает торент и выключить можно но закачка стоит на нулях.Главное общается с компом,онлайн все в порядке,перемещает файлы и тд. Стал чаще зависать на просмотре. Перепрошил- результатов недало.Приложения все работают а загрузки на жесткий-нет.