субота, 16 травня 2020 р.

430 мм з новим вмістом, або медіацентр у стилі Sony

Вихідні позиції


Отже, приєднавшись до загадкового світу IPTV, окрім щастя я отримав невеличку проблему - як його дивитись не тільки на комп'ютері. Хотілось чогось лампового.  Перше рішення було просте - відеокарта з ТБ-виходом, планка S/PDIF (роз'єм на материнській платі був) і 30 метрів коаксіального кабелю 75 Ом. У 2009 році дві перші позиції ще не були дефіцитом, хоча відеокарту NVIDIA шукати довелось кілька тижнів. Хтось пам'ятає, що тогочасний Linux не товаришував з ATI? Отже, відео йшло на композитний вхід старенького Thompson, аудіо на коаксіальний вхід AV-ресивера Sony STR DG-510.  Дешево і практично, але не без проблем. По-перше, звук і зображення досить часто розбігались. По-друге, після кожного прибирання зникав або звук, або відеосигнал - важко не зачепити коаксіальний кабель порохотягом. По-третє - дружині чомусь категорично не подобались ці два біленькі, естетичні дротики по периметру кімнати. Жіночий естетизм, що поробиш...
Отже, з метою позбавлення від кабельної продукції, було прийнято рішення будувати НТРС.
З огляду на похмуру політичну ситуацію другої половини 2013-го року, це ще була нагода трохи відволіктись.

Збираємось у подорож


Почитавши огляди і мануали, я вподобав материнську плату AsRock E350M1, з вбудованим процесором, в який вбудований графічне ядро (капець, що у що вбудоване?), з оптичним виходом аудіо. На той момент вона була достатньо потужна, і не дуже дорога. Щоби мало не здавалось, придбав дві планки GoodRam по 2 Гб - виявилось, це забагато. Операційну систему - зрозуміло Linux - вирішив для початку встановити на флешку SanDisk 4Gb, а медіатека вже кілька років накопичувалась на 1Tb Hitachi HDS5C1010CLA382.
Відверто кажучи. особливо вибором не переймався - купував орієнтуючись на "впізнаваність бренду" і наявність вільних грошей.
Важче було вирішити три питання:
1. Корпус. Заводити ще одну башту не було бажання з естетичних міркувань. Довго перебирав пропозиції на Хотлайні, відвідував Кардачі, але все виглядало надто прозаїчно - просто комп'ютерні корпуси. Змайструвати коробку власними руками? Виходячи з наявного інструментарію, справа затягнеться на роки... У якийсь момент я подивися на свій старенький CD-програвач Sony CDP 310. А чому б і ні? Погугливши, дізнався, що я не буду першим, посполитий люд використовує у якості корпусів навіть радіоли 1960-х років, не те, що відеомагнітофони 1990-х.
2. Передача аналогового відеосигналу. Материнка, крім DVI та HDMI, має вихід VGA, але лампові (кінескоп - теж лампа) телевізори його не розуміють. Варіант впихувати PCIe плату з TV-виходом навіть не розглядався, зважаючи на існування  VGA-RCA конверторів виробництва всесвітньовідомої компанії NoName, які навіть не треба було замовляти у Китаї. Наприкінці 2013-го їх було повно у Києві, ціною від 25 баксів, і виявилось, що вони навіть деякий час працюють. Ось вона, сіромаха:
3. Живлення HTPC. Система має бути тихою, тому ні про які блоки живлення з вентиляторами не було мови. Логічним рішенням був picoPSU ватт на 100-120, але - справжні дуже дорогі, китайські не того кольору тієї потужності та далеко... Єдиний піднебесний сайт, якому я тоді довіряв, приймав або готівку (через Western Union, з шаленою комісією), або WebMoney, а потужність їх picoPSU була мінімум 160 ВТ (знавці пишуть, що це недобре, надто сильно гріється). Але щось треба було робити, бо щовечора погляд зупинявся на сірій коробці з материнкою на тумбочці, а дружина усе частіше задавала комусь питання - "коли вже всі ці дроти зникнуть з підлоги?!" Отже, був створений аккаунт WebMoney - і наступного дня на Aukro я побачив об'яву про продаж NoName(!) picoPSU 120 Вт, за гривні, без конвертацій і контрибуцій, і навіть трохи дешевше, ніж з Китаю. До нього на Кардачах був придбаний блок живлення. Теж NoName. Різноманітна компанія.
Настав час залізних справ.

Ну шо, тра йти...


