diff --git a/README.md b/README.md index a9d5acb2..f1653239 100644 --- a/README.md +++ b/README.md @@ -98,6 +98,10 @@ The devices typically come preloaded and do not need to be reflashed for basic u The hardware is open-source at https://github.com/riverloopsec/apimote. It is available assembled by contacting team at riverloopsecurity dot com. +In case of problems identifying the hardware try to run the following command (present in [GoodFET](https://github.com/travisgoodspeed/goodfet/blob/master/firmware/apps/radios/ccspi.c)) before any killerbee command + +`~/goodfet/client$ sudo ./goodfet.monitor listapps full` + _This is currently supported for beta, and supports sniffing, injection, and jamming._ Texas Instruments CC2530/1 EMK: diff --git a/firmware/apimotev4_202011.hex b/firmware/apimotev4_202011.hex new file mode 100644 index 00000000..3b58ffa9 --- /dev/null +++ b/firmware/apimotev4_202011.hex @@ -0,0 +1,577 @@ +:103100005542200135D0085A82450813314000311C +:103110003F4000000F9308249242081320012F83A0 +:103120009F4F9E540011F8233F4006020F9307243F +:103130009242081320011F83CF430011F9232182FB +:1031400081430200C2430011B01226323D40E150DB +:103150007E407F004F43B0124A363540F85036402B +:103160002251B012CC32484F7F9080FF10201E4178 +:1031700002001E53814E02001E4102003E900500D7 +:10318000F02BB012FEFF0F45B0128636EA3F8143A6 +:103190000200B012CC32474FB0122435094F0B4316 +:1031A0003F9005021D2C814300002E410B931128F6 +:1031B0000E9F0F2C2A41B012CC32CA4F02112D4162 +:1031C0001D53814D00002C410D430D9B02200C9995 +:1031D000F12B0C490D434E474F48B0125832C13FB6 +:1031E000814300002E410B930E280E9F0C2CB01231 +:1031F000CC322E411E53814E00002D410E430E9BBA +:1032000002200D99F42B0F46B01286360C430D4365 +:103210007E407E004F43B012BE35A33F32D0F00057 +:10322000FD3F3040D250B0122E385F422A007FD08E +:1032300081FFC24F2A005F4229007FF07F00C24F0A +:1032400029005F4229005FD3C24F29005F421A0064 +:103250005FD3C24F1A0030413B154A4F084C094D0D +:103260001F4274511F9315381B4276516A9B0A20E6 +:10327000033C3B4D6A9B0B200C480D494F4A9B1267 +:103280000200153C3D4078515F023F5076510D9F42 +:10329000F0233F40D450B01286364F4AB012383631 +:1032A0000C430D437E407E004F4AB012BE353817A6 +:1032B00030415F4203001FF3FC275F4266005E421D +:1032C00003007EF0FEFFC24E030030415F42070064 +:1032D0001FF3FC275F42D6005E4207007EF0FEFF30 +:1032E000C24E070030415E4203002EF3FC27C24F5E +:1032F00067005F4203002FF3FC2730415E42070066 +:103300002EF3FC27C24FD7005F4207002FF3FC27A4 +:1033100030416F9313247F900300032C5F9321208F +:10332000063C7F90030011246F921B20143CF24056 +:1033300006006300F24082FF62003041F240030069 +:103340006300F240410062003041F240A0FF6300A0 +:10335000D24362003041F2401D006300D24362005C +:103360003041F2408AFF6200C243630030416F93F4 +:1033700013247F900300032C5F932120063C7F9051 +:10338000030011246F921B20143CF2400600D3006E +:10339000F24082FFD2003041F2400300D300F240FD +:1033A0004100D2003041F240A0FFD300D243D2000E +:1033B0003041F2401D00D300D243D2003041F240F0 +:1033C0008AFFD200C243D30030415F421B007FD04E +:1033D0003000C24F1B005F421A007FD01000C24F66 +:1033E0001A00C24360005F4261007FD080FFC24F7D +:1033F00061007F400500B0126E33C24364005F423B +:1034000061007FF0FEFFC24F61005F421B007FD072 +:10341000C0FFC24F1B005F42D1007FD080FFC24F70 +:10342000D1007F400500B0126E33C243D4005F422A +:10343000D1007FF0FEFFC24FD1003041F25306139E +:103440003041C2432E005F42F9107F930B245F424C +:10345000F910C24F57005F42F810C24F56003F406C +:10346000E903373CC24356005E4206134F4E8F11AC +:103470005F023F503A515D4F0100C24D57006F4F00 +:10348000C24F56005E53021232C20343C24E320193 +:10349000F240470038011F423A0132418F108F112C +:1034A0000D4F5D0B4F4E8F118F104C4D4C8FC24CFA +:1034B0000613021232C20343C24C3201F2401D0015 +:1034C00038015F423A0132414E8FC24E06133F40EF +:1034D000E9033F53FE2330413B15B012CC324A4F33 +:1034E0000B43B012CC32494FB012CC32484F4C494A +:1034F0000D434DEC0DEC8D104C4C8C100E430F43D6 +:103500004F480CDE0DDF0ADC0BDDB012CC324F4F22 +:1035100008430943094F89100E4A0F4B0ED80FD9A3 +:10352000381730411B15B012CC324A4F0B43B01242 +:10353000CC324C4F0D434DEC0DEC8D104C4C8C109F +:103540000CDA0DDB0F4C1A1730412B150B4E094FBF +:103550004F4EB012FC320A4B8A1089104AE90AE930 +:1035600049494F4AB012FC320B4A8B1089104BE983 +:103570000BE949494F4BB012FC320F4B8F108910A9 +:103580004FE90FE94F4FB012FC32291730410B12AF +:103590000B4F4F4FB012FC320F4B8F10B012FC325A +:1035A0003B4130411B154A4E0B4CB012FC324F4A86 +:1035B000B012FC320F4BB0128E351A1730414B153A +:1035C000084C074DC29300111320B012A435089384 +:1035D000022007930D24394002110A430B437F490F +:1035E000B012FC321A530B630A98F9230B97F72396 +:1035F000471730412B15094F0A4E0C4E0D437E40A4 +:10360000FEFF7F43B012A4350A9309240B430D49F2 +:103610000D5B6F4DB012FC321B530B9AF823291728 +:1036200030412182814E0000814F02002E420F4125 +:10363000B012F435215230412183814F00002E43D6 +:103640000F41B012F435215330412B15094D0C4D6B +:103650003D531D53CD930000FC230A4D0A8C0B43B0 +:103660000C4A0D4BB012A4350A9302200B93092487 +:103670007F49B012FC323A533B630A93F9230B9310 +:10368000F723291730410D4F7E437F43B0124A364E +:1036900030412183814F00002F410E4F3E53814E18 +:1036A00000000F93082403432F410E4F3E53814ED9 +:1036B00000000F93F823215330412182B140640070 +:1036C0000000133C814F02001E4102000D4E3D538D +:1036D000814D02000E93092403431E4102000D4E4A +:1036E0003D53814D02000E93F7232E410D4E3D5365 +:1036F000814D00000E93E62321523041C243580011 +:10370000B2400402800130411E4280013ED02000C0 +:10371000824E80010F930C20113C03431E42900106 +:103720003E90803EFA2BB240240280013F53062493 +:103730001E4290013E90803EF02BF53FB2400402C5 +:10374000800130411E4280013ED02000824E800127 +:103750000F930C20113C03431E4290013E90100039 +:10376000FA2BB240240280013F5306241E429001EE +:103770003E901000F02BF53FB24004028001304132 +:103780001E4280013ED02000824E80011E429001E8 +:103790000E9F052C03431E4290010E9FFB2BB2404F +:1037A0000402800130415F4232007FD02000C24FCE +:1037B00032005F4232007FD04000C24F32005F4291 +:1037C00032007FD080FFC24F320030415F42310073 +:1037D0007FD02000C24F310030415F4231007FF086 +:1037E000DFFFC24F310030415F4231007FE02000F7 +:1037F000C24F310030415F4231007FF0BFFFC24F06 +:10380000310030415F4231007FD04000C24F310073 +:1038100030415F4231007FF07F00C24F31003041C4 +:103820005F4231007FD080FFC24F31003041B24053 +:10383000805A2001B012A637B012DA37B0124234E3 +:10384000B012CA33B2406000A001B240A201C00170 +:10385000B240FF0FC801B240A201C2018243CA01B7 +:103860005F4232007FD080FFC24F3200F24080FFC3 +:10387000310030413F400011BF40EFBE00002F53E8 +:103880003F900025F9230C430D437E4090FF4F43AA +:10389000B012BE351042FEFF30410F433E400011D2 +:1038A000BE90EFBE000001202F532E533E90002506 +:1038B000F72330418F1230414B154A4F4B4E7E90CB +:1038C00090FFC0247E9091FF192C7E9031009424AB +:1038D0007E903200092C7E9003006B247E90300095 +:1038E00079246E932420593C7E9081FF25247E907C +:1038F00082FF27247E9080FF1A209F3C7E90B0FF9D +:10390000C0247E90B1FF0A2C7E9091FF9E244F4EE2 +:103910007F5060007F9003000A2CA83C7E90C2FF7D +:103920007E247E90D0FFC1247E90B1FFB4243F401E +:103930007C51B0128636DD3C7E4081FFB012BE3530 +:10394000D83C3D40A9517E4082FFB0124A36929346 +:1039500074511C380943374002110F495F02184F58 +:1039600076511D4804007E4082FF4F4AB0124A360D +:10397000C793000007241D4806007E4082FF4F4A7F +:10398000B0124A36195319927451E73B0C430D4358 +:103990004E4B4F4AB012BE35AC3C3F4002112E4F49 +:1039A000EF4E00001C430D436E434F4AB012BE352C +:1039B000A03C3F4002110E4F3D4EED4E00002E4FF9 +:1039C000EF4E00001C430D437E4003004F4AB012EF +:1039D000BE358F3C3B4002112F4BB012B438CB4F59 +:1039E00000008F10CB4F01002C430D437E40300070 +:1039F0004F4AB012BE357D3C3F400211B012B43880 +:103A00003E400211CE4F00008F10CE4F01002C43DC +:103A10000D437E4031004F4AB012BE356A3C3F40F4 +:103A20000211CF430000DF4301002C430D437E40D1 +:103A3000C2FF4F4AB012BE355C3C5F420211B01269 +:103A40006E33573CB0127438543CB0129A383E4032 +:103A50000211CE4F00008F10CE4F01002C430D43BA +:103A60007E4091FF4F4AB012BE35433C3F40BA51B1 +:103A7000B01286361C430D434E4B4F4AB012BE3532 +:103A8000383CD242021100111C430D437E40B0FF6E +:103A9000B012BE352E3CB0123C340C430D437E4078 +:103AA000B1FF4F4AB012BE35243CB012A637B01257 +:103AB000CC373F408813B012BA36B012DA37B012A2 +:103AC000F6373F408813B012BA36B0120438B0123D +:103AD00012383F408813B012BA36B0122038F24084 +:103AE000030002111C430D437E40D0FF4F4AB01229 +:103AF000BE35471730415F4219005FD3C24F1900EE +:103B00005F421A007FD00B00C24F1A005F421A00BA +:103B10007FF0FBFFC24F1A005F421A005FD3C24F13 +:103B20001A005F422A007FD080FFC24F2A005F4206 +:103B300019007FF0FEFFC24F19005F4219005FD3EA +:103B4000C24F190030413E424F9306345D42190086 +:103B50006DD3C24D1900063C5D4219007DF0FDFF9A +:103B6000C24D19005D4219007DD2C24D19005C4260 +:103B700018004F4F5F024F4F2CF25D4301204D4321 +:103B80004FDD5D4219007DF0F7FFC24D19003E5335 +:103B9000DB2330415F4219005FD3C24F19005F42FF +:103BA00019007FF0FEFFC24F19007F400600B012DF +:103BB000463B5F4219005FD3C24F190030415F425C +:103BC00019005FD3C24F19005F4219007FF0FEFF5A +:103BD000C24F19007F400500B012463B7F43B01230 +:103BE000463B5E4219005ED3C24E190030410B12B3 +:103BF0004B4F5F4219005FD3C24F19005F4219005B +:103C00007FF0FEFFC24F19005F43B012463B4F4B9F +:103C1000B012463B5F4219005FD3C24F19003B41CF +:103C200030412B154A4F4B4E5F4219005FD3C24FB4 +:103C300019005F4219007FF0FEFFC24F19007F405C +:103C40000500B012463B7F43B012463B494FB012CD +:103C5000943B4E494EFB4F4A4FCB4B4E4BDF5F429E +:103C600019005FD3C24F19005F4219007FF0FEFFB9 +:103C7000C24F19005F43B012463B4F4BB012463B58 +:103C80005F4219005FD3C24F1900291730413B151D +:103C90000A4E0B4F084D094C5F4219005FD3C24FCB +:103CA00019005F4219007FF0FEFFC24F19007F40EC +:103CB0000300B012463B0E4A0F4B0EF33FF0FF00DD +:103CC0004F4FB012463B0C4A0D4B3CF000FF0DF33A +:103CD0000F4C0E4D8F108E104FEE0FEE4F4FB01257 +:103CE000463B4F4AB012463B09930D240F434B43CA +:103CF0000A480A5F4F43B012463BCA4F00005B536D +:103D00004F4B0F99F52B5F4219005FD3C24F19003B +:103D1000381730413B150A4E0B4F084D094C5F4296 +:103D200019005FD3C24F19005F4219007FF0FEFFF8 +:103D3000C24F19007F401300B012463B0F4B8F104B +:103D4000B012463B0E4A0F4B0EF33FF0FF004F4FB1 +:103D5000B012463B0C4A0D4B3CF000FF0DF30F4CEC +:103D60000E4D8F108E104FEE0FEE4F4FB012463BA0 +:103D70004F4AB012463B09930D240F434B430A4868 +:103D80000A5F4F43B012463BCA4F00005B534F4B94 +:103D90000F99F52B5F4219005FD3C24F19003817F6 +:103DA00030413B150A4E0B4F084D094C5F4219003C +:103DB0005FD3C24F1900B012BE3B1FF3FC23B012F9 +:103DC000943B5F4219007FF0FEFFC24F19006F4322 +:103DD000B012463B0E4A0F4B0EF33FF0FF004F4F21 +:103DE000B012463B0C4A0D4B3CF000FF0DF30F4C5C +:103DF0000E4D8F108E104FEE0FEE4F4FB012463B10 +:103E00004F4AB012463B099309240B430F480F5BFE +:103E10006F4FB012463B1B530B99F8235F421900BA +:103E20005FD3C24F1900B012BE3B1FF3FC233817FB +:103E300030417B153150FAFF814E0000814F020066 +:103E4000814D04005F4219005FD3C24F1900064C38 +:103E50000743079302201C932928084309430A4675 +:103E60000B470A880B790B93073803203A9001011E +:103E700003283A4000010B430B4A0C4A1D41040041 +:103E80000D582E411F4102000E580F69B012A23D7D +:103E9000044A0F4A8F108F118F108F11054F08544D +:103EA00009650997DC3B02200896D92B31500600A2 +:103EB000741730413B15494F484E5F4219007FF05F +:103EC000FEFFC24F19007F400300B012463B3A404C +:103ED00002110B4A7F4BB012463B6F4BB012463B70 +:103EE0005F4A0200B012463B3C4000100D434E4872 +:103EF0004F49B012A4350B434F43B012463BB012AA +:103F0000FC321B533B900010F7235F4219005FD334 +:103F1000C24F1900381730413B15494F484E5F4298 +:103F200019007FF0FEFFC24F19007F401300B0124E +:103F3000463B3B4002110A4B2A527F4BB012463B94 +:103F40000B9AFB233C4000100D434E484F49B012E2 +:103F5000A4350B434F43B012463BB012FC321B5307 +:103F60003B900010F7235F4219005FD3C24F190046 +:103F7000381730411B150A4E0B4FB012943B5F426D +:103F800019007FF0FEFFC24F19007F402000B012E1 +:103F9000463B0E4A0F4B0EF33FF0FF004F4FB0125F +:103FA000463B0C4A0D4B3CF000FF0DF30F4C0E4D01 +:103FB0008F108E104FEE0FEE4F4FB012463B4F4A10 +:103FC000B012463B5F4219005FD3C24F1900B012D6 +:103FD000BE3B1FF3FC231A1730415F422A007FD0FB +:103FE0004000C24F2A005F4229007FD04000C24FEC +:103FF00029003F400004B01292365F4229007FF052 +:10400000BFFFC24F29005F421C001FF3FC235F4229 +:1040100029007FD04000C24F29003F400004B01269 +:10402000923630416B15464F454E084C074DC24302 +:104030001E00F2431D00B012DA3F5F4219006FD339 +:10404000C24F19005F4219007FF0FEFFC24F1900F6 +:104050000893022007931324394002110A430B43AB +:104060006F49B012463B7F930324C24F0211213C9B +:104070001A530B6319530A98F3230B97F1233A430E +:104080000B43394002117F43B012463BC94F000039 +:104090007F9307203A533B630A93F5230B93F32353 +:1040A000043C0A9306200B9304203F406C52B0124C +:1040B0008636394003111A430B437F43B012463B07 +:1040C000C94F00001A530B6319537F90A7FFF523C4 +:1040D000094AF290FEFF021129205E4203113E5070 +:1040E00003000D4E8D108D118D108D110B9D042828 +:1040F0000D9B1C280A9E1A2C3950021138400311BE +:104100007F43B012463BC94F00001A530B6319534B +:104110006D480C4D3C5003000D4C8D108D118D10D1 +:104120008D110B9DED2B02200A9CEA2B5F4219009A +:104130005FD3C24F19000C4A0D4B4E454F46B0128B +:10414000BE35651730416B15454F474E084C064D3F +:104150005F4219005FD3C24F19007E9080FF632435 +:104160007E9081FF162C6E9302203040C8432D288C +:104170007E9010000220304060447E9013000220A8 +:104180003040D2437E9003000224304072443040DD +:10419000DE437E9083FF6C247E9084FF0B2C7E9008 +:1041A00081FF022030401C447E9082FF0224304078 +:1041B0007244323C7E9085FFDB24B0287E9086FFDF +:1041C000022430407244304000445F4219007FF0C6 +:1041D000FEFFC24F19000C9302200D9310243940AA +:1041E00002110A430B436F49B012463BC94F00000E +:1041F0001A530B6319530A98F6230B96F4235F4264 +:1042000019005FD3C24F19000C480D464E474F4569 +:10421000B012BE35304072447E4082FF4F45B0122E +:104220002440304072445F4219007FF0FEFFC24FCD +:1042300019007F409FFFB012463B3A400211094AE5 +:10424000395003006F4AB012463BCA4F00001A5360 +:104250000A99F8230C480D467E4080FF4F45B01266 +:10426000BE355F4219005FD3C24F1900304072441F +:104270005F421D007FF0FEFFC24F1D003F400A005D +:10428000B012BA365F421A006FD2C24F1A005F42B4 +:1042900019007FF0FEFFC24F19005F4219007FF046 +:1042A000F7FFC24F19005F4219007FF0FDFFC24FB8 +:1042B00019005F4219007FF0FBFFC24F19005F42F7 +:1042C0001D005FD3C24F1D003F401400B012BA362C +:1042D0005F421A007FF0FBFFC24F1A0008930220D2 +:1042E00006931024394002110A430B436F49B01260 +:1042F000463BC94F00001A530B6319530A98F62323 +:104300000B96F4235F4219005FD3C24F19002C4271 +:104310000D434E474F45B012BE35AB3C5F421900CE +:104320007FF0FEFFC24F19003A400211094A7F494F +:10433000B012463B6F49B012463B5F4A0200B012D2 +:10434000463B3F400500B01292365F4A0300B01270 +:10435000463BCA4F00005F4219005FD3C24F1900AD +:104360001C430D437E4084FF4F45B012BE35813C57 +:104370005F4219007FF0FEFFC24F19003940021161 +:104380000A497F4AB012463B6F4AB012463B3F4053 +:104390000500B01292365F490200B012463BC94F89 +:1043A00000005F490300B012463BCA4F00005F4265 +:1043B00019005FD3C24F19002C430D437E4085FF87 +:1043C0004F45B012BE35553C6E434F45B012B43E1A +:1043D000503C7E4013004F45B012183F4A3C2C829F +:1043E0003D4006111E4202111F420411B012323E1E +:1043F0000C430D437E4003004F45B012BE35393C9F +:104400001E4202111F420411B012743F0C430D43AF +:104410007E4086FF4F45B012BE352B3CB012943B18 +:104420005F4219007FF0FEFFC24F19007F40C7FFB7 +:10443000B012463B5F4219005FD3C24F1900023CE5 +:10444000B012E837B012BE3B1FF3FA23B012DA37CE +:104450000C430D437E4081FF4F45B012BE35093CF1 +:10446000B012F63A0C430D437E4010004F45B01297 +:10447000BE35651730415F421A007FF0FBFFC24F27 +:104480001A005F421A007FD00A00C24F1A005F4232 +:104490001A005FD3C24F1A005F422A007FD080FF0C +:1044A000C24F2A003F406400B012BA365F42290072 +:1044B0007FF07F00C24F29005F4229007FD080FF3C +:1044C000C24F29005F4219007FF0FEFFC24F190062 +:1044D0005F4219005FD3C24F190030413E424F93F3 +:1044E00006345D4219006DD3C24D1900063C5D4291 +:1044F00019007DF0FDFFC24D19005D4219007DD20B +:10450000C24D19005C4218004F4F5F024F4F2CF212 +:104510005D4301204D434FDD5D4219007DF0F7FF03 +:10452000C24D19003E53DB2330412B15094F0A4E73 +:104530005F4219007FF0FEFFC24F19007F40090063 +:10454000B012DC445F4219005FD3C24F19005F42D2 +:1045500019007FF0FEFFC24F19007F403E00B012ED +:10456000DC441A9309380B430D490D5B6F4DB012B3 +:10457000DC441B530B9AF8235F4219005FD3C24FF0 +:1045800019005F4219007FF0FEFFC24F19006F4211 +:10459000B012DC445F4219005FD3C24F19005F4282 +:1045A00028003FF04000FB275F4228003FF040001A +:1045B000FB23291730414B15094E074D0D938C24D1 +:1045C0005E4228003EF21D205E4228003EF01000B0 +:1045D00018243F40F052B01286365F4219007FF037 +:1045E000FEFFC24F19007F42B012DC447F42B0127E +:1045F000DC445F4219005FD3C24F19003B40FDFF0E +:10460000703C5E4228003EF0100007245E42280005 +:104610003EF21C4303200C43013C0C434C4C0F93D3 +:104620001B244C931B200B4F2B83033C3B534C937D +:1046300015201F43B012BA365F4228003FF0100029 +:1046400007245F4228003FF21C4303200C43013C37 +:104650000C434C4C3B93EA234C9341245F4228008B +:104660003FF04000FB235F4219007FF0FEFFC24F86 +:1046700019007F407F00B012DC444F43B012DC448D +:10468000C94F00005E4228003EF21B24084F38F05C +:104690007F00185328931738279317281A431B4372 +:1046A0000A594F43B012DC44CA4F00001B535C420E +:1046B00028003CF20B240B9809340A4B0B97F0238B +:1046C000053C1B43033C1B43013C1B435F42190059 +:1046D0005FD3C24F1900053C3B40FEFF023C3B400C +:1046E000FCFF0F4B471730412B153150FAFF094F94 +:1046F000B012FC363F400253B01286360F49B0125A +:1047000038361C430D437E40A0FF7F405100B0125D +:10471000BE350A413A500500173C5E4228003EF281 +:1047200013205F4228003FF010000E245F42190062 +:104730007FF0FEFFC24F19007F42B012DC445F429F +:1047400019005FD3C24F19005E4228003EF04000BE +:10475000E4275E4232007ED04000C24E32005E420C +:1047600031007EF0BFFFC24E31000F49B012443716 +:104770005E4219007EF0FEFFC24E19006F42B01279 +:10478000DC445E4219005ED3C24E19005E4219003D +:104790007EF0FEFFC24E19007F403E00B012DC44A6 +:1047A000F14005000000C1430100C1430200C143C4 +:1047B0000300C14304000B417F4BB012DC440B9A51 +:1047C000FB235E4219005ED3C24E19005E421900FF +:1047D0007EF0FEFFC24E19007F400900B012DC449B +:1047E0005E4219005ED3C24E19005E4232007ED096 +:1047F0004000C24E32005E4231007ED04000C24EC8 +:104800003100A23F2B15094F0A4E0B4D5F42190094 +:104810007FF0FEFFC24F19004F497FD080FFB012DA +:10482000DC440F495F037FF0C0FFB012DC440B9300 +:1048300005247F4AB012DC443B53FB235F4219003E +:104840005FD3C24F1900291730412B15094F0B4E6A +:104850000A4D5F4219007FF0FEFFC24F19004F4919 +:104860007FD080FFB012DC4459034F497FF0C0FF76 +:104870007FD02000B012DC440A9308244F43B012CA +:10488000DC44CB4F00001B533A53F8235F4219001E +:104890005FD3C24F1900291730417B153150F2FF09 +:1048A000494F4A4E084C044D7E9082FF0220304012 +:1048B000004C7E9083FF162C7E9003003E246E9267 +:1048C000032C6E933A28363C7E9080FF9C247E9089 +:1048D00081FF02283040044F7E90100002243040B7 +:1048E0008E4F5B3C7E9086FF02203040324F7E90A0 +:1048F00087FF082C7E9084FF5B247E9085FF6A2CC6 +:104900003040D64E7E9091FF76247E9092FF062C0A +:104910007E9090FF022430408E4F993C7E90A0FF05 +:10492000022030402E4C7E90A1FF022430408E4F5A +:104930003040424CF2D0400002115F4219007FF03B +:10494000FEFFC24F1900D14202110C000893022051 +:104950000493102435400211064307436F45B012FB +:10496000DC44C54F00001653076315530698F62321 +:104970000794F4235F4219005FD3C24F19005E41D0 +:104980000C007EF0BFFFC24E02110C480D444E4A8F +:104990004F49B012BE353040A24FB01276440C439E +:1049A0000D437E4010004F49B012BE353040A24F3B +:1049B0003F4002111A4F02000D4A0E4F2F4FB01206 +:1049C0004A480C4A0D437E4084FF4F49B012BE3521 +:1049D0003040A24F0D4C2D833E4004111F42021166 +:1049E000B01204480C430D437E4085FF4F49B0127E +:1049F000BE353040A24F0C430D437E4080FF4F49EF +:104A0000B0129A48F83F3D4080003E4002110F43EB +:104A1000B012B6450F9309340C430D437E407E001F +:104A20004F49B012BE353040A24FC293021101244B +:104A300001340F430D4F8D108D118D108D110C4FC2 +:104A40007E4080FF4F49B012BE353040A24F5F42DA +:104A500028003FF220205F4228003FF010001B2476 +:104A60003F40F052B01286365F4219007FF0FEFFE1 +:104A7000C24F19007F42B012DC445F4219005FD37D +:104A8000C24F19000C430D437E4090FF4F49B012B6 +:104A9000BE353040A24F5F4228003FF01000A824EE +:104AA0005F4228003FF2A4245F4228003FF040000C +:104AB000FB235F4219007FF0FEFFC24F19007F40C9 +:104AC0007F00B012DC444F43B012DC44C24F0211ED +:104AD0004F4F0E4F1E530F4E8F108F118F104F934D +:104AE00002202E93222838400311364002113650FE +:104AF00011001A430B43374002114F43B012DC44FC +:104B0000C84F00001A530B636E471E530F4E8F1091 +:104B10008F118F108F110B9F04280F9B08280A9E5E +:104B2000062C18530896E923023C1A430B435F42B4 +:104B300019005FD3C24F19005F4203113FF21324E3 +:104B40005F4219007FF0FEFFC24F19007F400C004A +:104B5000B012DC445F4219005FD3C24F19005F42BC +:104B600028003FF2FC275F4219007FF0FEFFC24F92 +:104B700019007F407F00B012DC445E4202114D4EAE +:104B80001D530F4D8F108F118F108F110B9F042805 +:104B90000F9B1C280A9D1A2C084A385002113740D6 +:104BA00002114F43B012DC44C84F00001A530B638C +:104BB0006E4718534D4E1D530F4D8F108F118F1090 +:104BC0008F110B9FEE2B02200A9DEB2B5F421900E9 +:104BD0005FD3C24F19004E9302340A430B430C4A71 +:104BE0000D4B7E4090FF4F49B012BE353040A24F72 +:104BF0000C430D434E4A4F49B012BE353040A24FD0 +:104C00005F4219007FF0FEFFC24F19007F42B012D1 +:104C1000DC445F4219005FD3C24F19000C430D43BF +:104C20007E4082FF4F49B012BE353040A24F0C93F8 +:104C300002200D9303241F420211013C0F43B012C6 +:104C4000E8463F401E53B0128636054135500B00F2 +:104C5000394002110649265204465F4228003FF2BD +:104C600013205F4228003FF010000E245F4219001D +:104C70007FF0FEFFC24F19007F42B012DC445F425A +:104C800019005FD3C24F19005F4228003FF0400077 +:104C9000FB275F4232007FD04000C24F32005F42AC +:104CA00031007FF0BFFFC24F31005F4219007FF03B +:104CB000FEFFC24F19007F403E00B012DC44F140BD +:104CC00007000400D1430500F1420600F14307004C +:104CD000F1430800F1430900F1430A000A412A5256 +:104CE0007F4AB012DC440A95FB235F4219005FD370 +:104CF000C24F19005F4219007FF0FEFFC24F19003A +:104D00006F42B012DC445F4219005FD3C24F1900FA +:104D10003F40C800B012BA365F4219007FF0FEFF74 +:104D2000C24F19007F400900B012DC445F421900F5 +:104D30005FD3C24F19005F4219007FF0FEFFC24FE0 +:104D400019007F407F00B012DC4408490A497F40C7 +:104D5000DEFFB012DC44CA4F00001A530A96F72354 +:104D60005F4219005FD3C24F19005F4219007FF004 +:104D7000FEFFC24F19007F42B012DC445F421900AF +:104D80005FD3C24F1900F940060000000E491E53C0 +:104D9000EE430000C94302000F436C4E0D4F0F93CA +:104DA00002343D500F005D0D0FEC3FF00F0002127A +:104DB00032C20343824F3201B240811038011F4298 +:104DC0003A0132410DEF0F4D0D9302343F500F0069 +:104DD0005F0D5C0D0DEC3DF00F00021232C203437B +:104DE000824D3201B240811038011D423A013241F8 +:104DF0000FED1E530E96D123C44F00008F103E407E +:104E00000711CE4F0000C9930000132407490A433D +:104E10000B433D4010000E417F47B0121E500F4122 +:104E2000B01286361A530B636F490B9302200A9F08 +:104E3000F02B5F4219007FF0FEFFC24F19007F4048 +:104E40003E00B012DC44C99300000C240A430B431B +:104E50007F48B012DC441A530B636F490B93022056 +:104E60000A9FF62B5F4219005FD3C24F19005F42C1 +:104E700028003FF04000FB235F4219007FF0FEFF57 +:104E8000C24F19006F42B012DC445F4219005FD379 +:104E9000C24F19003F40C800B012BA365F42190035 +:104EA0007FF0FEFFC24F19007F400900B012DC44C2 +:104EB0005F4219005FD3C24F19005F4232007FD0BA +:104EC0004000C24F32005F4231007FD04000C24FED +:104ED000310030405A4C5F4219007FF0FEFFC24F54 +:104EE00019007F400900B012DC445F4219005FD313 +:104EF000C24F19000C430D437E4083FF4F49B0124F +:104F0000BE354F3C0E4C3F400211B0122A450F9364 +:104F100008240C430D437E407E004F49B012BE353D +:104F2000403C0C430D437E4081FF4F49B012BE35DB +:104F3000383C3F4002113A4F0E4C2E83B0122A45A6 +:104F40000F9308240C430D437E407E004F49B0125E +:104F5000BE35273C3D4080003E4002110F4AB01252 +:104F6000B6450F9308340C430D437E407E004F49F5 +:104F7000B012BE35163C0D4F8D108D118D108D1158 +:104F80000C4F7E4086FF4F49B012BE350A3C3F4071 +:104F90002653B01286360C430D434E4A4F49B01289 +:104FA000BE3531500E007417304130412B150A4E7A +:104FB0000B4D5E4219007EF0FEFFC24E1900B0128A +:104FC000DC44494F0B9305247F4AB012DC443B5329 +:104FD000FB235F4219005FD3C24F19004F492917C5 +:104FE00030412B150B4E0A4D5E4219007EF0FEFF3C +:104FF000C24E1900B012DC44494F0A9308244F43B3 +:10500000B012DC44CB4F00001B533A53F8235F42ED +:1050100019005FD3C24F19004F49291730417B1542 +:105020003150EEFF0B4F074E094D3D900A00062010 +:105030000F9304343BE31B535643013C46430A4160 +:105040001843054A05810E490F4BB012CA503F90D4 +:105050000A0003347F503000023C7F503700CA4FB3 +:10506000000004480E490F4BB012B0500B4F1853BC +:105070001A530F93E62339900A000820469306241A +:105080000F410F54FF402D00000005440D470F4510 +:105090000E410E5FED4E00003F531D533F93F8232A +:1050A0000557C54301000F473150120074173041B6 +:1050B0007C4010000D4E0E430F5F0E6E0E9D0228B9 +:1050C0000E8D1FD31C83F8233041B012B0500F4E09 +:0450D0003041001358 +:1050D400417070206D697373696E672E0068747413 +:1050E400703A2F2F676F6F646665742E73662E6E29 +:1050F40065742F005265626F6F74696E67206E6FFE +:105104007420737570706F72746564206F6E207490 +:1051140068697320706C6174666F726D2E004275DD +:1051240066666572206C656E677468206578636571 +:10513400656465642E00608F688F6C8F748F7D8FBB +:105144007E8F808F818F848F858F878F898F8A8FC1 +:10515400958F968F978F9E8F9E8F9F8FA18FA98FEC +:10516400AB8FB28FB58FC38ECC8ED98EDC8EE88E8A +:1051740003006252E85296544552524F523A204329 +:105184006F6D6D616E6420756E737570706F72747F +:105194006564206279206465627567206D6F6E694D +:1051A400746F722E00323032302D31312D32302076 +:1051B40030313A303400436F6D6D616E6420646544 +:1051C40070726563617465642E004D6F6E69746FEF +:1051D400720009546865206D6F6E69746F72206186 +:1051E40070702068616E646C6573206261736963BA +:1051F400206F7065726174696F6E73206F6E2074B6 +:105204006865204D53503433300A09737563682040 +:105214006173207065656B696E6720616E642070D0 +:105224006F6B696E67206D656D6F72792C20636199 +:105234006C6C696E672066756E6374696F6E73203B +:10524400616E640A096D616E6167696E67207468D6 +:1052540065206261756420726174652E0A00000025 +:10526400B838CE51D651A951476176652075702062 +:105274006F6E20686F737420696E746572727570D6 +:10528400742E005350490009546865205350492036 +:105294006170702068616E646C6573207468652049 +:1052A400535049206275732070726F746F636F6C12 +:1052B4002C207475726E696E670A09796F75722095 +:1052C400476F6F6446455420696E746F20612055A2 +:1052D40053422D746F2D535049206164617074657D +:1052E400722E0A000100464187528B52436C65615D +:1052F40072696E67206F766572666C6F77005265AF +:10530400666C6578206A616D6D696E6720756E7470 +:10531400696C2072657365742E004175746F414326 +:105324004B004E6F742079657420737570706F72C2 +:1053340074656420696E20434353504900434353CA +:105344005049000954686520434353504920617013 +:1053540070206164647320737570706F727420665A +:105364006F72207468652043686970636F6E2053A0 +:1053740050492072656769737465720A09696E74AD +:105384006572666163652E20556E666F7274756E04 +:105394006174656C792C207468657265206973206A +:1053A40076657279206C6974746C652073696D69B3 +:1053B4006C61726974790A096265747765656E2037 +:1053C4007468652043433234323020616E64207443 +:1053D4006865204343323530302C20746F206E6171 +:1053E4006D65206A7573742074776F206F662074FE +:1053F40068650A096D7972696164206F6620436883 +:105404006970636F6E2053504920726164696F73D1 +:105414002E20204175746F2D646574656374696F03 +:105424006E2077696C6C2062652061206269740A61 +:1054340009646966666963756C742C2062757420EE +:105444006D6F726520746F2074686520706F696E6B +:10545400742C20616C6C2068696768206C657665C3 +:105464006C2066756E6374696F6E616C6974790A19 +:10547400096D757374206265206D6F7665642069AB +:105484006E746F2074686520636C69656E742E0A8F +:0A549400000051009A4841534753AD +:10FFC0002232223222322232223222322232223291 +:10FFD0002232223222322232223222322232223281 +:10FFE0002232223222322232223222322232223271 +:10FFF0002232223222322232223222322232003184 +:0400000300003100C8 +:00000001FF diff --git a/killerbee/GoodFET.py b/killerbee/GoodFET.py index c7d05e17..c54de573 100644 --- a/killerbee/GoodFET.py +++ b/killerbee/GoodFET.py @@ -98,7 +98,6 @@ def read(self,length): while len(data) 1: sys.stderr.write("* bslReset(invokeBSL=%s)\n" % invokeBSL) if invokeBSL: #sys.stderr.write("in Z1 bsl reset...\n") @@ -329,7 +326,6 @@ def bslResetZ1(self, invokeBSL=0): self.writepicROM(0xFF, 0xFE) time.sleep(0.1) #sys.stderr.write("z1 reset done...\n") - def writepicROM(self, address, data): ''' Writes data to @address''' for i in range(7,-1,-1): @@ -384,8 +380,7 @@ def picROMfastclock(self, masterout): time.sleep(0.02) return self.serialport.getCTS() - def telosBReset(self, invokeBSL=0): - '''Helper function for support of the TelosB platform.''' + def telosBReset(self,invokeBSL=0): # "BSL entry sequence at dedicated JTAG pins" # rst !s0: 0 0 0 0 1 1 # tck !s1: 1 0 1 0 0 1 @@ -413,10 +408,10 @@ def telosBReset(self, invokeBSL=0): time.sleep(0.250) #give MSP430's oscillator time to stabilize self.serialport.flushInput() #clear buffers + def getbuffer(self,size=0x1c00): writecmd(0,0xC2,[size&0xFF,(size>>16)&0xFF]); print "Got %02x%02x buffer size." % (self.data[1],self.data[0]); - def writecmd(self, app, verb, count=0, data=[]): """Write a command and some data to the GoodFET.""" self.serialport.write(chr(app)); @@ -492,7 +487,6 @@ def readcmd(self): #print "This shouldn't happen after syncing. Exiting for safety."; #sys.exit(-1) return self.data; - #Glitching stuff. def glitchApp(self,app): """Glitch into a device by its application.""" @@ -533,6 +527,7 @@ def glitchRate(self,count=0x0800): self.data); #return ord(self.data[0]); + #Monitor stuff def silent(self,s=0): """Transmissions halted when 1.""" @@ -625,7 +620,7 @@ def monitor_ram_depth(self): self.writecmd(0,0x91,0,self.data); return ord(self.data[0])+(ord(self.data[1])<<8); - #Baud rates + #Baud rates. baudrates=[115200, 9600, 19200, @@ -643,7 +638,7 @@ def setBaud(self,baud): self.serialport.write(chr(baud)); print "Changed host baud." - self.serialport.baudrate = rates[baud]; + self.serialport.setBaudrate(rates[baud]); time.sleep(1); self.serialport.flushInput() self.serialport.flushOutput() @@ -655,7 +650,7 @@ def readbyte(self): def findbaud(self): for r in self.baudrates: print "\nTrying %i" % r; - self.serialport.baudrate = r; + self.serialport.setBaudrate(r); #time.sleep(1); self.serialport.flushInput() self.serialport.flushOutput() @@ -665,7 +660,6 @@ def findbaud(self): print "Read %02x %02x %02x %02x" % ( self.readbyte(),self.readbyte(),self.readbyte(),self.readbyte()); - def monitortest(self): """Self-test several functions through the monitor.""" print "Performing monitor self-test."; @@ -683,7 +677,6 @@ def monitortest(self): print "Echo test failed."; print "Self-test complete."; self.monitorclocking(); - def monitorecho(self): data="The quick brown fox jumped over the lazy dog."; self.writecmd(self.MONITORAPP,0x81,len(data),data); @@ -738,12 +731,11 @@ def monitorgetclock(self): return 0xDEAD; #Check for MSP430 before peeking this. return self.MONpeek16(0x56); - # The following functions ought to be implemented in - # every client. + # every client. + def infostring(self): if(os.environ.get("platform")=='arduino' or os.environ.get("board")=='arduino'): - #TODO implement in the ardunio client and remove special case from here return "Arduino"; else: a=self.MONpeek8(0xff0); @@ -804,4 +796,3 @@ def pokeblock(self,address,bytes,memory="vn"): def loadsymbols(self): """Load symbols from a file.""" return; - diff --git a/killerbee/GoodFETCCSPI.py b/killerbee/GoodFETCCSPI.py index d913f391..101c8177 100644 --- a/killerbee/GoodFETCCSPI.py +++ b/killerbee/GoodFETCCSPI.py @@ -19,6 +19,7 @@ def setup(self): #Set up the radio for ZigBee self.strobe(0x01); #SXOSCON + self.strobe(0x01); #SXOSCON ## YL: idk why but needed to enable ram poking self.strobe(0x02); #SCAL self.poke(0x11, 0x0AC2 & (~0x0800)); #MDMCTRL0, promiscuous self.poke(0x12, 0x0500); #MDMCTRL1 @@ -76,12 +77,10 @@ def peek(self,reg,bytes=2): bytes=2; self.writecmd(self.CCSPIAPP,0x02,len(data),data); - try: - toret=( ord(self.data[2]) + (ord(self.data[1])<<8) ); - except Exception as e: - print "issue in peeking for a register" - print e - toret=( (ord(self.data[1])<<8) ); + toret=( + ord(self.data[2])+ + (ord(self.data[1])<<8) + ); return toret; def poke(self,reg,val,bytes=2): """Write a CCSPI Register.""" @@ -198,6 +197,20 @@ def pokeram(self,adr,data): return; lastpacket=range(0,0xff); + + def RF_txrxpacket(self,packet,timeout=1): + data="\0"; + self.data=data; + packet = [timeout&0xff, timeout>>8] + packet + + self.writecmd(self.CCSPIAPP,0x86,len(packet),packet); + buffer=self.data; + self.lastpacket=buffer; + if(len(buffer)==0): + return None; + + return buffer; + def RF_rxpacket(self): """Get a packet from the radio. Returns None if none is waiting.""" diff --git a/killerbee/GoodFETatmel128.py b/killerbee/GoodFETatmel128.py index 7e74b7d8..903603b6 100644 --- a/killerbee/GoodFETatmel128.py +++ b/killerbee/GoodFETatmel128.py @@ -97,7 +97,7 @@ def pyserInit(self, port, timeout, attemptlimit): break if self.verbose: print "Connected after %02i attempts." % attempts; - self.serialport.timeout = 12; + self.serialport.setTimeout(12); def serClose(self): self.connected = 0 diff --git a/killerbee/dev_apimote.py b/killerbee/dev_apimote.py index 8b565b93..defadabb 100755 --- a/killerbee/dev_apimote.py +++ b/killerbee/dev_apimote.py @@ -27,6 +27,9 @@ CC2420_REG_SYNC = 0x14 class APIMOTE: + + packet_queue = None + def __init__(self, dev, revision=DEFAULT_REVISION): ''' Instantiates the KillerBee class for the ApiMote platform running GoodFET firmware. @@ -187,17 +190,30 @@ def pnext(self, timeout=100): if self.__stream_open == False: self.sniffer_on() - packet = None - start = datetime.utcnow() + if self.packet_queue is not None: + packet = self.packet_queue + self.packet_queue = None + frame = packet + rssi = self.packet_queue_rssi + + else: + packet = None + + start = datetime.utcnow() + + while (packet is None and (start + timedelta(microseconds=timeout) > datetime.utcnow())): + packet = self.handle.RF_rxpacket() + rssi = self.handle.RF_getrssi() #TODO calibrate + + if packet is None: + return None - while (packet is None and (start + timedelta(microseconds=timeout) > datetime.utcnow())): - packet = self.handle.RF_rxpacket() - rssi = self.handle.RF_getrssi() #TODO calibrate + if ord(packet[0])+1 < len(packet): + self.packet_queue = packet[ord(packet[0])+1+1:] + self.packet_queue_rssi = rssi - if packet is None: - return None + frame = packet[1:ord(packet[0])+1] - frame = packet[1:] validcrc = False if frame[-2:] == makeFCS(frame[:-2]): validcrc = True diff --git a/killerbee/kbutils.py b/killerbee/kbutils.py index 073be10c..90f080ea 100644 --- a/killerbee/kbutils.py +++ b/killerbee/kbutils.py @@ -379,7 +379,7 @@ def isgoodfetccspi(serialdev): os.environ["board"] = "apimote2" #set enviroment variable for GoodFET code to use gf = GoodFETCCSPI() try: - gf.serInit(port=serialdev, attemptlimit=2) + gf.serInit(port=serialdev, attemptlimit=30) #gf.setup() except serial.serialutil.SerialException as e: raise KBInterfaceError("Serial issue in kbutils.isgoodfetccspi: %s." % e) diff --git a/killerbee/scapy_extensions.py b/killerbee/scapy_extensions.py index c9f3a265..9d02bb9f 100644 --- a/killerbee/scapy_extensions.py +++ b/killerbee/scapy_extensions.py @@ -10,6 +10,7 @@ from scapy.base_classes import SetGen from scapy.packet import Gen, Raw from scapy.all import * +from scapy import plist # This line will allow KillerBee's pcap reader to overwrite scapy's reader that is imported on the # above line, per suggestion from cutaway at https://code.google.com/p/killerbee/issues/detail?id=28: from killerbee import *