Discussion:
crc számítás
(too old to reply)
Skandar Graun
2020-05-09 21:18:07 UTC
Permalink
Sziasztok!

Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
Próbáltam ráengedni egy online crc számoló oldalt, de azon nem adott
eredményt.
https://crccalc.com
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött két
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Pipi
2020-05-09 21:43:06 UTC
Permalink
A kalkulációnál a crc bájtokat kihagytad ugye?
Lehet nem is igazi crc, csak valami checksum, osszeadva az egészet, vagy csak xor-olt? Bár akkor bájtcsere nem jelentkezik
Az igazi CRC kimutatja ha csak bájtok vannak felcserélve is
esetleg MD5-el is megnézheted
Post by Skandar Graun
Sziasztok!
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
Próbáltam ráengedni egy online crc számoló oldalt, de azon nem adott
eredményt.
https://crccalc.com
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött két
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
-----------------------------------------
elektro[-flame|-etc]
--
Pipi
http://www.puzsar.hu
Skandar Graun
2020-05-09 22:25:02 UTC
Permalink
Még szép... azért máshol elég régóta használok crc-t. :)
Az MD5 128 bites, vagyis 16 bájtos összeg... nekem a teljes adatsor 5 byte,
vagy, ha a címet is hozzáveszem, 7 byte
Post by Pipi
A kalkulációnál a crc bájtokat kihagytad ugye?
Lehet nem is igazi crc, csak valami checksum, osszeadva az egészet, vagy
csak xor-olt? Bár akkor bájtcsere nem jelentkezik
Az igazi CRC kimutatja ha csak bájtok vannak felcserélve is
esetleg MD5-el is megnézheted
Post by Skandar Graun
Sziasztok!
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
Próbáltam ráengedni egy online crc számoló oldalt, de azon nem adott
eredményt.
https://crccalc.com
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
-----------------------------------------
elektro[-flame|-etc]
--
Pipi
http://www.puzsar.hu
-----------------------------------------
elektro[-flame|-etc]
Bánhidi István
2020-05-10 04:34:18 UTC
Permalink
Szia,

Ezzel probalkoztal mar?

<http://reveng.sourceforge.net/>

Istvan
Post by Skandar Graun
Sziasztok!
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
Próbáltam ráengedni egy online crc számoló oldalt, de azon nem adott
eredményt.
https://crccalc.com
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött két
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
-----------------------------------------
elektro[-flame|-etc]
Kiss Gabor
2020-05-10 06:24:24 UTC
Permalink
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött két
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.

kissg
Skandar Graun
2020-05-10 06:33:25 UTC
Permalink
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy reprodukálni
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...

2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.
kissg
-----------------------------------------
elektro[-flame|-etc]
Szrnka György
2020-05-10 07:01:23 UTC
Permalink
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >

üdv, szr
-----Original Message-----
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy reprodukálni
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
Skandar Graun
2020-05-10 08:22:36 UTC
Permalink
Na, próbálkozok... meghökkentően fapados, kísérletezek a beállításokkal,
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy reprodukálni
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte számláló,
az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
Skandar Graun
2020-05-10 09:11:24 UTC
Permalink
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a beállításokkal,
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy reprodukálni
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
t***@ajrg.hu
2020-05-10 11:04:52 UTC
Permalink
Ha az első bájtot (0-e) és a 2 db crc-t binárisan felírod, akkor azért
látszik valami szabályosság:

bájt 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0x00 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 0
0x01 1 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0
0x02 0 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0
0x03 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0
0x04 1 1 0 1 1 1 1 0 0 0 0 1 0 0 0 1
0x05 1 0 0 0 1 1 1 1 1 0 1 1 1 0 1 1
0x06 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1
0x07 0 0 0 0 1 1 0 0 1 1 1 1 1 1 1 1
0x08 1 1 1 1 0 1 0 1 1 0 0 1 1 0 1 0
0x09 1 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0
0x0A 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 0
0x0B 0 0 1 0 0 1 1 1 0 1 1 1 0 1 0 0
0x0C 1 1 1 1 0 0 1 1 0 0 0 1 0 0 1 1
0x0D 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1
0x0E 0 1 1 1 0 0 0 0 0 1 0 1 0 1 1 1