За 20 років відданої праці мій Sony CDP XE-300 добряче втомився. Уже не кожен компакт з колекції найдорожчої для мене музики був йому по зубах променю. Напрочуд, CD-R він став читати краще за оригінальні CD, тож дещо довелось дублювати. А зовнішньо він виглядає просто розкішно - особливо пульт дистанційного керування. На початку 1990-х їх робили не з дешевого поліпропілену. Що тут казати, двадцять п'ять років тому 200 баксів заробити було значно важче, ніж зараз, але й купити за них можна було значно більше. О, як я їхав через увесь Київ з цією коробкою! Як на мене дивились у метро!
Викидати на смітник таке?!

Отже, на музичну вахту заступив DVD Sony (головний критерій вибору - Sony та класичні 430 мм по фронту), а ветеран пішов у нове життя.
Нутрощі були видалені. Зверніть увагу, скільки вільного місця всередині. Були часи, коли на інженерів не тиснуло гасло "ЕКОНОМІЯ!!!"
Позиченим дремелем зрізав виштамповку на дні, на яку спирався CD-привод - встановленню материнки вона заважала. Закривати отвір не став, тепер він працює як частина системи вентиляції. Під час прорізання отвору у задній стінці сталося передбачуване - зламався останній алмазний диск. Останні п'ять сантиметрів довелось проходити ножівкою та ножицями по металу. У шкільні роки я зробив би краще, але здалеку виглядає непогано.
З отворами під материнку майже не помилився, а HDD поставив на шматки силікону - інколи непотріб, привезений з семінару/конференції стає у нагоді.
Вентиляційні отвори у верхній кришці зробив знайомий на верстаті (ручним дрилем і свердлом-балеринкою навіть не намагайтесь). 90-мм вентилятор Xilence закріплено на кришці, що дещо не кошерно, але варіант начіпляти кілька дрібніших на стінках - набагато гірший.
До речі, трохи про концепцію вентиляції. Як широко відомо у вузьких колах, за освітою я інженер-хімік-технолог, і маю деякий досвід роботи у лабораторній витяжній шафі і промислових приміщеннях, де під час цікавих дослідів і, відповідно, технологічних процесів, часто-густо виділялись токсичні та/або легкозаймисті речовини. І не завжди вентиляція працювала так, як треба - тому доводилось ретельно планувати повітряні шляхи. (Вершиною був запуск установки спінювання полістиролу, під час якого випаровується купа, тобто хмара, пентану. Як годиться, якраз напередодні частина вентиляції вийшла з ладу, але очолювана мною команда інженерів, використовуючи болгарку, організувала ефективний протяг у приміщенні). Тому я досить іронічно сприймаю історії про те, як у корпус мінімального розміру впихнути максімальну кількість жорстких дисків, відеокарт, кіловатний блок живлення, а потім "поставити три кулери 120 мм на вдування і чотири 140 мм на видування". Повітря у корпусі має рухатися вільно, і зовсім не кабель-менеджмент для цього потрібен. Може вистачити і одного вентилятора.
Схема вентиляції виглядає так (вибачте, я не митець):
Холодне повітря (синя стрілка) засмоктується вентилятором і спрямовується просто на процесор, на якому стоїьь штатний 40-мм кулер (насправді, за 6 років, встановлено вже третій). Далі повітря рухається вздовж корпусу, над поверхнями HDD і виходить через нижній та верхній отвори (червоні стрілки). Експериментально було визначено, що одного вентилятора  недостатньо - вимикання  будь-якого призводить до швидкого нагріву процесора до 80°С, після чого експеримент переривався. А от комбінація двох (процесорний пригальмовано резистором) дозволила встановити у BIOS параметри, які забезпечують комфортний рівень шуму - щось чути з відстані менше 70 см, і прийнятний температурний  режим. Через 6 років - чути гудіння трансформатору AV-ресівера, а не вентилятор.
Чи є у схеми недоліки? Так, безумовно. На НТРС зверху не можна покласти вишиту серветку або горщик з кактусом. Я побоювався, що потік теплого повітря, що виходить, буде впиратися у верхню полицю, і засмоктуватися вентилятором - на охолодження піде трохи підігріта суміш. Але все гаразд, ось типова картина (зрозуміло, справжні оберти fan2 менші):

kodi@kodi:~$  sensors
radeon-pci-0008
Adapter: PCI adapter
temp1:        +57.0°C  (crit = +120.0°C, hyst = +90.0°C)

