UPNP on xbmc
Moderator: Forum Moderators
UPNP on xbmc
Via XBMC On both Linux (Ubuntu 14.04.1) and Android (Samsung Tab 4 4.4.2) I can't see mythtv upnp server.
However on Ubuntu I can see mythtv upnp with upnp-inspector and on android with BubbleUPNP. So the upnp server is accessible and I can play videos on android from mythtv.
Does anyone know if there is a way to determine if something about the mythtv setup is causing xbmc to ignore the upnp server.
Myth 0.28 latest daily
XBMC 13.2 and on different Linux server 14 b5
I have already asked on xbmc forum but thought others might have experienced same phenomenon here
However on Ubuntu I can see mythtv upnp with upnp-inspector and on android with BubbleUPNP. So the upnp server is accessible and I can play videos on android from mythtv.
Does anyone know if there is a way to determine if something about the mythtv setup is causing xbmc to ignore the upnp server.
Myth 0.28 latest daily
XBMC 13.2 and on different Linux server 14 b5
I have already asked on xbmc forum but thought others might have experienced same phenomenon here
Re: UPNP on xbmc
From what I've seen from discussions about upnp the spec is a little vague and many parts are optional which often means a client may work fine with one server but not another. Worse still some clients/servers use there own extensions and refuse to work with other client/servers from other vendors.
I believe there is also a bug in one of the popular libraries used to implement some client/servers which has since been fixed but will be a while before all distros update to uses it. All in all it's a bit of a mess.
All we can do is make the Myth server as compliment with the spec as possible and hope others will follow. I know there have been some workarounds added for some clients so if you can workout what the problem is we may be able to add a temporary workaround. I think running mythbackend with -v upnp --loglevel debug will tell you more about what is happening.
I believe there is also a bug in one of the popular libraries used to implement some client/servers which has since been fixed but will be a while before all distros update to uses it. All in all it's a bit of a mess.
All we can do is make the Myth server as compliment with the spec as possible and hope others will follow. I know there have been some workarounds added for some clients so if you can workout what the problem is we may be able to add a temporary workaround. I think running mythbackend with -v upnp --loglevel debug will tell you more about what is happening.
Re: UPNP on xbmc
Try with the latest master again, there was a regression in MythTV affecting a minority of upnp clients which I fixed last night by reverting the problem code.
Re: UPNP on xbmc
So the U no longer means Universalpaulh wrote:From what I've seen from discussions about upnp the spec is a little vague and many parts are optional which often means a client may work fine with one server but not another. Worse still some clients/servers use there own extensions and refuse to work with other client/servers from other vendors.
Re: UPNP on xbmc
I will try the latest master when it appears in the unstable ppa. The ppa currently has amd64 2:0.28.0~master.20141130.02e92a2-0ubuntu0mythbuntu2 not sure if that will include your change. is there an easy way to determine that?stuartm wrote:Try with the latest master again, there was a regression in MythTV affecting a minority of upnp clients which I fixed last night by reverting the problem code.
Re: UPNP on xbmc
Commit: [02e92a2] is the fix mentioned. In other words,pellcorp wrote:[The ppa currently has amd64 2:0.28.0~master.20141130.02e92a2-0ubuntu0mythbuntu2 not sure if that will include your change. is there an easy way to determine that?
you have the fix now.
Re: UPNP on xbmc
Yep sorry should have spotted that. Did not twig that the sha in the version is a git commit.bill6502 wrote:Commit: [02e92a2] is the fix mentioned. In other words,pellcorp wrote:[The ppa currently has amd64 2:0.28.0~master.20141130.02e92a2-0ubuntu0mythbuntu2 not sure if that will include your change. is there an easy way to determine that?
you have the fix now.
Re: UPNP on xbmc
Made no difference, I will add the upnp debug logging and try again later on tonight
Re: UPNP on xbmc
Ok, so I started mythbackend with upnp logging on and here below is the log for upnp-inspector and xbmc, both from the same Ubuntu 14.04.1 machine.
Mythtv box is also a Ubuntu 14.04.1 machine, but on a different box. Both on the same subnet
UPNP-INSPECTOR
--------------
2014-12-01 20:23:15.369973 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:15.370076 D SSDP::ProcessSearchrequest : [ssdp:all] MX=5
2014-12-01 20:23:15.370149 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:15.370217 D SSDP::ProcessSearchrequest : [ssdp:all] MX=5
2014-12-01 20:23:17.457144 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:17.457262 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:17.457337 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:17.457417 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:18.322260 D SSDPExtension::GetDeviceDesc - Host=192.168.0.5 Port=6544 UserAgent=Coherence PageGetter
2014-12-01 20:23:18.338577 I UPnpCMGR::ProcessRequest - Method (GetServDesc)
2014-12-01 20:23:18.368354 I Eventing::ProcessRequest - Method (CMGR_Event)
2014-12-01 20:23:18.368713 I Eventing::ProcessRequest - Method (CDS_Event)
2014-12-01 20:23:18.369078 I UPnp::Eventing::NotifySubscriber( 192.168.0.102:55232 ) : 4 Variables
2014-12-01 20:23:18.369308 I UPnp::Eventing::NotifySubscriber( 192.168.0.102:55232 ) : 4 Variables
2014-12-01 20:23:18.632153 I UPnpEventTask::Execute - NOTIFY to 192.168.0.102:55232 returned HTTP/1.1 200 OK
.
2014-12-01 20:23:18.739585 I UPnpEventTask::Execute - NOTIFY to 192.168.0.102:55232 returned HTTP/1.1 200 OK
.
2014-12-01 20:23:19.924226 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:19.924346 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:19.924520 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:19.924607 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:21.953547 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:21.953659 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:21.953732 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:21.953812 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.233718 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.233830 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.233904 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.233982 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.515553 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.515664 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.515933 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.516017 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:24.413356 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:24.413470 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:24.413544 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:24.413625 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
----- snip - plus a whole heap of other stuff after, but basically upnp-inspector works just fine --
XBMC - Search upnp://
---------------------
2014-12-01 20:25:02.546305 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:02.546419 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:02.546495 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:02.546576 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:04.713221 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:04.713336 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:04.713410 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:04.713491 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:05.073428 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:05.073466 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:05.073562 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:05.073585 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.374775 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.374888 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.374963 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.375041 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.884947 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.885059 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.885245 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.885328 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.179948 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.180060 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.180136 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.180214 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.416261 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.416372 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.416626 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.416714 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
Mythtv box is also a Ubuntu 14.04.1 machine, but on a different box. Both on the same subnet
UPNP-INSPECTOR
--------------
2014-12-01 20:23:15.369973 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:15.370076 D SSDP::ProcessSearchrequest : [ssdp:all] MX=5
2014-12-01 20:23:15.370149 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:15.370217 D SSDP::ProcessSearchrequest : [ssdp:all] MX=5
2014-12-01 20:23:17.457144 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:17.457262 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:17.457337 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:17.457417 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:18.322260 D SSDPExtension::GetDeviceDesc - Host=192.168.0.5 Port=6544 UserAgent=Coherence PageGetter
2014-12-01 20:23:18.338577 I UPnpCMGR::ProcessRequest - Method (GetServDesc)
2014-12-01 20:23:18.368354 I Eventing::ProcessRequest - Method (CMGR_Event)
2014-12-01 20:23:18.368713 I Eventing::ProcessRequest - Method (CDS_Event)
2014-12-01 20:23:18.369078 I UPnp::Eventing::NotifySubscriber( 192.168.0.102:55232 ) : 4 Variables
2014-12-01 20:23:18.369308 I UPnp::Eventing::NotifySubscriber( 192.168.0.102:55232 ) : 4 Variables
2014-12-01 20:23:18.632153 I UPnpEventTask::Execute - NOTIFY to 192.168.0.102:55232 returned HTTP/1.1 200 OK
.
2014-12-01 20:23:18.739585 I UPnpEventTask::Execute - NOTIFY to 192.168.0.102:55232 returned HTTP/1.1 200 OK
.
2014-12-01 20:23:19.924226 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:19.924346 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:19.924520 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:19.924607 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:21.953547 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:21.953659 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:21.953732 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:21.953812 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.233718 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.233830 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.233904 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.233982 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.515553 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.515664 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:22.515933 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:22.516017 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:24.413356 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:24.413470 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:23:24.413544 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:23:24.413625 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
----- snip - plus a whole heap of other stuff after, but basically upnp-inspector works just fine --
XBMC - Search upnp://
---------------------
2014-12-01 20:25:02.546305 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:02.546419 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:02.546495 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:02.546576 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:04.713221 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:04.713336 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:04.713410 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:04.713491 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:05.073428 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:05.073466 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:05.073562 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:05.073585 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.374775 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.374888 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.374963 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.375041 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.884947 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.885059 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:06.885245 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:06.885328 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.179948 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.180060 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.180136 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.180214 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.416261 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.416372 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 20:25:08.416626 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 20:25:08.416714 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
Re: UPNP on xbmc
I get the same basic log from VLC - that surely can't be a coincidence.
2014-12-01 22:03:51.784805 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.784924 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.785001 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.785082 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.992855 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.992966 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.993075 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.993155 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:53.843945 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:53.844062 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:53.844138 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:53.844220 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:54.045047 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:54.045161 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:54.045508 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:54.045610 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.224246 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.224360 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.224435 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.224520 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.825395 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.825510 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.825584 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.825663 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.784805 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.784924 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.785001 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.785082 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.992855 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.992966 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:51.993075 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:51.993155 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:53.843945 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:53.844062 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:53.844138 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:53.844220 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:54.045047 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:54.045161 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:54.045508 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:54.045610 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.224246 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.224360 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.224435 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.224520 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.825395 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.825510 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:03:55.825584 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:03:55.825663 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
Re: UPNP on xbmc
Also djmount does not seem to be able to access the mythtv upnp either. I see nothing appear in the mounted directory. But I get very similiar commands in the logs
2014-12-01 22:29:29.899060 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:29.899171 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:29.899565 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:29.899672 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:30.269740 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:30.269847 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:30.269920 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:30.270001 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.039782 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.039926 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.039998 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.040075 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.165793 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.165901 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.166304 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.166406 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:30:12.602268 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:12.602372 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:service:ContentDirectory:1] MX=5
2014-12-01 22:30:12.718356 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:12.718457 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:service:ContentDirectory:1] MX=5
2014-12-01 22:30:22.973911 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:22.974022 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:30:22.974417 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:22.974524 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:29.899060 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:29.899171 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:29.899565 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:29.899672 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:30.269740 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:30.269847 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:30.269920 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:30.270001 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.039782 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.039926 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.039998 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.040075 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.165793 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.165901 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:29:33.166304 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:29:33.166406 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:30:12.602268 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:12.602372 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:service:ContentDirectory:1] MX=5
2014-12-01 22:30:12.718356 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:12.718457 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:service:ContentDirectory:1] MX=5
2014-12-01 22:30:22.973911 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:22.974022 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-01 22:30:22.974417 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-01 22:30:22.974524 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
Re: UPNP on xbmc
The gupnp-av-cp can also correctly access the MythTV UPNP server. And this one is the quickest of them all to load.
2014-12-02 01:02:01.215262 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.215375 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaServer:1] MX=3
2014-12-02 01:02:01.428627 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.428735 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaRenderer:1] MX=3
2014-12-02 01:02:01.715525 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.715632 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaServer:1] MX=3
2014-12-02 01:02:01.724286 D SSDPExtension::GetDeviceDesc - Host=192.168.0.5 Port=6544 UserAgent=gupnp-av-cp GUPnP/0.20.10 DLNADOC/1.50
2014-12-02 01:02:01.731823 I Eventing::ProcessRequest - Method (CDS_Event)
2014-12-02 01:02:01.732229 I UPnp::Eventing::NotifySubscriber( 192.168.0.102:35439 ) : 4 Variables
2014-12-02 01:02:01.732515 D UPnpCDS::ProcessRequest
: url = /CDS_Control
: Method = Browse
: ObjectId = 0
: BrowseFlag = 2
: Filter = @childCount
: StartingIndex = 0
: RequestedCount = 64
: SortCriteria =
2014-12-02 01:02:01.732522 I UPnpCDS::HandleBrowse ObjectID=0
2014-12-02 01:02:01.945562 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.945672 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaRenderer:1] MX=3
2014-12-02 01:02:01.951033 I UPnpEventTask::Execute - NOTIFY to 192.168.0.102:35439 returned HTTP/1.1 200 OK
.
2014-12-02 01:02:02.216581 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:02.216690 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaServer:1] MX=3
2014-12-02 01:02:02.328233 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:02.328338 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaRenderer:1] MX=3
2014-12-02 01:02:01.215262 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.215375 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaServer:1] MX=3
2014-12-02 01:02:01.428627 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.428735 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaRenderer:1] MX=3
2014-12-02 01:02:01.715525 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.715632 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaServer:1] MX=3
2014-12-02 01:02:01.724286 D SSDPExtension::GetDeviceDesc - Host=192.168.0.5 Port=6544 UserAgent=gupnp-av-cp GUPnP/0.20.10 DLNADOC/1.50
2014-12-02 01:02:01.731823 I Eventing::ProcessRequest - Method (CDS_Event)
2014-12-02 01:02:01.732229 I UPnp::Eventing::NotifySubscriber( 192.168.0.102:35439 ) : 4 Variables
2014-12-02 01:02:01.732515 D UPnpCDS::ProcessRequest
: url = /CDS_Control
: Method = Browse
: ObjectId = 0
: BrowseFlag = 2
: Filter = @childCount
: StartingIndex = 0
: RequestedCount = 64
: SortCriteria =
2014-12-02 01:02:01.732522 I UPnpCDS::HandleBrowse ObjectID=0
2014-12-02 01:02:01.945562 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:01.945672 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaRenderer:1] MX=3
2014-12-02 01:02:01.951033 I UPnpEventTask::Execute - NOTIFY to 192.168.0.102:35439 returned HTTP/1.1 200 OK
.
2014-12-02 01:02:02.216581 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:02.216690 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaServer:1] MX=3
2014-12-02 01:02:02.328233 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-02 01:02:02.328338 D SSDP::ProcessSearchrequest : [urn:schemas-upnp-org:device:MediaRenderer:1] MX=3
Re: UPNP on xbmc
Try "-v http,upnp --loglevel=debug" then we'll get the actual requests being made by the client.
UPnP and DLNA is universal, but many clients are very badly implemented. Even ones that claim stuff like "DLNA Compliance" turn out not to follow the specs when you look closer at them. When I last looked at XBMC (in passing, beginning of the year) they didn't stick to the DLNA spec. Some clients seem to depend upon, and abuse optional features. Other clients (Samsung TVs, Windows Media Player, XBox) use proprietary extensions ignoring the official UPnP alternatives to do the same thing (e.g. Container shortcuts). Very few UPnP clients understand UPnP features above MediaServer 1 (2002), even though MythTV supports the latest version, 4 (2014).
MythTV doesn't currently support the UPnP Search feature (it's in the works), but some clients will only use this for 'browsing' (Totem) and not the supported (required) UPnP Browse feature ...
Major implementations such as libupnp were broken for years until a few weeks ago when it was finally patched. Clients which use libupnp such as VLC were (still are) affected. Speaking of VLC on the desktop, one of the worst UPnP clients EVER, akin to malware it loads data from the server in thousands of individual requests, effectively causing a Denial of Service attack.
UPnP and DLNA is universal, but many clients are very badly implemented. Even ones that claim stuff like "DLNA Compliance" turn out not to follow the specs when you look closer at them. When I last looked at XBMC (in passing, beginning of the year) they didn't stick to the DLNA spec. Some clients seem to depend upon, and abuse optional features. Other clients (Samsung TVs, Windows Media Player, XBox) use proprietary extensions ignoring the official UPnP alternatives to do the same thing (e.g. Container shortcuts). Very few UPnP clients understand UPnP features above MediaServer 1 (2002), even though MythTV supports the latest version, 4 (2014).
MythTV doesn't currently support the UPnP Search feature (it's in the works), but some clients will only use this for 'browsing' (Totem) and not the supported (required) UPnP Browse feature ...
Major implementations such as libupnp were broken for years until a few weeks ago when it was finally patched. Clients which use libupnp such as VLC were (still are) affected. Speaking of VLC on the desktop, one of the worst UPnP clients EVER, akin to malware it loads data from the server in thousands of individual requests, effectively causing a Denial of Service attack.
Re: UPNP on xbmc
Hi,
Below is the log from trying xbmc upnp with mythtv 0.28 -v http,upnp --loglevel=debug. Edited, as I think another DLNA server was interfering with the logging. I shut that down and this as best as I can tell is the result of XBMC 14 rc2 adding a video source of upnp:// and not finding anything.
2014-12-04 14:55:54.332961 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.333075 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:54.333151 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.333231 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:54.334637 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.334743 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:54.335088 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.335189 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:56.854802 I HttpWorker(57): New connection
2014-12-04 14:55:56.855221 I (Request Header) host: 192.168.0.5:6544
2014-12-04 14:55:56.855235 I (Request Header) user-agent: UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:56.855305 I ExtractMethodFromURL(end) : getDeviceDesc : /
2014-12-04 14:55:56.855336 D m_sBaseUrl: /
2014-12-04 14:55:56.855393 D SSDPExtension::GetDeviceDesc - Host=192.168.0.5 Port=6544 UserAgent=UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:56.858410 I HTTPRequest::SendResponse(xml/html) () :200 OK -> 192.168.0.102: 1
2014-12-04 14:55:56.858434 D Reponse Content Length: 3553
2014-12-04 14:55:56.858604 D Response header size: 313 bytes
2014-12-04 14:55:57.862379 I (Request Header) host: 192.168.0.5:6544
2014-12-04 14:55:57.862400 I (Request Header) user-agent: UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:57.862472 I ExtractMethodFromURL(end) : GetServDesc : /CMGR_Control
2014-12-04 14:55:57.862506 D m_sBaseUrl: /CMGR_Control
2014-12-04 14:55:57.862521 I UPnpCMGR::ProcessRequest - Method (GetServDesc)
2014-12-04 14:55:57.862599 I HTTPRequest::SendResponse( File ) :200 OK -> 192.168.0.102:
2014-12-04 14:55:57.862613 I SendResponseFile ( /usr/share/mythtv/CMGR_scpd.xml )
2014-12-04 14:55:57.862710 I HTTPRequest::TestMimeType(/usr/share/mythtv/CMGR_scpd.xml) - type is text/xml
2014-12-04 14:55:57.862848 D Response header size: 372 bytes
2014-12-04 14:55:57.865238 I (Request Header) host: 192.168.0.5:6544
2014-12-04 14:55:57.865258 I (Request Header) user-agent: UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:57.865326 I ExtractMethodFromURL(end) : GetServDesc : /CDS_Control
2014-12-04 14:55:57.865356 D m_sBaseUrl: /CDS_Control
2014-12-04 14:55:57.865426 I HTTPRequest::SendResponse( File ) :200 OK -> 192.168.0.102:
2014-12-04 14:55:57.865438 I SendResponseFile ( /usr/share/mythtv/CDS_scpd.xml )
2014-12-04 14:55:57.865519 I HTTPRequest::TestMimeType(/usr/share/mythtv/CDS_scpd.xml) - type is text/xml
2014-12-04 14:55:57.865641 D Response header size: 371 bytes
Below is the log from trying xbmc upnp with mythtv 0.28 -v http,upnp --loglevel=debug. Edited, as I think another DLNA server was interfering with the logging. I shut that down and this as best as I can tell is the result of XBMC 14 rc2 adding a video source of upnp:// and not finding anything.
2014-12-04 14:55:54.332961 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.333075 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:54.333151 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.333231 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:54.334637 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.334743 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:54.335088 D SSDP::ProcessData - requestLine: M-SEARCH * HTTP/1.1
2014-12-04 14:55:54.335189 D SSDP::ProcessSearchrequest : [upnp:rootdevice] MX=5
2014-12-04 14:55:56.854802 I HttpWorker(57): New connection
2014-12-04 14:55:56.855221 I (Request Header) host: 192.168.0.5:6544
2014-12-04 14:55:56.855235 I (Request Header) user-agent: UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:56.855305 I ExtractMethodFromURL(end) : getDeviceDesc : /
2014-12-04 14:55:56.855336 D m_sBaseUrl: /
2014-12-04 14:55:56.855393 D SSDPExtension::GetDeviceDesc - Host=192.168.0.5 Port=6544 UserAgent=UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:56.858410 I HTTPRequest::SendResponse(xml/html) () :200 OK -> 192.168.0.102: 1
2014-12-04 14:55:56.858434 D Reponse Content Length: 3553
2014-12-04 14:55:56.858604 D Response header size: 313 bytes
2014-12-04 14:55:57.862379 I (Request Header) host: 192.168.0.5:6544
2014-12-04 14:55:57.862400 I (Request Header) user-agent: UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:57.862472 I ExtractMethodFromURL(end) : GetServDesc : /CMGR_Control
2014-12-04 14:55:57.862506 D m_sBaseUrl: /CMGR_Control
2014-12-04 14:55:57.862521 I UPnpCMGR::ProcessRequest - Method (GetServDesc)
2014-12-04 14:55:57.862599 I HTTPRequest::SendResponse( File ) :200 OK -> 192.168.0.102:
2014-12-04 14:55:57.862613 I SendResponseFile ( /usr/share/mythtv/CMGR_scpd.xml )
2014-12-04 14:55:57.862710 I HTTPRequest::TestMimeType(/usr/share/mythtv/CMGR_scpd.xml) - type is text/xml
2014-12-04 14:55:57.862848 D Response header size: 372 bytes
2014-12-04 14:55:57.865238 I (Request Header) host: 192.168.0.5:6544
2014-12-04 14:55:57.865258 I (Request Header) user-agent: UPnP/1.0 DLNADOC/1.50 Kodi
2014-12-04 14:55:57.865326 I ExtractMethodFromURL(end) : GetServDesc : /CDS_Control
2014-12-04 14:55:57.865356 D m_sBaseUrl: /CDS_Control
2014-12-04 14:55:57.865426 I HTTPRequest::SendResponse( File ) :200 OK -> 192.168.0.102:
2014-12-04 14:55:57.865438 I SendResponseFile ( /usr/share/mythtv/CDS_scpd.xml )
2014-12-04 14:55:57.865519 I HTTPRequest::TestMimeType(/usr/share/mythtv/CDS_scpd.xml) - type is text/xml
2014-12-04 14:55:57.865641 D Response header size: 371 bytes
Re: UPNP on xbmc
The client (XBMC Kodi @ to 192.168.0.102) requests the device description, which we send in response. It seems XBMC completely ignores the response, which suggests it's an XBMC bug, but I can only speculate about why it doesn't like our response.
Some clients ignore servers which state a higher supported version of UPnP services than the client understands - this is against the UPnP and DLNA specs which state clients and servers must tolerate differences in version since UPnP is backwards compatible.
Some clients ignore servers which state a higher supported version of UPnP services than the client understands - this is against the UPnP and DLNA specs which state clients and servers must tolerate differences in version since UPnP is backwards compatible.