Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Multiple UPnP Servers on same interface/ip address
07-05-2012, 16:23
Post: #1
Multiple UPnP Servers on same interface/ip address
Hi

i am trying different upnp servers on the same host (= same interface and same IP address). should that work cleanly or is it supposed to create problems? at lest all upnp server have to listen on udp port 1900 ? i am expierncing strange problems as not all upnp servers are always listed on the control points... some times there is only one, sometimes there are three etc... (testing minim, twonky and logitechmediacenter (aka squeezecenter) together).

greets
KoS
Find all posts by this user
Quote this message in a reply
07-05-2012, 20:42
Post: #2
RE: Multiple UPnP Servers on same interface/ip address
(07-05-2012 16:23)KoS Wrote:  Hi

i am trying different upnp servers on the same host (= same interface and same IP address). should that work cleanly or is it supposed to create problems? at lest all upnp server have to listen on udp port 1900 ? i am expierncing strange problems as not all upnp servers are always listed on the control points... some times there is only one, sometimes there are three etc... (testing minim, twonky and logitechmediacenter (aka squeezecenter) together).

greets
KoS

This should work OK, but I have heard about problems when using an older version of Twonky (5.1.x) in combination with MinimServer. This was fixed by moving up to the latest level of Twonky. I'm not aware of anyone who has tried using SqueezeCenter together with MinimServer.

To narrow down the problem, can you try running MinimServer with a recent version of Twonky (but not SqueezeCenter) and see if this works OK. If this combination is working OK, can you try adding SqueezeCenter and see if this causes a problem.

The UPnP discovery protocol uses UDP multicast, which is an unreliable protocol and can be adversely affected by a wide variety of network-related issues, especially when using a wireless network. I've had to debug and work around a number of these issues on my own network. A good first step in the debugging process is to try this with a fully wired network and see if that improves things.
Find all posts by this user
Quote this message in a reply
08-05-2012, 07:19 (This post was last modified: 08-05-2012 07:27 by rb73.)
Post: #3
RE: Multiple UPnP Servers on same interface/ip address
I'm running Twonky 6.0.34, SqueezeboxServer (they keep changing the name...), and 2 instances of MinimServer on the same Linux machine. Works perfectly Tongue

I've changed Twonky's default port (9000) to 9005, as SqueezeCenter also defaulted to 9000. I assume you did something similar? If not either of the servers might not always use the same port. This shouldn't be an issue for the UPnP servers and the UPnP control points, but I'm assuming the Squeezeboxes might not like it.

Also, from what I've read on the Linn forums I seem to recall that not all UPnP control points deal with changing IP addresses (and maybe ports) gracefully.

If you haven't done so already, I'd recommend setting things up so that each server has its own port, and that that port doesn't change due to e.g. server reboot, service stop/restart.
Find all posts by this user
Quote this message in a reply
09-05-2012, 10:21 (This post was last modified: 09-05-2012 11:28 by rb73.)
Post: #4
RE: Multiple UPnP Servers on same interface/ip address
(08-05-2012 07:19)rb73 Wrote:  I'm running Twonky 6.0.34, SqueezeboxServer (they keep changing the name...), and 2 instances of MinimServer on the same Linux machine. Works perfectly Tongue
I obviously shouldn't have said that...

When I try to start the second MinimServer, it throws a Java exception:

MinimServer crash dump, produced at 20120509-111418.566

