Перейти к содержанию
    

letni

Новичок
  • Постов

    4
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Посетители профиля

447 просмотров профиля
  1. Спасибо. Уже разобрался. Если кому интересно, то вот эта дока полностью правдива M2-02_MIFARE-Plus_RBt_07.pdf, за исключением одного момента - в ней перевернутый порядок байт (0 -> 15; 1 -> 14 ..) Читать и писать MFP у меня получилось.
  2. Развязки. Предупреждаю еще раз. Я в вч не особо силен. Мои опыты с антеннами похожи на попытку ткнуть пальцем в небо - но в этот раз повезло. Если по вот этой схеме http://www.sunrom.com/media/content/342/MF...ID-SCHEMATI.gif - это С18, С19, на 33пф. Сегодня попытался провести подобное дело на другой плате. Там такой фокус не удался. Попробовал, по советам, подобрать EMC filter (L4-L5-C24-C25) При номиналах 560нгн и 220пф ток вырос до 80ма. При полностью рассогласованном контуре (560нгн и 47пф) ток потребления был ~15ма, как и в первоначальном китайском варианте. Конденсаторы C18-C19 также поставил по 33пф. Честно, ответ здесь http://eng.utah.edu/~mlewis/ref/NFC/AN1445.pdf Но его мало кто читает и еще меньше кто понимает.
  3. Если кому интересно, я таки, нашел кусочек. (M2-02_MIFARE-Plus_RBt_07.pdf Еще известны, из вот этого источника, номера команд (phalMfp_Int.h) Опытным путем выяснено, что братья китайцы не заморачивались, выпускают считыватели просто с измененным номером команды (MIFARE Plus Card Operation Guide.pdf. Конечно, там ничего не сказано про авторизацию, но пока и не надо. Теперь о моих опытах, может кому поможет: Write_perso отвечает. Формат команды 0xa8 b[0..1] k[0..15] (b - блок, K - ключ (16байт)) LSB, MSB установлено опытным путем. На плюсовых картах отвечает - 0x90 "ОК" На картах где его быть не должно (Desfire EV1) - "0x1C" Команды плюсовой карты должны быть завернуты в ISO14443-4 (MFRC522Extended.cpp) Сейчас делаю как сказано в китайском даташите: Инициализирую все сектора с 0x4000-0x404f с шагом 2 (четные - ключ А, нечетные - ключ B (MF Classic?)), Если брать, что 0x90 - ОК, то что такое 0x09 было долго непонятно. На карте с 2к, после сектора 0x4040 ответ меняется с 0x90 на 0x09, Зная, что карта с 2к имеет 32 сектора (до 3f, если по 2 на сектор), можно предположить что ответ 0x09 - Ошибка в номере блока Далее китайцы советуют записать блоки 0x9000-0x9003 в которых хранятся глобальные ключи (Мастер, Настройки, Ключ на L2, Ключ на L3) Здесь я снова встретил статус 0x09 в блоке 9002, зная что у меня карта MIFARE Plus S 2K которая не умеет L2, это убеждает меня, что 0x09 - ошибка в номере блока Потом попытался сделать команду commit_perso (0xaa) - и получил 0x90, карта отключилась. У нее поменялся SAK, был 0x20 (MFP L3 согласно AN10833) стал 0x08 (MFP L1), значит что-то таки работает. На одной из карт на попытку commit-a получал ошибку 0x0f, пока не ясно что-это такое Да, по аппаратной части. Использую самый обыкновенный MFRC522 (RFID-RC522). Изначально плюсовые карты не читались в принципе, где-то видел упоминание, что им надо значительно больше мощности. Погуглив наткнулся (https://forum.mikroe.com/viewtopic.php?f=147&t=64203). Ток хотя и вырос с 22ма до 25.5ма, большинство карт все равно не откликалось. Но начала откликаться Desfire. Подумав дальше, я поменял конденсаторы развязки с 15пф до 33пф. Ток сразу вырос до 90ма. Не знаю, насколько это было правильным решением, так как в ВЧ практически не разбираюсь. Но плюсовые карты заработали на-ура. Надеюсь кому-нибудь мой опыт пригодится. Да так как я ничего не подписывал, формально мои опыты ничего не нарушают. Если все таки кому-то эти данные помешают, дайте знать - удалю.
  4. Господа, а вы все с NDA? Или где-то все таки есть утечки инфы на mf-plus?
×
×
  • Создать...