jefffhaynes/XBee

How to find node identifiers of end devices?

Closed this issue · 33 comments

Hello Jeff,
Thank you for your help for the last issue. I'm running into a new problem now. I try to get the node identifiers of nodes in the network. I'm following your example but I see nothing but this error

An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: 45 not supported.

Can you help me with this? Thanks.

This's the code I'm using:

private static void Main(string[] args)
{
MainAsync();
Console.ReadKey();
_xbee.Dispose();
}
private static async void MainAsync()
{
_xbee = new XBeeController("COM22", 9600);
await _xbee.OpenAsync("COM22", 9600);
Console.WriteLine("Discovering network...");
_xbee.NodeDiscovered += (sender, args) =>
{
Console.WriteLine("Discovered {0}", args.Name);
};
await _xbee.DiscoverNetworkAsync();
}

Hi Jeff, I am using COM7 instead of COM22 now. But the error is still there.

Hi Jeff, I just downloaded all the latest files. I'm still seeing errors.

One time I see:
An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Exception has been thrown by the target of an invocation.

Exception thrown: 'System.IO.IOException' in System.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.NotSupportedException' in XBee.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.Reflection.TargetInvocationException' in mscorlib.dll
An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Exception has been thrown by the target of an invocation.

Another time I see:
Exception thrown: 'System.TimeoutException' in XBee.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll

Another one:
Exception thrown: 'System.IO.IOException' in System.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.NotSupportedException' in XBee.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: 45 not supported.

One time the coordinator finds the end device, but it stops.

D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
    S-Start: FrameType
    S-End: FrameType (AtCommand)
    S-Start: Content
        S-Start: FrameId
        S-End: FrameId (1)
        S-Start: Command
            S-Start: Command
            S-End: Command (ND)
            S-Start: Parameter
            S-End: Parameter (null)
        S-End: Command (XBee.Frames.AtCommands.NetworkDiscoveryCommand)
    S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (100)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (33)
D-Start: Payload
    D-Start: FrameType
    D-End: FrameType (AtCommandResponse)
    D-Start: Content
        D-Start: FrameId
        D-End: FrameId (1)
        D-Start: Content
            D-Start: AtCommand
            D-End: AtCommand (ND)
            D-Start: Status
            D-End: Status (Success)
            D-Start: Data
                D-Start: ShortAddress
                    D-Start: Value
                    D-End: Value (0)
                D-End: ShortAddress (0000)
                D-Start: LongAddress
                    D-Start: Value
                    D-End: Value (5526146538198071)
                D-End: LongAddress (0013A2004162D437)
                D-Start: ReceivedSignalStrengthIndicator
                D-End: ReceivedSignalStrengthIndicator (null)
                D-Start: Name
                D-End: Name (COORD)
                D-Start: ExtendedInfo
                D-End: ExtendedInfo (null)
            D-End: Data (COORD: 0013A2004162D437)
        D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
    D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (15)
D-Start: StartDelimiter
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (38)
D-Start: Payload
    D-Start: FrameType
    D-End: FrameType (AtCommandResponse)
    D-Start: Content
        D-Start: FrameId
        D-End: FrameId (1)
        D-Start: Content
            D-Start: AtCommand
            D-End: AtCommand (ND)
            D-Start: Status
            D-End: Status (Success)
            D-Start: Data
                D-Start: ShortAddress
                    D-Start: Value
                    D-End: Value (50399)
                D-End: ShortAddress (C4DF)
                D-Start: LongAddress
                    D-Start: Value
                    D-End: Value (5526146531121605)
                D-End: LongAddress (0013A20040F6D9C5)
                D-Start: ReceivedSignalStrengthIndicator
                D-End: ReceivedSignalStrengthIndicator (null)
                D-Start: Name
                D-End: Name (END_DEVICE)
                D-Start: ExtendedInfo
                D-End: ExtendedInfo (null)
            D-End: Data (END_DEVICE: 0013A20040F6D9C5)
        D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
    D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (214)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
    S-Start: FrameType
    S-End: FrameType (AtCommand)
    S-Start: Content
        S-Start: FrameId
        S-End: FrameId (2)
        S-Start: Command
            S-Start: Command
            S-End: Command (HV)
            S-Start: Parameter
            S-End: Parameter (null)
        S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
    S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (87)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (7)
D-Start: Payload
    D-Start: FrameType
    D-End: FrameType (AtCommandResponse)
    D-Start: Content
        D-Start: FrameId
        D-End: FrameId (2)
        D-Start: Content
            D-Start: AtCommand
            D-End: AtCommand (HV)
            D-Start: Status
            D-End: Status (Success)
            D-Start: Data
                D-Start: HardwareVersion
                D-End: HardwareVersion (45)
                D-Start: HardwareRevision
                D-End: HardwareRevision (68)
            D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)
        D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
    D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (102)
D-Start: StartDelimiter
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload

Rest of the time are like this:

D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
    S-Start: FrameType
    S-End: FrameType (AtCommand)
    S-Start: Content
        S-Start: FrameId
        S-End: FrameId (1)
        S-Start: Command
            S-Start: Command
            S-End: Command (ND)
            S-Start: Parameter
            S-End: Parameter (null)
        S-End: Command (XBee.Frames.AtCommands.NetworkDiscoveryCommand)
    S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (100)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (33)
D-Start: Payload
    D-Start: FrameType
    D-End: FrameType (AtCommandResponse)
    D-Start: Content
        D-Start: FrameId
        D-End: FrameId (1)
        D-Start: Content
            D-Start: AtCommand
            D-End: AtCommand (ND)
            D-Start: Status
            D-End: Status (Success)
            D-Start: Data
                D-Start: ShortAddress
                    D-Start: Value
                    D-End: Value (0)
                D-End: ShortAddress (0000)
                D-Start: LongAddress
                    D-Start: Value
                    D-End: Value (5526146538198071)
                D-End: LongAddress (0013A2004162D437)
                D-Start: ReceivedSignalStrengthIndicator
                D-End: ReceivedSignalStrengthIndicator (null)
                D-Start: Name
                D-End: Name (COORD)
                D-Start: ExtendedInfo
                D-End: ExtendedInfo (null)
            D-End: Data (COORD: 0013A2004162D437)
        D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
    D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (15)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
    S-Start: FrameType
    S-End: FrameType (AtCommand)
    S-Start: Content
        S-Start: FrameId
        S-End: FrameId (2)
        S-Start: Command
            S-Start: Command
            S-End: Command (HV)
            S-Start: Parameter
            S-End: Parameter (null)
        S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
    S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (87)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (7)
D-Start: Payload
    D-Start: FrameType
    D-End: FrameType (AtCommandResponse)
    D-Start: Content
        D-Start: FrameId
        D-End: FrameId (2)
        D-Start: Content
            D-Start: AtCommand
            D-End: AtCommand (HV)
            D-Start: Status
            D-End: Status (Success)
            D-Start: Data
                D-Start: HardwareVersion
                D-End: HardwareVersion (45)
                D-Start: HardwareRevision
                D-End: HardwareRevision (68)
            D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)
        D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
    D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (102)
D-Start: StartDelimiter
D-Start: StartDelimiter

Yes, I'm getting

Exception thrown: 'System.IO.IOException' in System.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.UnauthorizedAccessException' in System.dll
Exception thrown: 'System.NotSupportedException' in XBee.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: 45 not supported.

I'm using PRO S2C with ZigBee firmware

Just tried 4.2.1, that 45 not supported error is gone.
Another question, it looks like the node discovered handle is never called

_xbee.NodeDiscovered += (sender, args) =>
{
Console.WriteLine("Discovered {0}", args.Name);
};

and I'm still seeing

Exception thrown: 'System.TimeoutException' in XBee.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in XBee.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in XBee.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll
Exception thrown: 'System.TimeoutException' in mscorlib.dll

Hi Jeff, I just tried using a regular S2C module as coordinator, there was a new error

Exception thrown: 'System.IO.IOException' in System.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.NotSupportedException' in XBee.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: XBee24S2C not supported.

Can you try the original module with the debug tracing? The problem is I don't have one of those so it's tough to say what's going on...

When the coordinator and router are both TH S2C, there is no error, but there is no guarantee that this function is called,

_xbee.NodeDiscovered += (sender, args) =>
{
Console.WriteLine("Discovered {0}", args.Name);
};

When I use the TH Pro S2C module as coordinator, there is also no error but the nodediscovered function is never called.

When I use a regular TH S2C module as coordinator and a SMD S2C module as router, there is "XBee24S2C not supported" error. That's what I see when using the debug tracing:
Discovering network...
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (AtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (1)
S-Start: Command
S-Start: Command
S-End: Command (ND)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.NetworkDiscoveryCommand)
S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (100)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (34)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (AtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (1)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (ND)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: ShortAddress
D-Start: Value
D-End: Value (0)
D-End: ShortAddress (0000)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ReceivedSignalStrengthIndicator
D-End: ReceivedSignalStrengthIndicator (null)
D-Start: Name
D-End: Name ( COORD)
D-Start: ExtendedInfo
D-End: ExtendedInfo (null)
D-End: Data ( COORD: 0013A20040F632D1)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (100)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (AtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (2)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (87)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (7)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (AtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (2)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: HardwareVersion
D-End: HardwareVersion (XBee24C)
D-Start: HardwareRevision
D-End: HardwareRevision (70)
D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (99)
D-Start: StartDelimiter
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (3)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (90)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (3)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (216)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (4)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (89)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (4)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (215)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (5)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (88)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (5)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (214)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (6)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (87)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (6)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (213)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (7)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (86)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (7)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (212)
D-Start: StartDelimiter
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (38)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (AtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (1)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (ND)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: ShortAddress
D-Start: Value
D-End: Value (2302)
D-End: ShortAddress (08FE)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531121605)
D-End: LongAddress (0013A20040F6D9C5)
D-Start: ReceivedSignalStrengthIndicator
D-End: ReceivedSignalStrengthIndicator (null)
D-Start: Name
D-End: Name (END_DEVICE)
D-Start: ExtendedInfo
D-End: ExtendedInfo (null)
D-End: Data (END_DEVICE: 0013A20040F6D9C5)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (115)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (8)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (85)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (8)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (211)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (9)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (84)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (9)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531078865)
D-End: LongAddress (0013A20040F632D1)
D-Start: ShortAddress
D-Start: Value
D-End: Value (65534)
D-End: ShortAddress (FFFE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (NoResponse)
D-Start: Data
D-Start: HardwareVersion
D-End: Data (null)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (210)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (10)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531121605)
S-End: LongAddress (0013A20040F6D9C5)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (184)
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (11)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146531078865)
S-End: LongAddress (0013A20040F632D1)
S-Start: ShortAddress
S-Start: Value
S-End: Value (65534)
S-End: ShortAddress (FFFE)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (82)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (17)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (10)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146531121605)
D-End: LongAddress (0013A20040F6D9C5)
D-Start: ShortAddress
D-Start: Value
D-End: Value (2302)
D-End: ShortAddress (08FE)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: HardwareVersion
D-End: HardwareVersion (XBee24S2C)
D-Start: HardwareRevision
D-End: HardwareRevision (77)
D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (194)
D-Start: StartDelimiter
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (15)
D-Start: Payload
D-Start: FrameType

Exception thrown: 'System.IO.IOException' in System.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.IOException' in BinarySerializer.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in mscorlib.dll
Exception thrown: 'System.IO.EndOfStreamException' in BinarySerializer.dll
Exception thrown: 'XBee.Frames.AtCommandException' in XBee.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'XBee.Frames.AtCommandException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in XBee.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
Exception thrown: 'System.NotSupportedException' in mscorlib.dll
An unhandled exception of type 'System.NotSupportedException' occurred in mscorlib.dll
Additional information: XBee24S2C not supported.

What is the model of the remote node you're trying to discover? It looks like it isn't responding to a HV command to get the hardware version. Is it also a S2C?

Also, does discovery work using XCTU?

All the modules are S2C, the TH version can be found sometimes, the SMD version always causes XBee24S2C not supported error.

Ok, I added the S2C to 4.2.2. I'm not sure that's the only problem but see if it's any better.

I just pushed 4.3.1, which seems to work with the S2C. Please give it a try and see if you have better luck. I did have to make some minor changes. Thanks.

Hi Jeff, Sorry for replying late. I was distracted by other projects.

I couldn't update to 5.0, saying target=4.5 not compatible.
Anyway, I just tried 4.3.1, it worked for normal S2C, but for S2C Pro module, it showed 48 not supported.

Hi Jeff, sorry for the late reply. I'm just back to this project.
I cannot make .NET 4.6 or higher. Could you please add support for .NET 4.5? Thanks

Sorry, I think I misunderstood originally. I pushed the S2C SMT support in 4.3.4. I have no way of testing it but give it a try.

Hi Jeff, thank you for your help. I just tried 4.3.4, it does support S2C SMT, but still doesn't work for S2CPRO SMT.

One more question, when I call DiscoverNetworkAsync() to discover nodes, does network discovery run endlessly? Is there another function to terminate it? Say if I want to discover nodes for 5 seconds, then stop, how could I do it?

