Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • May 06 14:09
    joakimeriksson commented #1516
  • May 06 13:51

    joakimeriksson on develop

    Improve heap memory allocation … Merge pull request #1463 from n… (compare)

  • May 06 13:51
    joakimeriksson closed #1463
  • May 06 11:00

    alexstanoev on develop

    Add README link to GitHub discu… Merge pull request #1559 from g… (compare)

  • May 06 11:00
    alexstanoev closed #1559
  • May 06 10:59

    alexstanoev on develop

    add UIPBUF_ATTR_RSSI and UIPBUF… Merge pull request #1514 from a… (compare)

  • May 06 10:59
    alexstanoev closed #1514
  • May 06 09:29
    Yagoor commented #1469
  • May 06 09:00
    atiselsts commented #1514
  • May 06 08:59
    atiselsts synchronize #1514
  • May 06 08:48

    atiselsts on develop

    Add CC_DEPRECATED macro Merge pull request #1560 from a… (compare)

  • May 06 08:48
    atiselsts closed #1560
  • May 06 07:54
    atiselsts commented #1516
  • May 06 02:12
    alexstanoev synchronize #1560
  • May 06 01:57
    alexstanoev opened #1560
  • May 05 20:17
    atiselsts commented #1516
  • May 05 20:16
    atiselsts synchronize #1516
  • May 05 18:11
    Yagoor commented #1555
  • May 05 16:43
    atiselsts commented #1515
  • May 05 13:36
    atiselsts commented #1557
Atis Elsts
@atiselsts
@mahboobkarimian interesting, but I'm afraid I don't get where the problem is coming from! First, what do you mean by "native node" in Cooja? Second, timing in Cooja should be perfectl, with no drift (unless you use msp430 nodes and explicitly configure the drift)
@muntahatasnim you can try to include routing/rpl-lite/rpl.h and print curr_instance.dag.rank. That is if you're using RPL Lite. For RPL Classic its something similar
muntahatasnim
@muntahatasnim
@atiselsts thank you so much, now i want to decrease rank in rpl-dag.c file, within the rpl_dag_update_state(void) function, now for malicious node how do i set a bool variable to reduce the rank for that specific node?
muntahatasnim
@muntahatasnim
or setting a button event for that node?
Guilherme Aguiar Silva Milanez
@guiaguiar27
Hy guys, you know how to increase the amount of packages sent. I wanna know the maximum throughput of my own TSCH scheduler ?
ArnaudPalgen
@ArnaudPalgen
Hello everyone, I am looking for a way to use uart on zolertia zoul platform but I don't know how to do it at all. Does anyone have a tip or an example?
kevin-forest-cysca
@kevin-forest-cysca

Hello, i'm using platform simplelink with cc1352p1. I'm having a strange issue with a BUSFAULT when reading the HWREG(RFC_DBELL_BASE + RFC_DBELL_O_RFHWIFG) in the receiving_packet function in prop.mode.c.
The receiving packet function is called by the tsch_rx_slot thread from tsch-slot-operation.c.
at line 805.

