-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
||||||
1 | ||||||
тривиальная apdu команда и неверный ответ карты02.10.2017, 03:13. Показов 3330. Ответов 14
Метки нет (Все метки)
модуль pn532 подключенный к arduino по протоколу i2c наконец то заработал.
однако посылая карте команду, я получая не то что хочу увидеть какой ни будь ответ с SW1SW2 из этого списка: Кликните здесь для просмотра всего текста
SW1SW2 Значение Успешное исполнение 9000 ОК. 61ХХ ОК, но есть еще ХХ байтов данных. Исполнение завершилось с замечаниями 62ХХ SW2 уточняет причины замечания. Постоянная память не была изменена. 63ХХ SW2 уточняет причины замечания. Постоянная память была изменена. Ошибки при исполнении команды 6400 Команда не была исполнена. Постоянная память не была изменена. 65ХХ Команда не была исполнена. Постоянная была изменена. 66ХХ Команда не была исполнена по причинам безопасности. Ошибки, связанные с форматом команды 6700 Неправильная длина команды. 6881 Карта не поддерживает указанный логический канал. 6882 Карта не поддерживает указанный вид Secure Messaging. 69XX Команда не разрешена. 6AХХ Неправильные параметры команды. 6B00 Неправильные параметры команды. 6CXX Неправильный Le. 6D00 Неизвестный INS. 6E00 Неизвестный CLA. 6F00 Ошибка без описания. для простоты и чистоты эксперемента я решил взять свою карту мастеркард, сначала скачал приложение для телефона, уж не помню как называется, но в нем я сверился с правильностью формирования мною apdu команды, тоесть в синтаксической части посылаемой команды ошибки быть не може вот она: Код
0x00, 0xA4, 0x04, 0x00, 0x0e, 0x32, 0x50, 0x41, 0x59, 0x2e, 0x53, 0x59, 0x53, 0x2e, 0x44, 0x44, 0x46, 0x30, 0x31, 0x00 Кликните здесь для просмотра всего текста
Код
PCD Select File CLA: 00 INS: A4 P1: 04 P2: 00 Lc: 0E Data: 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 // Select PPSE (2PAY.SYS.DDF01) Le: 00 PICC Successful Data (37 bytes) Tag 6F:FCI Template Length:23 Value :84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 04 10 10 87 01 01 Tag 84:Dedicated File (DF) Name Length:0E Value :32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 Tag A5:FCI Proprietary Template Length:11 Value :BF 0C 0E 61 0C 4F 07 A0 00 00 00 04 10 10 87 01 01 Tag BF0C:FCI Discretionary Data Length:0E Value :61 0C 4F 07 A0 00 00 00 04 10 10 87 01 01 Tag 61:Application Template Length:0C Value :4F 07 A0 00 00 00 04 10 10 87 01 01 Tag 4F:Application Identifier Length:07 Value :A0 00 00 00 04 10 10 Tag 87:Application Priority Indicator Length:01 Value :01 SW1 SW2: 90 00 сдается мне мой код срабатывает не верно прошу ознакомиться с ним и сказать что я делаю не так... а я точно что то делаю не так, так как ответ приходит не понятный более того это даже не похоже на ответ.... Кликните здесь для просмотра всего текста
0
|
02.10.2017, 03:13 | |
Ответы с готовыми решениями:
14
Номер чипа смарт-карты mifare, команда APDU APDU команда Read Record - как прочитать данные с SIM карты Вывести неверный ответ выводит неверный ответ |
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
08.10.2017, 18:33 [ТС] | 2 |
прочитал тут где то что i2c может передавать только 32 байта за раз, значит ли это что нужно подключать по spi чтобы все заработало?
0
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|
13.08.2019, 21:37 | 3 |
SadiQ228, подскажите получилось ли у вас по i2c получить данные? Или работает только SPI?
0
|
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
13.08.2019, 21:48 [ТС] | 4 |
Только spi
Работает быстрее и приходит все рекомендую Добавлено через 34 секунды Наверное можно и по итуси но я разбираться не хотел
1
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|
13.08.2019, 21:52 | 5 |
SadiQ228, засада, у меня rc522 от Амперки, она работает только по I2C, мучаюсь уже больше недели..
А можете скетчем (программой) поделится? Был бы очень благодарен Вам, а то малоли я что-то не так делаю. У вас такая же проблема, что данные кривые приходят? Или у вас совсем они обрезались?
0
|
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
13.08.2019, 22:02 [ТС] | 6 |
Rc522 spi поддерживает но чтобы отправить команду придётся постараться у меня почти получилось но вовремя пришёл модуль pn532 от elechous.
Бесплатно я ничем не делюсь, ну только разве что советами
0
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|
13.08.2019, 22:08 | 7 |
SadiQ228, где можем пообщаться на счёт скетча?
0
|
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
13.08.2019, 22:10 [ТС] | 8 |
мы же уже общаемся
0
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|||||||||||
13.08.2019, 22:19 | 9 | ||||||||||
Я ошибся в номере микросхеме, я использую PN532:
http://wiki.amperka.ru/%D0%BF%... %D1%8B:nfc И вот этот скетч: https://pastebin.com/hyBb1Zpq Но почему-то, после запроса: Код
00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00 Код
00 6F 2C 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 1A BF 0C 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FC 7E BC 87 DB BA 9B 79 FF A7 DD DE DD 9D 3C 7B F7 EA EC 2F B8 9F AB 4D DA 7A BA 7F 77 DD DF 9F F3 8B FB 2D FF C2 37 3D FD DF FB CA BE E7 FE AD AF E3 BA 99 CF F5 37 77 EF D9 83 EF F7 E3 5B 95 CA F7 85 FB AF FD BD FF 7D 7B D9 B6 BF B6 F7 8A BD EA 68 3E C8 7D EF DC 95 7C 7C EC D7 2D B2 B9 D5 AD 99 38 EB AB 06 48 FF 7E FB A4 FA 66 53 EA 5E 1B FF DF FB 70 8E 9D BA F4 BE 15 7A AA F6 65 BF EC DF BE 5F BA F9 3D 5D 00 00 A4 04 00 0E 32 Код
.o,..2PAY.SYS.DDF01.............................................................................................~.....y......<{.../...M.z.w......-..7=..............7w......[.........}{........h>.}...||..-.....8...H.~...fS.^....p......z..e...._..=]......2 Добавлено через 2 минуты Скетч для SPI, но как я уже говорил я использую I2C, по этому в Adafruit_PN532 nfc передаю только два параметра. И по какой-то причине у меня не работает он с использованием:
0
|
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
13.08.2019, 22:32 [ТС] | 10 |
изначаль тебе надо врубить опцию PN532DEBUG в либе, и пазырить че там да как
но я поробую заглянуть сквозь пространство и предположить что в файле Adafruit_PN532.cpp у тебя навеное #define PN532_PACKBUFFSIZ 64 - это по умолчанию ( размер буфера) измени на 128 и заработает) Добавлено через 39 секунд про I2С разбирайся сам, я юзаю SPI
0
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|
13.08.2019, 22:49 | 11 |
Если бы всё было так просто, будь у меня такой маленький буфер, я бы не получил такое длинное сообщение.
Проблема именно в ответе я полагаю (по крайней мере он отличается от того который получается телефон). Вот полный лог отправляемых команд и ответов: Код
[READ]apdu(255): 00 6F 2C 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 1A BF 0C 17 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 33 ED 2F FE E7 E5 6F 10 F2 6F 5C 17 FF EE FB 8B F0 C9 30 9B ED AA AD DA D5 AB C7 6A AE E6 BA 5C 26 F0 FB E3 FF 43 F2 BD 4A 27 FE F2 ED C7 BA 7F 5B 2D 37 CC AF 79 EE 1E 5A 88 EF 5F FC 5E BC 87 D9 BA 9B 79 FF A7 DC DE DD 9D 3C 7B F7 EA EC 2F B8 9F AB 4D DA 68 BA 7F 77 DD DF 1F F2 8B FB 2D FF C2 37 35 FD DF FB 8A 3E A7 DE AD AF E3 BA 9D CF F5 37 77 EF D9 83 EF F7 A3 5B 95 CA F7 85 FB AE FD BD FF 7D 7B C9 B6 BF B6 F7 8A BD EA 68 2E C8 7D 6F 5C 95 7C 3C EC D7 2D B2 B9 D5 AD 99 38 EB AB 06 48 FF 7E FB B6 FA 66 53 EA 5E 1B FF DF F9 70 8E 9D BA F4 BE 15 7A AA 76 65 BF EC DF AE 5F BA F1 3D 5D 00 A4 04 00 0E 32 50 .o,..2PAY.SYS.DDF01................................3./...o..o\.......0........j...\&....C..J'.....[-7..y..Z.._.^.....y......<{.../...M.h.w......-..75....>.........7w......[.........}{........h..}o\.|<..-.....8...H.~...fS.^....p......z.ve...._..=].....2P [SEND]startAID: 00 A4 04 00 07 A0 00 00 00 03 10 10 00 [READ]StartAID: 00 6F 6A 84 07 A0 00 00 00 03 10 10 A5 5F 50 0A 56 69 73 61 20 44 65 62 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FC 5E BC 87 D9 BA 9B 79 FF A7 DC DE DD 9D 3C 7B F7 EA EC 2F B8 9F AB 4D DA 68 BA 7F 77 DD DF 1F F2 8B FB 2D FF C2 37 35 FD DF FB 8A 3E A7 DE AD AF E3 BA 9D CF F5 37 77 EF D9 83 EF F7 A3 5B 95 CA F7 85 FB AE FD BD FF 7D 7B C9 B6 BF B6 F7 8A BD EA 68 2E C8 7D 6F 5C 95 7C 3C EC D7 2D B2 B9 D5 AD 99 38 EB AB 06 48 FF 7E FB B6 FA 66 53 EA 5E 1B FF DF F9 70 8E 9D BA F4 BE 15 7A AA 76 65 BF EC DF AE 5F BA F1 3D 5D 00 A4 04 00 0E 32 50 .oj.........._P.Visa Deb........................................................................................^.....y......<{.../...M.h.w......-..75....>.........7w......[.........}{........h..}o\.|<..-.....8...H.~...fS.^....p......z.ve...._..=].....2P [SEND]GetApplication: 80 A8 00 00 02 83 00 00 [READ]GetApplication: 69 85 i. [SEND]berBuffer1: 00 B2 01 0C 00 [READ]berBuffer1: 69 85 i. Pan not found [SEND]berBuffer3: 00 B2 02 0C 00 [READ]berBuffer3: 69 85 i. Pan not found [SEND]berBuffer4: 00 B2 01 14 00 [READ]berBuffer4: 69 85 i. Pan not found [SEND]berBuffer5: 00 B2 02 14 00 [READ]berBuffer5 is: 69 85 i. Pan not found
0
|
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
13.08.2019, 22:51 [ТС] | 12 |
это I2C разделяет ответ на куски, я с этим разбираться не стал
а вообще рекомендую буфер увеличить он у тебя по умолчанию 64 а ответы от карты намного больше!
0
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|
13.08.2019, 22:53 | 13 |
Я увеличил до 255, при 64 действительно получаю не весь ответ, но похоже что проблема и правда в I2C, не подскажите где можно почитать про разделение ответа от I2C?
0
|
-4 / 24 / 7
Регистрация: 16.12.2016
Сообщений: 716
|
|
13.08.2019, 22:59 [ТС] | 14 |
FF этим символом он просто дополняет ответ... так как видит его длинну, это НЕ неверные символы тебе пришли, это тебе ничего не пришло значит
Добавлено через 45 секунд нет не подскажу никто об этом не пишет я случайно нашел ответ на форуме arduino.cc но там мне никто так и не ответил а я и не стал дальше искать
0
|
0 / 0 / 0
Регистрация: 13.08.2019
Сообщений: 7
|
|
13.08.2019, 23:06 | 15 |
Понял, спасибо большое, буду искать, может в документации к pn532 что-то есть.
0
|
13.08.2019, 23:06 | |
13.08.2019, 23:06 | |
Помогаю со студенческими работами здесь
15
Выдает неверный ответ Выводит неверный ответ Неверный объем SD карты Команда RCL дает неверный результат. Исправить код Программа выдаёт неверный ответ Неверный ответ при делении Деление даёт неверный ответ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |