Каша из топора или NAS на основе Asus RT-N56U

в 17:48, , рубрики: Asus RT-N56U, dlna, NAS, nfs, samba, UPnP, Сетевое оборудование, метки: , , , , ,

image
Вкратце, что получилось:

  • ADSL 2+ подключение к Интернету
  • Две домашних WiFi 802.11g/n сети — 2.4Ghz и 5Ghz со скоростью более 100 мегабит/с
  • Гигабитное подключение по кабелю
  • Сетевое хранилище на 6Тб, в виде четырех дисков 2 x 2Тб и 2 x 1Тб с автономным торрент клиентом
  • SMB/CIFS сервер со стабильной скоростью записи/чтения 12-14 мегабайт/с
  • NFS сервер со скоростью записи/чтения 9-10 или 15-18 мегабайт/с (TCP/Windows или UDP/Linux)
  • UPNP/DLNA сервер со скоростью чтения 8-10 мегабайт/с
  • 46-ти дюймовый LED телевизор с встроенным WiFi 802.11n, способный работать с сетевым хранилищем и сам способный раздавать контент по SMB/CIFS со своего USB диска
  • Старый 42-дюймовый телевизор с подключеным BD плеером с поддержкой Ethernet и DLNA клиентом, работающий с сетевым хранилищем
  • 4 домашних компьютера, включая Mac и 4 мобильных телефона которые со всем вышеперечисленным работают, в том числе и мобильные сервера и клиенты DLNA

Кому интересно на какие грабли я наступал, зачем там подушка и как все это работает прошу под кат.

Предыстория

Много лет подряд я никогда особо не задумывался о своей домашней сети. Лет этак восемь назад ко мне пришел чувак от Интернет провайдера и воткнул в телефонную розетку ADSL модем со встроенной точкой доступа WiFi. Потом он записал мне длинный WEP пароль и ушел чтобы больше никогда о себе не напоминать. А коробка осталась:

image

Чтобы она не путалась под ногами, я закинул ее на шкаф в коридоре, прокинул от нее до своего рабочего места сетевой провод и благополучно про нее забыл. Через какое то время у меня начали появляться устройства, требующие WiFi. Поэтому пришлось модем вскрыть, перешить на новую прошивку, переименовать сеть, сменить WEP на WPA и так далее. Однако ничего существенного топологически и технологически не менялось.
Надо сказать, что за несколько лет, как и у большинства, у меня накопилась куча всякого компьютерного барахла, в том числе и несколько внешних USB дисков размерами от 160Гб до 3Тб, куда я сливал все «нажитое непосильным трудом». Если вы не педант и не законченный аккуратист, то меня поймете. Там были тонны семейных фотографий, видео, куча фильмов и музыки выкачанных из Интернета, софт, базы данных и тому подобное. В какой то момент это стало весьма напрягать, потому что вся эта информация равномерно размазывалась между разными носителями, компьютерами, фотоаппаратами, видеокамерами, картами памяти телефона и было достаточно трудно сказать где, что и как находится. По этой же причине удалять что-либо с какого-то носителя в какой-то момент времени было очень стрёмно, потому что без проверки остальных десяти невозможно было понять, есть ли резервная копия или нет. Но началось все даже не с этого…
Все началось с того что жена с ребенком уехала в отпуск и я перетащил старый телевизор и простенький BD плеер с портом USB в свою спальню, чтобы смотреть по вечерам кино перед сном, не вставая с кровати. По привычке я таскал свой 500-гиговый внешний USB диск с фильмами между лаптопом, новым телевизором и спальней, пока не обнаружил в плеере порт Ethernet. И тут я вспомнил про свою «домашнюю сеть». Но сеть была в большинстве своем беспроводная и Ethernet на эту роль никак не годился, а нужной длины сетевого кабеля у меня не было.
Поэтому сдул пыль с дареного коня под названием D-Link DIR-300, прошил его DD-WRT (отдельная история как я это делал для HW ревизии A1), поставил его в режим Client Bridge, подключил и через какое то время уже мог смотреть фильмы со своего лаптопа через сеть, используя встроенный в плеер клиент DLNA.
Как водится, из одной проблемы возникло несколько. Поскольку сетевое железо было старше моего ребенка и максимум могло работать только с 802.11g, то фильмы с высоким битрейтом (не говоря уже про HD) им просто не прожевывались. Другая проблема заключалась в том что использовать свой лаптоп в качестве DLNA сервера было не самой лучшей идеей по различным причинам. Ну и в дополнение все это не избавляло меня от десятка флешек и внешних дисков, со всеми вытекающими.
Так я созрел для покупки мегадевайса, который бы улучшил все сразу — и скорость сети, и подключение к телевизорам, и решил был проблему с ворохом разных носителей.

Роутер

Размышления на тему мегадевайса привели меня в магазин, где я как баран встал перед длинной полкой с роутерами, точками доступа, модемами и т.д. Мне нужно было что-то что могло работать как модем, понимать 802.11n и иметь USB port. Но большинство из всего наличествуемого соотвествовало моим неказистым требованиям. Поэтому я засел в Интернет и через какое то время остановился на Asus RT-N56U, за 90 евро. Были модели и помощнее, и поумнее, но подороже. Возможно кому то нужен какой нибудь 802.11ac на 450 мегабит с десятью антеннами, встроенным SATA 6Gb интерфейсом и тач инфо панелью (были и такие), но с моей бюджетной точки зрения Asus за 90 евро подходил идеально.
Да, я решил наплевать на встроенный DSL модем. Здравый смысл подсказал мне что по ADSL я все равно не получу больше 48 Mbit. А Интернет сказал что комьюнити прошивки типа DD-WRT или OpenWRT с поддержкой DSL это почти нереально. И что-то там, называемое «интуиция» сказало что для моих целей скорее всего придется возиться с WRT/Optware. Короче говоря я плюнул и поставил старый Zyxel в режим моста, отрубил у него WiFi и забыл про него, как несколько лет назад.
По поводу накопителей, я тупо взял два самых больших что у меня были — на 3Тб и на 1Тб. Потом, подумав, я купил еще один пользованный 3х терабайтник на местном аукционе за очень смешные деньги и воткнул его в старую SATA<->USB коробку. И положил все это дело вместе, чтобы посмотреть и подумать что делать дальше:

image

Здравый смысл мне опять подсказал, что лучше бы купить отдельный NAS и я с ним согласился. Но денег и желания опять ехать в магазин не было, поэтому покупку NAS я отложил на неопределенный срок. Да-да, я полностью согласен что Modem + Router + NAS всегда лучшем чем все в одном и три головы лучше одной (или двух). Однако ноги уже чесались походить по граблям и я пошел.

Грабли с 3Тб диском

Первым делом я сменил прошивку на роутере. Я взял newgui прошивку от Padavan и легко и просто прошился. NEWGUI это просто значит что есть старый и новый веб-интерфейсы. Поскольку я старого никогда и не видел, то и не заморачивался.
Потом я подключился по проводу в роутер и воткнул в него 3Тб диск. И диск обнаружился! И все как бы заработало. Я попробовал погонять файлы туда-сюда и увиденное меня не порадовало. Случились первые грабли. Скорость была не больше 2 мегабайт/c. Поэтому пришлось лезть в логи роутера. В логах мне сказали что:
a) Хотя и общее место на диске 2794.517 GB, но свободно аж -416.321GB (именно так, со знаком минуса)
b) Некая софтина в роутере периодически не могла прочитать блоки с индексом выше какого то значения
Вышеописаное привело меня к мысли о лимите в 2Тб. Поэтому я засел разбивать диск на два раздела. Поскольку на диске уже была информация, то файловую систему NTFS я решил на нем не менять. Тут произошли вторые грабли.
После того как я изменил размер раздела до минимамльно возможного, с сохранением даных, Windows 7 мне нарисовал картину маслом:

image

Как работать с двумя Unallocated разделами я слабо себе представлял, поэтому безуспешно помучавшись с утилитой Diskpart и попытками выродить что то в GPT (который как выяснилось в Diskpart не работает с внешними дисками) я сдался. И далее я пошел копать в сторону конвертации диска в Ext3, что оказалось в корне неправильным.
Дабы расставить точки, сделаю отступ и напишу вот что. Несмотря на мнение большинства советчиков с форума на iXBT, я так и не стал ставить Ext3. У меня дома нет ни одного компьютера с Линуксом, а вероятность того что внешние диски в какой то момент придется отключать от роутера и подключать к компу весьма высока (да, я знаю про Ext2FS драйвер, но...). Поэтому в конце концов я вернулся к NTFS и не вижу никакой разницы, честно говоря, даже наоборот. Скорость записи и чтения в NTFS по какой то причине даже немного выше чем Ext3, не знаю с чем это связано.
Грабли с разделами исправились с помощью Paragon Hard Disk Manager 11, который без проблем мне создал два раздела на 2Тб и 1Тб, и по-моему даже без GPT. Как бы то ни было, тут случились третьи грабли.
И Windows и MacOS прекрасно видели оба раздела, но не роутер. Поэтому я опять стал курить Ext3 в разных комбинациях, пока не увидел что оба раздела — Primary. Вспомнив молодость и MS-DOS, я создал второй раздел как Extended и уже в нем сделал второй диск, как в старые добрые времена. Paragon HDM позволил и это, и все заработало!
В веб интерфейсе роутера это все выглядит примерно так:

image

В данном примере использовался диск 3Тб с двумя разделами и 1Тб диск, но уверяю вас что 2 диска по 3Тб работают абсолютно адекватно.

Промежуточные выводы:

— В случае Asus RT-N56U с прошивкой 1.1.2.2-006 от Padavan, наибольший размер раздела на присоединенном USB диске — 2Тб.
— Если диск больше 2Тб, то его надо разбивать на два используя Primary и Extended разделы.
— Стандарные утилиты в Windows 7 несут много геммороя для USB дисков больше 2х Тб, поэтому лучше использовать Paragon Hard Disk Manager

Грабли с miniDLNA

Поскольку мне нужен был DLNA чтобы смотреть фильмы на телевизорах и плеере, то прошивка от Padavan представлялась неким таким чудом, в котором есть все и сразу. Стоит заметить что поддержку DLNA я включил сразу после прошивки и покуда занимался другими граблями, ее не трогал. Выглядело это так:

image

Помните про первые грабли? Так вот, когда я отключил UPnP Media Server, то скорость записи и чтения мгновенно подскочила c 2 до 12-13 мегабайт/с! Однако перспектива меня не радовала. Либо у меня есть SMB с более-менее нормальной скоростью, либо поддержка DLNA.
Эксперты с форума iXBT опять сказали своё «фи» по поводу NTFS и то что теперь то уж точно необходимо ставить Ext3. И я им даже поверил на какой то момент. Потому что девственно чистый диск с Ext3 действительно работал без проблем со включенным miniDLNA. Но как только я на него накатывал свои честно спертные из Интернета фильмы, он в какой то момент ронял скорость до 2 мегабайт/с. И я начал курить терминал.
Честно признаться, я не очень дружен с Линуксом, но какие то базовые знания остались с тех времен когда я портировал XML библиотеки на embedded QNX. На роутере стоит miniDLNA, который разрабатывается NetGear под именем ReadyNAS. Нехитрым опытным путем выяснилось, что скорость передачи файлов по сети падает только в тот момент когда miniDLNA парсит метаданные из видео/аудио/картинок. Это также нетрудно увидеть в веб-интерфейсе, т.к. процессор грузится на 100%.
Так же оказалось что все свои распарсеные данные miniDLNA держит в файле /.dms/files.db, который есть ничто иное как SQLite БД. Опять же опытным путем было установлено что miniDLNA парсит менее половины файлов после чего уходит в астрал, навечно загружая процессор до 100%. Через вьюер базы данных я нашел последний распарсенный файл, после которого процесс подвисал и методом тыка удалил следующий файл после него. И все заработало!
Дело оказалось в конкретном AVI файле, который видимо подвешивает miniDLNA парсер. Ну, тут ничего конкретного нельзя посоветовать кроме того, что если вдруг время парсинга метаданных приближается к бесконечности, то надо смотреть внуть /.dms/files.db на предмет «висяка». Какой именно файл вешает miniDLNA? А следующий в файловой системе, после последней записи в колонке «PATH», таблицы «OBJECTS». Кроме того за процессом парсинга можно понаблюдать из веб браузера, зайдя по адресу: http://192.168.Ваш.Роутер:8200. При этом выдается информация вида:

MiniDLNA status
Audio files: 329
Video files: 781
Image files: 17221