Hi Jeff, how to a pass a cancellation token?

Hardware version for s2cpro smt is XBeeProS2C
D-Start: Data
D-Start: HardwareVersion
D-End: HardwareVersion (XBeeProS2C)
D-Start: HardwareRevision
D-End: HardwareRevision (75)
D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)

I keep forgetting you're on the 4.x series. You can't pass a cancellation token but you can specify a timeout by calling DiscoverNetworkAsync(TimeSpan.FromSeconds(5)), for example.

What is the behavior with the XBeeProS2C? It looks like it is trying to work...

Adding timespan works. Does it run endlessly if I just use DiscoverNetworkAsync( )?

Here is the full information from console searching for XBeeProS2C
Discovering network...
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (AtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (1)
S-Start: Command
S-Start: Command
S-End: Command (ND)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.NetworkDiscoveryCommand)
S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (100)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (33)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (AtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (1)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (ND)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: ShortAddress
D-Start: Value
D-End: Value (40563)
D-End: ShortAddress (9E73)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146534085277)
D-End: LongAddress (0013A2004124129D)
D-Start: ReceivedSignalStrengthIndicator
D-End: ReceivedSignalStrengthIndicator (null)
D-Start: Name
D-End: Name (S2CPROSMT)
D-Start: ExtendedInfo
D-Start: ParentNetworkAddress
D-Start: Value
D-End: Value (65534)
D-End: ParentNetworkAddress (FFFE)
D-Start: DeviceType
D-End: DeviceType (Router)
D-Start: ReservedStatus
D-End: ReservedStatus (0)
D-Start: ProfileId
D-End: ProfileId (49413)
D-Start: ManufactureId
D-End: ManufactureId (4126)
D-Start: OptionalData
D-End: OptionalData (null)
D-End: ExtendedInfo (XBee.Frames.AtCommands.NetworkDiscoveryResponseDataExtendedInfo)
D-End: Data (S2CPROSMT: 0013A2004124129D)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (107)
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (4)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (AtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (2)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.AtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (87)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (7)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (AtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (2)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: HardwareVersion
D-End: HardwareVersion (XBeeProS2B)
D-Start: HardwareRevision
D-End: HardwareRevision (71)
D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.AtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (114)
D-Start: StartDelimiter
D-Start: StartDelimiter
S-Start: StartDelimiter
S-End: StartDelimiter (FrameDelimiter)
S-Start: Length
S-End: Length (15)
S-Start: Payload
S-Start: FrameType
S-End: FrameType (RemoteAtCommand)
S-Start: Content
S-Start: FrameId
S-End: FrameId (3)
S-Start: LongAddress
S-Start: Value
S-End: Value (5526146534085277)
S-End: LongAddress (0013A2004124129D)
S-Start: ShortAddress
S-Start: Value
S-End: Value (40563)
S-End: ShortAddress (9E73)
S-Start: Options
S-End: Options (Commit)
S-Start: Command
S-Start: Command
S-End: Command (HV)
S-Start: Parameter
S-End: Parameter (null)
S-End: Command (XBee.Frames.AtCommands.HardwareVersionCommand)
S-End: Content (XBee.Frames.RemoteAtCommandFrameContent)
S-End: Payload (XBee.FramePayload)
S-Start: Checksum
S-End: Checksum (107)
D-End: StartDelimiter (FrameDelimiter)
D-Start: Length
D-End: Length (17)
D-Start: Payload
D-Start: FrameType
D-End: FrameType (RemoteAtCommandResponse)
D-Start: Content
D-Start: FrameId
D-End: FrameId (3)
D-Start: LongAddress
D-Start: Value
D-End: Value (5526146534085277)
D-End: LongAddress (0013A2004124129D)
D-Start: ShortAddress
D-Start: Value
D-End: Value (40563)
D-End: ShortAddress (9E73)
D-Start: Content
D-Start: AtCommand
D-End: AtCommand (HV)
D-Start: Status
D-End: Status (Success)
D-Start: Data
D-Start: HardwareVersion
D-End: HardwareVersion (XBeeProS2C)
D-Start: HardwareRevision
D-End: HardwareRevision (75)
D-End: Data (XBee.Frames.AtCommands.HardwareVersionResponseData)
D-End: Content (XBee.Frames.AtCommandResponseFrameContent)
D-End: Content (XBee.Frames.RemoteAtCommandResponseFrame)
D-End: Payload (XBee.FramePayload)
D-Start: Checksum
D-End: Checksum (129)
D-Start: StartDelimiter