Például a 0. bit megegyezik a bájt 2. bitjével.
- az 1. bit a bájt 0. bitjével.
- a 2. bit a bájt 1. bitjével.
- a 4. bit itt állandó 1-es.
Satöbbi.
Nagyobb minta kellene. Ez gondolom valami ismeretlen eszköz, tehát nem
tudsz vele bármilyen mintára crc-t generáltatni, ugye?

Üdv.
Tamás
Post by Skandar Graun
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy reprodukálni
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
orbana
2020-05-10 11:10:41 UTC
Permalink
Szia!

16 bites CRC többféle van.

A végeredmény függ a CRC kezdőértékétől, a polinomtól, illetve hogy a
végén van-e egy augmentnek hívott plusz kör 0 adattal.

Számomra nem derült ki, hogy az általad beidézett adatsornál pontosan
melyik byte-okra számolja a CRC-t, és milyen sorrendben (például a 0x281
az 0x02 és 0x81 vagy 0x81 és 0x02).
Pár tesztesetet kipróbáltam a megadott adatsorokkal, de nem passzol
egyiknél sem a CRC.

Általában a CRC16-CCITT-t szokták használni, itt a kezdőérték 0xffff, a
polinom pedig 0x1021.

Találtam egy oldalt, ahol A 0x0499 polinomot emlegetnek a CAN-nel
kapcsolatban, ez ráadásul 15 bites. Jó lenne többet tudni a körülményekről.

<https://en.wikipedia.org/wiki/Cyclic_redundancy_check>
<https://www.can-cia.org/can-knowledge/can/crc/>

A Dallas eszközök által használt crc 8 bites, a polinom 0x31, a
kezdőérték 0. biztos, hogy teljesen más eredményt ad, az általad
beidézett adatsoroknál meg 16 bitesnek néz ki a CRC.

