Как стать автором
Обновить

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

Время на прочтение2 мин
Количество просмотров17K
Удивительные приключения 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

Хорошего прослушивания!
Теги:
Хабы:
Всего голосов 13: ↑9 и ↓4+5
Комментарии8

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань