понеділок, 27 серпня 2012 р.

Google Nexus 7 + IPTV

Всем привет!

Стал счастливым обладателем Google Nexus 7 16GB c OS Android 4.1.1. Jelly Bean на борту. Аппарат просто классный. Но сейчас не об этом.
Задался целью смотреть на нем IPTV. VLC для Android работать отказался сразу. В итого была найдена комбинация, которая работает с IPTV как напрямую, так и через udpxy.
Для работы через udpxy ставим из play.google.com: IPTV и BS Player.
Для работы напрямую ставим: MX Player.
В настройках IPTV вводим адрес списка каналов, адрес UDP proxy (если работать IPTV будет через него) и Streaming player (если через udpxy тогда BS Player, а если напрямую тогда MX Player).
И вуаля! У нас теперь есть портативный 7 дюймовый телевизор.
У меня работает даже лучше чем на ноутах. Я доволен.

Может у кого работает и с другими плеерами. Пишем в каменты.

понеділок, 28 травня 2012 р.

OpenWRT. Доступ к ssh и web-interface роутера из Internet

Если есть необходимость получить доступ к ssh или web-интерфейсу роутера из внешней сети, необходимо войти ssh-клиентом на роутер и сделать следующее и сохранить:

1. vi /etc/config/firewall - и в конце файла добавляем следующее:


#==========================
#ssh ext port SSSS to int port 22
config rule
        option src wan
        option desp_port SSSS
        option target ACCEPT
        option proto tcp


config redirect
        option src wan
        option src_dport SSSS
        option dest lan
        option dest_ip ROUTER_INTERNAL_IP
        option dest_port 22
        option proto tcp
#eof ssh ext to int ssh redirect


#http ext port HHHH to int port 80
config rule
        option src wan
        option desp_port HHHH
        option target ACCEPT
        option proto tcp


config redirect
        option src wan
        option src_dport HHHH
        option dest lan
        option dest_ip ROUTER_INTERNAL_IP
        option dest_port 80
        option proto tcp
#eof ssh ext to int http redirect

где:
  • SSSS - внешний порт для ssh по которому Вы хотите подключаться к роутеру;
  • HHHH - внешний порт для http по которому вы хотите подключаться к web-интерфейсу;
  • ROUTER_INTERNAL_IP - внутренний адрес роутера (по умолчанию: 192.168.1.1).
2. /etc/init.d/firewall reload - теперь наш роутер можно админить извне.

Примечание: работает только когда есть реальный IP Address на внешнем порту роутера.

четвер, 24 травня 2012 р.

Установка и настройка OpenWRT 10.03.1. Часть 2 (IPTV).

Всем привет!

Подготовка

Рассмотрим как настроить IPTV, чтобы заработало на роутерах с OpenWRT. Для DD-WRT процесс описан здесь.
Нам необходимо на компьютере:
  • ssh-клиент для доступа к роутеру (подойдет PuTTY или любой другой);
На роутере, зайдя по ssh будет настраивать следующее:
  • udpxy - UDP Proxy;
  • PureFTPd - простой, но довольно продвинутый FTP server. Нужен для автоматического обновления плейлиста со списком каналов;
Заходим по ssh на роутер, и делаем следующее:
  1. opkg update - обновили список пакетов;
  2. opkg install udpxy - установили UDP Proxy;
  3. opkg install pure-ftpd - FTP server;
  4. opkg install shadow - набор утилит для работы с пользователями/группами;
  5. opkg install nano - для тех, кому с vi тяжело - простой DOS-подобный текстовый редактор. Устанавливать необязательно. Если хочется, то дальше везде вместо vi подставляем nano - все конфги буду делаться этим редактором.
Все необходимые пакеты мы установили, осталось их настроить для работы. Сначала настраиваем udpxy.

Настройка udpxy на OpenWRT

Делаем следующее:
  1. vi /etc/rc.local - Вбиваем в начало строку: udpxy  -p 81 -M 30 -B 256Kb -m IP_ADDRESS_1 -a IP_ADDRESS_2 , где IP_ADDRESS_1 - внешний адрес роутера, смотрящий на провайдера, IP_ADDRESS_2 - локальный адрес роутера в домашней сети.
  2. vi /etc/firewall.user - Вбиваем туда строку: iptables -I INPUT -d 224.0.0.0/4 -j ACCEPT . Необходимо, чтобы firewall пропускал мультикаст траффик из внешней сети в роутер.
  3. reboot - перезагружаем роутер, после рестарта UDP Proxy заработала. Перейдем к настройке автообновления телепрограммы и автозагрузке при запуске программы для просмотра IPTV.

Настройка автообновления телепрограммы для IPTV