Если miniDLNA не подвис, то циферки будут изменяться при обновлении страницы со скоростью примерно раз в 3-5 секунд (в зависимости от размера того файла который парсится), а если подвис, то не будут.
Ну вот, гадский файл устранен, и вроде бы все пошло. Но тут мы знакомимся с четвертыми граблями. Эти грабли называются — нахрена мне столько мусора в DLNA?
Дело вот в чем. По умолчанию точка с которой начинается поиск файлов для miniDLNA, это /media. Туда монтируются все диски в виде AiDisk_xY, где x это номер физического диска, а Y — логического. Соответственно «Media File Source Path» изначально заставляет miniDLNA парсить абсолюно все ваши диски. Как нетрудно догадаться, в итоге туда падает всякое такое, что не хотелось бы расшаривать на всю квартиру. Например обложки от аудиокниг, сами аудиокниги, незапакованные графические ресурсы от программ, порнуха, фотографии с пьянок и весь остальной мусор, который распознается парсером как аудио/видео.
Чтобы исправить эти грабли, лично я сделал одну папку на самом первом диске и изменил путь по умолчанию, в моем случае на /media/AiDisk_a1/Media. ­­Есть более продвинутые пути, типа исправления файла конфигурации miniDLNA в /etc/minidlna.conf, но мне честно говоря неохота было возиться, поэтому все что я хотел бы пошарить по DLNA я просто положил в одну папку в корне диска. Назревает два вопроса:
А если несколько папок на разных дисках? Тогда вам прямая дорога в minidlna.conf.
А почему /AiDisk_a1? Потому что первый диск подключеный в первый USB порт всегда получит именно такой название и индекс. Второй же раздел на том же физическом диске у меня например получает идентификатор /AiDisk_a5. Отчего это происходит я не знаю, возможно есть более умные люди, которые смогут это объяснить. Опять же, первый диск во втором порту USB получит идентификатор /AiDisk_b1, поэтому варианты возможны.

Промежуточные выводы:

