E1.20 RDM (Remote Device Management) Protocol Forums  

Go Back   E1.20 RDM (Remote Device Management) Protocol Forums > RDM Developer Forums > RDM Interpretation Questions

RDM Interpretation Questions Discussion and questions relating to interpreting and understanding the E1.20 RDM Standard.

Reply
 
Thread Tools Search this Thread Display Modes
Old August 1st, 2024   #1
Milton Davis
Task Group Member
 
Join Date: Aug 2006
Posts: 15
Default Discovery process addressing

I have come across an interesting discovery behavior that the standard does not appear to address.
The DISCOVER_UNIQUE_BRANCH command is always supposed to be sent to the broadcast address: 0xff ff ff ff ff ff. However, what is supposed to happen if the DISCOVER_UNIQUE_BRANCH is sent to a specific UID as the destination address? This is obviously wrong on the part of the controller, but it is something that the RDM Integrity software does. It sends a discovery command addressed to the specific UID of the responder and it sets the parameter data (upper and lower bounds) for the same UID after it has narrowed things down to the single device. There are three possible routes to take in my mind:
1. Respond with a standard discovery response.
2. Do not respond.
3. Respond with a NACK format error response.
My products take route 2 as I have received an illegal command. I'm open to hearing thoughts from others on how this situation should be addressed.

Last edited by Milton Davis; August 1st, 2024 at 01:59 PM. Reason: Incomplete paste
Milton Davis is offline   Reply With Quote
Old August 2nd, 2024   #2
ericthegeek
Task Group Member
 
Join Date: Aug 2008
Posts: 378
Default

The general advice I give when dealing with corner cases like this is:
"Don't crash"


It doesn't really matter what the responder does. There's no "correct" response. But it's important that the responder doesn't crash so that it can keep operating when/if a controller generates this condition by mistake.


IMO route 1 and 2 are both good approaches. I'd be wary of #3 because I hesitate to generate a break on the line during the time when other equipment on the wire might be expecting a discovery response.





I do a lot of tests like this when I'm evaluating a responder. Discover to Unicast, Discovery to Vendorcast, discover to sub-devices, etc. These tests help find corner cases in the software. But if the responder stays online (doesn't crash) and is ready for the next packet, the I consider if to have passes the test.
ericthegeek is offline   Reply With Quote
Old August 2nd, 2024   #3
sblair
Administrator
 
Join Date: Feb 2006
Posts: 437
Send a message via AIM to sblair Send a message via MSN to sblair
Default

Hey Milton,

I generally try to write very permissive responders so that even if something is not strictly following the standard I can be accepting of it so it doesn't look like the product is broken, even if it is the controllers fault.

So given that, I believe #1 is completely acceptable as it shouldn't break anything.

I will admit in my own implementations #2 is what would have happened in this corner cause because I first check destination addressing and if it isn't a broadcast or my matching UID then I would have stopped parsing the packet.

#3 is absolutely the wrong thing to do. There should never be a NACK to a UNIQ_BRANCH message. As Eric said, this could cause a break on the line or also in the rush of other responders potentially sending NACK's too it would cause corrupted data and trigger the Controller to start going down invalid branches and could potentially break discovery completely.
__________________
Scott M. Blair
RDM Protocol Forums Admin
sblair is offline   Reply With Quote
Reply

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Addressing Universes on RDM: Manufacturer PID V ENDPOINT_TO_UNIVERSE Thierry Dupont RDM General Implementation Discussion 1 November 20th, 2020 01:37 PM
DMX Addressing when Footprint is Zero Mark_C RDM General Implementation Discussion 8 January 17th, 2010 10:47 AM
Auto DMX Addressing via RDM ?! chamber RDM General Implementation Discussion 12 November 11th, 2009 12:47 PM
Figure 7-2: Device Discovery Process mike_k RDM General Implementation Discussion 2 October 1st, 2009 02:28 PM


All times are GMT -6. The time now is 02:30 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.