- Настройка скрипта обновления телепрограммы и планировщика

  1. mkdir -p /home/iptv - создаем папку, где будет работать скрипт и храниться телепрограмма;
  2. vi /home/iptv/iptv_playlist.sh - и создаем скрипт, как описано здесь (пункт 9);
  3. chmod +x /home/iptv/iptv_playlist.sh - даем права на запуск.
  4. /home/iptv/iptv_playlist.sh - запускаем скрипт. Должен появиться файл с переделанной под udpxy телепрограммой. ls -la /home/iptv/ - чтобы проверить. Файл http_playlist.m3u не должен быть пустым. Если он не пустой - значит все ОК.
  5. vi /etc/rc.local - Вбиваем в начало строку: /home/iptv/iptv_playlist.sh . Теперь телепрограмма будет обновляться при каждом старте роутера.
  6. crontab -e - Вбиваем туда строку: @daily root /home/iptv/iptv_playlist.sh . Сохраняем и выходим. Теперь раз в сутки телепрограмма будет обновляться сама. Больше ничего делать не надо. Она всегда будет актуальной.
  7. Если раньше планировщик был не задействован, выполняем команду: /etc/init.d/cron enable - чтобы его задействовать.

- Настройка FTP сервера

FTP сервер нам нужен для того, чтобы с него в программе для просмотра IPTV автоматически подгружалась адаптированная под udpxy телепрограмма. Можно конечно это реализовать и по-другому. Я сделал так. И VLC и IPTV Player отлично умеют читать телепрограмму по FTP протоколу. Проверено, работает 100%. Настройку Pure-FTPd сервера я делал по этой инструкции. Делаем следующее:
  1. vi /etc/config/pure-ftpd . Здесь в строке option authentication меняем значение на: 'puredb:/etc/pureftpd.pdb' и option enabled 0 меняем на option enabled 1.  Сохраняем файл конфигурации.
  2. groupadd pure_ftpd_grp
  3. useradd -g pure_ftpd_grp pure_ftpd_user
  4. pure-pw useradd iptv -u pure_ftpd_user -d /home/iptv/ - пароль iptv
  5. pure-pw mkdb

  6. /etc/init.d/pure-ftpd enable
  7. /etc/init.d/pure-ftpd reload
  8. /etc/init.d/pure-ftpd start
Все. Настройка FTP Server - завершена. Измененная телепрограмма доступна по ссылке: ftp://iptv:iptv@ROUTER_IP_ADDRESS/http_playlist.m3u , где ROUTER_IP_ADDRESS -  адрес роутера в локальной сети, например 192.168.1.1. 
Если pure-FTPd не поднялся - делаем reboot.

- Настройка программы просмотра

Теперь, чтобы автоматически загружалась телепрограмма в нашу программу просмотра делаем следующее:
  • для VLC Media Player - делаем ярлык, например на Рабочий Стол. Открываем свойства и вбиваем после названия программы после кавычек вышеуказанную ссылку.
  • для IPTV Player - вбить адрес на первой закладке в настройках и поставить галочке обновлять при запуске.
Теперь у Вас всегда все самое свежее :-).

С телевизором вроде все.  Дальше будем настроивать жесткий диск SAMBA демон для доступа к файлам из под Windows.  

неділю, 12 лютого 2012 р.

Установка и настройка OpenWRT 10.03.1. Часть 1.

Всем привет!

Когда глюки DD-WRT c WiFi надоедают, начинаешь задумываться об установке другой прошивки.
Я решил попробовать OpenWRT.org, так как другого особо ничего нету под чипсеты Atheros.
Здесь я последовательно опишу шаги, как я настраивал 2 своих роутера (почему 2 - отдельная история). К теме не относится. Правда, настройки роутеров TP-LINK 1043ND и Linksys WRT160NL практически идентичны, ввиду схожести чипсетов (Atheros 9132 и Atheros 9103 соответственно). Поэтому написанное ниже относится к обоим "железкам".
И так, исходные данные:
1. Провайдер раздает подключение по Static DHCP c реальным IP-адресом. (MAC address clone присутствует)
2. Есть Multicast UDP IPTV
3. Есть USB HDD 500 GB WD MyPassport.

Что хотелось бы:
1. Internet;
2. WiFi;
3. IPTV по WiFi;
4. SAMBA сервер, чтобы сделать в сетку общую сетевую папку;
5. BitTorrent Client, работающий независимо от копьютера.

Приступим:

Установка прошивки на роутер.
ВНИМАНИЕ!!!! Все что вы делаете - делаете на свой страх и риск. Автор блога не несет никакой ответсвенности за результат выполнения действий, описанных ниже. Если вы в чем-то неуверены - лучше сначала спросить. Если ответ Вас не устроил и Вы все равно не уверены - лучше ничего не делайте. Сбережете нервы, время и свои деньги. Все описанное ниже - результат личных удачных экспериментов с двумя вышеуказанные устройствами. Неудачные - здесь не описаны.


