CC2530 & CC2531
Playing with hardware while waiting for programmer
I had finished research for ‘what is CC2531’ two days ago. My programmer is still somewhere at outbounds of Chinas, so I can’t do anything useful with it.
But my previous order had contained one more thing: a simple zigbee power switch. If CC2531 has a sniffer firmware right from the factory, and I have a zigbee device, should I be able to see at least something?
Hardware
The device I bought have a rather specific way to connect to wires: using plastic ends (where wire need to be cold pressed into plastic by special tool, leaving a hollow metallic tube with a wire inside for insertion).
Absolutely luckily, I have tools for this job:
After three or four attempts I learned how to use them (use a proper diameter inserts into tools, mine caps was 1mm and I tried to press them with 2mm inserts), and was able to complete the schematic.
By pressing a button on the side of the device I was even able to force it to click a relay, causing indicator on the extension socket to lid up.
While I was struggling to press caps properly I opened the case and found that there is a CC2530 inside!
I thing CC2350 and CC2531 would become a good friends! I still don’t know if this stuff is a zigbee router or just an end device yet.
Sniffing!
As we discussed before, my usb stick is a (passive) sniffer, and there is an opensource project for sniffing with it: https://github.com/mitshell/CC2531.git (It requires some non-pypi dependencies, so I used setup.py twice in one virtualenv to run it).
I run it and got my first zigbee output here:
+] frame received (FCS OK): 2019-09-06 21:21:18
channel: 20, 2450 MHz
RSSI: 30
IEEE 802.15.4 frame: 030826ffffffff07
IEEE 802.15.4 MAC:
[[[ IEEE 802.15.4 ]]]
### [MAC] ###
<[Res] : 0b0>
<[IntraPAN] : '0 : False'>
<[AckReq] : '0 : False'>
<[FramePending] : '0 : False'>
<[Security] : '0 : False'>
<[Type] : '3 : MAC command'>
<[SrcAddrMode] : '0 : Not present'>
<[FrameVers] : 0b00>
<[DstAddrMode] : '2 : 16-bit address'>
<[Res] : 0b00>
<[SeqNum] : 38>
<[DstPANID] : 0xffff>
<[DstAddr] : 0xffff>
<[SrcPANID] : 0x>
<[SrcAddr] : 0x>
### [Data] ###
<[RawData] : 0x07>
Not if this is really interesting, but here it is, a working something!
That’s all I could do here for now without having a proper zigbee controller (that means, I need to flash this usb stick, and this needs a programmer. Hello, china post, is someone out there?..)