nct6775-isa-0290
Adapter: ISA adapter
....
fan1:         573 RPM  (min =    0 RPM, div = 16)  ALARM
fan2:        3375 RPM  (min =    0 RPM, div = 16)  ALARM
....
SYSTIN:       +42.0°C  (high =  +0.0°C, hyst =  +0.0°C)  ALARM  sensor = thermistor
CPUTIN:       +46.0°C  (high = +80.0°C, hyst = +75.0°C)  sensor = thermistor
....
Adapter: PCI adapter
temp1:        +54.9°C  (high = +70.0°C)
                       (crit = +90.0°C, hyst = +87.0°C)

Отже, залізо було встановлене на місця, ввіткнута флешка з ОС, (за рік з недобука перекочував Silicon Power Technology T10 місткістю 32 ГБ, на ньому і живе система). Медіатека оселилась на терабайтному Hitachi. Для дистанційного керування, набагато раніше, за 40 грн (долар по вісім!!!) був придбаний інфрачервоний приймач для Sony Vaio, який досі чудово взаємодіє зі штатним багатофункціональним пультом ресівера SONY RM-AAU013. Трохи пізніше  було додано USB WiFi адаптер.

М'яка робота


Тобто, операційна система і все таке. 
На ПК для IPTV і такої-сякої медіатеки раніше я використовував VLC. З недоліків можна зазначити лише відсутність EPG та складнощі керування програвачем з ІЧ пульту - досить обмежений перелік команд, а кодування сполучень клавіш якось не пішло. 
Я вже був знайомий з ХВМС (з 2015 - Kodi), але тут прямого шляху не обрав, вирішив, що OpenElec приведе до мети швидше. Існує думка, що він (і його клони, LibreElec та ще щось) працює "з коробки" і, зокрема, у ньому вже тоді була вирішена проблема драйверу для графічної карти AMD. Він дійсно запрацював, але відео ішло з двократним прискоренням, здолати яке я не зміг. Але головне було те, що налагоджувати ІЧ керування просто редагуванням конфігураційних файлів lirc-а - неможливо! Тобто, це просто айфон якийсь. Треба користуватись окремою програмою - через п'ять хвилин мені стало сумно, і...
dd of=/dev/zero if=/dev/sdХ.
Як встановлювати XBMC на Ubuntu-minimal добре викладено тут. Мануал написаний іще для 10.04 , але у цілому він спрацював і для 12.04, 14.04 і 16.04. Але не треба було ставити офіційні драйвери AMD/ATI. Ця помилка коштувала кількох вечорів. Офіційний Catalyst зачаровував вмінням почергове навантажувати то одне, то друге ядро процесора на 100%. Одне спить, друге працює. Перечитавши все, що нагуглив, я самостійно дійшов до висновку, який давно зробили і розповсюдили мудрі люди: ставте вільний драйвер Radeon. Тільки так з того часу і роблю. Тішить, що AMD врешті-решт теж погодилась із цим...
Не лишилась марною робота налаштування lirc-а на базовому ПК для керування VLC. На ньому самозборний ІЧ приймач був підключений через RS232. "А раптом пощастить" - подумав я, і тупо скопіював вміст теки /etc/lircІ таки пощастило - USB ІЧ приймач Sony Vaio запрацював без копняка і на НТРС. Лишилось відредагувати lircmap.xml у XBMC. У процесі експлуатації було додано ще кілька кнопок.
Перегляд ТБ здійснювався через плагін IPTV Simple Client. Плей-лист у форматі m3u був ретельно відфільтрований, по світу зібрані логотипи каналів. 
Оскільки провайдер транслював IPTV по UDP-протоколу, НРТС був відокремлений від домашньої мережі. Аби не пересмикати дроти на роутері, SSH доступ здійснювався через WiFi - для цього довелось навчитись настроювати WPA_supplicant.
І засвітився придбаний на Кардачах блакитний світлодіод...

Енджой!



