Mbed-client-example-6lowpan - Trouble connecting

After following the instructions listed on https://github.com/ARMmbed/mbed-client-example-6lowpan/tree/gw_update, I am having trouble connecting to the the mbed 6LoWPAN Gateway router. I am getting the following error:

[DBG ][m6LND]: Restart bootstrap
[DBG ][m6LND]: app_parse_network_event() 3
[DBG ][m6LND]: Link Layer Scan Fail: No Beacons

Hi Andrew,

Have you connect gateway ethernet cable? “Link Layer Scan Fail: No Beacons” indicate that Gateway have not started wireless radio interface. Ethernet connection need to be ready before Gateway enable wireless interface.

BR Juha

Hi,

The binaries “gatewayThreadStatic.bin” and “gateway6LoWPANStatic.bin” in the “gw_update” branch are targeted for users using local instance of mbed Device Server (mDS). A free developer version of mbed DS can be downloaded from from ARM silver (https://silver.arm.com/browse/SEN00). Instructions how to set up the static development environment can be found from commit: 193dff6 (23-Sep-2015).

Current mbed-client-example-6lowpan is targeted for users using mbed Device Connector.

BR,
Arto

Hi,

Yes, I’m getting this error with the Ethernet cable connected to the Gateway.

Hi,

The error I’m getting is from the latest version of the code (using Device Connector). I’m using the ‘gateway6LoWPANDynamic.bin’ binary.

Hi Andrew,

Have you checked Arto’s response?
If you are using Gateway dynamic binary it it need real IPv6 network where gateway can join and get real global address. If node beacon scan fail it means that you not have any network available where to join. Reason for this when you use global binary you have not connect ethernet cable or not get Global IPv6 address. Static setup cuold fail only if you not connect etehernet cable and give any power fot gateway.

Have you check that you use same band radio’s and node and gateway. We have available subGHz and 2.4GHz radio shield and gateway.

-Juha

Hi,

I have connected the Gateway to an IPv6 network and I’m using the dynamic binary with the latest version of the code (for Device Connector).

I have already checked that both the shield and Gateway are 2.4GHz, and I am still getting the same error.

Hi Andrew,

It sounds like that your gateway can’t get global address IPv6 address from your ISP.
If gateway not get global address it can’t enable 6lowpan border router interface. Global is mandatory to get with dynamic binary.
With static binary gateway create address itself.

-Juha

I tried switching to a different Gateway router and that fixed the problem.

The Device Server now works with the version of the code from commit 193dff6. What modifications are needed for the latest version of the code to get it to work with a local Device Server (version 2.2)? We changed the IP address in ‘mbedclient.cpp’ to the server IP and it’s not appearing as an end-point. It works with the previous commit as stated above, but not with the latest version of the code. We attempted to use eDTLS instead of the unencrypted connection but we’re getting a warning message 'Configured for running!" but it doesn’t actually run. Any suggestions?

Thanks,
Andrew

Hi,
Documentation has been updated to contain a note for mbed DS users. By following a link in the note you can find modified example application and instructions how to use mbed DS with static and dynamic configuration.
BR,
Arto

Hi,

I’m now getting the following error (‘error 3’ for ‘InvalidParameters’) with the latest version of the code (from the device_server branch):

Start mbed-client-example-6lowpan
[DBG ][m6La]: init()
[DBG ][m6La]: connect()
[INFO][m6LND]: Start 6LoWPAN ND Bootstrap
[DBG ][m6LND]: app_parse_network_event() 0
[INFO][m6LND]: 6LoWPAN ND bootstrap ready
[DBG ][m6LND]: ND Access Point: fd00:ff1:ce0b:a5e0:0:ff:fe00:6dd1
[DBG ][m6LND]: ND Prefix 64: fd:00:0f:f1:ce:0b:a5:e0
[DBG ][m6LND]: GP IPv6: fd00:ff1:ce0b:a5e0:fec2:3d00:4:9e3d
[DBG ][m6LND]: MAC 16-bit: ff:ff
[DBG ][m6LND]: PAN ID: 06:91
[DBG ][m6LND]: MAC 64-bit: fc:c2:3d:00:00:04:9e:3d
[DBG ][m6LND]: IID (Based on MAC 64-bit address): fe:c2:3d:00:00:04:9e:3d
[DBG ][m6LND]: Channel: 12
                          mesh_network_handler() 0
[DBG ][ns_wrap]: ns_wrapper_socket_open(1)
                                          waiting 5s before sending registration...
send_registration()
[DBG ][ns_wrap]: SOCKET_TX_DONE, 217 bytes sent
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=37
                                              object_registered()
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=13
[DBG ][ns_wrap]: SOCKET_TX_DONE, 10 bytes sent
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=16
[DBG ][ns_wrap]: SOCKET_TX_DONE, 14 bytes sent
[DBG ][ns_wrap]: SOCKET_TX_DONE, 217 bytes sent
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=37
[DBG ][ns_wrap]: SOCKET_TX_DONE, 217 bytes sent
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=37
                                              update_registration()
[DBG ][ns_wrap]: SOCKET_TX_DONE, 42 bytes sent
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=20
                                              error 3
[DBG ][ns_wrap]: SOCKET_TX_DONE, 4 bytes sent
[DBG ][ns_wrap]: SOCKET_TX_DONE, 42 bytes sent
[DBG ][ns_wrap]: SOCKET_DATA, sock=1, bytes=20

Any idea what’s causing this?

Thanks,
Andrew

Hi Andrew,

This error occurs because mbed-client-c has been updated to use POST method instead of PUT when updating registration. New device servers accepts POST but the older mDS2.2 does not.

The change was done in commit 5c6e8e5385816186b1ac04339e7f22414ddbdc24.

BR,
Arto

Arto

Tks… had the same error…Now I know why…

Tks!
Jarel,