Добрый день, читатели! Недавно у меня дома произошла замена интернет-провайдера, было предложено так же заменить оборудование, увеличить скорость до 300 мбит/сек. В результате образовался свободный роутер Keenetic Extra KN-1711 с usb-портом.

Мне давно хотелось обзавестись приемником воспроизводящим потоковое радиовещание, но как-то останавливала цена таких игрушек. Примеры ниже:

В итоге было принято решение попробовать использовать старый роутер и дать ему новую жизнь в виде интернет-радиоприемника.
Кроме самого роутера мне понадобились еще звуковая usb-карта (самая простая и дешевая). Кроме этого в запасах нашелся usb-hub. Так же понадобился еще патч-кордовый кабель (обычно есть в комплекте роутера) и активные колонки.

Первой и основной задачей было проверить принципиальную возможность подключения звуковой карты к роутеру и воспроизведению звука через нее. Поиски в интернете говорили о том, что это возможно.
Для прошивки роутера была скачана прошивка OpenWRT 25.12.5 (отсюда), а проверить , в целом, наличие прошивок для вашей модели можно здесь.
Краткая инструкция по прошивке.
Более полную инструкцию можно посмотреть здесь.
В моем случае, роутер отказался прошиваться загрузкой образа через web-интерфейс, пришлось делать следующее:
- Подключаем патч-кордом роутер (в любое гнездо кроме нулевого «интернет») к компьютеру.
- В web-интерфейсе роутера создаем файл резервной копии прошивки и скачиваем его на компьютер.
- На компьютер скачиваем и устанавливаем сервер Tftpd64. Сетевой карте задаем адрес 192.168.1.2 с маской 255.255.255.0.
- Переименовываем файл прошивки OpenWRT так же как называется резервная копия. В Tftpd64 указываем рабочую папку с этой прошивкой.
- Выключаем роутер из розетки электропитания
- Зажимаем кнопку [Reset] на роутере и включаем электропитание. При этом роутер должен будет подтянуть прошивку по ftp установить ее и уйти на перезагрузку.
- После перезагрузки роутера, по адресу 192.168.1.1 должен появиться экран с интерфейсом LuCi

После того, как удалось установить новую прошивку на роутер, можно перейти к ее настройке. Предварительно рекомендую сделать следующие действия:
- скачать и установить на компьютер клиент Telnet и SSH PuTTY , а так же ftp-клиент WinSCP для удобства работы с файлами
- из личного опыта рекомендую настроить подключение к интернету через vpn, поскольку при обновлении прошивки, скачивании пакетов часто оказывается что пакет просто недоступен и не скачивается с русского ip
Первичная настройка OpenWRT:
- подключаемся к роутеру с помощью PyTTY и обновляем пакеты apk update
- устанавливаем русский язык в прошивку apk add luci-i18n-base-ru и выбираем русский в настройках
- устанавливаем пакеты поддержки звука и ввода-вывода и тд. Здесь я их напишу одной строкой, но настоятельно рекомендую загружать по одному отдельными командами apk add…. : apk add kmod-sound-core kmod-usb-audio kmod-input-core kmod-input-evdev alsa-utils kmod-hid kmod-usb-hid
- устанавливаем поддержку usb: apk add kmod-usb-core kmod-usb-ohci kmod-usb-uhci kmod-usb2 kmod-usb3 на иных роутерах, возможно, будет необходимо установить kmod-usb-hub и usbutils
- После этого, перезагружаем роутер, и если usb карта имеет какую-то световую сигнализацию можно увидеть что она заработала

После успешного подключения звуковой карты, можем установить модули для воспроизведения звука. Я выбрал связку из фонового аудиосервера mpd и консольного клиента mpc, а так же понадобится утилита curl: apk add mpd-full mpc curl
Снова перезагружаем роутер.
После установки всех пакетов, можем настроить подключение к Wi-Fi и конфигурационные файлы. Подключаемся к роутеру через WinSCP, находим папку /etc/config/ , в ней исправляем файлы так как указано ниже:
etc/config/wireless
config wifi-device ‘radio0’
option type ‘mac80211’
option path ‘platform/10300000.wmac’
option band ‘2g’
option channel ‘8’
option htmode ‘HT20’
option cell_density ‘0’
option disabled ‘1’
config wifi-iface ‘default_radio0’
option device ‘radio0’
option network ‘lan’
option mode ‘ap’
option ssid ‘OpenWrt’
option encryption ‘none’
option disabled ‘1’
config wifi-device ‘radio1’
option type ‘mac80211’
option path ‘pci0000:00/0000:00:00.0/0000:01:00.0’
option band ‘5g’
option channel ’52’
option htmode ‘VHT80’
option cell_density ‘0’
config wifi-iface ‘default_radio1’
option device ‘radio1’
option network ‘lan’
option mode ‘ap’
option ssid ‘OpenWrt’
option encryption ‘none’
option disabled ‘1’
config wifi-iface ‘wifinet2’
option device ‘radio1’
option mode ‘sta’
option network ‘wwan’
option ssid ‘имя вашей сети‘
option encryption ‘sae’
option key ‘пароль к вашей сети‘
option ocv ‘0’
etc/config/network
config interface ‘loopback’
option proto ‘static’
option ipaddr ‘127.0.0.1’
option netmask ‘255.0.0.0’
option device ‘lo’
config interface ‘lan’
option proto ‘static’
option netmask ‘255.255.255.0’
option dns ‘8.8.8.8’
option ipaddr ‘192.168.2.1’ ### ip адрес вашего роутера при проводном подключении
option gateway ‘192.168.1.168’ ### ip адрес вашего роутера как клиента в домашней сети wi-fi
option device ‘br-lan’
config interface ‘wwan’
option proto ‘static’
option netmask ‘255.255.255.0’
option gateway ‘192.168.1.1’
option dns ‘8.8.8.8’
option ipaddr ‘192.168.1.168’
config device
option name ‘br-lan’
option type ‘bridge’
list ports ‘eth0.1’ ### здесь ставим свой
etc/config/firewall
config defaults
option syn_flood ‘1’
option input ‘ACCEPT’
option output ‘ACCEPT’
option forward ‘ACCEPT’
config zone
option name ‘lan’
option input ‘ACCEPT’
option output ‘ACCEPT’
option forward ‘ACCEPT’
option network ‘lan’
config zone
option name ‘wan’
option input ‘ACCEPT’
option output ‘ACCEPT’
option forward ‘ACCEPT’
option masq ‘1’
option mtu_fix ‘1’
option network ‘wan wwan’
config forwarding
option src ‘lan’
option dest ‘wan’
config forwarding
option src ‘wan’
option dest ‘lan’
config rule
option name ‘Allow-DHCP-Renew’
option src ‘wan’
option proto ‘udp’
option dest_port ’68’
option target ‘ACCEPT’
option family ‘ipv4’
config rule
option name ‘Allow-Ping’
option src ‘wan’
option proto ‘icmp’
option icmp_type ‘echo-request’
option family ‘ipv4’
option target ‘ACCEPT’
config rule
option name ‘Allow-DHCPv6’
option src ‘wan’
option proto ‘udp’
option src_ip ‘fe80::/10’
option src_port ‘547’
option dest_ip ‘fe80::/10’
option dest_port ‘546’
option family ‘ipv6’
option target ‘ACCEPT’
config rule
option name ‘Allow-ICMPv6-Input’
option src ‘wan’
option proto ‘icmp’
list icmp_type ‘echo-request’
list icmp_type ‘echo-reply’
list icmp_type ‘destination-unreachable’
list icmp_type ‘packet-too-big’
list icmp_type ‘time-exceeded’
list icmp_type ‘bad-header’
list icmp_type ‘unknown-header-type’
list icmp_type ‘router-solicitation’
list icmp_type ‘neighbour-solicitation’
list icmp_type ‘router-advertisement’
list icmp_type ‘neighbour-advertisement’
option limit ‘1000/sec’
option family ‘ipv6’
option target ‘ACCEPT’
config rule
option name ‘Allow-ICMPv6-Forward’
option src ‘wan’
option dest ‘*’
option proto ‘icmp’
list icmp_type ‘echo-request’
list icmp_type ‘echo-reply’
list icmp_type ‘destination-unreachable’
list icmp_type ‘packet-too-big’
list icmp_type ‘time-exceeded’
list icmp_type ‘bad-header’
list icmp_type ‘unknown-header-type’
option limit ‘1000/sec’
option family ‘ipv6’
option target ‘ACCEPT’
config include
option path ‘/etc/firewall.user’
После перезагрузки роутера он должен будет подключиться к вашей сети wi-fi. Если что то пойдет не так, можно подключиться к роутеру по проводному соединению по адресу 192.168.2.1 и настроить доступ к wi-fi через web-интерфейс.
На этом первая часть моей истории закончена. Забегая вперед вот что получилось, в итоге:





Задать вопросы, обсудить данную тему можно на моей странице в ВК https://vk.ru/wall4354390_738