Далі все пішло як доктор мануал прописав. Зображення через згадану китайську приблуду на телевізор (довелось погратись з роздільною здатністю :)), звук по оптичному кабелю на ресівер Sony, а звідти по мідних дротах - на фронтальні колонки Амфітон 50ас-022 і тилові від касетного магнітофону Маяк-232. Згодом з'явився і центральний канал - колонка Sven, хоч комп'ютерна, але дерев'яна. Сабвуфер ніколи не планувався. Фазоінверторів Амфітона вистачало, щоби фізично відчути, як французьке чавунне ядро ламає дерев'яний британський борт  у "Володарі морів".
І творчість скінчилась... На деякий час покращення були пов'язані тільки з грошима. На заміну кінескопу прийшов 40'' Sony, а місце Амфітонів зайняли Polk audio T50.
Нарешті я мав те, про що мріяв багато років - великий телевізор і пристойний звук! Я насолоджувався усілякими Discovery, NatGeo і матчами APL - а між ними Led Zeppelin-ом та Lock Stock and Two Smoking Barrels.
Зі змін, що не потребували великих затрат - нарешті, вся (майже) музична колекція була скопійована з CD на жорсткий диск, але у форматі flac. Зазвичай я копіював у wav, але він не підтримує тегів, а коли у вас під дві сотні CD, вони стають потрібні. І не кажіть мені нічого про mp3 - я фізично відчуваю, як він безжально стискає мою улюблену музику :))). Насправді, просто чомусь не люблю mp3. А після отримання корпоративного айфону - ненавиджу.
На НТРС підняв nfs-сервер, що забезпечує зручне поповнення медіатеки музичними та кіно новинками.
Час від часу виникали проблеми з отриманням програм ТБ-каналів - сайт-постачальник за замовчанням періодично призупиняв роботу, і доводилось шукати інший, і, відповідно, редагувати плейлист під інші назви каналів. Деякий час навіть працював написаний мною скрипт, що качав і розпаковував архів з новою програмою на тиждень, і навіть прибирав за собою. Щоправда, примусити cron запускати скрипт не вдалося.
Одного разу провайдер змінив протокол UDP на HTTP, і мій медіацентр повернувся до домашньої мережі. Відповідно, WiFi свисток став не потрібен.
Ну, і внаслідок раптової смерті планки пам'яті на базовому ПК, HTPC був позбавлений 2 Гб оперативки - одна планка перекочувала. Залишку у 2 Гб цілком вистачає.
Тут можна було б і закінчити.

Капець... тобто, кайдзен


Я намагаюсь дотримуватись  правила "не ламалось - не ремонтуй". Безумовно, час від часу на думку спадали якісь буремні ідеї - наприклад, замінити стабільну версію Kodi на новішу. Отримав зображення, що тремтить, навчився відкочуватись до попередньої версії. Даунгрейд, правильно? Міняв дроти, то пускав звук на телевізор, то вимикав звук на телевізор. Налаштував керування з планшету, через Kore (раджу). Грався з налаштуваннями VDPAU та VAAPI - так і не помітив різниці, повернув на початкові налаштування.
Отже, припинення підтримки Ubuntu 14.04 мене не дуже засмутило. Не зламалось? Хай працює.
Але одного дня щось таки навернулось. Kodi просто тупо перестало показувати IPTV. Читання логів нічого не прояснило (наспраді, я не дуже вмію розуміти логи; читати вмію, а розуміти - не виходить). Перезавнтаження комп'ютера перевстановлення клієнта IPTV з очисткою кешів не принесло позитивних результатів.
Отже, час настав: sudo do-release-upgrade - і за годину я отримав оновлену до версії 16.04 операційну систему. З тією саме версію Kodi, яку тіпало як москаля при погляді на червоно-чорний прапор!!! Курча мать Добре, підемо далі, вирішив я - знову sudo do-release-upgrade, і я отримав просто чорний екран. Графіки ніц було.
Для Ubuntu 18.04 запуск "Kodi standalone" від попередніх версій не працює. Можливо, це пов'язано з переходом на systemd, не знаю. Кілька інструкцій я знайшов, але вони здалися надто складними. Вирішив не перейматись, встановив ту ж таки Xubuntu, вхід без паролю, а Kodi у автостарт. Ну, і добряче пройшовся терпугом по сервісах. Єдиним відчутним недоліком такого варіанту є те, що при виході з Kodi, викидає у вікно LightDm. Відповідно, треба чіпляти мишу або клавіатуру, щоби увійти та запустити. Втім, сучасний Kodi падає дуже рідко, а під'єднання через ssh та перезавантаження потребує приблизно стільки ж часу, як маніпуляції з залізом.
Радісною (майже) і несподіваною новиною стало те, що підтримка інфрачервоних пультів керування тепер підтримується самим ядром Linux! Тобто, спочатку було не дуже прикольно - як завжди, тупо скопіював конфігураційні файли lirc, і отримав скачки курсора в меню на 3 а то і 6 позицій. Або впевнений набір команди три-шість разів. Тобто, натискуєте 3 - отримуєте 333. Або більше. Так, я пам'ятав, що пульти Sony надсилають код команди тричі, але начебто gap у конфігу цьому запобігав... Короче, поліз гуглити як на сучасному етапі побороти повторне надсилання кодів, перепробував купу варіантів, але усе, чого домігся - команди повторювались мінімум двічі. Але не всі - цифри, вліво-вправо, вверх-вниз, ОК, Enter; тобто, якийсь обмежений набір. І тільки через кілька днів знайшов інформацію про нововведення у ядрі. Просто надіслану пультом команду відпрацьовував і lirc, і ядро. Лишити ядро цього щастя нескладно: "sudo systemctl disable lircd-uinput.service". З переляку ще й irexec.service заборонив. Короче, треба уважно читати про новації в операційній системі, якою користуєтесь. Крім Віндовз, звичайно, там тільки десять перезавантаження, а потім три перевстановлення...
Останньою, поки що, новиною стала зміна умов надання IPTV провайдером. Замість просто плейлиста у форматі .xpsf або .m3u, вони продають перегляд на smartTV, або Android, або на одеській приставці MAG, або на налаштованому їми VLC під Віндовз. У останньому варіанті, звичайно, можна витягнути плейлист, звичайно, але заради чого? Щоби отримати 147 - 1 = 146 каналів медіашлаку, 40 з яких я уже не дивлюсь, використовуючи етерне телебачення? ("-1" - це Viasat History, який, втім, не був моїм улюбленим каналом.) 
Тож, плагін IPTV Simple Client був дезактивований, і я встановив Tіvix. Користуватися ним не так зручно, але він працює. 
Отаке вийшло «безперервне вдосконалення», «поліпшення» або «зміна на краще».