Все действия, описанные ниже необходимо выполнять СТРОГО с подключением физически через порт LAN роутера с использованием любого (лучше идущего в комплекте) пачт-корда. Если вы будуте что-то делать с подключением по безпроводному интерфейсу - можно "брикнуть" роутер (сделать кирпичем).


Прошивку пожно взять на сайте openwrt. Я брал всегда прошивку, где в имени есть слово squashfs. Для WRT160NL - openwrt-ar71xx-wrt160nl-squashfs-factory.bin
Для TL-WR1043ND - openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin
Оба роутера без проблем прошиваются через родной web-интерфейс стоковой прошивки. Если у Вас до этого стояла DD-WRT - рекомендую сначала вернуться на заводскую. Для 1043ND - очень важно НЕ БРАТЬ заводскую прошивку со словом boot в названии файла. Все последние прошивки под него вроде как без этого слова. Почему? Прошивки со словом boot в названии содержат в себе загрузчик и ее надо шить "грубо говоря" с самого начала адресного пространства флешки. Потому что, если прошить после загрузчика, то теоретически - роутер конечно загрузится, но WiFi - УМРЕТ НАВСЕГДА!!!!!! Потому что за адресным пространством, выделенным для прошивки находится область ART (Atheros Radio Test), где хранятся параметры калибровки рабиомодуля конкретного устройства (больше написано здесь, раздел Flash Layout). Без них - WiFi умирает. С продукцией Linksys проще. Там таких прошивок на официальном сайте нет. Поэтому возврат с DD-WRT обратно на Linksys прошивку не вызывает никаких проблем.
Желательно также, перед перепрошивкой с DD-WRT почистить кэш, чтобы освободить в ОЗУ место для закачки прошивки. Для этого подключаемся к роутеру по SSH с помощью PuTTY и выполняем команду:  echo 3 > /proc/sys/vm/drop_caches.
После этого заходим в Web-интерфейс DD-WRT и шьемся обратно на заводскую прошивку.
Когда мы восстановили заводскую прошивку - дальше просто. Берем прошивку, соответствующую Вашему роутеру - и шьем. При этом дергаться не стоит. Это займет некоторое время. Терпеливо ждем - пока устройство перезагрузится. и снова станет активным проводное подключение и компьютер получит адрес вида: 192.168.1.х.
Стартовая прошивка уже имеет Web-интерфейс LUCI, модули для работы WiFi, а также включенный SSH демон dropbear по дефолтному порту 22.
Заходим на страничку 192.168.1.1. Пользователь: root, пароль: admin.
Сразу идем в System - Administration и меняем пароль для root.
Дальше Network - WAN - Настраиваем внешний интерфейс. Если провайдер раздает инет как описано выше - проблем возникнуть не должно. Единственное что, если у провайдера Static DHCP и MAC-адрес отличается, то на закладке Advanced Setting вбиваем необходимый MAC в поле Override MAC Address.
Каждый раз необходимо нажать кнопку Save внизу справа на странице, а в конце Save & Apply.

Далее приступим к настройке беспроводного интерфейса Network - Wifi - radio0. Настройка стандартная, проблем возникнуть не должно. Как обычно для домашнего роутера - безопасность (Encryption) WPA2-PSK, шифрование (cypher) AES и Ваша фраза-пароль (Key).
Обязательно нажать на кнопку Enable и Save & Apply.

Все. Базовую функциональность настроили. Перейдем теперь к настройке необходимых нам сервисов.

неділю, 8 січня 2012 р.

TP-Link 1043 ND + Nokia CA-42. А также о наших "авторизированных сервис центрах"

