YARD Stick One Sub-1 GHz [B082]
https://www.youtube.com/watch?v=WvRkRw88Zik
* GitHub : https://github.com/rdiot/rdiot-b082.git
* Specs
YARD Stick One is a sub-1 GHz wireless transceiver IC on a USB dongle. Based on the Texas Instruments CC1111, it features:
half-duplex transmit and receive
official operating frequencies: 300-348 MHz, 391-464 MHz, and 782-928 MHz
unofficial operating frequencies: 281-361 MHz, 378-481 MHz, and 749-962 MHz
modulations: ASK, OOK, GFSK, 2-FSK, 4-FSK, MSK
data rates up to 500 kbps
Full-Speed USB 2.0
SMA female antenna connector (50 ohms)
software-controlled antenna port power (max 50 mA at 3.3 V)
low pass filter for elimination of harmonics when operating in the 800 and 900 MHz bands
GoodFET-compatible expansion and programming header
GIMME-compatible programming test points
open source
* Contents
1. Install in Linux
# wget https://bitbucket.org/atlas0fd00m/rfcat/downloads/rfcat_150225.tgz
# tar zxvf rfcat_150225.tgz
# cd rfcat_150225
# sudo apt-get install python-usb
# sudo python setup.py install
# sudo rfcat -r
2. Running RfCat
root@host:/dev_store/rfcat_150225# sudo rfcat -r
RfCat, the greatest thing since Frequency Hopping!'
Research Mode: enjoy the raw power of rflib
currently your environment has an object called "d" for dongle. this is how
you interact with the rfcat dongle:
>>> d.ping()
>>> d.setFreq(433000000)
>>> d.setMdmModulation(MOD_ASK_OOK)
>>> d.makePktFLEN(250)
>>> d.RFxmit("HALLO")
>>> d.RFrecv()
>>> print d.reprRadioConfig()
>>> print d.reprRadioConfig()
== Hardware ==
Dongle: YARDSTICKONE
Firmware rev: 0348
Bootloader: CC-Bootloader
== Software ==
rflib rev: 323
== Frequency Configuration ==
Frequency: 901999877.929688 hz (0x259555L)
Channel: 0
Intermediate freq: 281250 hz
Frequency Offset: 0 +/-
Est. Freq Offset: 18
== Modem Configuration ==
Modulation: 2FSK
DRate: 38360.595703 hz
ChanBW: 93750.000000 hz
DEVIATION: 20507.812500 hz
Sync Mode: 15 of 16 bits must match
Min TX Preamble: 4 bytes
Chan Spacing: 199951.171875 hz
BSLimit: No data rate offset compensation performed
DC Filter: enabled
Manchester Encoding: disabled
Fwd Err Correct: disabled
== Packet Configuration ==
Sync Word: 0x0C4E
Packet Length: 255
Length Config: Fixed Packet Mode
Configured Address: 0x0
Preamble Quality Threshold: 4 * 2
Append Status: No
Rcvd Packet Check: No address check
Data Whitening: off
Packet Format: Normal mode
CRC: disabled
== AES Crypto Configuration ==
AES Mode: CBC - Cipher Block Chaining
Crypt RF Input: off
Crypt RF Output: off
== Radio Test Signal Configuration ==
TEST2: 0x88
TEST1: 0x31
TEST0: 0x9
VCO_SEL_CAL_EN: 0x0
== Radio State ==
MARCSTATE: MARC_STATE_RX (d)
DONGLE RESPONDING: mode :d, last error# 1
== Client State ==
========================================================================================
client thread cycles: 336/13
client errored cycles: 0
recv_queue: (0 bytes) ''
trash: (3 blobs) "[128, 142, (1461761463.730662, '')]"
recv_mbox (2 keys) "['0x42', '0xff']"
app 0x42 (2 records)
[0x1] (3 frames) "[('B\x01\xff\x00#\xe2_O4\xfd\xc4[\xad\x7f\xd6\x01}[\xb5_\xbc*66r:+\x83$\xe7\xb2\xfe\"
[0x7] (0 frames) "[]"
app 0xff (4 records)
[0x88] (0 frames) "[]"
[0x80] (0 frames) "[]"
[0x82] (0 frames) "[]"
[0x86] (0 frames) "[]"
>>> d.setFreq(315060000)
>>> d.setMdmModulation(MOD_ASK_OOK)
>>> d.setMdmDRate(int(1.0/0.000550))
>>> d.RFxmit("\x8E\xE8\xE8\x88\x88\xE8\x88\x88\x00\x00\x00" * 40)