Глючит iptv [решено]

Интернет у меня через ADSL (провайдер Укртелеком, если это важно). В модеме, согласно инструкции провайдера, подняты два соединения: IPoE (так оно называется в настройках модема, через него идёт обычный интернет), и bridge, через который идёт iptv.
Так вот, iptv запускается, работает с минуту, а потом плеер виснет. От плеера не зависит: пробовал mplayer, vlc, xine, все виснут одинаково. От вывода не зависит: запускал mplayer -vo null -ao null, всё равно виснет. От компьютерного железа не зависит: перегружался в ubuntu и puppy - всё воспроизводится и не виснет. От модема не зависит: проблема возникла давно, на другом модеме, но я считал, что виноват модем (он явно помирал), но сейчас модем сменил, а проблема осталась (и только в Arch).
Так что подозрения на нечто сетевое, поэтому и написал сюда.

Запускаю плеер из терминала:
mplayer udp://@232.0.1.1:3000
Во время воспроизведения траффик адекватный (вижу на графике в conky), загрузки процессора особой нет. А через минуту траффик падает до нуля, изображение замирает, и висит, не реагируя на q. Если нажать Ctrl-C в терминале, то плеер выводит пару сообщений, что поток not seekable, и завершается. Если снова вызвать плеер - опять играет с минуту, и виснет.
Такое ощущение, что при при приёме udp multicast что-то выедается в неком системном ресурсе (это не просто утечка памяти, памяти свободной остаётся много), и когда ресурс исчерпается, приём виснет. А при завершении программы всё принудительно освобождается, и снова можно работать минуту.
От версии ядра, вроде, не зависит. У меня есть 3.10.1-ck и 3.11.1-ARCH 32bit (в одном и том же разделе) и 3.11.1-ARCH 64bit (в другом разделе) - везде виснет одинаково. Домашний компьютер, DE самосборное, на базе голого openbox.
Всё, что работает с сетью (торренты там всякие) прибивал - не помогает, да и работают они через другое соединение в модеме. А 64bit система у меня необжитая, там ничего такого и нет вовсе, но iptv всё равно виснет.

Кто виноват? Что делать? (Переходить на Убунту очень не хочется)