Собственно этот блог я и начал писать, чтобы не забывать как настраивать систему, когда меняешь девайс или перешиваешь. Надоедает каждый раз гуглить - искать нужны конфиги.
Год назад, я был тогда еще зелен (зеленее не бывает) в прошивке OpenWRT, при очередной перепрошивке брикнул TP-Link 1043ND. Он конечно был гарантийный, но мне, я считал себя аццким перцем (бугога), захотелось перешить самому.
Погуглил, раскрыл, припаял контакты к материнке роутера (последовательный порт). Подключил к старому компу с RS232 портом. Он мне выдал крякозябры. Я расстроился. Понял что я бессилен. А гарантии уже нет :-( Пошел сначала по знакомым - у тех тоже самое. Потом звонил всем подряд сервис-центрам. Везде одно и тоже: "мы таким не занимаемся." Стоит, если делать, дороже, чем купить новый роутер. Другие говорили: "Мы, типа, iPhone'ами занимаемся, а китайцами - нам не пруха". Видать забыли, что ЯМобилки - собирают там же в Китае. Бугога.
Причем нашел на openwrt.org как вообще выпаять и перешить флеш-чип с полным мануалом. Принес еще одному умельцу. Сказал зайди через неделю. Через неделю "умелец" Вова сказал - "НЕТ. Процесс дорогой. Лучше купи новый роутер." А за "диагностику" взял мил человек 30 грн. и не побрезговал :-).
Расстроился я окончательно, достал из дорогой мне заначки $100 и с горя купил Linksys WRT160NL. Собственно тогда я и завел блог. Хотя, ввиду схожести архитектуры, все написанное здесь работает и на TP-Link'e (Проверено электроникой).
TP-Link жил себе на работе, перенес переезд в другой кабинет. Я уже думал выкинуть его ко всем чертям. Как вдруг, btard, дал линк на то, как он поднял свой WRT160NL после сбоя. Думаю, заберу домой, а вдруг, как говорится?... :-)
Естесственно у меня ничего не вышло. Другой подход в создании бут-лоадера. Linksys поэтому и дороже в 1.5 раза, потому что он умнее :-). CISCO как никак! Но решил опять погуглить. Терять уже нечего, рабочий роутер есть. Прежде чем выкидывать, так попробую. Залез в гугл. Нашел статью и форум, где на нее была ссылка. Там увидел, в чем была моя проблема. Проблема была в том, что я подключал в порту компа напрямую. А там, если все правильно помню на выходе 5В, а надо 3.3В. Один форумчанин описал симптомы с другим питанием в точ-точь как у меня: кракозябры и прочее. Ага, значит надежда есть :-) В соответствии с мануалом, купил на радиорынке китайский кабель Nokia CA-42, хотя как мне потом сказал Win7 x64, это не нокия, а prolific.com.tw . Соответственно и фирменные Nokia кабеля того же производителя.
Так как моя Винда х64 не захотела запускать девайс USB-to-RS232, я включил кабель в ноут с Ubuntu. dmesg мне сказал, что /dev/ttyUSB0 - готов к работе.
Осталось дело за малым:
1. Скачал родную прошивку для TP-LINK
2. Поставил TFTP сервер как в мануале по дебрикингу на ноут с семеркой и подлючил его к порту 1 роутера. (не имеет значения с какого компа заливать по TFTP - главное прописать адрес сетевой на ноуте 192.168.0.5 (только его). У меня так получилось, что консолью я ходил из под Ubuntu, а заливал по TFTP из под Win7 x64. Но это мои детали. Просто мне не захотелось бороться с Gnome Network Manager. Туповатый он, когда пытаешься ручками адреса прописать. Вообщем влом было и торопился я.
3. Разделал кабель (решил не заморачиваться с припаиванием контактов - гемор еще тот), определил где какой шнур. В моей случае было так: БЕЛЫЙ - RX, ЗЕЛЕНЫЙ - TX, СИНИЙ - GND. Соответственно на роутере TX/RX меняются местами.
4. Подлючил все и о ЧУДООО!! - увидел надписи в Putty на родном английском языке. Конечно запрыгал от счастья :-)
5. Дальше все по манулу, все поднялось и запело.
...................
Естественно родная прошивка TP-LINK, к-ю я сразу влил - как всегда, даже последняя версия, начала лагать с IPTV по WiFi.
Я взял конфиги с WRT160NL, чуть допили, и настроил его под себя уже в OpenWRT10.3.1.
На данный момень 2 часа - полет нормальный. Роутер работает!!!!.
...................
P.S. Полный привэд сервис-мэну Вове. Вова - если ты читаешь этот пост - ганьба тебе. Если есть совесть - верни деньги. Дело принципа!!!!
P.P.S. Полный привэд ВСЕМ сервис-мэнам "авторизированных" СЦ. Ребята - с Вас китайцы сделали обезьян, умеющих только платы переставлять. Вы забыли про паяльник и программатор. Помнится в студенческие годы я криво проапдейтил BIOS на компе :-) (Традиция у мну такая). 1999 год. Операция по восстановлению компа с выниманием флешки, программатором и возвратом назад заняли 20 минут и 20 грн. денег (тогда курс курс 5.35 для справки).
P.P.P.S. Всем спасибо. У кого есть подобные проблемы - задавайте вопросы. Чем смогу - помогу. Сегодня хороший день!
P.P.P.P.S. btard - Вам за вдохновение и автору манула ELVEON (Антон) для TP-LINK - мой респект и уважуха. Спасибо огромное. С меня \_/\_/\_/