diff --git a/cpu/cc2538/include/cc2538_rf.h b/cpu/cc2538/include/cc2538_rf.h index f623fdc5565f4552e4e139ce6ef745838a9d036b..40937e8274cab62a9b30a7b837c8912d8a9a4ae0 100644 --- a/cpu/cc2538/include/cc2538_rf.h +++ b/cpu/cc2538/include/cc2538_rf.h @@ -57,7 +57,6 @@ extern "C" { #define CC2538_RF_POWER_DEFAULT (IEEE802154_DEFAULT_TXPOWER) /**< Default output power in dBm */ #define CC2538_RF_CHANNEL_DEFAULT (IEEE802154_DEFAULT_CHANNEL) -#define CC2538_RF_PANID_DEFAULT (IEEE802154_DEFAULT_PANID) #define OUTPUT_POWER_MIN (-24) /**< Min output power in dBm */ #define OUTPUT_POWER_MAX (7) /**< Max output power in dBm */ diff --git a/cpu/cc2538/radio/cc2538_rf.c b/cpu/cc2538/radio/cc2538_rf.c index 43fd9b2b6c434579ef08ef9638c286b84d7d7f4a..18b66f84cfdfa56f4867ca3edc8c09b43106aefa 100644 --- a/cpu/cc2538/radio/cc2538_rf.c +++ b/cpu/cc2538/radio/cc2538_rf.c @@ -88,7 +88,6 @@ void cc2538_init(void) cc2538_set_tx_power(CC2538_RF_POWER_DEFAULT); cc2538_set_chan(CC2538_RF_CHANNEL_DEFAULT); - cc2538_set_pan(CC2538_RF_PANID_DEFAULT); cc2538_set_addr_long(cc2538_get_eui64_primary()); /* Select the observable signals (maximum of three) */ diff --git a/cpu/cc2538/radio/cc2538_rf_netdev.c b/cpu/cc2538/radio/cc2538_rf_netdev.c index 9916d4da850b4017dfbdd2c698d7c05e2d0f2768..4a163007a3d530b2d32dbb725d3b16d37427347a 100644 --- a/cpu/cc2538/radio/cc2538_rf_netdev.c +++ b/cpu/cc2538/radio/cc2538_rf_netdev.c @@ -381,7 +381,6 @@ static int _init(netdev_t *netdev) cc2538_rf_t *dev = (cc2538_rf_t *) netdev; _dev = netdev; - uint16_t pan = cc2538_get_pan(); uint16_t chan = cc2538_get_chan(); uint16_t addr_short = cc2538_get_addr_short(); uint64_t addr_long = cc2538_get_addr_long(); @@ -389,8 +388,6 @@ static int _init(netdev_t *netdev) netdev_ieee802154_reset(&dev->netdev); /* Initialise netdev_ieee802154_t struct */ - netdev_ieee802154_set(&dev->netdev, NETOPT_NID, - &pan, sizeof(pan)); netdev_ieee802154_set(&dev->netdev, NETOPT_CHANNEL, &chan, sizeof(chan)); netdev_ieee802154_set(&dev->netdev, NETOPT_ADDRESS, diff --git a/cpu/native/socket_zep/socket_zep.c b/cpu/native/socket_zep/socket_zep.c index cb40fba8afc4055eb0f7afac66d2954f65b87631..c2d5da30b6c8783f57b01dba0d4ec0f49a5b55c1 100644 --- a/cpu/native/socket_zep/socket_zep.c +++ b/cpu/native/socket_zep/socket_zep.c @@ -297,7 +297,6 @@ static int _init(netdev_t *netdev) assert(dev != NULL); dev->netdev.chan = IEEE802154_DEFAULT_CHANNEL; - dev->netdev.pan = IEEE802154_DEFAULT_PANID; return 0; } diff --git a/drivers/at86rf2xx/at86rf2xx.c b/drivers/at86rf2xx/at86rf2xx.c index 800616843eacf434c611757161fd0b4bc588ecde..58cdf257146a9812c51891daf9576cf4b7f3a6c1 100644 --- a/drivers/at86rf2xx/at86rf2xx.c +++ b/drivers/at86rf2xx/at86rf2xx.c @@ -73,8 +73,6 @@ void at86rf2xx_reset(at86rf2xx_t *dev) at86rf2xx_set_addr_long(dev, ntohll(addr_long.uint64.u64)); at86rf2xx_set_addr_short(dev, ntohs(addr_long.uint16[0].u16)); - /* set default PAN id */ - at86rf2xx_set_pan(dev, AT86RF2XX_DEFAULT_PANID); /* set default channel */ at86rf2xx_set_chan(dev, AT86RF2XX_DEFAULT_CHANNEL); /* set default TX power */ diff --git a/drivers/at86rf2xx/at86rf2xx_getset.c b/drivers/at86rf2xx/at86rf2xx_getset.c index 96bdd37a15c239984f5c7d9023f903b84f36e0ff..f6cec5aaac51ec93b2a9acbcef7f8d59efef0f62 100644 --- a/drivers/at86rf2xx/at86rf2xx_getset.c +++ b/drivers/at86rf2xx/at86rf2xx_getset.c @@ -222,7 +222,6 @@ void at86rf2xx_set_pan(at86rf2xx_t *dev, uint16_t pan) { le_uint16_t le_pan = byteorder_btols(byteorder_htons(pan)); - dev->netdev.pan = pan; DEBUG("pan0: %u, pan1: %u\n", le_pan.u8[0], le_pan.u8[1]); at86rf2xx_reg_write(dev, AT86RF2XX_REG__PAN_ID_0, le_pan.u8[0]); at86rf2xx_reg_write(dev, AT86RF2XX_REG__PAN_ID_1, le_pan.u8[1]); diff --git a/drivers/cc2420/cc2420.c b/drivers/cc2420/cc2420.c index 24c159255ab4758bf617e3bb2c7f971e1114a77b..69df2cfa5273e864f88bad884826bd581828f97e 100644 --- a/drivers/cc2420/cc2420.c +++ b/drivers/cc2420/cc2420.c @@ -58,7 +58,6 @@ int cc2420_init(cc2420_t *dev) addr[0] |= 0x02; cc2420_set_addr_short(dev, &addr[6]); cc2420_set_addr_long(dev, addr); - cc2420_set_pan(dev, CC2420_PANID_DEFAULT); cc2420_set_chan(dev, CC2420_CHAN_DEFAULT); cc2420_set_txpower(dev, CC2420_TXPOWER_DEFAULT); diff --git a/drivers/cc2420/cc2420_getset.c b/drivers/cc2420/cc2420_getset.c index caac8114a0a3e5b441268b0e78de0210d74cd84a..10e3305ae4651439db33b1ed7005d977667b95c3 100644 --- a/drivers/cc2420/cc2420_getset.c +++ b/drivers/cc2420/cc2420_getset.c @@ -114,7 +114,6 @@ uint16_t cc2420_get_pan(cc2420_t *dev) void cc2420_set_pan(cc2420_t *dev, uint16_t pan) { - dev->netdev.pan = pan; cc2420_ram_write(dev, CC2420_RAM_PANID, (uint8_t *)&pan, 2); } diff --git a/drivers/include/at86rf2xx.h b/drivers/include/at86rf2xx.h index b1ac3cd5f8f4ab63b8b8b1a1a68bbf503db66bb8..e4a709814316cde4c9aafb27a395b3bddfda725a 100644 --- a/drivers/include/at86rf2xx.h +++ b/drivers/include/at86rf2xx.h @@ -67,13 +67,6 @@ extern "C" { #endif /** @} */ -/** - * @brief Default PAN ID - * - * @todo Read some global network stack specific configuration value - */ -#define AT86RF2XX_DEFAULT_PANID (IEEE802154_DEFAULT_PANID) - /** * @brief Default TX power (0dBm) */ diff --git a/drivers/include/cc2420.h b/drivers/include/cc2420.h index b8d21767227006a896e0cd5341f41fa627739e0e..16ba81802fd55ee3e5a659e03290ba6f3d5cd69c 100644 --- a/drivers/include/cc2420.h +++ b/drivers/include/cc2420.h @@ -38,11 +38,6 @@ extern "C" { */ #define CC2420_PKT_MAXLEN (IEEE802154_FRAME_LEN_MAX) -/** - * @brief PAN ID configuration - */ -#define CC2420_PANID_DEFAULT (IEEE802154_DEFAULT_PANID) - /** * @name Channel configuration * @{ diff --git a/drivers/include/kw2xrf.h b/drivers/include/kw2xrf.h index 5baa074624c6ce1c574eb313bebdc0265c4678c0..c344241fa27e619423cd536730445ff5ca00187d 100644 --- a/drivers/include/kw2xrf.h +++ b/drivers/include/kw2xrf.h @@ -42,11 +42,6 @@ extern "C" { */ #define KW2XRF_MAX_PKT_LENGTH (IEEE802154_FRAME_LEN_MAX) -/** - * @brief Default PAN ID used after initialization - */ -#define KW2XRF_DEFAULT_PANID (IEEE802154_DEFAULT_PANID) - /** * @name Default channel used after initialization * diff --git a/drivers/kw2xrf/kw2xrf.c b/drivers/kw2xrf/kw2xrf.c index 49e85ff1bca0bb5045cee7f332153f30f9794a2b..dc5cb1c0407ead0bbea213a7042741498b05b9ce 100644 --- a/drivers/kw2xrf/kw2xrf.c +++ b/drivers/kw2xrf/kw2xrf.c @@ -97,7 +97,6 @@ void kw2xrf_reset_phy(kw2xrf_t *dev) kw2xrf_set_channel(dev, KW2XRF_DEFAULT_CHANNEL); - kw2xrf_set_pan(dev, KW2XRF_DEFAULT_PANID); kw2xrf_set_address(dev); kw2xrf_set_cca_mode(dev, 1); @@ -115,6 +114,6 @@ void kw2xrf_reset_phy(kw2xrf_t *dev) kw2xrf_enable_irq_b(dev); - DEBUG("[kw2xrf] init phy and (re)set to channel %d and pan %d.\n", - KW2XRF_DEFAULT_CHANNEL, KW2XRF_DEFAULT_PANID); + DEBUG("[kw2xrf] init phy and (re)set to channel %d.\n", + KW2XRF_DEFAULT_CHANNEL); } diff --git a/drivers/kw2xrf/kw2xrf_getset.c b/drivers/kw2xrf/kw2xrf_getset.c index b3bd2f07eeea17238e77397bd87529956779507e..bd0b2bc85afda22de58564762dcf39c5954c9bbd 100644 --- a/drivers/kw2xrf/kw2xrf_getset.c +++ b/drivers/kw2xrf/kw2xrf_getset.c @@ -255,14 +255,11 @@ void kw2xrf_set_sequence(kw2xrf_t *dev, kw2xrf_physeq_t seq) void kw2xrf_set_pan(kw2xrf_t *dev, uint16_t pan) { - dev->netdev.pan = pan; - uint8_t val_ar[2]; val_ar[1] = (pan >> 8); val_ar[0] = (uint8_t)pan; kw2xrf_write_iregs(dev, MKW2XDMI_MACPANID0_LSB, val_ar, 2); LOG_DEBUG("[kw2xrf] set pan to: 0x%x\n", pan); - dev->netdev.pan = pan; } void kw2xrf_set_addr_short(kw2xrf_t *dev, uint16_t addr) diff --git a/drivers/mrf24j40/mrf24j40.c b/drivers/mrf24j40/mrf24j40.c index 2ae3a30111e30e8a99aa39832bf106af581d64d9..befd12e8b138f45a9fc26474d98b58fb7d8ab415 100644 --- a/drivers/mrf24j40/mrf24j40.c +++ b/drivers/mrf24j40/mrf24j40.c @@ -56,8 +56,6 @@ void mrf24j40_reset(mrf24j40_t *dev) mrf24j40_set_addr_long(dev, ntohll(addr_long.uint64.u64)); mrf24j40_set_addr_short(dev, ntohs(addr_long.uint16[0].u16)); - /* set default PAN id */ - mrf24j40_set_pan(dev, IEEE802154_DEFAULT_PANID); mrf24j40_set_chan(dev, IEEE802154_DEFAULT_CHANNEL); /* configure Immediate Sleep and Wake-Up mode */ diff --git a/drivers/mrf24j40/mrf24j40_getset.c b/drivers/mrf24j40/mrf24j40_getset.c index 92a19f393d3db8dae1d6cc9e92d1b6bf525fd803..70bbbe747d2e9b8b9905d11caf5545b39ca2881a 100644 --- a/drivers/mrf24j40/mrf24j40_getset.c +++ b/drivers/mrf24j40/mrf24j40_getset.c @@ -252,7 +252,6 @@ void mrf24j40_set_pan(mrf24j40_t *dev, uint16_t pan) { le_uint16_t le_pan = byteorder_btols(byteorder_htons(pan)); - dev->netdev.pan = pan; DEBUG("pan0: %u, pan1: %u\n", le_pan.u8[0], le_pan.u8[1]); mrf24j40_reg_write_short(dev, MRF24J40_REG_PANIDL, le_pan.u8[0]); mrf24j40_reg_write_short(dev, MRF24J40_REG_PANIDH, le_pan.u8[1]); diff --git a/drivers/netdev_ieee802154/netdev_ieee802154.c b/drivers/netdev_ieee802154/netdev_ieee802154.c index c13b1e1278410fa192dcdae5d19c0530a08b67a4..36259430c18e0f5d8792b565934c928e00f0cae0 100644 --- a/drivers/netdev_ieee802154/netdev_ieee802154.c +++ b/drivers/netdev_ieee802154/netdev_ieee802154.c @@ -63,6 +63,10 @@ void netdev_ieee802154_reset(netdev_ieee802154_t *dev) #elif MODULE_GNRC dev->proto = GNRC_NETTYPE_UNDEF; #endif + + /* Initialize PAN ID and call netdev::set to propagate it */ + dev->pan = IEEE802154_DEFAULT_PANID; + dev->netdev.driver->set(&dev->netdev, NETOPT_NID, &dev->pan, sizeof(dev->pan)); } int netdev_ieee802154_get(netdev_ieee802154_t *dev, netopt_t opt, void *value,