Прошивка airbag - прошивки, способы чтения и сброса.
 Добавлено: Пт апр 24, 2015 16:03
Добавлено: Пт апр 24, 2015 16:03Странно, но я не нашёл дампов и вообще информации мало по самой популярной версии турбо субару - Impreza WRX. 
Раскажу что нашёл, чтобы не пылилось в тёмных углах винчестера компа.
Начну с того что нужна помощь:
Имеются несколько стреляных блоков airbag от WRX'04.
Блоки с номером:
152300-6130 Denso 98221FE100
EEPROM: S220 (тоже самое что и 93C56) - чип памяти на 2Кб.
Есть у кого дамп чистого блока? Поделитесь?
-----------------------
Как выглядит блок внутри и где там микросхема памяти (картинка кликабельна)?

На что стоит обратить внимание. Если посравнинвать стреляный и не стреляный блок - восновном записываются коды в первые 32 байта (первые 2 строки в дампах ниже). Но на форумах люди которые патчят за деньги всегда пугают что не всё так просто блаблабла. Хотя восновном просто забивают нулями первые 32 байта (если это субару или подобные блоки) и потом вместо подушек ставят сопротивления и смотрят прокатила ли самодиагностика или нет. Я обошёл нескольких чуваков и меня удручает некомпетентность. Восновном заплаченные деньги - это авось прокатило, я стёр тут код, нужно попробовать подключить. В связи с этим попытаюсь сделать шаг в публичности информации о блоках.
Как протестить прошитый блок? Пока не придумал. Но суть в том что датчики которые стоят на ланжеронах это не единственные датчики. Ещё есть на самом блоке. Вся система детектит скорость, ускорение и показания всех датчиков. И только если всё сходится к аварии то только в этом случае происходит бах. Поэтому открутить датчик и ё*нуть им об стену ни к чему не приведёт (хотя я не проверял ).
 ).
Для общего развития и памяти оставлю список блоков и их eeprom:
На просторах инета нашёл ряд дампов. Оставлю их в теме. Уверен что кому то поможет в будущем. Также приатачил внизу код проги ардуины для считывания eeprom и ссылки на даташиты.
[spoiler]
легаси:
Denso(S220)_152300-6631_(98221AG000)-OK.bin
Denso(S220)_152300-6631_(98221AG000)-BAD.bin
Это дамп от wrx'04 стреляный блок:
152300-6130 Denso 98221FE100 (s220)
Ещё один стреляный
152300-6130 Denso 98221FE100 (s220)
DENSO 152300-6130 BAD 93C56 128X16.bin
98221AE160_93C56x16_crash.bin:
IMPREZA 2.5 2006 .DENSO98221FE220_152300-8470
NO ERROR 93C56 RA57
IMPREZA 2.5 2006 .DENSO98221FE220_152300-8470
crash:
[/spoiler]
Код arduino для чтения eeprom. Я коннектился внутрисхемно, питание брал с той же ардуины 3.3в. После включения в серийный порт (Мониторинг порта) последовательно выводится отформатированный текст дампа памяти циклически.
93c56:
http://pdf1.alldatasheet.com/datasheet-pdf/view/56327/ATMEL/93C56.html
s220 (взаимозаменяем с 93c56)
http://www.digchip.com/datasheets/parts/datasheet/000/S29XX0A-pdf.php
Полезно для прочтения патчинг eeprom пробега:
http://www.drive2.ru/l/1568805/. Тут же объясняется как подключить чип к LPT или COM порту и работать с ним через PonyProg.
немного инфы от продажников
http://cardamp.ru/view_full_one.php?langs_us=en&selectserach=25039&id_damp_list=20757
Подчеркну что пишу здесь всё для ознакомительных целей и ответсвенности связанной с предоставленной мною информацией не несу.
ps: неплохо было бы разрешить тег spoiler
			Раскажу что нашёл, чтобы не пылилось в тёмных углах винчестера компа.
