Ontech 9035/9040/9015 reverse engineering

Berätta om dina pågående projekt.
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Tänkte ge mig på ett projekt för att separat kunna logga alla mina Ontech givare...

Första steget är att lista ut deras radioprotokoll som används mellan olika noder!

Hårdvaran i en 9040 består av i stora drag:
CC2500 Transciver (http://www.ti.com/lit/gpn/cc2500)
Telit GL865-Dual V3 GSM modem
PIC18F26K20 (med en väldigt trevlig kapsel att mäta på!!)
LT1454 (USB interface?)
1000mAh Lithium batteri
Simhållare, trafo och relä

Enklaste steget att lista ut radioparametrar borde vara att sniffa uppsättningen mellan PIC och CC2500...
Senast redigerad av AndLi 4 november 2016, 16:41:53, redigerad totalt 1 gång.
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Chipet märkt L1454 är sannolikt en PIC16F1454 som används till USB -> Serial eller USB-> PIC programmerare...

SIMkortet som skickar med kommer från
http://www.telit.com/products-and-servi ... y-service/
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Startup sekvens

Kod: Markera allt

Hex, response 0x0F om inget angivs

30    (SRES) Chip part number 
1F

1.5ms delay

0B 06  (FSCTRL1) Frequency synthesizer control

0C 00 (FSCTRL0)

0D 5C (FREQ2)

0E 71 (FREQ1)

0F 3B (FREQ0)

10 78 (MDMCFG4)

11 93 (MDMCFG3)

12 03 (MDMCFG2)

13 B3 (MDMCFG1)

14 7A (MDMCFG0)

15 44 (DEVIATN)

21 56 (FREND1)

22 10 (FREND0)

18 28 (MCSM0)

19 36 (FOCCFG)

1A 6C (BSCFG)

1B 43 (AGCCTRL2)

1C 40 (AGCCTRL1)

1D 91(AGCCTRL0)

23 A9 (FSCAL3)

24 0A (FSCAL2)

25 00  (FSCAL1)

26 11  (FSCAL0)

29 59 (FSTEST)

2C 81 (TEST2)

2D 35 (TEST1)

2E 0B (TEST0)

00 2E (IOCFG2)

02 32 (IOCFG0)

07 0C (PKTCTRL1)  Check CRC and return CRCflag & RSSI & LQI

08 45 (PKTCTRL0)  Vaiable packet len, CRCon, Whitening

09 00 (ADDR)

06 28 (PKTLEN) Max packetlen 

17 00 (MCSM1)

3E FF (PATABLE) +1dBm

0A 00 (CHANNR)

33 (SCAL) Calibrate frequency synthesizer

1ms delay
>FB 3D 34
<00 00 0F

Kollas var 1ms, 
>FB  headerbyte
<10  RX, 0 bytes in RX buff

Enligt TI testtool leder detta till:
Base frequency 2403.5MHz
Channel Spacing 37.490845 kHz
Data Rate 9.9926 kBaud
RX Filter BW 232.142857 kHz
Data Whitening på.
2-FSK - 30 bit sync word threshold
Deviation: 38.085938 kHz
TX power +1 dBm
Senast redigerad av AndLi 4 november 2016, 16:55:42, redigerad totalt 1 gång.
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Statusmeddelande med en slavenhet på adress 1 inkopplad switch off

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 27 05 00 01 79 44 FF FF 00 2D 82

35 
1F

7F 0D 02 01 78 25 00 01 79 44 FF FF 00 2D 82
5F 2F 2F 2F 2F ..

3D
2F
Statusmeddelande med en slavenhet på adress 1 inkopplad switch tryck till on

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 23 05 01 01 7A 1C FF FF 00 26 81

35 
1F

7F 0D 02 01 74 25 01 01 7A 1C FF FF 00 26 81
5F 2F 2F 2F 2F ..

3D
2F
Statusmeddelande med en slavenhet på adress 1 inkopplad switch tryckt till off

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 2D 05 00 01 7A 47 FF FF 00 1D 83

35 
1F

7F 0D 02 01 7E 25 00 01 7A 47 FF FF 00 1D 83
5F 2F 2F 2F 2F ..

3D
2F
Statusmeddelande med en slavenhet på adress 1 inkopplad switch off

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 26 05 00 01 7B 1E FF FF 00 29 85

35 
1F

7F 0D 02 01 77 25 00 01 7B 1E FF FF 00 29 85
5F 2F 2F 2F 2F ..

3D
2F
Statusmeddelande med en slavenhet på adress 1 inkopplad switch off (117 sekunder efter ovanstående)

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 2C 05 00 01 7B 14 FF FF 00 2D 83

35 
1F

7F 0D 02 01 7D 25 00 01 7B 14 FF FF 00 2D 83
5F 2F 2F 2F 2F ..

3D
2F
Statusmeddelande med en slavenhet på adress 1 inkopplad switch off, några statusmeddelande senare än ovan, fortfarande off

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 28 05 00 01 7B 04 FF FF 00 1C 84

35 
1F

7F 0D 02 01 7D 25 00 01 7B 04 FF FF 00 1C 84
5F 2F 2F 2F 2F ..

3D
2F

Statusmeddelande med en slavenhet på adress 1 inkopplad switch off, några statusmeddelande senare än ovan, fortfarande off, 8 m bort från master

Kod: Markera allt


FB 3D 34 FF 3D 3D ....
0E 0E  0F 5E 0B 01 02 2E 05 00 01 7A 62 FF FF 00 EC 84

35 
1F

7F 0D 02 01 7F 25 00 01 7A 62 FF FF 00 EC 84
5F 2F 2F 2F 2F ..

3D
2F
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Kod: Markera allt

0B 01 02 27 05 00 01 79 44 FF FF 00 2D 82    switch off
0B 01 02 23 05 01 01 7A 1C FF FF 00 26 81    switch on
0B 01 02 2D 05 00 01 7A 47 FF FF 00 1D 83    switch off
0B 01 02 26 05 00 01 7B 1E FF FF 00 29 85    switch off
0B 01 02 2C 05 00 01 7B 14 FF FF 00 2D 83   switch off (117 sekunder efter föregående)
0B 01 02 28 05 00 01 7B 04 FF FF 00 1C 84   switch off (några meddelande efter föregående)
0B 01 02 2E 05 00 01 7A 62 FF FF 00 EC 84   switch off(Svagare signal)
Första byten är längd (eftersom det är så TI radiochip funkar!)
och andra sannolikt adress (om de använder den pakethanterare som finns i chipet, dock används den nog bara i "slavarna")
Sjätte ser ut att vara reläet
Åttonde skulle också kunna vara temperaturen, ser ut att röra sig i ett lagom tempo för att vara just temperatur

Tredje gissar jag är någon typ av format/kommando byte
Det finns också en 4-20mA ingång som bör ha ett eget värde.
Och två digitala larmingångar

13/14 sänds inte i luften utan läggs på av modulen
13 är RSSI som modulen lägger på.
14 högsta bit är CRC_OK och resten är LQI

Tanken nu är att skaffa några CC2500 moduler, och konfigurera upp enligt ovan och sen bara logga all data som kommer in till PCn.
Det bör ge underlag för att kunna göra den temperatur-/elementpåtid logger jag skulle vilja ha..

http://www.ebay.com/itm/2pcs-CC2500-2-4 ... 1848912251
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Attan, fick hem CC2500 modulerna och har nu knappat ihop något som borde använda samma inställningar som Ontech modulen....

Men jag lyckas inte sniffa upp några meddelande, det kan vara så enkelt att det sitter olika kristaller på korten och då funkar ju inte samma inställningar.
Eller så är någon av enheterna bara lite lite skev i sin frekvens, dags att mäta lite...
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Innan slaven har fått en bekräftelse på sitt meddelande skickar denne ut detta varje sekund, har det inte fått svar på 10 meddelande börjar lysdioden blinka rött snabbt, men den fortsätter att skicka sitt meddelande varje sekund.

Har slaven fått svar på sitt meddelande skickar den nästa efter knappt 120 sekunder.

edit:
Trimmade in frekvensen så den matchade sändarna perfekt, och nu står det att det finns data i bufferten och RX stänger av sig..
Har såklart ändrat en hel del andra saker med, så jag vet inte riktigt om de ca 40kHz kanalen låg fel var det som var problemet...

Nu ska jag bara läsa ut bufferten ur CC2500 och jämföra mot tidigare data, men eftersom CRC lär vara påslagen bör datan matcha!!
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Frekvensen behövde inte trimmas, den rättar till det själv..

Det är inte andra utan tredje byten som anger enhets ID!
Fjärde byten fladdrar mellan 0x20 och 0x2E, varför än oklart
Sjätte byten är definitivt relä av/på
Åttonde OCH nionde byten är temperatur. Ett 16 bitars värde, där 7Cxx motsvarar ungefär 24grader och 70xx 10 grader, Då skulle den lägsta byten kunna vara decimaldelen, men det är mycket upplösning fö det.
Tionde/elfte är sannolikt den externa tempgivaren.

Rätta sättet att logga detta bör vara att dumpa upp hela strängen till molnet och lagra rådatan, för att inte riskera att anta något som senare visar sig vara fel...

Dags att löda in sig på telit modulen och lista ut vad de kör med för inställningar där, jag kanske rent av kan använda telit simkortet i min sniffer, de har en väldigt låg månadskostnad!
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Och då hoppar vi på GSM modulen...

4800 bps med echo on gör sniffandet ganska enkelt, men lite fundersam blir man allt..

Kod: Markera allt

AT

ATE

ATE0 //echo off, verkar ju funka sådär

AT&F E0 V0  //V0 numeric format on return code

ATE0

AT&F E0 V0   //reset to factory setting 0, first command that gives a respond....
cc2500:$01$00

AT+CMEE=2  //verbose error responses on +Cxxx commands
0    //numeric for OK
AT+CMGF=1  //SMS text mode = text.
4
AT+CGMR       //get software version
16.00.152            
0
AT+CGSN        //get serial number
3598550721388nn
0
@Boot
AT+CPBS?  //Get selected phonebook memory storage
4  //statuscode for error
@Boot
AT+CPBS? 
4
@Boot
AT+CPBS?
4
@Boot
och sen fortsätter den bara med AT+CPBS?, efter någon minutbörjar den om från början igen

Detta utan simkort i...
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Och pluggar man i ett simkort ja då jäklar börjar det hända saker!

Det verkar nästan som den kontinuerligt ligger och laddar upp status, ganska galet (särskilt som jag inte ens aktiverat sim kortet..)

Log kommer :)
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Det funkar alldeles utmärkt att använda Telit simkortet för andra saker än skicka data till Ontechs server..
Med en månadsavgift på 25 kr blir det ju inte så dyrt!

Just nu sniffas all radiokommunikation och skickas upp till min server i råformat så jag kan analysera mer data för att förstå alla bitar i protokollet...

Telit modemet har lite skumheter för sig, som att HTTP GET requesten bara verkar få vara typ 32 bytes lång..

Några minuters log med ett relä: (Jag loggar inte responsen från masterenheten)

Kod: Markera allt

1489158187	0b01062d0501017d52ffff002e81	
1489158294	0b0106200501017d53ffff002782	
1489158412	0b0106230501017d52ffff002684	
1489158528	0b0106260501017d53ffff002683	
1489158645	0b0106290501017d53ffff001383	
1489158763	0b01062c0501017d53ffff002183	
1489158880	0b01062f0501017d57ffff002783	
1489158997	0b0106220501017d55ffff001e83	
1489159116	0b0106250501017d52ffff001e82	
1489159232	0b0106280501017d5cffff002283	
1489159349	0b01062b0501017d52ffff001f82	
1489159467	0b01062e0501017d5dffff002d83	
1489159584	0b0106210501017d54ffff002983	
1489159701	0b0106240501017d54ffff002883	
1489159818	0b0106270501017d52ffff002982	
1489159936	0b01062a0501017d5affff00198b	
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Det kom ett email idag....

Vi har lagt märke till ovanligt hög dataförbrukning på ditt SIM-kort som vi levererat i samband med köp av Ontech GSM 9040.
Vi har också läst inlägg på elektronikforumet om försök att hacka våra SIM-kort för att använda dem till annat än de är avsedda för.