Üdv: Árpi
Post by Skandar Graun
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a beállításokkal,
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy reprodukálni
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek vannak.
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
Skandar Graun
2020-05-10 11:24:50 UTC
Permalink
Relatív ismeretlen eszköz, de tudok nagyobb számú mintát is küldeni, csak
nem akartam a listát elárasztani vele.
Itt van egy drive link hozzá:
https://drive.google.com/open?id=1znJUAqg_da4LbYeBMYo39oosiaEzKsCw
Találtam más címmel ugyanilyen adatsort, a crc is ugyanaz volt benne,
szóval a cím, jó eséllyel nincs benne.
A CAN saját crc-je nem érdekes, azt a hardver szinten lejátssza az eszköz,
itt már a normál adatsorban van a 16 bit... és azt sem tudom, hogy big,
vagy little endian. :D
Post by orbana
Szia!
16 bites CRC többféle van.
A végeredmény függ a CRC kezdőértékétől, a polinomtól, illetve hogy a
végén van-e egy augmentnek hívott plusz kör 0 adattal.
Számomra nem derült ki, hogy az általad beidézett adatsornál pontosan
melyik byte-okra számolja a CRC-t, és milyen sorrendben (például a 0x281
az 0x02 és 0x81 vagy 0x81 és 0x02).
Pár tesztesetet kipróbáltam a megadott adatsorokkal, de nem passzol
egyiknél sem a CRC.
Általában a CRC16-CCITT-t szokták használni, itt a kezdőérték 0xffff, a
polinom pedig 0x1021.
Találtam egy oldalt, ahol A 0x0499 polinomot emlegetnek a CAN-nel
kapcsolatban, ez ráadásul 15 bites. Jó lenne többet tudni a
körülményekről.
<https://en.wikipedia.org/wiki/Cyclic_redundancy_check>
<https://www.can-cia.org/can-knowledge/can/crc/>
A Dallas eszközök által használt crc 8 bites, a polinom 0x31, a
kezdőérték 0. biztos, hogy teljesen más eredményt ad, az általad
beidézett adatsoroknál meg 16 bitesnek néz ki a CRC.
Üdv: Árpi
Post by Skandar Graun
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a beállításokkal,
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy
reprodukálni
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
V,
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek
vannak.
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
Skandar Graun
2020-05-10 11:29:19 UTC
Permalink
Jaigen, a Dallas eszközt csak a használt szoftverek ellenőrzésére próbáltam
bevetni, hogy ellenőrizzem a szintaktikámat. :D
Post by Skandar Graun
Relatív ismeretlen eszköz, de tudok nagyobb számú mintát is küldeni, csak
nem akartam a listát elárasztani vele.
https://drive.google.com/open?id=1znJUAqg_da4LbYeBMYo39oosiaEzKsCw
Találtam más címmel ugyanilyen adatsort, a crc is ugyanaz volt benne,
szóval a cím, jó eséllyel nincs benne.
A CAN saját crc-je nem érdekes, azt a hardver szinten lejátssza az eszköz,
itt már a normál adatsorban van a 16 bit... és azt sem tudom, hogy big,
vagy little endian. :D
Post by orbana
Szia!
16 bites CRC többféle van.
A végeredmény függ a CRC kezdőértékétől, a polinomtól, illetve hogy a
végén van-e egy augmentnek hívott plusz kör 0 adattal.
Számomra nem derült ki, hogy az általad beidézett adatsornál pontosan
melyik byte-okra számolja a CRC-t, és milyen sorrendben (például a 0x281
az 0x02 és 0x81 vagy 0x81 és 0x02).
Pár tesztesetet kipróbáltam a megadott adatsorokkal, de nem passzol
egyiknél sem a CRC.
Általában a CRC16-CCITT-t szokták használni, itt a kezdőérték 0xffff, a
polinom pedig 0x1021.
Találtam egy oldalt, ahol A 0x0499 polinomot emlegetnek a CAN-nel
kapcsolatban, ez ráadásul 15 bites. Jó lenne többet tudni a
körülményekről.
<https://en.wikipedia.org/wiki/Cyclic_redundancy_check>
<https://www.can-cia.org/can-knowledge/can/crc/>
A Dallas eszközök által használt crc 8 bites, a polinom 0x31, a
kezdőérték 0. biztos, hogy teljesen más eredményt ad, az általad
beidézett adatsoroknál meg 16 bitesnek néz ki a CRC.
Üdv: Árpi
Post by Skandar Graun
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a
beállításokkal,
Post by Skandar Graun
Post by Skandar Graun
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy
reprodukálni
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
V,
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites
crc
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek
vannak.
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
elight
2020-05-11 07:23:51 UTC
Permalink
Szia.

Csökkentheted a byteok számát is..

Sokszor pl a cím - cím negált (hossz, stb)
állhat az elején
és az nem mindig feltétlen része
a crc data tömbnek.
Pl. a 0x281 ; 7 -et megpróbálnám kihagyni
ha minden sorban ugyanannyi.

