#1 03.12.09 15:08
проблема с мультикастом через беспроводной интерфейс dir-300
Роутер dir-300, залита последняя версия DD-WRT (какой-то линух с примочками и веб-интерфейсом для настроек)
Всё чудно работает, одна проблема:
Мультикаст трафик (телевизор) нормально транслируется на проводные порты.
Если же попытаться смотреть его через вай-фай, то втыкается какое-то "ограничение скорости" - больше полтора мегабита примерно не выдаёт, очень ровным графиком и всё изображение ужасно скомкано.
При том просто вай-фай работает отлично - проблема касается только мультикаста. Закурил до дыр уже гугл и форум dd-wrt, настройки в веб-морде сделаны правильно. Народ пишет что какая-то ошибка в настройке iptables и мультикаст трафик "делится и уходит в разные интефейсы" ничего более содержательного не нашёл.
При этом с родной прошивкой всё показывало нормально.
вот что кажет ps
root@DD-WRT:~# ps
PID USER VSZ STAT COMMAND
1 root 2452 S /sbin/init noinitrd
2 root 0 SW< [kthreadd]
3 root 0 SW< [ksoftirqd/0]
4 root 0 SW< [events/0]
5 root 0 SW< [khelper]
36 root 0 SW< [kblockd/0]
55 root 0 SW [pdflush]
56 root 0 SW [pdflush]
57 root 0 SW< [kswapd0]
58 root 0 SW< [aio/0]
582 root 0 SW< [mtdblockd]
603 root 2544 S watchdog
876 root 3760 S httpd -p 80
1427 root 2448 S resetbutton
2192 root 972 S udhcpc -i vlan2 -p /var/run/udhcpc.pid -s /tmp/udhcpc
2354 root 1360 S hostapd -B /tmp/ath0_hostap.conf
3818 root 2444 S process_monitor
8029 root 2448 S ttraff
8042 root 1340 S telnetd
8047 root 1092 S dnsmasq --conf-file=/tmp/dnsmasq.conf
8415 root 1820 S dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_ho
8552 root 1876 R dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_ho
8553 root 1360 S -sh
8555 root 1344 R ps
30483 root 2472 S wland
30493 root 972 S cron
30498 root 972 S igmprt
вот что кажет iptables -L
root@DD-WRT:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
DROP udp -- anywhere anywhere udp dpt:route
DROP udp -- anywhere anywhere udp dpt:route
ACCEPT udp -- anywhere anywhere udp dpt:route
logaccept tcp -- anywhere DD-WRT tcp dpt:www
logaccept tcp -- anywhere DD-WRT tcp dpt:ssh
DROP icmp -- anywhere anywhere
ACCEPT igmp -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state NEW
logaccept 0 -- anywhere anywhere state NEW
DROP 0 -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT gre -- 192.168.1.0/24 anywhere
ACCEPT tcp -- 192.168.1.0/24 anywhere tcp dpt:1723
ACCEPT 0 -- anywhere anywhere
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
lan2wan 0 -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT udp -- anywhere BASE-ADDRESS.MCAST.NET/4 udp
ACCEPT tcp -- anywhere nnm.cn.ru novotelecom.ru tcp dpt:12346
ACCEPT udp -- anywhere nnm.cn.ru novotelecom.ru udp dpt:12346
TRIGGER 0 -- anywhere anywhere TRIGGER type:in match:0 relate:0
trigger_out 0 -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state NEW
DROP 0 -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain advgrp_1 (2 references)
target prot opt source destination
REJECT tcp -- anywhere anywhere tcp WEBSTR match host vkontakte.ru< > reject-with tcp-reset
Chain advgrp_10 (0 references)
target prot opt source destination
Chain advgrp_2 (0 references)
target prot opt source destination
Chain advgrp_3 (0 references)
target prot opt source destination
Chain advgrp_4 (0 references)
target prot opt source destination
Chain advgrp_5 (0 references)
target prot opt source destination
Chain advgrp_6 (0 references)
target prot opt source destination
Chain advgrp_7 (0 references)
target prot opt source destination
Chain advgrp_8 (0 references)
target prot opt source destination
Chain advgrp_9 (0 references)
target prot opt source destination
Chain grp_1 (1 references)
target prot opt source destination
advgrp_1 0 -- anywhere anywhere MAC 00:21:5D:BD:60:60
advgrp_1 0 -- anywhere anywhere MAC 00:21:5D:BD:60:60
Chain grp_10 (0 references)
target prot opt source destination
Chain grp_2 (0 references)
target prot opt source destination
Chain grp_3 (0 references)
target prot opt source destination
Chain grp_4 (0 references)
target prot opt source destination
Chain grp_5 (0 references)
target prot opt source destination
Chain grp_6 (0 references)
target prot opt source destination
Chain grp_7 (0 references)
target prot opt source destination
Chain grp_8 (0 references)
target prot opt source destination
Chain grp_9 (0 references)
target prot opt source destination
Chain lan2wan (1 references)
target prot opt source destination
grp_1 0 -- anywhere anywhere
Chain logaccept (3 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
Chain logdrop (0 references)
target prot opt source destination
DROP 0 -- anywhere anywhere
Chain logreject (0 references)
target prot opt source destination
REJECT tcp -- anywhere anywhere tcp reject-with tcp-reset
Chain trigger_out (1 references)
target prot opt source destination
root@DD-WRT:~#
А вот ifconfig
root@DD-WRT:~# ifconfig
ath0 Link encap:Ethernet HWaddr 00:22:B0:90:D0:D1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5168642 errors:0 dropped:0 overruns:0 frame:0
TX packets:4894097 errors:0 dropped:81 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:525925100 (501.5 MiB) TX bytes:1593707093 (1.4 GiB)
br0 Link encap:Ethernet HWaddr 00:22:B0:90:D0:D1
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:40448224 errors:0 dropped:0 overruns:0 frame:0
TX packets:46058429 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:834088473 (795.4 MiB) TX bytes:4218217949 (3.9 GiB)
eth0 Link encap:Ethernet HWaddr 00:22:B0:90:D0:D2
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:91781325 errors:0 dropped:0 overruns:0 frame:0
TX packets:82656274 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1680614746 (1.5 GiB) TX bytes:1846994863 (1.7 GiB)
Interrupt:4 Base address:0x1000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
RX packets:320 errors:0 dropped:0 overruns:0 frame:0
TX packets:320 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:28644 (27.9 KiB) TX bytes:28644 (27.9 KiB)
vlan0 Link encap:Ethernet HWaddr 00:22:B0:90:D0:D2
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37885539 errors:0 dropped:0 overruns:0 frame:0
TX packets:42706900 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:744795033 (710.2 MiB) TX bytes:416286065 (397.0 MiB)
vlan2 Link encap:Ethernet HWaddr 00:13:D4:FC:21:06
inet addr:172.24.131.98 Bcast:172.24.131.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:52607893 errors:0 dropped:0 overruns:0 frame:0
TX packets:39949374 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4222838535 (3.9 GiB) TX bytes:1430708798 (1.3 GiB)
vlan2:0 Link encap:Ethernet HWaddr 00:13:D4:FC:21:06
inet addr:169.254.255.1 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
wifi0 Link encap:UNSPEC HWaddr 00-22-B0-90-D0-D1-00-00-00-00-00-00-00-00-00 -00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2634457 errors:0 dropped:0 overruns:0 frame:298631
TX packets:3910033 errors:7334 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:195
RX bytes:374768248 (357.4 MiB) TX bytes:358071551 (341.4 MiB)
Interrupt:3 Memory:b0000000-b00ffffc
root@DD-WRT:~#
Может кто что подскажет? Нифига не могу понять с этой бедой делать...
Клиентский бук не виноват - другой бук с другой ОС и вай-фай адаптером так же показывает и оба при проводном подсоединении нормально играют.
Адреса каналов этого чудо-телевидения выглядят так udp://@239.0.2.201:1234
Offline
#2 03.12.09 18:55
Re: проблема с мультикастом через беспроводной интерфейс dir-300
это наверное не относиться к делу, но что-то ошибок очень много для 350мегабайт, у мя на 3г столько не бывает, хотя связь плохая...
VS написал(а):
TX packets:3910033 errors:7334 dropped:0 overruns:0 carrier:0
хотя пакетов почти 4млн, получается 1 из 533 пакетов, вроде нормально....
Исправлено Fire Stream (03.12.09 18:59)
Offline
#3 07.12.09 10:25
Re: проблема с мультикастом через беспроводной интерфейс dir-300
воткни туда udpxy, все нормально должно быть
прога ловит мультикастовые UDP на внешнем интерфейсе и передает клиенту поток через ТСР. Просто мульткастовые пакеты на многом железе ничем не отличаются от бродкастовых, но так же во многом железе есть аппаратная фильтрация бродкаст-шторма (да и мультикаст-шторма)
А если зарулить это серез ТСР то все окейно. Правда есть лаг где-то в секунду на буферизацию, но это фигня.
Offline
#4 07.12.09 21:12
Re: проблема с мультикастом через беспроводной интерфейс dir-300
Вот за что я люблю это дело - захочешь пёрнуть, придётся изучить пол гугла.
Задался целью поставить updxy, поставил winscp для заливки на роутер. Нашёл исходники, залил.
make...
root@DD-WRT:~# make
-sh: make: not found
Ок, нашёл скомпиленый udpxy, запускаю...
line 1: syntax error: "(" unexpected
Нашёл другие скомпиленые udpxy (кстати, один на h-net.ksn.ru лежит архивчиком), те же результаты, с вариациями до
line 1: syntax error: word unexpected (expecting ")")
Сижу думаю как скомпилить так, чтобы работало...
покрутил cygwin, всякую фигню, перерыл гугл... нифига не получается.
WTF??? =)
Offline
#5 07.12.09 22:21
Re: проблема с мультикастом через беспроводной интерфейс dir-300
тот что на ашнете лежит - это я компилил :) но дома на линксисе сейчас работает
технология вроде простая, но пришлось напильником пилить
качаешь SDK. в моем случае это было от openwrt, в твоем похоже от ddwrt
мэйкфайл не хотел собирать из исходников, я писал вручную gcc bla-bla для каждого файла, компилил объектники и потом их слинковал. вообще думаю можно мэйкфайл поправить. но там файлов всего что-то типа 8 шт, так что вручную - тоже не долго
закачал. запускаю. ругается что анрезолвед симбол. ну чорт! оказалось в СДК и в прошивке разные версии библиотек. скачиваю с роутера библиотеки и кидаю в каталог с СДК. перекомпиливаю, перелинковываю
заливаю опять на роутер бинарник. о Боже! заработало!
но у тебя какая-то ошибка странная: "line 1: syntax error: ....." ты уверен что бинарник запускаешь? это похоже на "блевотину" шелла
P.S. SDK надо разворачивать в линуксе конечно. если линукса нет под рукой, то можно по простому в виртуалочку поставить что-нить простенькое с make/gmake (в смысле нормальный "боевой" дистриб, а не чтонибудь новомодное, гед много красивых окошек но нихр@на скомпилить нельзя)
Offline
#6 07.12.09 22:33
Re: проблема с мультикастом через беспроводной интерфейс dir-300
попробуй внагляк сунуть бинарник
http://sourceforge.net/projects/udpxy/files/
udpxy_1.0-Chipmunk-11_mipsel.ipk
закачать, а потом что-то типа ipkg install udpxy_1.0-Chipmunk-11_mipsel.ipk
или бинарник из релиза udpxy-wl500g подсунуть, авось стартанет
я там в коде полазил - ничего необычного, голый С
проблема можеть быть только с либцами (там они резанные и называются что-то типа uclibc)
Offline
#8 09.12.09 23:09
Re: проблема с мультикастом через беспроводной интерфейс dir-300
Max написал(а):
udpxy_1.0-Chipmunk-11_mipsel.ipk
открой его винраром внаглую, это архив
в нем еще один архив, тыкай не стесняйся
там будет 2 архива, data.tar.gz и control.tar.gz
тыкай в data.tar.gz
там будет каталог /opt/bin
в нем 2 бинарника
это уже выполняемые файлы. нужно udpxy вытащить оттуда и закачать
потом выполнить chmod a+x udpxy и запускать пробовать
p.s. пока писал это , подумалось: а ты не забыл чмод сделать??
Offline
#10 10.12.09 04:50
#11 10.12.09 11:19
#12 10.12.09 15:45
#13 10.12.09 15:49
#14 10.12.09 16:20
#15 10.12.09 20:51
#16 10.12.09 21:26
Re: проблема с мультикастом через беспроводной интерфейс dir-300
root@DD-WRT:/tmp# ls -la
drwxrwxrwx 9 root root 0 Dec 10 08:13 .
drwxr-xr-x 16 root root 153 Oct 10 01:18 ..
-rw-r--r-- 1 root root 3242 Dec 8 19:47 .ipt
-rw-r--r-- 1 root root 20 Dec 8 19:47 .rule
-rw-r--r-- 1 root root 9 Dec 8 19:47 .wanuptime
-rw-r--r-- 1 root root 292 Jan 1 1970 ath0_hostap.conf
drwx------ 2 root root 0 Dec 8 19:47 cron.d
-rw-r--r-- 1 root root 0 Dec 8 19:47 crontab
-rw-r--r-- 1 root root 274 Jan 1 1970 dnsmasq.conf
-rw-r--r-- 1 root root 311 Dec 10 10:26 dnsmasq.leases
drwx------ 2 root root 0 Jan 1 1970 etc
-rw-r--r-- 1 root root 61 Jan 1 1970 hosts
-rw-r--r-- 1 root root 215 Dec 8 19:47 igmpproxy.conf
-rw-r--r-- 1 root root 86 Jan 1 1970 loginprompt
drwxr-xr-x 2 root root 0 Jan 1 2000 nvram
drwxr-xr-x 3 root root 0 Jan 1 1970 oet
-rw-r--r-- 1 root root 53 Jan 1 1970 resolv.conf
-rw-r--r-- 1 root root 51 Jan 1 1970 resolv.dnsmasq
drwx------ 3 root root 0 Jan 1 1970 root
lrwxrwxrwx 1 root root 8 Jan 1 1970 udhcpc -> /sbin/rc
-rw-r--r-- 1 root root 6 Dec 10 04:46 udhcpc.expires
-rwxr-xr-x 1 root root 142500 Mar 25 2009 udpxy
drwxr-xr-x 8 root root 0 Jan 1 1970 var
drwxr-xr-x 2 root root 0 Jan 1 2000 www
root@DD-WRT:/tmp#
Offline