/*---------------------------------------------------------------------------*/
static
PT_THREAD(tsch_rx_slot(struct pt *pt, struct rtimer *t))
{
  /**
   * RX slot:
   * 1. Check if it is used for TIME_KEEPING
   * 2. Sleep and wake up just before expected RX time (with a guard time: TS_LONG_GT)
   * 3. Check for radio activity for the guard time: TS_LONG_GT
   * 4. Prepare and send ACK if needed
   * 5. Drift calculated in the ACK callback registered with the radio driver. Use it if receiving from a time source neighbor.
   **/

  struct tsch_neighbor *n;
  static linkaddr_t source_address;
  static linkaddr_t destination_address;
  static int16_t input_index;
  static int input_queue_drop = 0;

  PT_BEGIN(pt);

  TSCH_DEBUG_RX_EVENT();

  input_index = ringbufindex_peek_put(&input_ringbuf);
  if(input_index == -1) {
    input_queue_drop++;
  } else {
    static struct input_packet *current_input;
    /* Estimated drift based on RX time */
    static int32_t estimated_drift;
    /* Rx timestamps */
    static rtimer_clock_t rx_start_time;
    static rtimer_clock_t expected_rx_time;
    static rtimer_clock_t packet_duration;
    uint8_t packet_seen;

    expected_rx_time = current_slot_start + tsch_timing[tsch_ts_tx_offset];
    /* Default start time: expected Rx time */
    rx_start_time = expected_rx_time;

    current_input = &input_array[input_index];

    /* Wait before starting to listen */
    TSCH_SCHEDULE_AND_YIELD(pt, t, current_slot_start, tsch_timing[tsch_ts_rx_offset] - RADIO_DELAY_BEFORE_RX, "RxBeforeListen");
    TSCH_DEBUG_RX_EVENT();

    /* Start radio for at least guard time */
    tsch_radio_on(TSCH_RADIO_CMD_ON_WITHIN_TIMESLOT);
    packet_seen = NETSTACK_RADIO.receiving_packet() || NETSTACK_RADIO.pending_packet();  //BUSFAULT Here
    if(!packet_seen) {
      /* Check if receiving within guard time */
      RTIMER_BUSYWAIT_UNTIL_ABS((packet_seen = (NETSTACK_RADIO.receiving_packet() || NETSTACK_RADIO.pending_packet())),
          current_slot_start, tsch_timing[tsch_ts_rx_offset] + tsch_timing[tsch_ts_rx_wait] + RADIO_DELAY_BEFORE_DETECT);
    }
    if(!packet_seen) {
      /* no packets on air */
      tsch_radio_off(TSCH_RADIO_CMD_OFF_FORCE);
    }

The busfault is happening only when there is a lot of nodes (around 20) present in the airspace. It is not systematic, it usually happens randomly but at least once in 2 or 3 hours.

Is there something that should be done to fix the issue?

jeppenodgaard
@jeppenodgaard
Hi,
There seems to be an issue in RPL-lite where a node chooses its child as parent.
It can be reproduced by running this Cooja test script: https://github.com/jeppenodgaard/contiki-ng/blob/jo/test-rpl-lite-stability/tests/14-rpl-lite/08-rpl-dao-route-loss-6.csc
It uses the UDGM radio medium with packet loss, which seem to provoke the issue. Should I create an issue or can it be fixed by enabling/tuning RPL parameters?
Atis Elsts
@atiselsts
@jeppenodgaard please create an issue - this sounds like a problem. as a minimum, it will document the problem and the configuration under which it appears
Petroulakis Nikos
@nikpetgr_twitter
is there an ACE implementation using PSK access-token request from coap-client to resource-server? I am using libcoap-client and i have already set a dtls channel with a resource server using psk-default-identity and key. Is there a way to use an access-token containing psk-identity and key during the dtls channel setup?
jeppenodgaard
@jeppenodgaard
@atiselsts Thanks for the quick reply - I've opened issue contiki-ng/contiki-ng#1545
Andreas Urke
@arurke

It seems Coffee assumes read/write/delete operations will not fail and that they will always do something to the provided buffer. The last part is a bit problematic as it may lead to undefined behavior, one of many examples from merge_log():

  struct file_header hdr, hdr2; // Not initialized
  (...)
  read_header(&hdr, file_page); // if fail, hdr still uninitialized
  fd = cfs_open(hdr.name, CFS_READ); // undefined behavior

Initializing to zero would solve this, but are there anyone savvy enough in the internals of Coffee who can say if zeroes are the most reasonable value? (I assume fails will cause a range of other problems, but I would prefer they are not undefined). Allowing myself to tag @nvt

Ghost
@ghost~5e69ddabd73408ce4fdc76a3
Hello, I’m testing on cc1310-LAUNCHPAD platform and using nullnet as example.I have a question about the RF.
I turn the radio off when the radio isn’t needed for energy-saving, and turn it on every 10s. The node could run about 2~4 days then it would crash, and watchdog doesn’t works! However, if I don’t turn the radio off, it could run exceed 14 days. I have debugging this problem for a month. How could I improve to solve this problem?
Guilherme Aguiar Silva Milanez
@guiaguiar27
Hello everybody. Do you know what causes allocation failure on TSCH links?
sahel-vafa
@sahel-vafa
Hi all,
Does anyone knows how to implement Sybil attack in Contiki and simulate in Cooja?
I want to have 2 nodes with the same IP and node id in Cooja. Is this possible?
GrreaterHu
@GrreaterHu
Hi, I am new to contiki-ng, how do I install the mobility plugin on contiki-ng? Is it different from installing on other versions of contiki? I can't find a tutorial.Someone can help,please?
GrreaterHu
@GrreaterHu
Hi everyone,I have finished installing the contiki-ng mobile plug-in, but I find that I can't run any of the 6TiSch routines.what's more ,I can't ant run without sudo .If I ant run ,I can't OPEN the cooja, The error is as follows:
BUILD FAILED
/home/zhong/6Tisch/contiki-ng/tools/cooja/build.xml:200: The following error occurred while executing this line:
/home/zhong/6Tisch/contiki-ng/tools/cooja/apps/serial_socket/build.xml:23: Unable to delete file /home/zhong/6Tisch/contiki-ng/tools/cooja/apps/serial_socket/build/org/contikios/cooja/serialsocket/SerialSocketServer$4$2.class
what's wrong with my contiki-ng?Thank you in advance.
sankarr
@sankarr:matrix.org
[m]
can any pls help with these quesstions
Ownership type; open sourece
licencing; 3-clause BSD license.
range of platforms;
support;
Kernel structure;
scheduling;
security;
networking;
Bluetooth (or similar);
Available tools (including development environments).
performance attributes
discuss deployment.
Atis Elsts
@atiselsts
@guiaguiar27 not enough space in the memory buffers. try increasing TSCH_SCHEDULE_CONF_MAX_LINKS, perhaps also TSCH_SCHEDULE_CONF_MAX_SLOTFRAMES
@GrreaterHu these files were created when you were running as root (with sudo) . call sudo rm on the files, then run ant run normally
GrreaterHu
@GrreaterHu
@GrreaterHu these files were created when you were running as root (with sudo) . call sudo rm on the files, then run ant run normally
Thank you very much! I made it!
SUNGM-ADD
@SUNGM-ADD
ye, the same question. Can anyone tell me which place to check these questions ?
Ownership type; open source
licencing; 3-clause BSD license.
range of platforms;
support;
Kernel structure;
scheduling;
security;
networking;
Bluetooth (or similar);
Available tools (including development environments).
performance attributes
discuss deployment.
Jim Solderitsch
@jsolderitsch

I have been using the lwm2m-ipso-objects example with TARGET=simplelink and BOARD=sensortag/cc1352r1. It is working using the latest leshan server downloaded as a jar file from the eclipse projects site. Even the pre-shared key tinyDTLS settings work. There is mention in the wiki tutorial that using a bootstrap server is possible and there is an option to add to an entry to project-conf.h to say that a bootstrap server is to be used. But I don't know how to fill out the bootstrap server configuration panels. I need to provide a client endpoint and LWM2M Bootstrap Server AND LWM2M server. The Bootstrap server is running locally and can be accessed via localhost:8080. I launch it like this:

java -jar ./leshan-bsserver-demo.jar -lh fd00::1 -slh fd00::1

The COAP ports for bootstrapping are 5783 (no security) and 5784 (with security). For the main LWM2M server the respective ports are 5683 and 5684. Can I use the public eclipse server for the LWM2M server (leshan.eclipseprojects.io) with connections like:

coaps://leshan.eclipseprojects.io:5684

Would the sensortag be able to reach the general internet without NAT64 being defined? It seems that contiki-ng and jool are no longer in a compatible state to get NAT64. I know that there hasn't been any new development done on this example for over 2 years, but maybe someone else has tried something along these lines. Thanks in advance.

shreya mishra
@shreya2326_gitlab
I am trying to move my codebase developed for zolertia motes from contiki3x to Contiki NG, Can anybody suggests points to be taken into account to go forward and what major changes I'll be seeing as a difference between both versions.
sunilassao
@sunilassao
Does contiki-ng support LwM2M pull mode OTA f/w image transfer? What is the server you would use to verify? Leshan?
Anil Kumar Prajapati
@anilprajapati88
@sankarr:matrix.org @SUNGM-ADD you can get most of the information from https://github.com/contiki-ng/contiki-ng/wiki only.
Jim Solderitsch
@jsolderitsch
@sunilassao I just used a local copy of the leshan server running on the same machine as my rpl-border-router. I don't think contiki-ng supports OTA f/w so I don't see how the simple client that I built is able to handle that. The lwm2m contiki-ng code hasn't been updated in a long time.
João Ricardo de Oliveira Mota
@j-r-mota

Hello, does someone know if 16 channel TSCH is working as intended?

I'm doing some tests with multichannel on TSCH, so I made a Cooja simulation with 100 motes and no packet was lost in this simulation. Then I added the following single line to project-conf.h:

//Change TSCH available channel offsets from 4 to 16
#define TSCH_CONF_DEFAULT_HOPPING_SEQUENCE TSCH_HOPPING_SEQUENCE_16_16

And then I restarted the simulation. Now 35 application packets were lost. But the packets were lost from a single mote, and within the first 341 seconds only.

But this line alone, in theory, shouldn't change anything in the simulation results, cause I'm still using the same channel offset to send the messages. The slotframe configuration I'm using in both simulations is this:

  tsch_schedule_add_link(sf_min, LINK_OPTION_TX | LINK_OPTION_RX 
  | LINK_OPTION_SHARED | LINK_OPTION_TIME_KEEPING,
      LINK_TYPE_ADVERTISING, &tsch_broadcast_address, 0, 0); /* EB */
  tsch_schedule_add_link(sf_min, LINK_OPTION_TX | LINK_OPTION_RX
  | LINK_OPTION_SHARED,
      LINK_TYPE_NORMAL, &tsch_broadcast_address, 1, 0); /* RPL */
  tsch_schedule_add_link(sf_min, LINK_OPTION_TX | LINK_OPTION_RX
  | LINK_OPTION_SHARED,
      LINK_TYPE_NORMAL, &tsch_broadcast_address, 2, 1); /* Data */

Thanks in advance!

I'm using contiki version release/v4.3
sunilassao
@sunilassao
@jsolderitsch Are you saying you were able to download a file to the lwm2m client via Leeshan?. BTW. We have seen the f/w OTA image transfer working for push mode. But was checking if anyone tried the pull mode?
__zhuang
@11zhuang
Hi everyone, I’m trying to make a low power system. So the radio shall be turned off for a long time when it isn’t needed. The platform will freezing after it runs for few days. Here is my testing code. Did I make something wrong?
I’m testing on CC1310-launchpad and using nullnet.
#define ACQUIRE_PERIOD_RTIMER (10*RTIMER_SECOND)
#define RF_CHANGE_DELAY_RTIMER  (0.01*RTIMER_SECOND)
static uint8_t disconnect_count = 0;
const rtimer_clock_t period = ACQUIRE_PERIOD_RTIMER-RF_CHANGE_DELAY_RTIMER;
static rtimer_clock_t slothead;
static struct rtimer heartbeat_rt;
void HeartBeat(struct rtimer *rt, void *ptr);
static struct ctimer ct;
void _turn_radio_off(void *ptr);
void tx_cb(void *ptr, int status, int transmissions);
/*---------------------------------------------------------------------------*/
PROCESS(nullnet_example_process, "NullNet unicast example");
AUTOSTART_PROCESSES(&nullnet_example_process);

/*---------------------------------------------------------------------------*/
void input_callback(const void *data, uint16_t len,
  const linkaddr_t *src, const linkaddr_t *dest)
{
  leds_off(LEDS_RED);
  NETSTACK_RADIO.off(); //turn radio off
  ctimer_stop(&ct); //stop timeout

  /*synchronize*/
  NETSTACK_RADIO.get_object(RADIO_PARAM_LAST_PACKET_TIMESTAMP,&slothead,sizeof(slothead)); //get timestamp

  disconnect_count = 0; //clear counter

  /*Set next heartbeat*/
  rtimer_set(&heartbeat_rt,slothead+period,1,HeartBeat,NULL);
}
/*---------------------------------------------------------------------------*/
PROCESS_THREAD(nullnet_example_process, ev, data)
{
  PROCESS_BEGIN();
  disconnect_count = 0;
  nullnet_set_input_callback(input_callback);

  while(1)
  {
    PROCESS_WAIT_EVENT();
    if(ev==PROCESS_EVENT_POLL)
    {
      NETSTACK_RADIO.on(); //turn radio on
      disconnect_count = disconnect_count + 1; 
      if(disconnect_count<=DISCONNECT_MAX)
      { //disconnecting threshold
        leds_on(LEDS_GREEN);
        ctimer_set(&ct,TIMESLOT_TIMER+10,_turn_radio_off,NULL); //receiving timeout
      }
      else
      {
        /*Keep the radio turning on for a synchronizing packet*/
        leds_off(LEDS_GREEN);
      }

    }
  }

  PROCESS_END();
}
/*---------------------------------------------------------------------------*/
void HeartBeat(struct rtimer *rt, void *ptr)
{
  leds_on(LEDS_RED);
  process_poll(&nullnet_example_process);
}
/*---------------------------------------------------------------------------*/
void _turn_radio_off(void *ptr)
{
  /*Receiving timeout*/
  NETSTACK_RADIO.off();

  slothead = slothead + ACQUIRE_PERIOD_RTIMER;
  /*Set next heartbeat*/
  rtimer_set(&heartbeat_rt,slothead+period,1,HeartBeat,NULL);
}
Anil Kumar Prajapati
@anilprajapati88
@atiselsts @g-oikonomou, can we use this msp430 version in contiki-ng software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPGCC/9_3_1_1/export/msp430-gcc-full-linux-x64-installer-9.3.1.1.7z available on https://www.ti.com/tool/download/MSP430-GCC-OPENSOURCE - Texas Instrument website
sunilassao
@sunilassao
@atiselsts , @simonduq , Is there any profiling to understand RAM requirement per node. I am trying to understand how many nodes I can connect. 100s, 1000s?
Navaneeth Bhardwaj
@navan93
Hi Everyone, I am looking to implement low power battery powered nodes using CC1350, I have got the example 6tisch/simple-node working on a couple of CC1350 Launchpads. For my requirement latency can be high , like 10s maybe. What are the handles in TSCH that I can play with to reduce the power consumption further. Currently the simple-node consumes ~150uA.
Atis Elsts
@atiselsts
@anilprajapati88 I don't know - it would be good to try out! In the past, many versions of msp430 gcc did not work properly, so I would not get my hopes up. Can you report what results your get if you try?
Atis Elsts
@atiselsts
@sunilassao check out this on how to to optimize the memory usage: https://github.com/contiki-ng/contiki-ng/wiki/Tutorial:-RAM-and-ROM-usage
you can play around with NBR_TABLE_CONF_MAX_NEIGHBORS, NETSTACK_MAX_ROUTE_ENTRIES and disabling the storing mode. The only way to find out the limits on a specific platform with a specific configuration is to do it experimentally
@navan93 that's a good question. We should probably provide simple-node configuration for energy efficient applications and a Wiki tutorial. For now you have to do it the hard way. First, make sure Orchestra and RPL storing mode are enabled in the Makefile (MAKE_WITH_ORCHESTRA and MAKE_WITH_STORING_ROUTING).
Atis Elsts
@atiselsts
Then set ORCHESTRA_CONF_COMMON_SHARED_PERIOD to ORCHESTRA_CONF_UNICAST_PERIOD to larger values. If these values are too large, RPL will not work properly. If they are too small, the network is not energy efficient.
Henrique Mecking
@henriquemecking_twitter

Hi, I believe the problem is back

henrique@MacBook-Pro-de-Henrique contiki-ng % contiker bash
WARNING: The requested image's platform (linux/386) does not match the detected host platform (linux/amd64) and no specific platform was requested

Apparently the same as the issue contiki-ng/contiki-ng#1526

Docker desktop version 3.3.2(63878)
Navaneeth Bhardwaj
@navan93
@atiselsts Thanks, I will try changing those two values
Dzuy Nguyen
@dzuy_gitlab
Hello,
I have 2 launchpad CC1310, build hello-world example with MAKE_MAC = MAKE_MAC_TSCH. I do rpl-set-root 1 to one of the launchpads. It becomes rpl border router and coordinator.
The other launchpad comes up and joins the network and everything is peachy.
Now, I want my linux host to be the native rpl border router. How do I go about doing that? I did build rpl-router-border native and flash one of the laucnhpads with slip-radio (built with MAKE_MAC_TSCH). The native border router runs, and I can set it to rpl router, but how do I make it the coordinator?
Atis Elsts
@atiselsts
@dzuy_gitlab you should not make the native BR a coordinator - TSCH is timing sensitive and the serial line interface between the BR and the slip radio will introduce unpredictable delays. Instead, the slip-radio should be the coordinator! https://github.com/cetic/6lbr/tree/develop/examples/6lbr/demo/tsch has an example for the old Contiki
George Oikonomou
@g-oikonomou

Hi community. In preparation for the upcoming release, which will be out of the door in a matter of days, we have now enabled the "Discussions" functionality on GitHub.

This is not meant as a replacement for gitter, but to complement it. Unlike gitter, "discussions" are persistent and will be indexed by search engines, providing a place for users to search for answers to questions asked by others before. Gitter can still be used for conversations of a "quick chat" nature as we have been doing.

Existing and future issues that are more "questions" than they are "issues" will be converted to Discussions.

Hope you find it useful!

https://github.com/contiki-ng/contiki-ng/discussions

Haoran Xiao
@haoranx91
Hello everyone. Does anybody know if there has been a fix for this issue? CoAP duplicate detection missing: contiki-ng/contiki-ng#291
Kerem Örs
@fkerem
Hi, did anyone test Jool SIIT-DC (version before 4) to connect to contiki nodes from an IPv4 network? It is a stateless one so that one can connect from IPv4 network to IPv6.
Alakesh Kalita
@Alakesh1025_twitter
Can anyone tell me how to add external sensors to CC2650LAUNCHPAD having contiki-ng OS? Do I need to change in board.h ? TI forum redirect me to contikiNG forum.