Интернет радио из роутера TP-LINK TL-MR3020
Сегодня будем делать wifi радио из роутера TP-LINK TL-MR3020 v1. Для начала нужно заменить ему flash, поскольку четырех мегабайт нам будет маловато.
Для замены необходимо найти SPI Flash 8 мб, и прошить ее программатором следующей прошивкой.
Для прошивки я использовал программатор CH341A.
Далее делаем все по пунктам:
1. Прошиваем роутер через стандартный веб интерфейс (192.168.0.254) прошивку с этой страницы (нужно выбрать версию вашего маршрутизатора).
2. Подключаемся кабелем и входим в настройки по адресу 192.168.1.1
3. Настраиваем клиентом вайфай к вашей точке доступа.
4. Удостоверившись что интернет работает, подключаемся к роутеру через telnet (putty, xshell) и выполняем следующие команды:
opkg update
opkg install kmod-usb-core kmod-usb-audio kmod-sound-core alsa-utils kmod-usb-hid triggerhappy vsftpd luci-i18n-base-ru unzip madplay
wget -U "Mozilla/5.0" -O "/etc/fw.zip" "http://wifiradio.su/download/wifiradio.su_v5.zip"
unzip -o "/etc/fw.zip" -d "/"
chmod -R 755 /www/cgi-bin/
chmod -R 755 /etc/wifiradio/
rm -r -f "/etc/fw.zip"
reboot
После перезагрузки заиграет радио.
Чтобы попасть в web интерфейс с настройками, необходимо в браузере открыть
http://ip_адрес_роутера/play/
Через web интерфейс можно управлять следующими функциями:
1. Переключать станции
2. Управлять громкостью
3. Управлять избранным (для переключения usb клавиатурой)
4. Загружать плейлисты
5. Добавлять и удалять станции
6. Управлять озвучкой станций
7. Обновлять прошивку
Работает управление аппаратной кнопкой WPS на роутере: (нажатие 0-1 сек.) переключение станций по кругу, долгое нажатие на кнопку (4-10 сек.) возвращает на первую станцию в списке.
Имеется возможность управлять станцией через приложение для андроид.
*При использовании usb клавиатуры возможны несовпадения кодов событий, поэтому нужно будет подправить файл example.conf в папке triggerhappy/triggers.d
*Также возможно придется изменить название звукового устройства для управления громкостью в файлах /www/cgi-bin/wr_volume и /etc/rc.local
Ну и если кому-то понадобятся настройки сети, чтобы станция находилась в общей сети и на нее можно было попасть по ip адресу через wifi:
Редактируем следующие файлы:
/etc/config/wireless (добавляем в Ваш файл)
config wifi-iface
option network 'wwan'
option ssid '*********' #имя Вашей точки доступа WiFi
option encryption 'psk2' #тип шифрования Вашей точки доступа
option device 'radio0'
option mode 'sta'
option key '********' #пароль Вашей точки доступа
/etc/config/network (полностью заменяем Ваш файл)
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'lan'
option ifname 'eth0'
option type 'bridge'
option proto 'static'
option netmask '255.255.255.0'
option dns '192.168.1.1' #ip адрес Вашего роутера или модема с интернетом
option ipaddr '192.168.2.1' #ip адрес для Вашего роутера openwrt по кабелю (можно не менять)
option gateway '192.168.1.254' #ip адрес Вашего роутера openwrt в домашней подсети
config interface 'wwan'
option proto 'static'
option netmask '255.255.255.0'
option gateway '192.168.1.1' #ip адрес Вашего роутера или модема с интернетом
option dns '192.168.1.1' #ip адрес Вашего роутера или модема с интернетом
option ipaddr '192.168.1.254' #ip адрес Вашего роутера openwrt в домашней подсети
/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 ' '
config zone
option name 'wan'
option network 'wan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option masq '1'
option mtu_fix '1'
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'
После редактирования этих файлов нужно перезагрузить роутер.
Если еще останутся вопросы, то возможно информация с этого сайта вам поможет: http://wifiradio.su