Üdv István.
Post by Skandar Graun
Jaigen, a Dallas eszközt csak a használt szoftverek ellenőrzésére próbáltam
bevetni, hogy ellenőrizzem a szintaktikámat. :D
Post by Skandar Graun
Relatív ismeretlen eszköz, de tudok nagyobb számú mintát is küldeni, csak
nem akartam a listát elárasztani vele.
https://drive.google.com/open?id=1znJUAqg_da4LbYeBMYo39oosiaEzKsCw
Találtam más címmel ugyanilyen adatsort, a crc is ugyanaz volt benne,
szóval a cím, jó eséllyel nincs benne.
A CAN saját crc-je nem érdekes, azt a hardver szinten lejátssza az eszköz,
itt már a normál adatsorban van a 16 bit... és azt sem tudom, hogy big,
vagy little endian. :D
Post by orbana
Szia!
16 bites CRC többféle van.
A végeredmény függ a CRC kezdőértékétől, a polinomtól, illetve hogy a
végén van-e egy augmentnek hívott plusz kör 0 adattal.
Számomra nem derült ki, hogy az általad beidézett adatsornál pontosan
melyik byte-okra számolja a CRC-t, és milyen sorrendben (például a 0x281
az 0x02 és 0x81 vagy 0x81 és 0x02).
Pár tesztesetet kipróbáltam a megadott adatsorokkal, de nem passzol
egyiknél sem a CRC.
Általában a CRC16-CCITT-t szokták használni, itt a kezdőérték 0xffff, a
polinom pedig 0x1021.
Találtam egy oldalt, ahol A 0x0499 polinomot emlegetnek a CAN-nel
kapcsolatban, ez ráadásul 15 bites. Jó lenne többet tudni a
körülményekről.
<https://en.wikipedia.org/wiki/Cyclic_redundancy_check>
<https://www.can-cia.org/can-knowledge/can/crc/>
A Dallas eszközök által használt crc 8 bites, a polinom 0x31, a
kezdőérték 0. biztos, hogy teljesen más eredményt ad, az általad
beidézett adatsoroknál meg 16 bitesnek néz ki a CRC.
Üdv: Árpi
Post by Skandar Graun
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a
beállításokkal,
Post by Skandar Graun
Post by Skandar Graun
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy
reprodukálni
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
V,
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites
crc
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek
vannak.
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
Kiss Gabor
2020-05-11 07:56:26 UTC
Permalink
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
Honnan származnak az adatcsomagok? Mármint milyen technológiai folyamatból.
Nem az érdekel, hogy mit jelképez a payload 7 byte-ja, hanem hogy
mivel mérted őket és honnan.
Az időbélyeg például szinte biztosan nem a dróton utazott, hanem azt
csak a mérőberendezés tette a kidumpolt csomag elé.

Tegnap, a délelőttöm arra ment rá, hogy írtam egy polinomosztó programot,
mivel állítólag CAN buszról jönnek a bitek. Hangsúlyozom bitek, a CAN
ugyanis nem byte orientált. (nem N*8 bitből áll egy adatcsomag).És a
CRC-t definíció szerint bitenként kell számolni.
Minélfogva a neten fellelhető, CRC-t számoló kódok nagy része
használhatatlan ez esetben. Beleértve a crccalc.com-ot is.

A legnagyobb gondom az volt, hogy nem találtam egy teszt vektort sem a
neten a programom ellenőrzésére. Egy komplett CAN adatcsomagot CRC-vel
együtt. A wikipédiában lerajzolt példa
(http://en.wikipedia.org/wiki/CAN_bus#Base_frame_format) nem tűnik jónak.
Post by Skandar Graun
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött két
adat, de tök más volt a crc.
Még jó! :-)

kissg
Skandar Graun
2020-05-11 10:47:19 UTC
Permalink
Ez egy CAN üzenetsor valóban, de a CRC a CAN adatokban utazik, nem a
protokoll része. Fogalmazzunk úgy, hogy két réteggel feljebb van az ISO/OSI
modellben, szóval már a CAN-tól független alkalmazási adatcsomag.Itt már
tökmindegy az átvitel alapja, ezek már felhasználói adatok.
Találtam eltérő című, de ugyanolyan tartalmú csomagokat, a CRC ugyanaz
benne. Szóval a cím és a hosszbyte nem része a CRC-nek, csak a pőre adatok.

