AirPlay сервер и бэкап Time Machine на MTK-роутерах (и не только)

    Удивительные приключения Open Source разработки, или как некоторые программисты, используя свободное ПО, саботируют саму идеологию Open Source

    Давным давно, обзаведясь Hi-Fi системой и современным ноутбуком всем известного брэнда, я полностью перешел на цифровой звук, и передачу его без проводов. И конечно в доме всегда присутствовал роутер для «связи с космосом», с linux внутри. Дабы не плодить сущности, он легко превращается в музыкальную шкатулку и хранилище данных, но пользователей Apple почему-то незаслуженно игнорируют.

    Есть, например, практически копеечный маршрутизатор Xiaomi Mi Wi-Fi Mini, который помимо поддержки 2-х Wi-Fi диапазонов так же легко может осилить задуманное (да и любой другой с исходным кодом в Сети).

    Для работы AirPlay на роутере подойдёт практически любая звуковая USB-карта (должна уметь воспроизводить аудио в формате PCM 44100Hz/16bit) либо USB колонки. Я использую USB DAC Muse на PCM2704 соединенный цифровым интерфейсом с ресивером Yamaha.

    Для бэкапов Time Machine подойдёт любой USB HDD/SSD, но для возможности восстановления с диска, подключенного напрямую к Mac, он должен быть отформатирован как HFS+. На диске может быть несколько разделов с разными ФС.

    Так же вам понадобится прошивка MI-WRT: репозиторий с исходным кодом

    image

    За основу взят многим возможно известный проект для роутеров ASUS rt-n56u, автор которого, используя тот же Transmission и разместив GPL в корне исходного кода проекта, всеми правдами и неправдами препятствует его развитию, считая его своей собcтвенностью.

    На данный момент в MI-WRT реализованы:

    — драйвера для работы с HFS+ разделами
    — драйвера для поддержки USB аудокарт/колонок/DAC
    — сервер потокового вещания аудио AirPlay (shairport-sync 2.8.0)
    — AppleShare file server (AFP) (netatalk 3.1.8)

    Редактор файлов конфигурации AiPlay и AFP доступен через WEB интерфейс — раздел «Администрирование» — «Прочие сервисы».

    Прошивка находится в разработке, и полная работоспособность всех функций не гарантируется, может повредить ваш роутер, так что используйте на свой страх и риск!

    Текущие недочёты:

    — У AirPlay наблюдаются задержки звука при воспроизведении видео из VLC, так же плохо работает VOX при переключении вывода звука через него. Как решение для VOX — оставить в нём вывод по умолчанию, и переключаться на AirPlay на системном уровне (Системные настройки — Звук — Выход)
    — AFP позволяет подключаться к дискам только в гостевом режиме. Так как не используется mdns, для того, чтобы OS X увидела диск для Time Machine и позволила выбрать его в качестве диска для бэкапа, к нему нужно предварительно подключиться в Finder из меню «Переход» — «Подключение к серверу», указав адрес, как afp://имя_роутера_или_IP. В дальнейшем этот диск будет монтироваться автоматически.

    Если вы вдруг обладатель роутера на MTK7620, MTK7621 — загрузить готовую сборку для ASUS RT-N14U, RT-N56U, RT-N56U B1, Xiaomi Mi Mini можно в разделе Downloads репозитория на BitBucket.
    Прошивки для других поддерживаемых роутеров (RT-N65, AC51U, AC54U...) возможны по запросу.

    Предложения по функционалу и сообщения об ошибках приветствуются.

    P.S. Установка shairport-sync и netatalk так же возможна и на других устройствах через репозиторий entware-ng

    Хорошего прослушивания!
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 8

      –2
      Первый раз встречаю такое явное неуважение к автору (маэстро Падавану). Сделан форк его пятилетнего проекта вмест с не GPL частью, на которую прав у tsinik нет! На 4pda он уже был забанен за воровство.
      tsynik — мелкий воришка — гнать таких с хабра!
        –1
        А это «модератор» форума iXBT, считающий, что он лучше всех знает, что дОлжно и необоснованно удаляет все неугодные ему сообщения в разделе «Сети». Идите уже в свою песочницу.
        0
        используя свободное ПО, саботируют саму идеологию Open Source
        автор которого, используя тот же Transmission и разместив GPL в корне исходного кода проекта, всеми правдами и неправдами препятствует его развитию, считая его своей собcтвенностью.

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

          Если нужна кастомная прошивка и не хочется ни с кем бодаться — есть https://wiki.openwrt.org/toh/xiaomi/mini
          А вот так вот перчить технические посты, неправильно это.
            0
            Случай тут явно не юридический, он, как написали, психиатрический. Полная недоговороспособность автора этой заметки.
            Процитирую Женю Маначкина (написано на ixbt про этот пост):

            В упор не ощущаю «GPL лицензии в корне проекта» ни в SDK ни у Padavan. Копией какого публично доступного кода оно является? И о чём говорит наличие файла с текстом GPL в «корне» проекта? Лицензии все указаны в конкретных дирах каждого компонента или в заголовках исходников проектов составляющих дистрибутив.

            Если речь о копии Asus-WRT то пусть вот к асусу притензии и направляет, как-так в их публично доступном коде (по мнению этого товарища видимо распространяемого целиком и полностью под GPL, ну раз в корне лежит) оказываются блобы и проекты с иными в т.ч. несовместимыми с GPL лицензиями.

            Никто этому перцу не запрещал брать и использовать GPL компоненты и правки в них где и как ему вздумается. Прошивка по сути узкоспециализированный дистрибутив, включающий в себя тонну компонентов в т.ч. под проприретарными лицензиями. Она по определению целиком под GPL в итоге быть не может.

            Даже хвалёная и вся из себя свободная OpenWRT ссылается на те же самые положения wiki.openwrt.org/about/license (просто они не используют проприретарные компоненты вовсе, у нас это предмет отдельных договорённостей с теми кто поставляет эти материалы).

            Я даже ещё более обрадую. Даже явное указание в модулях ядра LIENСE GPL зачастую сопровождается хидером с вендор специфик проприретарной лицензией. И в зависимости от страны и действия или не действия DCMA (тьфу тьфу в РФ пока этого нет) можно забить на ту или иную часть. Это вопрос юридический и не столь однозначный.

            К сожалению мне пришлось с этим (во времена буйной free for all молодости) столкнуться от и до. В этом ключе всё не так однозначно как хотелось бы.

            Использование дистрибутива рассматривается EULA (если таковое имеется, если нет только по личному согласованию), вот там и увязываются лицензии на компоненты дистрибутива между собой. У меня оно очень простое, всё что под BSD`like, GPL юзайте как хотите, то что под проприретарью и без указания лицензии — вперёд согласовывать со мной ибо есть определённые договорённости и я несу определённые риски (и имею определённую ответственность перед владельцами прав) предоставляя доступ к этим материалам.

            А по факту форки в т.ч. Андреевского ПО, да и моего были неединожды. И слова сказано не было за их существование если всё было согласовано и обсосаны вопросы (см wive от Nitr0). Ну и у меня было единственное неоспоримое правило — что бы я юзверей этих модифицированных сборок у себя в темах не видел, и поддержки на левом железе что бы не просили и близко. Вполне имею на это право. Хочется человеку саппортить непойми кого — пусть развлекается.

            Ну а ещё лучше вперёд на OpenWRT. Хотя и там разочарование постигнет на тему GPL.

            Евгений наиболее юридически подкованный из знакомых мне разработчиков!
              0
              Продолжай, малыш! Это так интересно ;-)
              0
              И еще от sfstudio

              Просто ещё один путающий OSS и FLOSS. Грубо говоря если код открыт весь от и до то не значит что он свободен от и до.

              Only users with full accounts can post comments. Log in, please.