iot-lab / iot-lab-mqtt

Provide access to IoT-LAB experiments as MQTT agents
Other
2 stars 8 forks source link

Not loading firmware for A8 nodes #7

Closed rfuentess closed 7 years ago

rfuentess commented 7 years ago

I'm trying to boot a firmware for a A8 node on my experiment but I'm getting this error message:

(Cmd) update a8 34 gnrc_border_router.elf
IoT-LAB Request 'update' error: 'HTTP Error 500: 
    Invalid nodes list'

The following are the relevant data of the experiment:

$ experiment-cli get -p
{
    "associations": null, 
    "deploymentresults": {
        "0": [
            "a8-34.grenoble.iot-lab.info", 
            "m3-368.grenoble.iot-lab.info", 
            "m3-369.grenoble.iot-lab.info"
        ]
    }, 
    "duration": 360, 
    "firmwareassociations": null, 
    "mobilities": null, 
    "name": "exp4_tests", 
    "nodes": [
        "a8-34.grenoble.iot-lab.info", 
        "m3-368.grenoble.iot-lab.info", 
        "m3-369.grenoble.iot-lab.info"
    ], 
    }, 
    "reservation": null, 
    "siteassociations": null, 
    "state": "Running", 
    "type": "physical"
}

And the status from Grenoble:

fuentess@grenoble:~$ open-a8-cli wait-for-boot
Cannot connect to IoT-LAB server on site "grenoble.iot-lab.info", check your SSH configuration.
{
    "wait-for-boot": {
        "1": [
            "node-a8-34.grenoble.iot-lab.info"
        ]
    }
}

However, I can access to the node-a8-34 and load the firmware manually

fuentess@grenoble:~$ ssh root@node-a8-34
...
root@node-a8-34:~# flash_a8_m3 A8/gnrc_6br_a8.elf
...
shutdown command invoked
Return Value: 0
rfuentess commented 7 years ago

I still don't get too much involved in the code, but something tells me that what is happening here is that this tool what is truly doing is just calling the application

node-cli -l <SITE>,<ARCHITECTURE>,<NODE> -up <PATH>

Which sadly is not working for the A8 architecture.

fsaintma commented 7 years ago

Hi You are right. The node-cli command line tool with --update firmware option is not valid and implemented for A8 nodes. You got an error "invalid nodes list" because in your experiment nodes list you have a8-34 node.

If you execute node-cli -up -e grenoble,a8,34 it should be ok.

The only way to flash the A8-M3 nodes firmware is a manual SSH connection on the A8 node or a8-cli-tools. But when you use a8-cli-tools from the frontend SSH you must ensure that your public SSH key store in the frontend SSH (~/.ssh/id_rsa.pub) is uploaded is in your account profile on the webportal (view this tutorial: https://www.iot-lab.info/tutorials/ssh-cli-client/

Best regards.

rfuentess commented 7 years ago

Thanks @fsaintma,

Because this is a problem from another repository I'll close this issue. However, a small warning in the documentation would be nice.