Начну с того что нужна помощь:
Имеются несколько стреляных блоков airbag от WRX'04.
Блоки с номером:
152300-6130 Denso 98221FE100
EEPROM: S220 (тоже самое что и 93C56) - чип памяти на 2Кб.
Есть у кого дамп чистого блока? Поделитесь?
-----------------------
Как выглядит блок внутри и где там микросхема памяти (картинка кликабельна)?

На что стоит обратить внимание. Если посравнинвать стреляный и не стреляный блок - восновном записываются коды в первые 32 байта (первые 2 строки в дампах ниже). Но на форумах люди которые патчят за деньги всегда пугают что не всё так просто блаблабла. Хотя восновном просто забивают нулями первые 32 байта (если это субару или подобные блоки) и потом вместо подушек ставят сопротивления и смотрят прокатила ли самодиагностика или нет. Я обошёл нескольких чуваков и меня удручает некомпетентность. Восновном заплаченные деньги - это авось прокатило, я стёр тут код, нужно попробовать подключить. В связи с этим попытаюсь сделать шаг в публичности информации о блоках.
Как протестить прошитый блок? Пока не придумал. Но суть в том что датчики которые стоят на ланжеронах это не единственные датчики. Ещё есть на самом блоке. Вся система детектит скорость, ускорение и показания всех датчиков. И только если всё сходится к аварии то только в этом случае происходит бах. Поэтому открутить датчик и ё*нуть им об стену ни к чему не приведёт (хотя я не проверял
 ).
 ).Для общего развития и памяти оставлю список блоков и их eeprom:
- Код: Выделить всё
- Subaru 98221 AG180 152300-8270 93C57
 98221 FE220 Denso 152300-84700 93C57
 Forester 98221 SA011 Denso 152399-5181 93C56
 98221 SC030 Denso 150300-0940 93C86
 98221 SC041 Denso 93C86
 Impreza 98221 FA101 Denso 152300-2150 93C46
 98221 FA160 Denso 152300-2391 93C46
 98221 FA171 Denso 152300-2402 93C46
 98221 FE030 Denso 152300-3961 93C46
 98221 FE100 Denso 152300-6130 93C56
 98221 FE110 Denso 152300-6140 93C56
 98221 FE190 Denso 152300-8440 93C56
 98221 FG040 Denso 150300-0660 93C86
 98221 FG070 Denso 150300-1460 93C86
 Justy 89170-B1200 Denso 150300-1071 93C56
 Legacy 98221 AG260 Denso 150300-0710 93C86
 Outback 98221 AG250 150300-0700 93C56
 Tribeca 98221 XA00A Denso 152300-8221 93C56
На просторах инета нашёл ряд дампов. Оставлю их в теме. Уверен что кому то поможет в будущем. Также приатачил внизу код проги ардуины для считывания eeprom и ссылки на даташиты.
[spoiler]
легаси:
Denso(S220)_152300-6631_(98221AG000)-OK.bin
- Код: Выделить всё
- 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0005 000b 800b 800d 800f 8011 8016 800e
 800b 820f 820e 820f 820d 820c 8209 b20a
 b211 b213 b212 b20d b209 b210 b21b b218
 b213 4c0c 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0200 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 ffff ffff ffff ffff ffff 0000
 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5
Denso(S220)_152300-6631_(98221AG000)-BAD.bin
- Код: Выделить всё
- aa71 3134 3f0b 000e 0b00 aa71 3134 3f0b
 000e 0b00 aa71 3134 3f0b 000e 0b00 005a
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0005 000b 800b 800d 800f 8011 8016 800e
 800b 820f 820e 820f 820d 820c 8209 b20a
 b211 b213 b212 b20d b209 b210 b21b b218
 b213 4c0c 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0200 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 ffff ffff ffff ffff ffff 0000
 a5a5 a5a5 a5a5 a5a5 a5a5 5a5a 5a5a 5a5a
Это дамп от wrx'04 стреляный блок:
152300-6130 Denso 98221FE100 (s220)
- Код: Выделить всё
- 5baa 3431 1104 0b00 0000 5baa 3431 1104
 0b00 0000 5baa 3431 1104 0b00 0000 5a00
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 ff00 ff00 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 ff00 ff00 ff00
 ff00 ff00 0000 0100 0900 1680 1880 0880
 0680 1280 0f80 0680 0480 0c80 0e80 10b2
 0eb2 0ab6 0eb6 0fb6 0cb6 0fb6 19b6 27b6
 32b7 0d2b 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0002 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 ffff ffff ffff ffff ffff ffff ffff
 a5a5 a5a5 a5a5 a5a5 a5a5 5a5a 5a5a 5a5a
Ещё один стреляный
152300-6130 Denso 98221FE100 (s220)
- Код: Выделить всё
- 5baa 3431 0b04 1100 0000 5baa 3431 0b04
 1100 0000 5baa 3431 0b04 1100 0000 5a00
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0300
 0200 0000 0180 0100 0000 0100 0300 0280
 0280 0480 0580 0380 0480 0180 ff80 0180
 0180 0200 0680 0780 0280 0480 0680 0380
 0580 0780 0780 0880 0880 0680 0480 0380
 0380 0480 0380 0380 0300 0300 0480 0580
 0680 0480 0280 0180 0380 0780 1280 1680
 0d80 0964 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0002 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 ffff ffff ffff ffff ffff ffff ffff
 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5 5a5a
DENSO 152300-6130 BAD 93C56 128X16.bin
- Код: Выделить всё
- 30aa 3134 040b 0000 0000 30aa 3134 040b
 0000 0000 30aa 3134 040b 0000 0000 005a
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0001
 0001 0001 0001 0001 0001 0001 0001 0001
 0001 0001 0001 0001 0001 0001 0001 0001
 0001 0001 0001 0001 0001 0001 0001 0002
 0005 800d 8013 8014 800c 80f7 80f7 800d
 8012 800b 800a 800c 8214 8213 8214 821f
 931c 931a 971e 971d 971d 9721 971f 9610
 970e d20e 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0200 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 ffff ffff ffff ffff ffff ffff ffff
 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5 a5a5
98221AE160_93C56x16_crash.bin:
- Код: Выделить всё
- 34aa 0b31 040e 0000 0000 34aa 0b31 040e
 0000 0000 34aa 0b31 040e 0000 0000 ffff
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 ffff
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0400 0507
 0605 0103 0804 0607 0306 0503 0505 0706
 0507 1300 0100 f103 ffff ffff ffff ffff
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 ffff
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 ffff
 005a 0200 ffff ffff ffff ffff ffff ffff
 ffff ffff ffff ffff ffff ffff ffff ffff
 ffff ffff ffff ffff ffff ffff ffff ffff
 5a5a 5a5a 5a5a 5a5a a5a5 a5a5 a5a5 a5a5
IMPREZA 2.5 2006 .DENSO98221FE220_152300-8470
NO ERROR 93C56 RA57
- Код: Выделить всё
- 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 5a00
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0200 727c 6f63 6f7b 837c 6c7f 7d7c
 8b85 8f8e 8668 7e87 6566 635d 5d66 6b70
 6870 1961 9900 3033 3954 5600 ffff 0000
 5a5a 5a5a 5a5a a5a5 a5a5 a5a5 a5a5 a5a5
IMPREZA 2.5 2006 .DENSO98221FE220_152300-8470
crash:
- Код: Выделить всё
- 2c2b 2534 7678 1d00 0000 2c2b 2534 7678
 1d00 0000 2c2b 2534 7678 1d00 0000 5a00
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0000 0000 0000 0000 0000 0000 0000
 0000 0200 727c 6f63 6f7b 837c 6c7f 7d7c
 8b85 8f8e 8668 7e87 6566 635d 5d66 6b70
 6870 1961 9900 3033 3954 5600 ffff 0000
 5a5a 5a5a 5a5a 5a5a 5a5a 5a5a a5a5 a5a5