Ha meg akarod nézni a CAN saját CRC-jét, akkor a Boschnál kutakodj, ők
követték el a szabványt.
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
Honnan származnak az adatcsomagok? Mármint milyen technológiai folyamatból.
Nem az érdekel, hogy mit jelképez a payload 7 byte-ja, hanem hogy
mivel mérted őket és honnan.
Az időbélyeg például szinte biztosan nem a dróton utazott, hanem azt
csak a mérőberendezés tette a kidumpolt csomag elé.
Tegnap, a délelőttöm arra ment rá, hogy írtam egy polinomosztó programot,
mivel állítólag CAN buszról jönnek a bitek. Hangsúlyozom bitek, a CAN
ugyanis nem byte orientált. (nem N*8 bitből áll egy adatcsomag).És a
CRC-t definíció szerint bitenként kell számolni.
Minélfogva a neten fellelhető, CRC-t számoló kódok nagy része
használhatatlan ez esetben. Beleértve a crccalc.com-ot is.
A legnagyobb gondom az volt, hogy nem találtam egy teszt vektort sem a
neten a programom ellenőrzésére. Egy komplett CAN adatcsomagot CRC-vel
együtt. A wikipédiában lerajzolt példa
(http://en.wikipedia.org/wiki/CAN_bus#Base_frame_format) nem tűnik jónak.
Post by Skandar Graun
A sorrendiség érdekes benne, volt olyan adatsorom, ahol felcserélődött
két
Post by Skandar Graun
adat, de tök más volt a crc.
Még jó! :-)
kissg
-----------------------------------------
elektro[-flame|-etc]
orbana
2020-05-12 16:11:33 UTC
Permalink
Szia!

Próbálgattam kicsit az adatsorok alapján.
Véleményem szerint ez nem szabványos 16 bites CRC.
A nem szabványost úgy értem, hogy vagy nem crc, vagy a számított crc
értékével még valamilyen további átalakítást végeznek.
Nem szabványos poligonokkal is próbálkoztam.

