diff --git a/Makefile.dep b/Makefile.dep index 77c9b9081ebf7b56ab7d69778a88b510e98689ae..cfeb10de386dcddcaf2af2bbd5c68555c4850ac2 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -59,6 +59,7 @@ endif ifneq (,$(filter netdev_ieee802154,$(USEMODULE))) USEMODULE += ieee802154 + USEMODULE += random endif ifneq (,$(filter gnrc_uhcpc,$(USEMODULE))) diff --git a/drivers/netdev_ieee802154/netdev_ieee802154.c b/drivers/netdev_ieee802154/netdev_ieee802154.c index 202656658e34316c1cae22827f9991410c8fb36b..f826f2d546dd838a4e0d94c357838a4fbcf8f605 100644 --- a/drivers/netdev_ieee802154/netdev_ieee802154.c +++ b/drivers/netdev_ieee802154/netdev_ieee802154.c @@ -22,6 +22,7 @@ #include "net/eui64.h" #include "net/ieee802154.h" #include "net/netdev.h" +#include "random.h" #include "net/netdev/ieee802154.h" @@ -52,7 +53,8 @@ static int _get_iid(netdev_ieee802154_t *dev, eui64_t *value, size_t max_len) void netdev_ieee802154_reset(netdev_ieee802154_t *dev) { - dev->seq = 0; + /* Only the least significant byte of the random value is used */ + dev->seq = random_uint32(); dev->flags = 0; /* set default protocol */