I am also seeing weird behavior from minidlna after enabling Tivo support. minidlna opens a socket on the tivo port (udp/2190), but netstat shows the receive queue on this socket never clears. The queue gets bigger and bigger as the process runs on. Why doesn't minidlna read that socket?
Looking at the code for minidlna shows that this socket is apparently only used for outgoing broadcasts, and is never checked for input. Ah, that explains it.
But why? There is a comment above the socket create routine which refers to an http socket. But that never seems to be created. I'm not familiar with the tivo protocol, but something seems missing here. More investigation required.
Meanwhile, the dlna part of the server works fine: I am able to access via dlna from another client. Everything else is working fine on my router as well, including ipv6 support via tunnelbroker.net.
Does this issue ring any bells for anyone? Any suggestions?
Here are details of my environment:
WNR3500L router, running Tomato Firmware v1.28.7440 MIPSR2-Toastman K26 USB VPN.
Log entries after enabling Media server in gui:
... daemon.warn minidlna: Starting MiniDLNA version 126.96.36.199 [SQLite 3.7.2].
... daemon.warn minidlna: HTTP listening on port 11690
... daemon.warn minidlna: TiVo support is enabled.
ps information for minidlna:
21395 root 5116 S minidlna -f /etc/minidlna.conf
21396 root 5116 S minidlna -f /etc/minidlna.conf
21397 root 5116 S N minidlna -f /etc/minidlna.conf
Netstat shows expected open ports for minidlna, including udp/2190. Here is netstat -uan output after several minutes of operation:
Proto Recv-Q Send-Q Local Address Foreign Address
udp 23976 0 0.0.0.0:2190 0.0.0.0:*
udp 0 0 127.0.0.1:38032 0.0.0.0:*
udp 0 0 0.0.0.0:53 0.0.0.0:*
udp 0 0 0.0.0.0:67 0.0.0.0:*
udp 0 0 172.22.0.3:3912 0.0.0.0:*
udp 0 0 0.0.0.0:1900 0.0.0.0:*
udp 0 0 0.0.0.0:38000 0.0.0.0:*
udp 0 0 :::53 :::*
And a few more samples for 2190 over the course of the next few minutes:
udp 26016 0 0.0.0.0:2190 0.0.0.0:*
udp 28312 0 0.0.0.0:2190 0.0.0.0:*
Any ideas or suggestions for further debugging? Thanks!