Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
I had an old box running debian 5, and mediatomb worked well enough on it. I now have a new box running debian 6, mediatomb is installed, and I used almost all of the same configuration information in config.xml, but the server is not seen by anything on my network. I have the old box still running, and everything sees it, but the new one is just not there. The new one has the web interface visible on port 49152, has media added to it, and is using sqlite. I checked the logs on both machines, and they look virtually identical, no reported errors. I thought maybe a firewall issue, but if I flush iptables completely, and just allow everything to go everywhere, still nothing. Do I need to add something to the services file, or have some sort of special kernel extensions for this to work? I never had even close to this much trouble the first time around.
I just figured this out for myself. My problem arised from when I transferred a config.xml file from an older computer to a newer one. Come to find out the service mediatomb reads the config.xml file located i the /etc/mediatomb directory, and when the config.xml file in ~/.mediatomb is replace it no longer has the same information in the /etc dir as the ~/ dir. With a little deductive reasoning I concluded the config.xml located ~/.mediatomb must be a hard link to the /etc/mediatomb/config.xml file. So cd into /etc/mediatomb, sudo rm config.xml, then sudo ln ~/.mediatomb/config.xml should produce the correct results, then just restart the service. In list format:
cd /etc/mediatomb; sudo rm config.xml; sudo ln ~/.mediatomb/config.xml; sudo service mediatomb restart; exit
Otherwise if you have a new install check the ~/.mediatomb/config.xml file with nano and confirm ui enabled is in fact enabled. List format
ctrl+w "ui enabled"
change no to yes
That should cover 99% of problems, happy hacking
Did you copy the config.xml file from the old machine to the new machine? If you did and have both instances of MediaTomb running at the same time, then you need to set the <udn> element on the new machine to unique value. The easiest way to do this is empty the <udn> element and restart MediaTomb. A new value will be automatically created.
I lined up the new one next to the old one and set all of the parameters to match up. I also read that the udn parameter will regenerate on start-up if you set it to nothing: <udn></udn>. I did this, and it worked, they're different. I still can't see the server, regardless of whether the old machine is on or not.
One subtle difference: the new machine is running 0.12.0, but the old one does not support the version option. If I type: mediatomb -version …I get an unrecognized option. I also noticed the config.xml files are different, with many more options in the new one. There is a large section regarding streaming and youtube that is not present in the old one. The man page for both installations show 0.11.0 with a date of 2008.02.23. The stranger thing is, even though the dates and versions are the same, the man pages are different. The newer machine shows -debug, -compile-info and -version; these are not in the old one. I'm betting the older version is 0.11.0, and the newer one is 0.12.0, but the man-pages didn't get updated properly. I guess it's a distinction without a difference, I'm still stuck.
Just for grins, here's what I get in the log file each time I start mediatomb:
2012-04-30 14:40:18 INFO: Loading configuration from: /etc/mediatomb/config.xml
2012-04-30 14:40:18 INFO: Checking configuration...
2012-04-30 14:40:18 INFO: Setting filesystem import charset to ANSI_X3.4-1968
2012-04-30 14:40:18 INFO: Setting metadata import charset to ANSI_X3.4-1968
2012-04-30 14:40:18 INFO: Setting playlist charset to ANSI_X3.4-1968
2012-04-30 14:40:18 INFO: Configuration check succeeded.
2012-04-30 14:40:18 INFO: Initialized port: 49152
2012-04-30 14:40:18 INFO: Server bound to: 192.168.0.1
2012-04-30 14:40:19 INFO: MediaTomb Web UI can be reached by following this link:
2012-04-30 14:40:19 INFO: http://192.168.0.1:49152/
The -version and -compile-info options were added to version 0.12.0.
Is MediaTomb and your UPnP device on the same network? i.e. 192.168.0/24
Yep, 192.168.0.27 (receiver), 192.168.0.22 (laptop), 192.168.0.252 (old mediatomb box), 192.168.0.1 (new mediatomb box). vlc on a laptop running win7 also sees the old server, but not the new one.
Have you had a look at the MediaTomb FAQ regarding this issue?
If you open /etc/default/mediatomb you will find and a note about multicast routing being enabled only if INTERFACE is set. You might need to set INTERFACE since UPnP device discovery is done via IGMP which uses multicast.
Good question, and thanks for all tips so far. Yes, I did read that. Here's a clip from config.xml:
<ui enabled="yes" show-tooltips="yes">
<accounts enabled="yes" session-timeout="30">
<account user="mediatomb" password="mediatomb"/>
<!-- <alive>86400</alive> -->
<mark-played-items enabled="no" suppress-cds-updates="yes">
I tried both ways, either specifying the ip address or the interface. Both didn't work, as the documentation states. I'm starting to think this is not a mediatomb problem. Is there something else I need to do to ensure multicasting is enabled? Is it possible this kernel does not have it enabled? Not sure how to check that.
I should add, I also added the iptables lines in the faq:
iptables -A INPUT -i eth1 -s 0.0.0.0/32 -d 18.104.22.168/32 -p igmp -j ACCEPT
iptables -A INPUT -i eth1 -d 22.214.171.124/8 -p igmp -j ACCEPT
This also did not help. I even tried opening the firewall completely, nothing.
Nuts, wish I could edit these posts after the fact. I copied the above lines out of the faq but forgot to doctor them to match my settings. Let's try this one more time:
iptables -v -A INPUT -i eth0 -s 0.0.0.0/32 -d 126.96.36.199/32 -p igmp -j ACCEPT
iptables -v -A INPUT -i eth0 -d 188.8.131.52/8 -p igmp -j ACCEPT
Just to confirm, you set <interface> in /etc/mediatomb/config.xml, but did you also set INTERFACE in /etc/default/mediatomb ? That's the config file that controls the MediaTomb init script.
I'm pretty sure multicasting is enabled in the Debian 6 kernel. You can check with: grep CONFIG_IP_MULTICAST /boot/config-<kernel version> .
Just noticed what you were getting at with the INTERFACE definition in /etc/default/mediatomb. It was not set, in either the old or new machines. I set it to eth0, still no go. I also did an ifconfig on eth0:
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2050671 errors:0 dropped:0 overruns:0 frame:0
TX packets:2994926 errors:0 dropped:0 overruns:0 carrier:0
RX bytes:219388997 (209.2 MiB) TX bytes:3770822193 (3.5 GiB)
Interrupt:31 Base address:0x6000
I've snipped out some of the details, but am I right that MULTICAST means that part is working?
Started my post before your last one came in, sorry. Thanks for the tip on checking the kernel, I get CONFIG_IP_MULTICAST=y
I believe multicast is working. I actually don't have CONFIG_IP_MULTICAST enabled in my kernel and MediaTomb has always worked. I also don't have any internal firewall.
Do you have any other UPnP/DLNA servers such as Windows Media Player running on your Windows 7 machine? I've seen posts by other users that WMP was somehow interfering with other media servers.
No, actually as I sit here, I'm on an XP machine. I'm using winamp with a upnp plug-in (not a wmp fan). It sees the old machine and not the new one too.
Can you ping the new machine (192.168.0.1) from Windows?
Yep. I can ping my desktop machine from the mediatomb server machine too.
I am actually using the mediatomb server machine as a router; it has two NICs. That all works famously.
Can you install djmount on your old MediaTomb machine. Debian has packages available. djmount lets you mount media servers as a filesystem. If you can't mount it then it's definitely a problem somewhere on your new machine.
I can, however there seems to be no debian package available, plus I need fuse too, also no debian package. I need to build them, which is a little slow on this antique (it's a pentium 1). If two win7 laptops, one xp desktop, and a stereo receiver can all see the antique but not the new machine, well, do I really need to go this far?
That's strange since I just installed djmount via apt-get using official repositories on Debian 6. If the packages aren't available then don't bother building it yourself. I just wanted to confirm where the problem is.
The old machine is running deb5, new one is deb6. I updated the sources for apt-get with the new repository archive location, but it comes up with no packages found when I try an install.
Yes I can now see that there isn't any djmount package for Debian 5. I just assumed there was. Sorry about that.
I think the issue is not with MediaTomb. The config.xml looks fine and there are no errors in the log. I can only guess that's it's an issue with the networking on your new machine. You mentioned that the new machine acts as a router so maybe something is misconfigured.
I agree with the idea something is amiss, but I just am not seeing anything that would show what it is. FWIW, the old machine was a doing the exact same router job, and I'm even using the same set of iptables rules. Well, I did add the extra multicast rules.