Fixing device recognition using DD in clients.db

General discussion about the media server. Feature requests. Hints, tips and tricks.
Locked
sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player
Fixing device recognition using DD in clients.db

Post by sba » Mon Aug 01, 2011 7:37 pm

Hi,

I have a Yamaha RX-V1067 receiver for which I have created a custom view.

The problem is that TMS 6.0.34 (qpkg on a QNAP TS109II) keeps recognizing it incorrectly (as a "General Media Receiver" whereas the device only can play music, no pictures or videos) and doesn't remember my view choice for the device.

How do I determine the DD value used by the Yamaha so that I can create a new entry in clients.db where I would specify the correct settings (AV:M, DV:yamaha)?

TIA for your help

Best regards,

Stéphane.

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Mon Aug 01, 2011 7:52 pm

I'll try:

>>
NA:AV Receiver
DD:AV Receiver
XM:DNLA15
AV:M
DV:yamaha


given that WireShark reveals the following strings in the device's response:

<friendlyName>RX-V1067</friendlyName>
<manufacturer>YAMAHA CORPORATION</manufacturer>
<manufacturerURL>http://www.yamaha.com/</manufacturerURL>
<modelDescription>AV Receiver</modelDescription>
<modelName>RX-V1067</modelName>
<modelNumber>V1067</modelNumber>

but how would I filter better e.g. by modelName?

Twonky_Rick
Posts:3816
Joined:Wed Nov 19, 2008 1:59 am
AV Hardware:Samsung 650 Series TV (2010), 4.5TB HP MediaSmart server with 100,000 songs, 5) AT&T U-Verse STB, CE form-factor Media Center PC and 6 other networked PCs running TwonkyManager, 2 Sonos ZP80, Sonos S5 speaker, Apple TV (running XBMC), Roku Soundbridge, X-Box 360, Sony PS3, Kodak 10" Wireless Photo Frame, iPhone with PlugPlayer software, Sonos CR-100.
Location:San Diego
Contact:

Re: Fixing device recognition using DD in clients.db

Post by Twonky_Rick » Wed Aug 03, 2011 9:15 pm

Custom device profiles are only automatically selected when your device matches a profile in our library. In most cases a 'Generic' profile is the right choice for your device. Custom profiles are only created with problems are discovered with a device.

If you create your own custom profile and it works better than one of the Generic profiles, let us know and we'll consider adding it.

- Rick
Follow me on Twitter! mostlytech1
Checkout my blog: http://mostly-tech.com/

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Thu Aug 04, 2011 6:36 am

Hi Rick,

Thx for getting back to me... although this doesn't answer my question.

My Yamaha RX-V1067 is automatically detected as a "Generic Media Receiver" using the default navigation tree which I have configured as "Advanced media view."

This is inappropriate for two reasons:
- a Generic Media Receiver supports all types of media, whereas the Yamaha supports only Music, so AV:M should be in effect (like "Generic Music Only Receiver")
- I want the default view to be the customized "yamaha" view I have created that better fits the device's UI, but this is only possible if the device is matched to a specific entry in clients.db (I've done this for my Noxon by adding DV:noxon to clients.db in the corresponding entry).

So back to my original question: how do I get TMS to choose a specic, custom entry in clients.db for that device?

My custom entry:

>>
NA:AV Receiver
DD:AV Receiver
XM:DNLA15
AV:M
DV:yamaha

is not automatically selected for the Yamaha; how comes?


Best regards,

Stéphane.

RG1
Posts:73
Joined:Sat May 02, 2009 1:42 am
AV Hardware:Philips Streamium WAC 7500
Philips Streamium WAS 7500
Philips Streamium WAC 6050
Philips Streamium NP 2900

Re: Fixing device recognition using DD in clients.db

Post by RG1 » Thu Aug 04, 2011 9:34 pm

Hi,
for proper device recognition in clients.db I use DD:modelDescription and D2:modelName. For your device I would try this:
>>
NA:Yamaha RX-V1067
DD:AV Receiver
D2:RX-V1067
XM:DNLA15
DV:yamaha

and don't use AV:M since this is for music only.

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Fri Aug 05, 2011 9:25 am

I hate to say, but this doesn't work. The receiver is still detected as "Generic Media Receiver" (I do see the "Yamaha RX-V1067" in the listbox, though).

And I think I do need AV:M otherwise I will get the useless "Photos" and "Videos" menus, and have to navigate to "Music" first; with AV:M I get directly to my custom menu entries.

RG1
Posts:73
Joined:Sat May 02, 2009 1:42 am
AV Hardware:Philips Streamium WAC 7500
Philips Streamium WAS 7500
Philips Streamium WAC 6050
Philips Streamium NP 2900

Re: Fixing device recognition using DD in clients.db

Post by RG1 » Fri Aug 05, 2011 10:19 pm

Ah, yes you need AV:M - looks like I need to work on my reading skill. :)
I don't know why device recognition doesn't work. I have added a new device this way and it works. After editing clients.db a reset of the device list was needed.

User avatar
parnott
Posts:326
Joined:Mon Sep 20, 2010 9:55 pm
AV Hardware:Twonky, WDTV Live, XBMC (Linux & Windows)

Re: Fixing device recognition using DD in clients.db

Post by parnott » Sun Aug 07, 2011 8:13 pm

Well I compared what you are seeing with what my WD TV Live is broadcasting. My guess is that the DD entry in clients.db matches with the modelName tag.

So in the case of my WD TV Live the Twonky clients.db has-
DD:WD TV HD Live

The only thing that the WD TV Live broadcasts that matches this string is-
<modelName>WD TV HD Live</modelName>

So my suggestion would be to try this in clients.db-
DD:RX-V1067

This would match up with the <modelName>RX-V1067</modelName> that you saw.

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Sun Aug 21, 2011 8:00 am

Doesn't seem to work... (haven't restarted the server, only the device)

User avatar
DaemonBeetle
Posts:305
Joined:Mon Dec 28, 2009 11:05 am
AV Hardware:Plex Media Server, Samsung Smart TV (2009 and 2013)

Re: Fixing device recognition using DD in clients.db

Post by DaemonBeetle » Sun Aug 21, 2011 10:44 am

You will almost certainly need to restart Twonky after you changed the clients.db file.
No longer running Twonky

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Sun Aug 21, 2011 12:03 pm

Restart done, my receiver is still recognized as "Generic Media Receiver" and gets assigned the default view...
DaemonBeetle wrote:You will almost certainly need to restart Twonky after you changed the clients.db file.

User avatar
parnott
Posts:326
Joined:Mon Sep 20, 2010 9:55 pm
AV Hardware:Twonky, WDTV Live, XBMC (Linux & Windows)

Re: Fixing device recognition using DD in clients.db

Post by parnott » Sun Aug 21, 2011 5:20 pm

Have you reset the list in the Media Receivers config page?

I believe that media receiver MAC address to player type mappings are preserved across reboots by default.

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Sun Aug 21, 2011 7:30 pm

Juste done it. Still recognized incorrectly.
parnott wrote:Have you reset the list in the Media Receivers config page?

I believe that media receiver MAC address to player type mappings are preserved across reboots by default.

User avatar
parnott
Posts:326
Joined:Mon Sep 20, 2010 9:55 pm
AV Hardware:Twonky, WDTV Live, XBMC (Linux & Windows)

Re: Fixing device recognition using DD in clients.db

Post by parnott » Sun Aug 21, 2011 8:53 pm

Umm, I am starting to run out of ideas. But-

Have you tried turning on Twonky logging to see if anything useful shows up in then logs?

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Mon Aug 22, 2011 11:18 am

Here's what seems to be relevant in the log captured when the receiver powers up:

Code: Select all

12:08:25:084  [Info] - LOG_HTTP: HTTP_accept_Impl : entering receive module
12:08:25:090  [Trace] - LOG_CLIENT_DB: upnp_client_db_check_header : Checking http header to find a matching client.db entry (GET /TMSDeviceDescription.xml HTTP/1.1
Host: 192.168.1.3:9000
User-Agent: AV_Receiver/3.0 (RX-V1067)
Accept: */*
Content-Length: 0

)
12:08:25:094  [Trace] - LOG_CLIENT_DB: upnp_client_db_check_header : Checking http header to find a matching client.db entry (DLNADOC/1.50)
12:08:25:095  [Trace] - LOG_CLIENT_DB: upnp_client_db_check_header : Found matching candidate for client using the http header (DLNADOC/1.50) id=1
12:08:25:096  [Trace] - LOG_CLIENT_DB: upnp_client_db_add_by_ip : no entry found in known clients list for ip=192.168.1.25, mac=00:A0:DE:71:26:C4 creating new entry
12:08:25:098  [Info] - LOG_HTTP: HTTP_send_receive : header = GET /TMSDeviceDescription.xml HTTP/1.1
Host: 192.168.1.3:9000
User-Agent: AV_Receiver/3.0 (RX-V1067)
Accept: */*
Content-Length: 0
and some time later:

Code: Select all

12:08:25:320  [Info] - LOG_HTTP: HTTP_accept_Impl : entering receive module
12:08:25:331  [Trace] - LOG_CLIENT_DB: upnp_client_db_check_header : Checking http header to find a matching client.db entry (POST /TMSContentDirectory/Control HTTP/1.1
Host: 192.168.1.3:9000
User-Agent: AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50
Content-Type: text/xml; charset="utf-8"
Content-Length: 297
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#GetSortCapabilities"
Cache-Control: no-cache
Pragma: no-cache

)
12:08:25:338  [Trace] - LOG_CLIENT_DB: upnp_client_db_check_header : Found matching candidate for client using the http header (POST /TMSContentDirectory/Control HTTP/1.1
Host: 192.168.1.3:9000
User-Agent: AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50
Content-Type: text/xml; charset="utf-8"
Content-Length: 297
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#GetSortCapabilities"
Cache-Control: no-cache
Pragma: no-cache

) id=1
12:08:25:355  [Info] - LOG_HTTP: HTTP_send_receive : header = POST /TMSContentDirectory/Control HTTP/1.1
Host: 192.168.1.3:9000
User-Agent: AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50
Content-Type: text/xml; charset="utf-8"
Content-Length: 297
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#GetSortCapabilities"
Cache-Control: no-cache
Pragma: no-cache


12:08:25:358  [Trace] - LOG_HTTP: HTTP_send_receive : next locate handler for the request (type 4=POST)
12:08:25:367  [Trace] - LOG_HTTP: HTTP_send_receive : need to get HTTP body for the command
12:08:25:376  [Info] - LOG_HTTP: HTTP_send_receive : received doc = <?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><m:GetSortCapabilities xmlns:m="urn:schemas-upnp-org:service:ContentDirectory:1"></m:GetSortCapabilities></s:Body></s:Envelope>
12:08:25:379  [Trace] - LOG_HTTP: upnp_soap_server_dispatcher : client=1 [Generic Media Receiver] ip=192.168.1.25 header=POST /TMSContentDirectory/Control HTTP/1.1
Host: 192.168.1.3:9000
User-Agent: AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50
Content-Type: text/xml; charset="utf-8"
Content-Length: 297
SOAPACTION: "urn:schemas-upnp-org:service:ContentDirectory:1#GetSortCapabilities"
Cache-Control: no-cache
Pragma: no-cache


12:08:25:392  [Info] - LOG_HTTP: HTTP_send_header : sending HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: 737
Date: Mon, 22 Aug 2011 10:08:25 GMT
Pragma: no-cache
Cache-control: no-cache
Accept-Ranges: bytes
Connection: keep-alive
EXT:
Server: Linux/2.x.x, UPnP/1.0, pvConnect UPnP SDK/1.0, TwonkyMedia UPnP SDK/1.1
this reflects the fact no match for the UserAgent is found in client.db, but does not really give [me] a hint on what the client.db needs to contain for a match to be found...

User avatar
parnott
Posts:326
Joined:Mon Sep 20, 2010 9:55 pm
AV Hardware:Twonky, WDTV Live, XBMC (Linux & Windows)

Re: Fixing device recognition using DD in clients.db

Post by parnott » Mon Aug 22, 2011 5:01 pm

Well maybe we could try matching on the User Agent HTTP header. So instead of DD and D2 try-

HH:AV_Receiver/3.0 (RX-V1067)
or
HH:AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50

(Seems odd that the User Agent changes between requests, but it maybe just the way it is logged)

So the clients.db entry would be something like-
NA:Yamaha RX-V1067
HH:AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50
XM:DNLA15
AV:M
DV:yamaha
DB:FIX

Make sure you have the last entry which has not been mentioned so far. I also see that Yamaha devices in clients.db also have this line-
DF:devicedescription-yamaha.xml

Twonky_Rick
Posts:3816
Joined:Wed Nov 19, 2008 1:59 am
AV Hardware:Samsung 650 Series TV (2010), 4.5TB HP MediaSmart server with 100,000 songs, 5) AT&T U-Verse STB, CE form-factor Media Center PC and 6 other networked PCs running TwonkyManager, 2 Sonos ZP80, Sonos S5 speaker, Apple TV (running XBMC), Roku Soundbridge, X-Box 360, Sony PS3, Kodak 10" Wireless Photo Frame, iPhone with PlugPlayer software, Sonos CR-100.
Location:San Diego
Contact:

Re: Fixing device recognition using DD in clients.db

Post by Twonky_Rick » Mon Aug 22, 2011 11:54 pm

If you guys are able to come up with a new device entry for this, which resolves the issues you were seeing, let me know and I'll ask that this be added to our next update. Thanks.

- Rick
Follow me on Twitter! mostlytech1
Checkout my blog: http://mostly-tech.com/

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Thu Aug 25, 2011 9:12 pm

It seems that:

Code: Select all

NA:Yamaha RX-V1067
HH:AV_Receiver/3.0 (RX-V1067) UPnP/1.0 DLNADOC/1.50
XM:DNLA15
AV:M
DV:yamaha
DB:FIX
fits my bill. I have to verify that recognition works at every receiver powerup, and even when TMS is restarted.

Next I will have to assume that the UserAgent will never change, even when the receiver firmware is updated.

Best regards,

Stéphane.

TMM_Product_Manager wrote:If you guys are able to come up with a new device entry for this, which resolves the issues you were seeing, let me know and I'll ask that this be added to our next update. Thanks.

- Rick

User avatar
parnott
Posts:326
Joined:Mon Sep 20, 2010 9:55 pm
AV Hardware:Twonky, WDTV Live, XBMC (Linux & Windows)

Re: Fixing device recognition using DD in clients.db

Post by parnott » Thu Aug 25, 2011 11:03 pm

Please keep us informed. If it has worked once then it should continue to work. Well I hope so.

PS. Also try with the DF:devicedescription-yamaha.xml option in the clients.db entry. All other Yamaha devices have this but I don't know if it is relevant in this situation. Unfortunately I don't have your player model to try this.

PPS. It would be rather unusual that the UserAgent string changes between firmware updates. Not impossible, but we could probably discover another way to do the matching.

sba
Posts:28
Joined:Sun Jun 05, 2011 12:21 pm
AV Hardware:Server : TwonkyMedia 6.0.30 qkpg build running on QNAP TS-109II
Clients : Noxio Audio 1, Yamaha RX-V1067 AV receiver, Sony BDP-S580 Blu-Ray player

Re: Fixing device recognition using DD in clients.db

Post by sba » Fri Aug 26, 2011 12:31 pm

What is the devicedescription-yamaha.xml supposed to be useful for?

My guess is that it relates to older, very much pre-DLNA, Yamaha devices, and is not relevant to my receiver, which is DLNA 1.5 certified.
parnott wrote:Please keep us informed. If it has worked once then it should continue to work. Well I hope so.

PS. Also try with the DF:devicedescription-yamaha.xml option in the clients.db entry. All other Yamaha devices have this but I don't know if it is relevant in this situation. Unfortunately I don't have your player model to try this.

PPS. It would be rather unusual that the UserAgent string changes between firmware updates. Not impossible, but we could probably discover another way to do the matching.

Locked