Üdv: Árpi
Post by Skandar Graun
Relatív ismeretlen eszköz, de tudok nagyobb számú mintát is küldeni, csak
nem akartam a listát elárasztani vele.
https://drive.google.com/open?id=1znJUAqg_da4LbYeBMYo39oosiaEzKsCw
Találtam más címmel ugyanilyen adatsort, a crc is ugyanaz volt benne,
szóval a cím, jó eséllyel nincs benne.
A CAN saját crc-je nem érdekes, azt a hardver szinten lejátssza az eszköz,
itt már a normál adatsorban van a 16 bit... és azt sem tudom, hogy big,
vagy little endian. :D
Post by orbana
Szia!
16 bites CRC többféle van.
A végeredmény függ a CRC kezdőértékétől, a polinomtól, illetve hogy a
végén van-e egy augmentnek hívott plusz kör 0 adattal.
Számomra nem derült ki, hogy az általad beidézett adatsornál pontosan
melyik byte-okra számolja a CRC-t, és milyen sorrendben (például a 0x281
az 0x02 és 0x81 vagy 0x81 és 0x02).
Pár tesztesetet kipróbáltam a megadott adatsorokkal, de nem passzol
egyiknél sem a CRC.
Általában a CRC16-CCITT-t szokták használni, itt a kezdőérték 0xffff, a
polinom pedig 0x1021.
Találtam egy oldalt, ahol A 0x0499 polinomot emlegetnek a CAN-nel
kapcsolatban, ez ráadásul 15 bites. Jó lenne többet tudni a
körülményekről.
<https://en.wikipedia.org/wiki/Cyclic_redundancy_check>
<https://www.can-cia.org/can-knowledge/can/crc/>
A Dallas eszközök által használt crc 8 bites, a polinom 0x31, a
kezdőérték 0. biztos, hogy teljesen más eredményt ad, az általad
beidézett adatsoroknál meg 16 bitesnek néz ki a CRC.
Üdv: Árpi
Post by Skandar Graun
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a beállításokkal,
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy
reprodukálni
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím (előtte
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
V,
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites crc
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek
vannak.
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
Skandar Graun
2020-05-12 19:14:04 UTC
Permalink
Köszi.

Bár nem lettem boldogabb... amit látok, hogy kis változásra is nagyot
ugrik, szóval biztos, hogy valami crc szerűséggel dolgoznak.
Post by orbana
Szia!
Próbálgattam kicsit az adatsorok alapján.
Véleményem szerint ez nem szabványos 16 bites CRC.
A nem szabványost úgy értem, hogy vagy nem crc, vagy a számított crc
értékével még valamilyen további átalakítást végeznek.
Nem szabványos poligonokkal is próbálkoztam.
Üdv: Árpi
Post by Skandar Graun
Relatív ismeretlen eszköz, de tudok nagyobb számú mintát is küldeni, csak
nem akartam a listát elárasztani vele.
https://drive.google.com/open?id=1znJUAqg_da4LbYeBMYo39oosiaEzKsCw
Találtam más címmel ugyanilyen adatsort, a crc is ugyanaz volt benne,
szóval a cím, jó eséllyel nincs benne.
A CAN saját crc-je nem érdekes, azt a hardver szinten lejátssza az
eszköz,
Post by Skandar Graun
itt már a normál adatsorban van a 16 bit... és azt sem tudom, hogy big,
vagy little endian. :D
Post by orbana
Szia!
16 bites CRC többféle van.
A végeredmény függ a CRC kezdőértékétől, a polinomtól, illetve hogy a
végén van-e egy augmentnek hívott plusz kör 0 adattal.
Számomra nem derült ki, hogy az általad beidézett adatsornál pontosan
melyik byte-okra számolja a CRC-t, és milyen sorrendben (például a 0x281
az 0x02 és 0x81 vagy 0x81 és 0x02).
Pár tesztesetet kipróbáltam a megadott adatsorokkal, de nem passzol
egyiknél sem a CRC.
Általában a CRC16-CCITT-t szokták használni, itt a kezdőérték 0xffff, a
polinom pedig 0x1021.
Találtam egy oldalt, ahol A 0x0499 polinomot emlegetnek a CAN-nel
kapcsolatban, ez ráadásul 15 bites. Jó lenne többet tudni a
körülményekről.
<https://en.wikipedia.org/wiki/Cyclic_redundancy_check>
<https://www.can-cia.org/can-knowledge/can/crc/>
A Dallas eszközök által használt crc 8 bites, a polinom 0x31, a
kezdőérték 0. biztos, hogy teljesen más eredményt ad, az általad
beidézett adatsoroknál meg 16 bitesnek néz ki a CRC.
Üdv: Árpi
Post by Skandar Graun
Azért most kicsit meghümmedtem...
Kezdtem kicsit unni, hogy nincs sikerélmény, szóval gondoltam egyet és
kiírtam pár Dallas DS1990 kódot, ahol fel van tüntetve a CRC is.
Mondván, ellenőrzöm, hogy jól vittem-e be az adatokat.
Semmi.
Nézzük a crccalc.com-ot.
Legnagyobb megdöbbenésemre az sem találta.
Pedig azért a Dallas algoritmus nem egy ritka, egyedi fajta.
Post by Skandar Graun
Na, próbálkozok... meghökkentően fapados, kísérletezek a
beállításokkal,
Post by Skandar Graun
Post by orbana
Post by Skandar Graun
Post by Skandar Graun
kapcsolókkal, kitalálni, mit is kell állítanom. (mert a help sem túl
segítőkész. :D )
Eddig semmi.
Post by Szrnka György
Esetleg ezzel is próbálkozhatnál...sokat állít mgáról.
< http://reveng.sourceforge.net/ >
üdv, szr
-----Original Message-----
Skandar Graun
Sent: Sunday, May 10, 2020 8:33 AM
Subject: Re: [elektro] crc számítás
Tudom, hogy bármi lehet... ezért kell visszafejtenem, hogy
reprodukálni
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
tudjam.
Ahogy írtam, a crccalc.com-ot próbáltam, nem adott jó egyezést.
Itt egy mintasor, ez CAN üzenet, (nem autó) az RX utáni a cím
(előtte
Post by Skandar Graun
Post by orbana
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
időbélyeg van), , majd hossz, utána a az adatsor. Az első byte
számláló, az
utolsó kettő néz ki crc-nek.
És sajnos nem kicsiket változik...
2475,2247;RX;0x281;7;0x00;0x00;0x00;0x00;0x00;0xD8;0x98;;
2475,2747;RX;0x281;7;0x01;0x00;0x00;0x00;0x00;0x89;0x32;;
2475,3247;RX;0x281;7;0x02;0x00;0x00;0x00;0x00;0x5B;0xDC;;
2475,3747;RX;0x281;7;0x03;0x00;0x00;0x00;0x00;0x0A;0x76;;
2475,4247;RX;0x281;7;0x04;0x00;0x00;0x00;0x00;0xDE;0x11;;
2475,4747;RX;0x281;7;0x05;0x00;0x00;0x00;0x00;0x8F;0xBB;;
2475,5247;RX;0x281;7;0x06;0x00;0x00;0x00;0x00;0x5D;0x55;;
2475,5747;RX;0x281;7;0x07;0x00;0x00;0x00;0x00;0x0C;0xFF;;
2475,6247;RX;0x281;7;0x08;0x00;0x00;0x00;0x00;0xF5;0x9A;;
2475,6747;RX;0x281;7;0x09;0x00;0x00;0x00;0x00;0xA4;0x30;;
2475,7247;RX;0x281;7;0x0A;0x00;0x00;0x00;0x00;0x76;0xDE;;
2475,7747;RX;0x281;7;0x0B;0x00;0x00;0x00;0x00;0x27;0x74;;
2475,8247;RX;0x281;7;0x0C;0x00;0x00;0x00;0x00;0xF3;0x13;;
2475,8747;RX;0x281;7;0x0D;0x00;0x00;0x00;0x00;0xA2;0xB9;;
2475,9247;RX;0x281;7;0x0E;0x00;0x00;0x00;0x00;0x70;0x57;;
V,
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
Van egy adatsorom, ami úgy néz ki, hogy a végén van egy 16 bites
crc
Post by Skandar Graun
Post by orbana
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
Post by Skandar Graun
A sorrendiség érdekes benne, volt olyan adatsorom, ahol
felcserélődött
Post by Kiss Gabor
két
Post by Skandar Graun
adat, de tök más volt a crc.
Tudtok esetleg valami metódust, oldalt, valamit, amivel meg tudom
állapítani, ki tudom számolni, mi lenne a függvény?
Megosztanál velünk pár ilyen adatcsomagot?
Az a jó, ha nagyon hasonlítanak egymásra, csak kis különbségek
vannak.
Post by Skandar Graun
Post by Skandar Graun
Post by Szrnka György
Post by Kiss Gabor
kissg
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
-----------------------------------------
elektro[-flame|-etc]
orbana
2020-05-13 09:58:41 UTC
Permalink
Persze nem poligon, hanem polinom :)

Most azon gondolkodtam el, hogy ha az a cél, hogy más ne tudjon hibátlan
csomagot küldeni (termékvédelem, integritás védelem), akkor az egy simán
jó módszernek tűnik, hogy a tényleges adatsorból előállított crc-re még
utánatenni pár (tíz) byte-ot, és a crc-t ezekre a byte-okra _is_
lefuttatva (mintha az adat része lenne, csak nem küldjük át), hát
egyszerűen nem megfejthető... Tudom, hogy ez nem titkosítás, de
mikrokontrollerrel könnyedén megvalósítható.
Még lehet turbózni is, hogy ezt a hozzáadott részt egy másik polinommal
csinálni.
Ember legyen a talpán aki egy ilyet visszafejt (ha hozzáfér a
firmware-hez, akkor persze már egyszerűbb a dolog, de azért sokszámjegyű
összeget kellene a csekkre írni, hogy egy ilyennek nekiálljak).
Még az is lehet, hogy egy ilyennel van dolgod :)

Üdv: Árpi
Post by Skandar Graun
Köszi.
Bár nem lettem boldogabb... amit látok, hogy kis változásra is nagyot
ugrik, szóval biztos, hogy valami crc szerűséggel dolgoznak.
Post by orbana
Szia!
Próbálgattam kicsit az adatsorok alapján.
Véleményem szerint ez nem szabványos 16 bites CRC.
A nem szabványost úgy értem, hogy vagy nem crc, vagy a számított crc
értékével még valamilyen további átalakítást végeznek.
Nem szabványos poligonokkal is próbálkoztam.
Üdv: Árpi
Szima Gábor
2020-05-13 12:03:04 UTC
Permalink
Post by orbana
Most azon gondolkodtam el, hogy ha az a cél, hogy más ne tudjon hibátlan
csomagot küldeni (termékvédelem, integritás védelem), akkor az egy simán jó
módszernek tűnik, hogy a tényleges adatsorból előállított crc-re még
utánatenni pár (tíz) byte-ot, és a crc-t ezekre a byte-okra _is_ lefuttatva
(mintha az adat része lenne, csak nem küldjük át), hát egyszerűen nem
megfejthető... Tudom, hogy ez nem titkosítás, de mikrokontrollerrel könnyedén
megvalósítható.
Még lehet turbózni is, hogy ezt a hozzáadott részt egy másik polinommal
csinálni.
Ember legyen a talpán aki egy ilyet visszafejt (ha hozzáfér a firmware-hez,
akkor persze már egyszerűbb a dolog, de azért sokszámjegyű összeget kellene a
csekkre írni, hogy egy ilyennek nekiálljak).
Még az is lehet, hogy egy ilyennel van dolgod :)
Nekem egyszer sikerült. Egy műszer kommunikációs csatornája volt ezzel
védve, hogy csak a gyári driverrel lehessen rugdosni. Az is csak azért,
hogy a magamfajta hülyegyerekek ne kókányoljanak rá valami ***@rt. :) Már
meg nem mondom hogyan, de sikerült viszonylag hamar rájönnöm a
megfejtésre. Annyi előnyőm volt, hogy azt a korábbi verziójú ketyerét
(crypto nélkül) már illesztettem, így eleve ismertem minden bitjét.