[/spoiler]
Код arduino для чтения eeprom. Я коннектился внутрисхемно, питание брал с той же ардуины 3.3в. После включения в серийный порт (Мониторинг порта) последовательно выводится отформатированный текст дампа памяти циклически.
- Код: Выделить всё
- //defining pins for eeprom
 int CHIP_SEL =8;
 int CLOCK =9;
 int DATA_IN = 11;
 int DATA_OUT =10;
 void setup(){
 pinMode(CLOCK ,OUTPUT);
 pinMode(DATA_OUT ,OUTPUT);
 pinMode(DATA_IN ,INPUT);
 pinMode(CHIP_SEL ,OUTPUT);
 digitalWrite(CHIP_SEL ,LOW);
 Serial.begin(9600);
 }
 void sendSer(String s){
 int len = s.length();
 
 for (int i=0;i<len;i++){
 char c = s.charAt(i);
 if (c=='0')
 digitalWrite(DATA_OUT, LOW);
 else
 digitalWrite(DATA_OUT, HIGH);
 
 digitalWrite(CLOCK,HIGH);
 digitalWrite(CLOCK,LOW);
 delay(3);
 }
 //needs little delay to work
 delay(10);
 }
 void recvSer(String s){
 digitalWrite(CHIP_SEL,HIGH);
 int len = s.length();
 for (int i=0;i<len;i++){
 char c = digitalRead(DATA_IN);
 Serial.print(c==LOW ? "0" : "1");
 digitalWrite(CLOCK,HIGH);
 digitalWrite(CLOCK,LOW);
 }
 }
 void loop(){
 digitalWrite(13,1);
 delay(1000);
 digitalWrite(13,0);
 digitalWrite(CHIP_SEL, HIGH);
 sendSer("00000110"); //sending READ instruction
 sendSer("00000000"); //sending Address
 
 //dummy zero that is sent at start of read
 digitalWrite(CLOCK,HIGH);
 digitalWrite(CLOCK,LOW);
 
 Serial.print("===START===\n");
 int x=0;
 int xBit=0;
 int charsCount=0;
 for (int i=0;i<2048;i++){
 char c = digitalRead(DATA_IN);
 
 x <<= 1;
 x |= (c==LOW ? 0 : 1);
 xBit++;
 if(xBit == 4)
 {
 if(x<10)
 {
 char c='0' + x;
 Serial.print(c);
 }
 else
 {
 char c='a' + (x-10);
 Serial.print(c);
 }
 
 charsCount++;
 if(!(charsCount%4))
 {
 Serial.print(" ");
 }
 if(charsCount >= 32){
 Serial.print("\n");
 charsCount = 0;
 }
 
 xBit = 0;
 x = 0;
 }
 
 digitalWrite(CLOCK,HIGH);
 digitalWrite(CLOCK,LOW);
 delay(1);
 }
 
 digitalWrite(CHIP_SEL,LOW);
 Serial.print("\n===END===\n");
 
 }
93c56:
http://pdf1.alldatasheet.com/datasheet-pdf/view/56327/ATMEL/93C56.html
s220 (взаимозаменяем с 93c56)
http://www.digchip.com/datasheets/parts/datasheet/000/S29XX0A-pdf.php
Полезно для прочтения патчинг eeprom пробега:
http://www.drive2.ru/l/1568805/. Тут же объясняется как подключить чип к LPT или COM порту и работать с ним через PonyProg.
немного инфы от продажников
http://cardamp.ru/view_full_one.php?langs_us=en&selectserach=25039&id_damp_list=20757
Подчеркну что пишу здесь всё для ознакомительных целей и ответсвенности связанной с предоставленной мною информацией не несу.
ps: неплохо было бы разрешить тег spoiler



