I was able to reach the shell using the radio, but I have some questions.
I have a CC1101, it seems to me that CC1100 is different, both are usable with the driver right?
I’ve tried to make gnrc_networking example to work, using the instructions of Kapsar which I’ve found on this mail list:
1. create a file "cc110x_params.h" and put it in your board's include/
directory. See "boards/msba2/include/cc110x_params.h" as example. You
have to put the right parameters for your board.
2. Add these lines to your board's Makefile.include:
ifneq (,$(filter gnrc_netif_default,$(USEMODULE)))
USEMODULE += cc110x gnrc_netdev2 gnrc_cc110x
endif
3. Append these lines to Makefile.dep:
ifneq (,$(filter cc110x,$(USEMODULE)))
DISABLE_MODULE += gnrc_sixlowpan_iphc
endif
4. make clean all flash term ...
The next steps depend on whether your board has an implementation of
cpuid. Check that by typing "ifconfig" and see whether
"fe80::201:203:405:607/64" is every node's link-local address.
If they're different and unique, continue at step 6. Otherwise, manually
set new addresses:
5. on each node, enter these lines:
ifconfig 7 del fe80::201:203:405:607
ifconfig 7 set addr <n>
ifconfig 7 add fe80::<n>
(replace <n> with any hex number from 1 to fe)
After the nodes should be able to ping each other at fe80::<n>.
6. on one node, type:
udp server start 12345
7. on another node, type:
udp send <other-node-ip> 12345 TEST
(replace <other-node-ip> ...)
By the way I’m using this module using a simple 164 mm antenna made from an UTP cable wire in a breadboard, the module is also in the breadboard with ~10 cm wires.
http://www.radiocontrolli.com/applications/download-datasheet/category/3-multichannels-transceiver-modules.html?download=10:transceiver-module-cc1101-868-35mhz
The modified Makefile.dep is the one in the root folder.
I’ve also enabled debugging in the CC1101 driver files and added a small segment to the setup, which prints out the configuration/status registers, so I can see that the connection between the board and the radio works properly, and it does indeed.
ifconfig tells me this:
->ifconfig
-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]
If I set the channel it says:
-ifconfig 7 set chan 8
-drivers/cc110x/cc110x.c:cc110x_set_channel:204
-drivers/cc110x/cc110x.c:cc110x_switch_to_rx:157
-success: set channel on interface 7 to 8
But if I write in ifconfig again the “Channel” parameter stays on 0.
So I’ve continued with point number 5 with:
-ifconfig 7 del fe80::3600:3400:757:3156
-ifconfig 7 set addr 1
-ifconfig 7 add fe80::1
even though our adresses were different. I’ve tried this on different channels.
After this I’ve started the udp server with:
-udp server start 12345
After that I set up the other node similarly and write:
-udp server start fe80::1 12345 TEST
And every type I try that then this appears on the first nodes terminal:
-drivers/cc110x/cc110x.c:cc110x_switch_to_rx:157
This line also appears randomly sometimes.
I’ve also tried txtsnd 7 20 HELLO and txtsnd 7 fe80::2 HELLO with no success
This also appears in the console:
-_send:42
-cc110x: snd pkt to 0 payload_length=28
-cc110x_isr_handler() RADIO_TX_BUSY + GDO2
I’ve ran a debugger and it really sends something, but not a text apparently.
What am I missing?
Thanks!
Viktor