Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 06:35
    alexrayne commented #1547
  • 06:35
    alexrayne commented #1547
  • 06:34
    alexrayne commented #1547
  • 06:33
    alexrayne commented #1547
  • Apr 15 20:37
    YanikCysca commented #1547
  • Apr 15 20:23
    alexrayne commented #1547
  • Apr 15 20:23
    alexrayne commented #1547
  • Apr 15 20:22
    alexrayne commented #1547
  • Apr 15 20:18
    alexrayne commented #1547
  • Apr 15 19:46
    YanikCysca commented #1547
  • Apr 15 19:41
    YanikCysca commented #1547
  • Apr 15 14:18
    alexrayne commented #1547
  • Apr 15 14:18
    alexrayne commented #1547
  • Apr 15 14:17
    alexrayne commented #1547
  • Apr 15 14:16
    alexrayne commented #1547
  • Apr 15 14:16
    YanikCysca edited #1547
  • Apr 15 14:08
    YanikCysca edited #1547
  • Apr 15 14:07
    YanikCysca commented #1547
  • Apr 15 14:05
    YanikCysca commented #1547
  • Apr 15 14:02
    YanikCysca edited #1547
Jim Solderitsch
@jsolderitsch
Not sure. It's what the default message that is emitted by the current mqtt-client code out of the box. No changes were made there.
Atis Elsts
@atiselsts
if you get packet loss with even -40 RSSI, something is very wrong
perhaps the radio settings in arch/cpu/simplelink-cc13xx-cc26xx/rf-settings/cc13x2/ are not suitable for 1352?
Jim Solderitsch
@jsolderitsch
I guess I should scientifically do some analysis, but I am happy for the moment at least. But, things could go bad again over time. The day is still young in the Eastern time zone in the US where I am.
I am not qualified to examine radio settings in the folder you mention.
Atis Elsts
@atiselsts
did you try to read the idle channel RSSI on the node?
regarding the radio settings, someone should run https://www.ti.com/tool/SMARTRFTM-STUDIO and check if the settings it exports for CC1352 match the settings in Contiki-NG
Jim Solderitsch
@jsolderitsch
No, I did try to report out the idle channel RSSI. I can perhaps do this soon. But I am running a university class at the moment and basic use of rpl-border-router and hello-world is a current assignment and my ping experience was causing me grief.
Atis Elsts
@atiselsts
sorry for that!
João Duarte
@joao-duarte

I just tried that @atiselsts @jsolderitsch for curiosity, the hello world adapted with with iddle RSSI channel measurement on my CC1352R1 Launchpad, it's printing around -100 (I'm in Europe, using 863MHz band, on default channel 26).

In the project-conf.h I have:

#define RF_CONF_MODE   RF_MODE_SUB_1_GHZ
#define DOT_15_4G_CONF_FREQ_BAND_ID   DOT_15_4G_FREQ_BAND_863
Jim Solderitsch
@jsolderitsch
Interesting...
Guilherme Aguiar Silva Milanez
@guiaguiar27
Hy, i'm testing my own schedule in TSCH, but I am having problems with us disconnecting or even never connecting nodes. I follow this procedure: create broadcast links at first and then remove those links creating specific unicast links. Any ideas ?
Atis Elsts
@atiselsts
@guiaguiar27 it could be any of many things wrong. It may be better to start with exploration in TSCH-Sim (https://github.com/edi-riga/tsch-sim), as it has a better schedule visualization functionality and faster debugging turnaround than Cooja
Petroulakis Nikos
@nikpetgr_twitter
has anybody used access token from client to resource server , to gain access in the resources? According to ACE framework an access token from an AS to client can be used for accessing the RS.
Petroulakis Nikos
@nikpetgr_twitter
anyone send access token to client using PSK authentication in Coap before establishing the dtls channel?
Jim Solderitsch
@jsolderitsch

Is it possible to specify a different default channel to use in a rpl-border-router situation with a sensortag running the mqtt-client?

#define IEEE802154_CONF_DEFAULT_CHANNEL      25

Something like the above? What numbers could be used here? I guess the channel setting would need to be made in all project-conf.h files where the same channel must be used for the motes to communicate.
I ask because I am seeing dropped packets again when I test connectivity with ping6.
Would another channel perhaps lessen interference if there was some?

saharnaz-rashidi
@saharnaz-rashidi

@gsoni260 you can use

include "net/ipv6/uip-ds6.h"

include "net/ip/uip-udp-packet.h"

in mrhof.c (~contiki-3.0/core/net/rpl/rpl-mrhof.c) in order to get uip_stat.ip.sent/recv values.

Jim Solderitsch
@jsolderitsch

I discovered that the poor ping6 performance is likely from general electrical/radio interference from equipment on my desk: monitors, more than one computer, USB ethernet adapters, extension cords with multiple sockets and multiple power bricks, etc. Rich emitter sources I suppose. I moved the launchpad and the Raspberry Pi it was plugged into away from where it was placed to a spot about 2 feet away and not as close to the equipment that was within inches of the Pi and launchpad.

Order of magnitude improvement in ping6 response times and almost no dropped packets.

I moved the equipment back to where it was without needing to restart it and performance degraded dramatically.
Hope this helps. Might be a candidate for inclusion on the wiki somewhere.

daniel_colt
@daniel_colt:matrix.org
[m]
Hey, I'm having difficulty figuring something out. I was getting the node's parent address with RPL Lite like this:
if(curr_instance.dag.preferred_parent) {
uiplib_ipaddr_snprint(parent_ip, sizeof(parent_ip), rpl_neighbor_get_ipaddr(curr_instance.dag.preferred_parent));
}
But now I wanted to try RPL Classic and I can't seem to find a functional way to get the preferred parent. I tried this but didn't work:
if(dag->preferred_parent) {
uiplib_ipaddr_snprint(parent_ip, sizeof(parent_ip), rpl_parent_get_ipaddr(dag->preferred_parent));
}
How should I do it? Thanks
Konstantinos Arakadakis
@konstantinosarakadakis_gitlab
Hi everyone, I am implementing an OTAP solution for zolertia RE-MOTES, using differencing algorithms, and realized something which I was not aware of. So, I would like to ask you if it is actually the case, or if I simply messed up. First, regardless of the number of instructions I add in the source file from one version to the next (say in hello-world.c), the total size of the resulted .hex files seems to be the same. Besides, when I tried using xdelta or bsdiff to compute a patch, I realized that these patches are remarkably small. e.g. 26 bytes long, when the size of the patch of the base version with itself is 23 bytes. The funny thing is that I did not simply add an instruction, but whole functions. This is not the case, however, when I add a printf in the source code, as it seems to create huge differences and subsequently large patches. Is this behavior normal? Thank you
Atis Elsts
@atiselsts
printf is a huge function!
your own functions may be small and / or they can be inlined by compiler, so the resulting difference is small - its difficult to say without seeing the code. also, if you're not using a function, it will be optimized away from the linker, as you probably already know
Konstantinos Arakadakis
@konstantinosarakadakis_gitlab
Is there a way to compile it without optimizations in order to see the actual effects of the changes?
Atis Elsts
@atiselsts
I would not put it like this - the effects are real regardless of whether the optimizations are enabled or not, just different! that said, I think you can try to set command line variables OPTIMIZATIONS=-O0 and SMALL=0 to disable most optimizations. Unused functions still may be removed, though!
Konstantinos Arakadakis
@konstantinosarakadakis_gitlab
That seems to work! Thank you!
Roald
@roaldvg:rubdos.be
[m]
:point_up: Edit: I'm new to using BLE. I'd use some nRF52dk's running contiki, do I need a gateway or can I use one of these board as a gateway?
shreya mishra
@shreya2326_gitlab
I don't see tunslip6 folder inside serial-io. How to get it?
I am using contiki-ng
George Oikonomou
@g-oikonomou
there is no sub-folder for tunslip under serial-io
just run make inside serial-io and that should build the tunslip exec for you
samson_liu_1999
@samson_liu_1999:matrix.org
[m]
Hello everyone, I'm trying to build some RPL related programs. And I want to have the ability to set up the RPL option header flags (Here is the option header I mentioned: https://tools.ietf.org/html/rfc6553#section-3). To be more specific, for example, how can I send out a message with Rank-Error 'R' flag. Any suggestions?
sahel-vafa
@sahel-vafa
@g-oikonomo Hello, you told "One of my team members has something that they are planning to share as soon as we possibly can. A collection of multiple attacks against RPL in a single repo, documented and easy to enable/disable". is it possible to send me the email of him or her . I have some questions about Sybil attack implementation therefore I want to get help.
Mahboob Karimian
@mahboobkarimian
Hi all,
Can we do something to improve the timing accuracy in Cooja when using the native node?
Becuase I see some nodes can't send KA and therefore d-sync happens. I can locate a huge drift between transmitter's TX and receiver's RX in timeline.
muntahatasnim
@muntahatasnim
hi , i am a newbie to contiki-ng
how can i print the node rank in the rpl udp file?
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