Change transmission power - AT86RF231


I am trying to do multi-hop routing with the Fit Iot Lab testbed,using the m3 nodes. However, the nodes are very close and they can communicate directly. Do you know if there is a way to change the transmission power of the AT86RF231 module ? I have looked in the boards/iotlab-m3 folder, and in the drivers/at86rf2xx folder, but I don't know exactly what to change.

Thank you,


Hi Elliot,

if you are running a shell example such as gnrc_networking you can use the following command:

ifconfig 7 set power -3

where 7 is the interface ID and -3 is the power (in dBm). If you want to set this in your application code you could use the netapi, e.g.:

uint8_t power = 100; ret = gnrc_netapi_set(ifs[0], NETOPT_TX_POWER, 0, &power, sizeof(power));

Cheers Peter

Hi Eliot,

from experience I can say that modifying the tx power isn't cutting it most of the times. What I would recommend is to choose nodes that are far apart – you can use the Grenoble site for that. If that doesn't work out for you, you can also use the l2filter [1] module of RIOT. With USEMODULE += l2filter_blacklist or USEMODULE += l2filter_whitelist you can establish the default policy. Then you can use the `ifconfig` shell command to blacklist or whitelist specific node link-layer addresses.

Now that I look at this feature, I see there's only a very minimalistic documentation on how to use it and no examples/tests for the l2filter (yet). But you can have a look at the usage within the `ifconfig` shell command [2] if you plan to control the white-/blacklist programmatically.

Cheers, Cenk

[1] [2]


Thank you for the answers. The devices was too close on the Lille site, and even with the reduction the transmission power, they would still be able to communicate with each other. I managed to do multi-hop routing using the Lille site with the l2filter. I chose this site because of the grid layout it can provide with the m3-node.

Thank you for the help.

Eliot Chauvineau