PS Добавочная информация: Запустил ubuntu в VirtualBox из-под Arch, сеть в VirtualBox настроил как bridge, - там mplayer iptv воспроизводит, и не виснет.
Роуты нв 232.0.1.1 назначены ?
corner
Роуты нв 232.0.1.1 назначены ?
Явно - нет. Есть default, который направлен на интерфейс, к которому присоединён модем, а дальше уже модем разбирается.
Но ведь воспроизведение запускается, и работает минуту. При чём тут могут быть роуты?
Попробуй потрейси (желательно с указанием времени в милисекундах) - должно же показать, где затык, может найдешь и виновника.
Ошибки не исчезают с опытом - они просто умнеют
Проверяете на одном и том же канале? Сейчас глянул в оф. плейлист - там адреса начинаются с пятого (udp://@232.0.1.5:3000).
vadik
Проверяете на одном и том же канале? Сейчас глянул в оф. плейлист - там адреса начинаются с пятого (udp://@232.0.1.5:3000).
На всех каналах поведение одинаковое. А официальный плейлист не очень отражает действителность. Скажем, канал 1 - это некий Zoom.
vasek
Попробуй потрейси (желательно с указанием времени в милисекундах) - должно же показать, где затык, может найдешь и виновника.
Ничего не понял. Это же UDP multicast, там ни пинги, ни трэйсы не предусмотрены. И роутинг там как бы наизнанку.
Для полноты картины - расскажите как настроена сеть в арче.
akorop
vasek
Попробуй потрейси (желательно с указанием времени в милисекундах) - должно же показать, где затык, может найдешь и виновника.
Ничего не понял. Это же UDP multicast, там ни пинги, ни трэйсы не предусмотрены. И роутинг там как бы наизнанку.
Я имел ввиду использовать strace.
Как я понял, ты же смотришь обычной программой mplayer, установленной на компьютер, ну и запусти strace, либо приатачся. Если показ прекращается, значит что то же должно быть прописано в выходном логе.
Ошибки не исчезают с опытом - они просто умнеют
vasek
akorop
vasek
Попробуй потрейси (желательно с указанием времени в милисекундах) - должно же показать, где затык, может найдешь и виновника.
Ничего не понял. Это же UDP multicast, там ни пинги, ни трэйсы не предусмотрены. И роутинг там как бы наизнанку.
Я имел ввиду использовать strace.
Как я понял, ты же смотришь обычной программой mplayer, установленной на компьютер, ну и запусти strace, либо приатачся. Если показ прекращается, значит что то же должно быть прописано в выходном логе.
Понятно. Запустил. Ничего особенного не увидел, просто прекратился приём. Ниже конец лога strace, включающий последний нормально принятый блок данных и самый распоследний, неполный, после которого программа и зависла. Запускал так (без вывода, чтобы не было лишних вызовов):

strace -o iptv.tr mplayer -ao null -vo null udp://@232.0.1.1:300

Вот хвост лога:
ioctl(0, TIOCGWINSZ, {ws_row=35, ws_col=90, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "A:7822.6 V:7822.8 A-V: -0.165 ct"..., 73) = 73
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1380900471, 7722}, NULL)  = 0
gettimeofday({1380900471, 7902}, NULL)  = 0
recv(3, "G\1\1\20]tXE\342w]\321\356\23\226\21\3510\271\306\256G\350\304\374\361\316;\237>\343\223"..., 2048, 0) = 1316
recv(3, "G\1\2\22\206\f\241\343Z\312\210\245\220\1)N\3260\220 X-q\317\237?\[email protected]\356\310\244\306"..., 2048, 0) = 1316
recv(3, "G\1\1\34\370\340~l\252\271\266\235\242\26\367?\263;\363\213WkS\\\302\226(N\23\20,\346"..., 2048, 0) = 1316
recv(3, "G\1\2\23 \211\333E\366\264\314\353\t\355]\232\341\255\216\236W/@K\366zr\260\320\310\271L"..., 2048, 0) = 1316
recv(3, "G\1\1\30\235C\0163c\356\263\202k\20\276Jt\351\323\5\370\242[S'\10^\301\355\217s6"..., 2048, 0) = 1316
recv(3, "G\1\2\24\311\247pVJ\357\222l\324\215L\20\2745Q\276\352\25[\212W.3E\270\344\16;"..., 2048, 0) = 1316
recv(3, "G\1\1\24\270|\5d\365\263`\33\21H\227\223\354\322\350\33~\1\2229\365\244\310c\214\3\317\3"..., 2048, 0) = 1316
recv(3, "G\1\2\25\3\332\272\226\211g\336\232G\260\331\6\221\2362\265\334\231\351\260u\214)\7(\332$t"..., 2048, 0) = 1316
recv(3, "G\1\1\20X\4A\342\360\205Gi\f\201\30ev/\215\314>\306\226\343+\330I$\335\2\0*"..., 2048, 0) = 1316
recv(3, "G\1\1\27\305\266\234\220\2107?}l\342\177\334c\[email protected]\275y\215\324_\352\27\207\233\276/"..., 2048, 0) = 1316
recv(3, "G\1\1\34\200sR\257v\231-`\204\34\320\352\242\363\216\355\17g\274\t\35\0070\273 \37\5'"..., 2048, 0) = 1316
recv(3, "G\1\1\23\t\340lx\377\250\2F\301Z-'A\202\366\250\246\24H3\356l\273\222]\3547\6"..., 2048, 0) = 1316
recv(3, "G\1\1\30p\252\4\275\360\274\365\257\34W!\0346\306%\205mH\311L\24:\306\371\343\224\304\210"..., 2048, 0) = 1316
recv(3, "GA\1?\1\0\0\0\1\340\0\0\200\300\n1\247\341\306\345\21\247\341\216\245\0\0\0\1\tP\0"..., 2048, 0) = 1316
recv(3, "G\1\1\25\366\f\7\362\324\265\266_\v\342V\367\224\257\377\327\215T\246\177\203p\234\16b\372\216#"..., 2048, 0) = 1316
recv(3, "[email protected]!\32\0\2\260\27\0\1\303\0\0\341\1\360\0\33\341\1\360\0\4\341\2\360\0+p\v\366\377"..., 2048, 0) = 1316
recv(3, "G\1\1\37J\20\342w\264\377k\"\272\301NS\264\241\265\371\3228\270\271q\25\264\224\366\341s{"..., 2048, 0) = 1316
recv(3, "G\1\1\25\373I\215c\210\2648Mt=\330\347\210\311\223\253\277d\330\362\364\362\22\337\253\207d\212"..., 2048, 0) = 1316
recv(3, "G\1\1\33\322\237\320w;\\\331MM\204\343A\311\231\222~I_\5\10\265K\264\377B\336\316~"..., 2048, 0) = 1316
recv(3, "G\37\377\20\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., 2048, 0) = 1316
recv(3, "GA\0017\1\0\0\0\1\340\0\0\200\300\n1\247\341\324\365\21\247\341\234\265\0\0\0\1\tP\0"..., 2048, 0) = 1316
recv(3, "G\1\1\36\205$\214\37x\300\24\313\257\324\255W\2649H\36~\352\325\7\17T\225=\16NZ\304"..., 2048, 0) = 1316
recv(3, "G\1\1\23L\277f\301\255\370\25-H#&|\203R1\250W]\256l#>\22\302\241\1\310\373"..., 2048, 0) = 1316
recv(3, "G\1\1\32o\344mK\245\372\263\r\306\361\276\255\343\25\200E\26\254\355\335\317\316u\20\336\240c\6"..., 2048, 0) = 1316
recv(3, "G\1\1\37\313\375QP\265\240\2157SAbz\335\375\23\354\5\360\240\311\273\327\335Sv\230\243\365"..., 2048, 0) = 1316
recv(3, "G\1\1\26K\t\254\315\326?\241\252Z\4\337\234\225\360\257\231L\304\205j0'7kmD^\\"..., 2048, 0) = 1316
recv(3, "GA\1<\1\0\0\0\1\340\0\0\200\200\5!\247\341\270\325\0\0\0\1\tP\0\0\0\1\6\0"..., 2048, 0) = 1316
recv(3, "G\1\1\22\223m\227<\2104%\343\233\347a\375\225\220G\360\326\264\302\320e\0Nxk\236\275\331"..., 2048, 0) = 1316
recv(3, "G\1\1\30\0H\227\3063\200\210\303\360_\273\266\312\31\354a\351\342\302%\3127\16^@\0226\214"..., 2048, 0) = 1316
recv(3, "G\1\1>\7\20\24\373\204\351~t\235\273e_\30?3\f&\373(\262\302\272\2541_\341\335\251"..., 2048, 0) = 1316
recv(3, "G\1\0020/\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., 2048, 0) = 1316
recv(3, "G\1\1\32\241\212=\366I\207\254\325*Z\34\36/\21\363Z\341\n\f\252\214\251)\226\340\221\330\211"..., 2048, 0) = 1316
recv(3, "G\1\1\21\274xF\241K\7b\300]I\244./\375{+\16W3\257\321.\346\306w\321\4\202"..., 2048, 0) = 1316
gettimeofday({1380900471, 15801}, NULL) = 0
gettimeofday({1380900471, 16014}, NULL) = 0
gettimeofday({1380900471, 16220}, NULL) = 0
gettimeofday({1380900471, 20234}, NULL) = 0
gettimeofday({1380900471, 20348}, NULL) = 0
gettimeofday({1380900471, 20412}, NULL) = 0
gettimeofday({1380900471, 23198}, NULL) = 0
gettimeofday({1380900471, 23245}, NULL) = 0
gettimeofday({1380900471, 23330}, NULL) = 0
gettimeofday({1380900471, 23381}, NULL) = 0
gettimeofday({1380900471, 23427}, NULL) = 0
gettimeofday({1380900471, 23482}, NULL) = 0
gettimeofday({1380900471, 23534}, NULL) = 0
nanosleep({0, 26445000}, NULL)          = 0
gettimeofday({1380900471, 50295}, NULL) = 0
gettimeofday({1380900471, 50493}, NULL) = 0
gettimeofday({1380900471, 50583}, NULL) = 0
gettimeofday({1380900471, 50665}, NULL) = 0
ioctl(0, TIOCGWINSZ, {ws_row=35, ws_col=90, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "A:7822.7 V:7822.7 A-V: -0.042 ct"..., 73) = 73
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1380900471, 52029}, NULL) = 0
gettimeofday({1380900471, 52085}, NULL) = 0
gettimeofday({1380900471, 52331}, NULL) = 0
gettimeofday({1380900471, 52445}, NULL) = 0
gettimeofday({1380900471, 52500}, NULL) = 0
gettimeofday({1380900471, 63277}, NULL) = 0
gettimeofday({1380900471, 63599}, NULL) = 0
gettimeofday({1380900471, 63823}, NULL) = 0
gettimeofday({1380900471, 72957}, NULL) = 0
gettimeofday({1380900471, 73246}, NULL) = 0
gettimeofday({1380900471, 73465}, NULL) = 0
gettimeofday({1380900471, 73728}, NULL) = 0
gettimeofday({1380900471, 73890}, NULL) = 0
gettimeofday({1380900471, 74127}, NULL) = 0
gettimeofday({1380900471, 74358}, NULL) = 0
nanosleep({0, 21445000}, NULL)          = 0
gettimeofday({1380900471, 96222}, NULL) = 0
gettimeofday({1380900471, 96319}, NULL) = 0
gettimeofday({1380900471, 96337}, NULL) = 0
gettimeofday({1380900471, 96379}, NULL) = 0
ioctl(0, TIOCGWINSZ, {ws_row=35, ws_col=90, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "A:7822.7 V:7822.7 A-V:  0.042 ct"..., 73) = 73
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1380900471, 96572}, NULL) = 0
gettimeofday({1380900471, 96591}, NULL) = 0
gettimeofday({1380900471, 96704}, NULL) = 0
gettimeofday({1380900471, 96739}, NULL) = 0
gettimeofday({1380900471, 96758}, NULL) = 0
gettimeofday({1380900471, 99626}, NULL) = 0
gettimeofday({1380900471, 99675}, NULL) = 0
gettimeofday({1380900471, 99694}, NULL) = 0
gettimeofday({1380900471, 102355}, NULL) = 0
gettimeofday({1380900471, 102585}, NULL) = 0
gettimeofday({1380900471, 102739}, NULL) = 0
gettimeofday({1380900471, 102848}, NULL) = 0
gettimeofday({1380900471, 102872}, NULL) = 0
gettimeofday({1380900471, 102890}, NULL) = 0
gettimeofday({1380900471, 102908}, NULL) = 0
nanosleep({0, 29445000}, NULL)          = 0
gettimeofday({1380900471, 132809}, NULL) = 0
gettimeofday({1380900471, 132927}, NULL) = 0
gettimeofday({1380900471, 133149}, NULL) = 0
gettimeofday({1380900471, 133292}, NULL) = 0
ioctl(0, TIOCGWINSZ, {ws_row=35, ws_col=90, ws_xpixel=0, ws_ypixel=0}) = 0
write(1, "A:7822.7 V:7822.7 A-V: -0.002 ct"..., 73) = 73
select(1, [0], NULL, NULL, {0, 0})      = 0 (Timeout)
gettimeofday({1380900471, 133864}, NULL) = 0
gettimeofday({1380900471, 133969}, NULL) = 0
recv(3, "G\1\1\26d~\0329\355\252m\250\226\360\257K\242\177=\riP\317\237\232\322\230\332B\304\277G"..., 2048, 0) = 1316
recv(3, "G\1\1\35q\206?e\22\241`\203\201\254h\263\276\346\305\366\r\225\351\371OQq]&\22,\377"..., 2048, 0) = 1316
recv(3, "G\1\1\22q|\344\324|^\271\336W!\273\265\310\227r\360\24\227\327\230\366\30a/;,W\224"..., 2048, 0) = 1316
recv(3, "G\1\1\31\326t\343y\324\2k\360\257\242\234u\32\240a\241wx\262\376j\343\326\10\332\36\250P"..., 2048, 0) = 1316
recv(3, "G\1\1\0369g\345\6\27\324$e\333$0\334\311:E|\305B\233\363\250\334\36\6\2547\203\363"..., 2048, 0) = 1316
recv(3, "G\1\1\25Tae\205\376,J\2559\ng\23\17\372\2K\37\242\301\n4\340\351\35kVS\366"..., 2048, 0) = 1316
recv(3, "G\1\1\0323\202R\274\206\300)\314\306\334\25139_V\241\263O89 L\341\361\177\311\213\217"..., 2048, 0) = 1316
recv(3, "[email protected]!\33\0\2\260\27\0\1\303\0\0\341\1\360\0\33\341\1\360\0\4\341\2\360\0+p\v\366\377"..., 2048, 0) = 1316
recv(3, "G\37\377\20\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"..., 2048, 0) = 1316
recv(3, "G\1\1\33\267hl\r\237\352~\365|\23\355\303\243\361\326j\331\302\203\232\3629|F{\202\5\17"..., 2048, 0) = 1316
recv(3, "G\1\1\21\24\32\237\334oJ\320yp1\27g\316\2519\325p\205\33\37\262\254\222a?\332\245p"..., 2048, 0) = 1316
recv(3, "G\1\1\27\375\37\331\314\205\323J\25d\231IY1\2f\276\234\v\24\200(\316\215\252\334\37\247<"..., 2048, 0) = 1316
recv(3, "G\1\1\35\322\2141O\204-\274p2\r6\rWz\373XKt\333\262m\310\311i\377\266\343e"..., 2048, 0) = 1316
recv(3, "G\1\1\23\336\235\364Vg\371\0\327\f\267\226\301M<ul\350\305\220\v\327\361Jhm\201\200\5"..., 2048, 0) = 1316
recv(3, "G\1\1\31/\251\330\364\340\314\205\326\372Y\354-\377\23\252K\n\361\3126c\10>Y>)c("..., 2048, 0) = 1316
recv(3, "G\1\1\20rr4\365x\n\f\3461\31I\36~\371\222\320\372\27\346\366\364\200\241\212\22E\37\301"..., 2048, 0) = 1316
recv(3,  <unfinished ...>
+++ killed by SIGKILL +++
 
Зарегистрироваться или войдите чтобы оставить сообщение.