Деякі висновки і плани на майбутнє


Воно було того варте. Відновлення призабутих, ще часу школярства, навичок судномоделіста. Викрутка, дриль, терпуг, паяльник, відбійний молоток - що ще потрібно, аби відчути себе справжнім господарем у хаті! Сидіння перед чорним терміналом (мабуть більше, ніж я провів під час користування Slackware 12) - роблять тебе крутішими за Нео та Морфея, разом узятих!Так, сьогодні Raspberry Pi 3b на кухні працює не гірше, але його налаштування не забрало багато часу, бо було відпрацьовано на НТРС. Та й сім років тому малинка була значно слабшою. Усілякі Android-приставки, про які я багато чув, а одну фактично випробував у вигляді Orange Pi Pc2, викликають роздратування.
Не вдалось знайти вакуумно-флуоресцентний дісплей, і вся ілюмінація мого НТРС - один блакитний світлодіод. Втім, з потужним меню Kodi, чи є взагалі потреба в інформаційному дісплеї? Виводити температуру процесора? Врешті-решт я закрив цей напрям.
Так і не подолав CIR-роз'єм на материнській платі. AsRock стверджує, що з його рідним, який фіг знайдеш, ІЧ-модулем, крім керування ПК, можна організувати вмикання та вимикання з пульта; на просторах інтернету є інформація про кілька вдалих спроб просто з ІЧ діодами (TSOP і вот ето вот всьо). Під час моїх експериментів, стабільного результату я не отримав, тому і ця тема була закрита. Натискати кнопку вмикання один раз на день - не таке вже й велике фізичне навантаження, а вимикання чудово виконує і Kodi, і окрема, призначена для вимикання, кнопка на пульті. 
Ідея додати USB-CEC відкладена до часу оновлення AV-ресівера - нинішній не підтримує Bravia. Або до часу, коли з'являться плати з цією функцією. Intel NUC вміє, але купувати баребон, щоби видерти з нього плату - якось не феншуйно.
Kodi особливих компліментів не потребує. Чудовий, надійний медіацентр, який кожен налаштувати під себе. Ну, хіба що, мені інколи не вистачає нормального YouTube плагіну для Kodi - той, що є, вимагає авторизуватись кожного разу.
AsRock завоював мою довіру, і наразі, на всіх чотирьох ПК, складених мною за ці майже сім років, встановлено материнські плати саме цього бренду. Особливо приваблює AsRock j series - з холодними процесорами, цілком достатні для домашнього використання, якщо не граєш в сучасні ігри (а я не граю). На заміну AsRock E350M1 колись щось таке і прийде, і тоді точно вистачить одного вентилятора Xilence.
Але корпус лишиться той самий. Класичні 430 мм по фронту.