X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=client%2FGoodFETCCSPI.py;h=5ea56be3a1f8dfbb958606a7d88b8295db6a1ed7;hb=fd9430b330def6518620ac0ec190405d186c7505;hp=82763300d21a7b0ee5efa6d39d8db10e9856902c;hpb=073cf31070fd632d07004cfa97ff229040009d47;p=goodfet diff --git a/client/GoodFETCCSPI.py b/client/GoodFETCCSPI.py index 8276330..5ea56be 100644 --- a/client/GoodFETCCSPI.py +++ b/client/GoodFETCCSPI.py @@ -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; @@ -236,9 +241,10 @@ class GoodFETCCSPI(GoodFET): def RF_promiscuity(self,promiscuous=1): mdmctrl0=self.peek(0x11); - #print "mdmctrl0 was %04x" % mdmctrl0; - mdmctrl0=mdmctrl0&(~0x800); - #print "mdmctrl0 is now %04x" % mdmctrl0; + if promiscuous>0: + mdmctrl0=mdmctrl0&(~0x800); + else: + mdmctrl0=mdmctrl0|0x800; self.poke(0x11,mdmctrl0); return; @@ -277,9 +283,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." + print "try: hg clone http://hg.secdev.org/scapy-com"; + print " sudo ./setup.py install"; self.printpacket(packet); try: scapyd = Dot15d4(packet[1:]); - print scapyd.show(); + scapyd.show(); except: pass;