goodfet.ccspi - interprets frequency input below 100 to be a channel, and a value...
[goodfet] / client / GoodFETCCSPI.py
index df53dac..82de15d 100644 (file)
@@ -132,6 +132,11 @@ class GoodFETCCSPI(GoodFET):
         fsctrl=self.peek(0x18);
         mhz=2048+(fsctrl&0x3ff)
         return mhz*1000000;
+    def RF_setchan(self,channel):
+        if channel < 11 and channel > 26:
+            print "Only 802.15.4 channels 11 to 26 are currently supported.";
+        else:
+            self.RF_setfreq( ( (channel-11)*5 + 2405 ) * 1000000 );
     def RF_getsmac(self):
         """Return the source MAC address."""
         return 0xdeadbeef;
@@ -277,9 +282,11 @@ class GoodFETCCSPI(GoodFET):
             from scapy.all import Dot15d4
         except ImportError:
             print "To use packet disection, Scapy must be installed and have the Dot15d4 extension present."
-        self.printpacket(packet)
+            print "try: hg clone http://hg.secdev.org/scapy-com";
+            print "     sudo ./setup.py install";
+        self.printpacket(packet);
         try:
-            scapyd = Dot15d4(packet)
-            print scapyd.show()
+            scapyd = Dot15d4(packet[1:]);
+            scapyd.show();
         except:
             pass;