CC1101 + stm32f3discovery packet problem!

Hi! I was able to set up my board + the radio, and the SPI communication is working. I’m trying to use the gnrc_networking example by a previous email by kaspar, where he gave the instructions on the setup. https://lists.riot-os.org/pipermail/users/2015-November/000468.html

My ifconfig says this:

fconfig

Iface 7 HWaddr: 20 Channel: 0

MTU:1280 HL:64 6LO RTR IPHC

Link type: wireless

inet6 addr: ff02::1/128 scope: local [multicast]

inet6 addr: fe80::3600:3400:757:3156/64 scope: local

inet6 addr: ff02::1:ff57:3156/128 scope: local [multicast]

I did exactly the same thing: ifconfig 7 del fe80::3600:3400:757:3156 ifconfig 7 add fe80::1 ifconfig 7 add fe80::1

I do the same with the other node with fe80::2 and then I send HELLO with txtsnd: txtsnd 7 fe80::2 HELLO!

1., Whenever I switch channel, the Channel variable in the ifconfig stays the same, I don’t know if its intended.

2., Packets doesn’t arrive. But I fired up a debugger, and the radio receives the packet just fine with a good CRC and everything, but somehow the networking stack drops it. Here is my github repo, I’ve started out with modifying the stm32f3discovery board: https://github.com/blaisehorvath/RIOT/tree/master/boards/stm32f3discovery

3., There was a step that I should put a IPHC disable in my Makefile.dep:

ifneq (,$(filter cc110x,$(USEMODULE))) DISABLE_MODULE += gnrc_sixlowpan_iphc endif

So I created a Makefile.dep file in my board directory, which I’ve included in my Makefile But the IPHC module compiles, and the ifconfig says it too, I don’t really understand why this step is needed, but I’Ve tried out without it and that didn’t work ( too ).

4., When I start my board it sends packets to 0:

cc110x: snd pkt to 0 payload_length=20 I don’t know why.

Any idea what to do? Thanks for the help so far! Viktor

Hey,

I did exactly the same thing: ifconfig 7 del fe80::3600:3400:757:3156 ifconfig 7 add fe80::1 ifconfig 7 add fe80::1

You have to set the hardware address to match the last byte of that node's link-local address. For example, if on one node you use "fe80::1" as link-local address for interface 7, set the hardware address with "ifconfig 7 set addr 01" with "01" (use ab for "fe80::ab").

1., Whenever I switch channel, the Channel variable in the ifconfig stays the same, I don't know if its intended.

That's not intended. Could you open an issue?

3., There was a step that I should put a IPHC disable in my Makefile.dep: ifneq (,$(filter cc110x,$(USEMODULE)))     DISABLE_MODULE += gnrc_sixlowpan_iphc endif

You have to add just "DISABLE_MODULE += gnrc_sixlowpan_iphc" to your application's Makefile. When compiling, a huge warning saying that you're disabling a needed module should appear.

4., When I start my board it sends packets to 0:

cc110x: snd pkt to 0 payload_length=20 I don't know why.

As soon as the network stack starts up, it broadcasts e.g., router solicitations.

Thanks for the help so far!

Sorry for the difficulties... But using 6lowpan over cc110x is not specified, so the whole thing is a bit kludgy.

Kaspar

Thanks for the help! It works now with a little hack in the makefile. Why cc1101 is unspecified / what does this mean in this case? Is it a theoretical problem or it just needs someone to do it? I would like to help in that, where could I start ( I’m kind of new in networks )? What are the missing parts in the driver implementation? Viktor

Hey,

Thanks for the help! It works now with a little hack in the makefile. Why cc1101 is unspecified / what does this mean in this case? Is it a theoretical problem or it just needs someone to do it? I would like to help in that, where could I start ( I'm kind of new in networks )? What are the missing parts in the driver implementation?

It's just that 6lowpan has a lot of assumptions as it was designed for 802.15.4 radios, i.e., 8 byte hardware address to generate a EUI64 link layer address from. cc110x only has 1 byte l2 addresses. I've tried to make 6lowpan somehow work anyways, but without much knowledge of 6lowpan.

If you'd like to help, finding out what 6lowpan expects from the link layer and how cc110x can deliver that would be a start...

Kaspar