Vi tycker detta är lite tråkigt då vi med vårt erbjudande vill skapa en enkel och billig produkt med hög kvalitet och ett abonnemang som inte kostar skjortan. Vi har klargjort spelreglerna i vårt avtal om villkoren för tjänsten: https://www.ontechgsm.com/ontech-control-villkor/. De som i förlängningen drabbas av missbruk av tjänsten är ju alla andra användare som får vara med att betala för de högre kostnaderna.

Vi ber dig därför att sluta använda ditt SIM-kortet för annat än de är avsedd för. Vi skulle också uppskatta om du vill informera om vår inställning på elektronikforumet.

Om den höga datamängden fortsätter ser vi oss nödgade att stänga av SIM-kortet. Det kommer vi att göra med alla andra SIM-kort som uppvisar en onormal hög trafik. Detta ligger inbyggt i vårt system av lätt insedda skäl.

Onvako AB
Den höga datamängden var en http req varannan minut...
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av Lennart Aspenryd »

Det var väl ett bra och tjänligt svar när man försöker att ta sig runt gällande villkor!
Manar till efterlevnad!
Användarvisningsbild
mrfrenzy
Co Admin
Inlägg: 14819
Blev medlem: 16 april 2006, 17:04:10

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av mrfrenzy »

Beroende på hur bra avtal dom har med teleoperatören för telematikkort så ingår ca 1-5 MB/månad i dom där 25 kronorna.

Om man då kör kontinuerliga anrop istället för några få per dag som det är tänkt går det fort att nå taket.
Användarvisningsbild
AndLi
Inlägg: 17050
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

De sniffningar jag gjort på en ontech tyder på att de skickar upp data lika ofta som mig, men då via en raw socket istället för en http post...
Skriv svar