This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

TFTP on OpenWRT 15.05.1 does not work with SDK 15.0.0

My Setup:
-> OpenWRT Chaos Calmer 15.05.1
-> Kernel - 3.18.23
-> MCU - nRF52832 Custom Board
-> SDK - 15.0.0
-> IDE - Segger Embedded Studio

I am able to start a 6lowpan connection between the OpenWRT router and an nRF52832, i can confirm this from the the successful pring replies from the nRF52832 chip.
I have setup TFTP server in the router which is built-in to dnsmasq and have confirmed that it runs on all interfaces on both IPv4 and IPv6.
I have run a TFTP client from my desktop and its able to fetch the "test.text", but debugging the TFTP client in the nordic chips give the following issues.
BTW i was able to make a similar setup work but on a Raspberry Pi Zero W.

Scenario 1:
# I set BLE_6LOWPAN_LEGACY_MODE to 1 then there is no activity from the log output when i press button 1. In fact the 6lowpan connection gets disconnected.

Scenario 2:
# I set BLE_6LOWPAN_LEGACY_MODE to 0 then there is activity in the Logs but i get the following errors in the logs
>app: Read button has been pushed.
>app: In TFTP Application Handler.
>app: TFTP error = 0x0000C84A
>. Transfered 0 bytes.
Is there any place i can go to find out what the error code means and better still if there is a known solution for this issue.

  • Hi,

    I'm not sure what causes the problem, but:

    1. BLE_6LOWPAN_LEGACY_MODE should be set to 0 as discussed here.

    2. Error 0x0000C84A = TFTP_REMOTE_UNREACHABLE. It is defined in iot_errors.h. If you are not familiar with the SDK it can be a little hard to track down. 

    1. TFTP_REMOTE_UNREACHABLE           = (IOT_TFTP_ERR_BASE+0x004A)
    2. IOT_TFTP_ERR_BASE                            = (IOT_ERR_BASE+0x2800)
    3. IOT_ERR_BASE                                       = NRF_ERROR_IOT_ERR_BASE_START
    4. NRF_ERROR_IOT_ERR_BASE_START = (0xA000)
Related