org.openhome.net.core.ErrorNetworkAddressInUse
at org.openhome.net.core.Library.checkStartupError(Library.java:128)
at org.openhome.net.core.Library.startDv(Library.java:112)
at org.jminim.lib.OhNetService.createDeviceStack(OhNetService.java:232)
at org.jminim.lib.OhNetService.createDeviceFactory(OhNetService.java:153)
at org.jminim.lib.OhNetService.access$300(OhNetService.java:35)
at org.jminim.lib.OhNetService$Proxy.createDeviceFactory(OhNetService.java:440)
at org.jminim.lib.MonitorService$Monitor.createDevice(MonitorService.java:145)
at org.jminim.lib.MonitorService$Monitor.listenerAdded(MonitorService.java:183)
at org.jminim.core.RuntimeImpl.addEventListener(RuntimeImpl.java:208)
at org.jminim.lib.RuntimeService$Proxy.addEventListener(RuntimeService.java:126)
at com.minimserver.Server.doStart(Server.java:420)
at com.minimserver.Server.start(Server.java:380)
at org.jminim.core.ContextImpl.startComponent(ContextImpl.java:170)
at org.jminim.core.ContextImpl.start(ContextImpl.java:86)
at org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:36)
at org.jminim.core.ContextImpl.start(ContextImpl.java:86)
at org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:370)
at org.jminim.core.LauncherImpl.run(LauncherImpl.java:658)
at org.jminim.core.LauncherImpl.launch(LauncherImpl.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.jminim.launch.Launcher.launch(Launcher.java:60)
at com.minimserver.launch.LaunchServer.main(LaunchServer.java:26)

Thread[Thread-3,5,main]
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
org.jminim.lib.OhNetService$ActionThread.run(OhNetService.java:314)

Thread[main,5,main]
java.lang.Thread.dumpThreads(Native Method)
java.lang.Thread.getAllStackTraces(Thread.java:1503)
org.jminim.core.LogImpl.writeCrashDump(LogImpl.java:545)
org.jminim.core.LogImpl.printStackTraceSync(LogImpl.java:506)
org.jminim.core.LogImpl.printStackTrace(LogImpl.java:235)
org.jminim.core.ContextImpl.startComponent(ContextImpl.java:201)
org.jminim.core.ContextImpl.start(ContextImpl.java:86)
org.jminim.core.RootContextImpl.startComponent(RootContextImpl.java:36)
org.jminim.core.ContextImpl.start(ContextImpl.java:86)
org.jminim.core.RuntimeImpl.run(RuntimeImpl.java:370)
org.jminim.core.LauncherImpl.run(LauncherImpl.java:658)
org.jminim.core.LauncherImpl.launch(LauncherImpl.java:81)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav​a:43)
java.lang.reflect.Method.invoke(Method.java:616)
org.jminim.launch.Launcher.launch(Launcher.java:60)
com.minimserver.launch.LaunchServer.main(LaunchServer.java:26)

Thread[Thread-4,5,main]
java.lang.Object.wait(Native Method)
org.jminim.lib.OhNetService$TimerThread.run(OhNetService.java:356)

Thread[Signal Dispatcher,9,system]

Thread[Finalizer,8,system]
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)

Thread[Thread-0,5,main]
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
org.jminim.core.RuntimeImpl$ActionThread.run(RuntimeImpl.java:736)

Thread[Reference Handler,10,system]
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)

Thread[Java2D Disposer,10,system]
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:133)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:149)
sun.java2d.Disposer.run(Disposer.java:143)
java.lang.Thread.run(Thread.java:636)

- - - - - - - - - - - - - - - -

Any ideas what's happening here? The issue doesn't happen with the 0.30 version I used previously.

Cheers,
JW
Find all posts by this user
Quote this message in a reply
09-05-2012, 13:13
Post: #5
RE: Multiple UPnP Servers on same interface/ip address
I've recently moved to a newer version of ohNet, and the problem seems to be caused by different behaviour in that new version. I've posted to the ohNet list to try to find out what's changed. As soon as I have more information, I'll post an update here.

This problem doesn't affect the 0.31 or 0.32 releases. It's present only in a test build that I've sent to one or two people.
Find all posts by this user
Quote this message in a reply
09-05-2012, 15:19
Post: #6
RE: Multiple UPnP Servers on same interface/ip address
Thx for the update Smile
Find all posts by this user
Quote this message in a reply
10-05-2012, 08:39
Post: #7
RE: Multiple UPnP Servers on same interface/ip address
(09-05-2012 15:19)rb73 Wrote:  Thx for the update Smile

The ohNet device stack was changed to use a fixed port number by default. This works with a single instance, but not with multiple instances. I've updated MinimServer to override this default and select a variable port number instead. This fix will be in the next release.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)