— Если скорость передачи данных файлов резко снизилась при включеном UPnP Media Server, процессор роутера постоянно загружен на 100% и медиа парсинг стоит на месте (см. прогресс по адресу http://192.168.Ваш.Роутер:8200), то это подвис miniDLNA. Надо выключить UPnP сервер, выкинуть файл на котором виснет парсер и запустить сервер снова.
— По умолчанию miniDLNA будет парсить все файлы на всех доступных дисках и разделах. Это достаточно долгий процесс. Поэтому если хочется ограничить его одной папкой, меняйте «Media Files Source Path» в установках UPnP Media Server.

Грабли с Самбой

Пока я боролся с первыми граблями, то успел пересмотреть свой подход к просмотру фильмов на телевизоре. Первое о чем я подумал было вот что. DLNA загружает роутер на 100% со всеми вытекающими. Но без DLNA остается SMB и если хочется NFS. Нельзя ли как то подключить свои диски по сети, ровно так же внешний USB диск? Оказалось можно. Не секрет, что большинство современных телевизоров крутятся под Линуксом. И не секрет, что энтузиасты нашли способ некоторые из них прохакать, порутать и поставить туда то что им нравится. На мое счастье у меня оказался телевизор именно той марки над которой усердно трудится комьюнити под названием SamyGO. Итак, я засел ковырять свой Samsung UE46D7000.
Опуская ненужные подробности, выяснилось что на моем телевизоре стоит последняя прошивка, в которой не работает локальный эксплоит, необходимый для работы пакета SamyGO. В Самсунге тоже работают не дураки и отслеживают пути несанкционированного изменения и вмешательства в работу их официальных прошивок. К тому же как и в большинстве бытовых устройств, возможность отката на старую версию прошивки в CE (Customer Edition) версиях оных отключается. Тут бы и опустить руки, но ребята из SamyGO нашли способ сделать откат путем спуфа и эмуляции официального сервера прошивок Samsung.
Следуя инструкциям я откатился на старую версию и следуя другим инструкциям поставил SamyGO. Вроде не окирпичил. Выдохнул.
Вкратце о том как работает SMB и NFS клиент в телевизорах Samsung (точнее в SamyGO). SamyGO устанавливает драйвер виртуального USB диска, а уже под ним эмулирует файловую систему используя сетевые ресурсы. Поэтому, с точки зрения пользователя, все выглядит точно так же как если бы вы подключили обычную флешку или внешний диск. С точки зрения настройки все посложнее, но не так чтобы совсем уж. Надо просто подставить свои параметры в скрипты из init.d/, тут мы плавно въехали в пятые грабли. Но все по порядку.
Итак мы поставили SamyGO, активировали его и можем смело заходить по FTP в наш телевизор. В зависимости от модели init.d/ скрипты погут находится в разных каталогах. В моем случае они лежат по адресу ftp://192.168.Мой.ТВ/mtd_rwcommon/widgets/user/SamyGO/SamyGO/etc/init.d/.
Наибольший интерес для нас представляют три файла:
03_03_djmount.init
03_03_nfsmount.init
04_04_samba.init.dis
Первый — это эмулятор файловой системы на основе UPnP/DLNA. По умолчанию он включен. Но в моем телевизоре уже есть встроенный клиент DLNA который не требует ни SamyGO ни танцев с бубном, поэтому мы его выключаем путем переименования в 03_03_djmount.init.dis.
Второй — это эмулятор на основе NFS. Мы вернемся позже к нему.
Ну и наконец вот она, рыба моей мечты. Эмулятор диска на основе SMB/CIFS или далее для простоты, Самбы. Для начала надо скрипт сделать исполняемым путем переименования его из 04_04_samba.init.dis в 04_04_samba.init.
По идее этого достаточно чтобы эмулятор стал показывать нам все ноды и шары,

image

Но я не зря написал про грабли — не показывает ни сервера, ни шары. Задаемся вопросом — «почему»? Курим внутрь скрипта 04_04_samba.init:

##### CHANGE MEEEEE!!! ######
USER=""
PASSWD=""
PERM=«rw» # can be ro or rw
##### CHANGE MEEEEE END ######
SERVER=""
# SERVER=«10.0.0.1» # if you want a fixed server
SHARES=""
FR_NAME=«Samba Server»

Очевидно, что надо бы заполнить поля USER, PASSWD да и SERVER/SHARES бы неплохо, чтобы не путаться во всяких Windows NETBIOS и HomeGroup ресурсах, которые обычно наличествуют в домашних компах (а их у меня 4 штуки). Однако вот в чем засада. Нечем заполнять USER/PASSWD. Нет у меня пароля на Самбу на роутере, ну не поставил я его, нафиг. Без пароля не работает, с пустым паролем тоже.
В итоге я так и не смог заставить Самба клиент SamyGO работать в случае полного отсутствия USER/PASSWD. Может кто-то подскажет как это сделать? Ну что ж, попробуем с паролем.
Asus RT-N56U предлагает вот такой интерфейс для управления шарами Самбы:

image

По умолчанию я ставлю, полный доступ без учетной записи. В сетевом клиенте Windows это выглядит вот так:

image

Теперь попробуем перейти на учетную запись с паролем. Заводим пользователя и видим что-то типа вот такого:

image

Невооруженным взглядом видно что есть учетная запись и есть возможность назначить какие-никакие права на чтение-запись по каталогам первого уровня. А что происходит у нас в Винде? А вот что:

image

Оппа! Диски пропали, на их место вышли каталоги первого уровня, причем собранные со всех дисков сразу. Заметьте, папки с одинаковыми именами на разных дисках дополняются номером в скобках. Это вполне обосновано, если учитывать вышеприведенную логику роутера для прав доступа, но лично для меня это неудобно. Однако есть один плюс — SamyGO теперь работает!
Так как мне из под Windows проще работать со всем сетевым диском сразу, нежели с десятком индивидуальных папок, то единственный вариант для меня в такой конфигурации, это перенести все корневые папки в одну, которая расшарится с паролем под учетные записи. Возможно я впоследствии так и поступлю, но пока не особо хочется с этим возиться. Курим дальше в сторону NFS:
А с NFS все даже очень просто, берем скрипт 03_03_nfsmount.init:

##### YOU CAN CHANGE ME HERE ######
SERVER=""
# SERVER=«10.0.0.1» # if you want a fixed server
SHARES=""
# SHARES=«Video Music Photo» # if you won't all your shares, but then set SERVER too!!!
##### CHANGE ME END ######

Прописываем в SERVER IP адрес нашего роутера. На этом можно остановиться, но как я уже упоминал, мне не очень нравится идея делать доступным все диски с телевизора, поэтому я ограничиваю SHARES одной папкой: SHARES="/media/AiDisk_a1/Media". Еще один момент. Поскольку NFS умеет работать не только по TCP но и по UDP, а для чтения видео потока, который мы собираемся смотреть на телевизоре, ретрансмиссия не столь актуальна как скажем при записи (то есть если пропадет какой то пакет при передаче, то и фиг с ним), то мы еще добавим вот такие опции:
M_OPTS=«soft,udp,async,nolock,rsize=32768,wsize=8192»
Другими словами, будем работать по UDP, с асинхронным кешем и сделаем буффер чтения побольше. Точно пока не измерял, нет машины с Линуксом, но приблизительно с такими параметрами скорость чтения подходит к 15-18 мегабайт/с, что дает нам играть HD 1080p по сети без проблем. Запускаем, все работает:

image

Граблей вроде нет. Самбу на телике выключаем за ненадобностью. На роутере возвращаем назад доступ без пароля и учетной записи.

Промежуточные выводы:

— Asus RT-N56U с прошивкой 1.1.2.2-006 от Padavan по умолчанию расшаривает целые диски без пароля и учетной записи. При этом не очень понятно как настроить SMB/CIFS клиент в SamyGO так чтобы он работал с такими шарами. Пустое имя пользователя и пароль в файле конфигурации, равно как и отсутствие этих параметров не помогают.
— Телевизор Samsung прекрасно работает с miniDLNA на роутере через встроенный клиент под названием AllShare.
— Если вам не подходит miniDLNA/AllShare, либо нет встроенного DLNA клиента и есть желание поковыряться в потрохах телевизора, то ставьте SamyGO и подключайте сетевые диски через эмулятор USB.
— Скрипты SamyGo UPnP (djmount) и NFS (nfsmount) с роутером работают без видимых проблем.
— SamyGO SMB клиент работает без проблем только если на роутере выставлен доступ под учетной записью и паролем.

Грабли с шумом

Как уже говорилось, настроив NFS на телевизоре, я потом таки починил miniDLNA на роутере. Поэтому пока не знаю зачем мне нужен SamyGO и NFS, но возможно я еще не наступил на какие то грабли, типа несовместимости кодеков, которые очень часто встречаются в DLNA, судя по шуму.
Да, о шуме. Вот и настал момент когда у меня все чудесно работает, подключено два диска по 3Тб и все это дело затолкано обратно на большой и высокий шкаф в коридоре:

image

Помните про подушку, упомянутую в самом начале поста? Так вот оба внешних диска, будучи поставлены на твердую деревянную поверхность, издают такой неприятный гул из-за естественной вибрации. Не знаю как кому, а меня очень раздражает. Поскольку дочка подросла и использует вполне возрослого размера постельные принадлежности, то ее «ляльскую» подушку я приспособил в качестве гасителя вибрации. Тупо положил диски на нее и гул пропал. Эстетический аспект меня мало заботит, потому что шкаф высотой более двух метров и снизу там ничего не видно.

Грабли со встроенным торрент клиентом

А нет их. В качестве встроенного клиента используется Transmission daemon. Опять же, комьюнити настойчиво советует использовать Ext3 в качестве файловой системы для него. Не берусь ничего утверждать, но у меня все нормально работает на NTFS.
Для того чтобы настроить Transmission, нужно создать на первом диске в корне пустой каталог с именем «transmission» и включить клиент на роутере:

image

И все. Ну для ощущения полноты картины, надо конечно поставить то что им будет управлять, то бишь приложение Transmission Remote:

image

Все что оно скачает, ищите на диске в каталоге /transmission/downloads. Так как клиент работает автономно и после скачивания с раздачи не уходит, то не забудьте выставить ограничения по скорости, потому что без ограничений роутер вполне может забить весь траффик в обе стороны.

Заключение

В оконцовке пару скринов с цифрами:
Запись по Самбе:

image

Чтение по Самбе:

image

Asus RT-N56U довольно популярная и почитаемая железяка и желающие могут нарыть очень много информации по нему на форуме iXBT. Информация по проекту SamyGO для расширения разума телевизоров Самсунг находится на сайте комьюнити.

Отдельное спасибо Padavan за классную прошивку и за то что с его помощью мне не пришлось ковыряться с Optware для роутера и juriz28 за огромный труд над SamyGO.

P.S. Про запись телепрограмм с телевизора на сетевые диски и про расшаривание дисков телевизора напишу как нибудь потом. Это мало имеет отношения непосредственно к данному роутеру и сетевым дискам…

Автор: stpark

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js