Ott CRC16-ot használtak, és a kezdőérték+polinom volt a "kulcs".



-Sygma
Skandar Graun
2020-05-13 14:02:50 UTC
Permalink
Egyébként esélyes, hogy nálam is az lesz, hétvégén nekiugrok és arduinóra
megírom, letöltöm és nekilátok keresgélni.
ESP32-ben egész gyorsan le is tud futni.
Eddig is köszönöm a segítséget.
Post by orbana
Post by orbana
Most azon gondolkodtam el, hogy ha az a cél, hogy más ne tudjon hibátlan
csomagot küldeni (termékvédelem, integritás védelem), akkor az egy simán

Post by orbana
módszernek tűnik, hogy a tényleges adatsorból előállított crc-re még
utánatenni pár (tíz) byte-ot, és a crc-t ezekre a byte-okra _is_
lefuttatva
Post by orbana
(mintha az adat része lenne, csak nem küldjük át), hát egyszerűen nem
megfejthető... Tudom, hogy ez nem titkosítás, de mikrokontrollerrel
könnyedén
Post by orbana
megvalósítható.
Még lehet turbózni is, hogy ezt a hozzáadott részt egy másik polinommal
csinálni.
Ember legyen a talpán aki egy ilyet visszafejt (ha hozzáfér a
firmware-hez,
Post by orbana
akkor persze már egyszerűbb a dolog, de azért sokszámjegyű összeget
kellene a
Post by orbana
csekkre írni, hogy egy ilyennek nekiálljak).
Még az is lehet, hogy egy ilyennel van dolgod :)
Nekem egyszer sikerült. Egy műszer kommunikációs csatornája volt ezzel
védve, hogy csak a gyári driverrel lehessen rugdosni. Az is csak azért,
meg nem mondom hogyan, de sikerült viszonylag hamar rájönnöm a
megfejtésre. Annyi előnyőm volt, hogy azt a korábbi verziójú ketyerét
(crypto nélkül) már illesztettem, így eleve ismertem minden bitjét.
Ott CRC16-ot használtak, és a kezdőérték+polinom volt a "kulcs".
-Sygma
-----------------------------------------
elektro[-flame|-etc]
Loading...