Forum Discussion

pirey4's avatar
pirey4
Visitor
14 years ago

How do you determine Roku model from an ECP app?

The Roku Remote app is able to determine the model of Roku players (e.g. Roku XDS Player, Roku 2 XS Player, etc.) it discovers. How is this done? I'm particular interested in determining which players are Roku 1 and which are Roku 2.

Thanks,

phil

6 Replies

  • My guess is that it is parsing the xml file provided on port 8060. Afterall that is the location address provided in the SSDP notify.
  • "scyber" wrote:
    My guess is that it is parsing the xml file provided on port 8060. Afterall that is the location address provided in the SSDP notify.

    The only XML document returned by the player that I am familiar with is the Channel/App ID list.

    Which XML document are you referring to and how do you retrieve it?

    I thought the information might be encoded in the Serial # of the player or perhaps the MAC address of the player could be mapped to a model number. I have access to both the serial number and MAC address.

    Thanks,

    phil
  • "pirey4" wrote:
    "scyber" wrote:
    My guess is that it is parsing the xml file provided on port 8060. Afterall that is the location address provided in the SSDP notify.

    The only XML document returned by the player that I am familiar with is the Channel/App ID list.

    Which XML document are you referring to and how do you retrieve it?

    I thought the information might be encoded in the Serial # of the player or perhaps the MAC address of the player could be mapped to a model number. I have access to both the serial number and MAC address.

    Thanks,

    phil
    Hitting http://LOCAL_ROKU_IP:8060/ should return something similar to the following:

    <?xml version="1.0"?>

    <root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:ms="urn:microsoft-com:wmc-1-0">

    <specVersion>

    <major>1</major>

    <minor>0</minor>

    </specVersion>

    <device ms:X_MS_SupportsWMDRM="true">

    <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMP-1.00</dlna:X_DLNADOC>

    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>

    <friendlyName>Roku Streaming Player</friendlyName>

    <manufacturer>Roku</manufacturer>

    <manufacturerURL>http://www.roku.com/</manufacturerURL>

    <modelDescription>Roku Streaming Player Network Media</modelDescription>

    <modelName>Roku Streaming Player N1101</modelName>

    <modelNumber>N1101</modelNumber>

    <modelURL>http://www.roku.com/</modelURL>

    <serialNumber>D0D02T00WXYZ</serialNumber>

    <UDN>uuid:7F248787-B5DF-4C7B-8C9A-00DDEE3BWXYZ</UDN>

    <UPC></UPC>

    <serviceList>

    <service>

    <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>

    <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>

    <SCPDURL>/RenderCtl.xml</SCPDURL>

    <controlURL>/UD/?0</controlURL>

    <eventSubURL>/?0</eventSubURL>

    </service>

    <service>

    <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>

    <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>

    <SCPDURL>/ConnMgr.xml</SCPDURL>

    <controlURL>/UD/?1</controlURL>

    <eventSubURL>/?1</eventSubURL>

    </service>

    <service>

    <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>

    <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>

    <SCPDURL>/AvTransport.xml</SCPDURL>

    <controlURL>/UD/?2</controlURL>

    <eventSubURL>/?2</eventSubURL>

    </service>

    <service>

    <serviceType>urn:roku-com:service:ecp:1</serviceType>

    <serviceId>urn:roku-com:serviceId:ecp1.0</serviceId>

    <controlURL></controlURL>

    <eventSubURL></eventSubURL>

    <SCPDURL>ecp_SCPD.xml</SCPDURL>

    </service>

    </serviceList>

    <presentationURL>/</presentationURL>

    </device>

    </root>

    You'll see both modelName and modelNumber are available in there.
  • Thanks scyber and gonzotek! What you suggested gives me just what I am looking for. I don't know how I missed hitting the port with no command.

    phil
  • "pirey4" wrote:
    I don't know how I missed hitting the port with no command.


    It's undocumented πŸ™‚
    It would be nice if Roku bothered to include firmware version in that descriptor, hintity-hint
  • "EnTerr" wrote:
    "pirey4" wrote:
    I don't know how I missed hitting the port with no command.


    It's undocumented πŸ™‚
    It would be nice if Roku bothered to include firmware version in that descriptor, hintity-hint

    Including the firmware version information in the <modelDescription> element would provide added value rather than rehashing information from other elements like it currently does.