В нулевые, когда OpenWRT еще не было (или была в черновом зачатке) народным роутером был Asus WL-500gP v1. Но в данной статье я буду играть с Asus WL-500W — он идентичен WL500gP v1, и отличается только WIFI картой (да, в роутере есть mini pci слот для её установки). Был даже целый форум посвященный этому роутеру (он доступен до сих пор).
Роутер стал народным, так как по тем временам имел довольно хорошее железо для своей цены (Broadcom BCM4704 264 MHz, 32MB RAM, 8MB Flash, 2xUSB), и главное — хорошо поддавался моддингу. Процессор можно было «разогнать» (вернее вернуть ему штатную частоту) до 300 MHz; ОЗУ можно было увеличить до 128MB чипами сдутыми с DDR1-333/400 плашки (нужна плашка с четырьмя чипами на 512МБ) или до 256МБ (если купишь дорогие редкие чипы); WIFI карту можно было заменить на дешманскую WIFI N вместо G; вместо двух выведенных USB портов можно было получить 4 подпаявшись к ножкам VIA USB контроллера (ибо он имел 4 порта). Ну и конечно же мод прошивки — родная прошивка асуса была мусором, поэтому народ ставил некую «прошивку от Олега», она устраивала всех — и обычных юзеров (которые роутер использовали как роутер), и гиков (которые добивались от прошивки близкого к OpenWRT функционала). И у меня в свои годы был этот роутер, но я не выжимал из него даже половины всех этих плюшек.
Но на дворе уже 2025, как сейчас обстоят дела с этим девайсом? Кратно — все очень плохо:
- Прошивка Олега формально «закончилась» уже как лет 10 назад (по факту — все 15) на ядре Linux 2.6.22. Дальнейшего развития нет, и многие железки и даже старый софт там не всегда возможно завести (не говоря уже про современный), поэтому логично впихнуть OpenWRT. Но проект перестал делать образы для этого девайса, остановившись на 22.03.7. С помощью ImageBuilder можно сделать образ 23.05.5, но 24.10.х уже не сделать — не влезает во флеш.
- SoC по текущим меркам очень слабый, поэтому работает медленно. Значит важно аппаратное ускорение NAT, но оно есть только в старых родных или Олеговских прошивках, и без него (только с софтварным ускорением в OpenWRT от провайдера) получаешь лишь 20 MBit/s со 100% загрузкой CPU. В локалке тоже все печально — порты само собой стомегабитные.
- С WIFI тоже все плохо, ведь все Broadcomы очень закрыты в плане драйверов, так что WIFI даже на G не выжимает всю скорость и возможности. А в режиме N на OpenWRT (как минимум на 22 и 23) WIFI и вовсе не завести — нет нормальных драйверов под новое ядро.
И вот смотрю я на свой WL-500W, и думаю — куда его девать? Выкинуть — жалко. Продать — нереально (на авито даже по 300 рублей не берут). Юзать на старой прошивке — тупо и не целесообразно (один фиг медленно для 2025). Юзать на новой прошивке — еще более медленно (без аппаратного ускорения и с WIFI G). Тогда и пришла идея сделать из роутера WIFI радио + часы😁. А что? Поиграться самое то — интересней, чем просто кинуть в шкаф, да железа хватает — SoC на своих 300MHz без проблем играет mp3 на 320Kbit (загрузка 40-50%), 128MB RAM уже давно на борту, а WIFI карту я выкину, заменив на дешманскую N.
И так, поехали. Накидаем план:
- Все будет в корпусе роутера (ибо пустого места много)
- Плата USB HUB с 4мя портами будет связана с флешкой для /overlay, со звуковухой, с адруинкой (на ней кнопки и экран), и с нормальным USB WIFI (штатный из mini pci в топку); динамики с усилком будут на верхней крышке с прорезями
- Экранчик будет прорезан спереди (нужен мелкий и длинный), кнопки будут сенсорными и будут под верхней крышкой (удобно — надо просто прикасаться к крышке)
- Общение роутера и юзера будет происходить через кпопки/экранчик на ардуинке — при нажатии кнопок ардуинка по uart сообщит об этом роутеру/при выводе роутером текста по uart ардуинка покажет его на экране
- Ну и не забываем проверить/заменить кондеры в роутере и БП — они пухнут и это типовуха для этого роутера (я заменил три в роутере и один в БП)
Заказываем на алике платку USB HUB, сенсорные кнопки, экранчик, усилок на 3W; берем из ящика стола флешу на 4 гига, ардуинку нано, динамики 4 Ohm 3 W, и USB WIFI — и спаиваем вместе, крепя в корпус на двухстороннюю 3М ленту.




На фотках USB HUB, WIFI и динамики еще старые — по итогу я их заменю, так как HUB периодически вис, WIFI оказался планшетный (с питанием и уровнями 3.3V), а динамики трещали из-за суперклея😁. Также проблем дала сама OpenWRT — они отключили нераспаянные на VIA USB порты (и да, я помню про подтяжки 15KOhm к земле), поэтому пришлось подпаиваться ко второму USB снизу.
Далее пишем небольшой набор скриптов на bash, который даст жизнь радио — что включает в себя пару простых экранных менюшек (радио, плеер, будильник, время каждый час), регулирование громкости/переключения станций + оболочка добавления станций по ssh. Жаль что потоки можно добавлять только mp3 (играются через mpg123), ибо mpd-full и mocplayer слишком тяжелые для этой железки (вернее играют то нормально, но запускаю поток по 30 секунд). И вот финальный результат:



Стремновато конечно, но что поделать — пластик был очень твердный, а инструментов для работы с ним под рукой не было😁.
Ну и конечно же финальный видос, с демонстрацией работоспособности этой игрушки.
Непрактично, нецелесообразно, и нафиг не нужно, но по фану — почему бы и нет😁