Операции с ACS-ключами для ридера бесконтактных карт RD-03AB

ACS-ключ (ключ доступа) представляет собой запись длиной 8 байт, идентифицирующую UID карты. Запись состоит из байта длины UID и 7ми байт UID. Возможны следующие длины UID: 4 байта, 7 байт и, теоретически, 10 байт (предусмотрено стандартом, но в реальных картах такой UID не встречается). Если длина UID недостаточна для заполнения записи ACS-ключа (4 байта), запись дополняется нулями. Если длина UID превышает длину ACS-ключа (10 байт), последние байты UID отбрасываются. ACS-ключ, у которого все байты равны 0xFF, считается пустым (нет записи о ключе, ключ удалён).

rd03ab_acsk

Читать далее Операции с ACS-ключами для ридера бесконтактных карт RD-03AB

Универсальный программатор имени Motorola

Большинство радиостанций Motorola программируется через встроенный USB интерфейс или с помощью K-Line адаптера. И это действительно так, если потребности в программирования радиостанций лежат в области программирования частот и настроек радиотракта. Всё становится намного веселее, если внезапно потребуется сделать что-то более серьёзное: например, перепрошить транковую станцию в «нормальную», заменить прошивку DSP-модуля, или просто заменить прошивку в радиостанции. Внезапно выясняется, что для «серьёзных» манипуляций с радиостанцией требуется наличие специального RIB-адаптера (Radio Interface Box), подключаемого к реальному COM-порту.

Изучение интернет-поделок не принесло морального удовлетворения, т.к. каждый лепит своё изделие исходя из модельного ряда радиостанций Motorola на своей домашней свалке и своего понимания о краткости схемы: один из таких чудо-девайсов собран аж на 9 микросхемах! Поэтому было решено по-быстрому сделать очередную поделку, претендующую на универсальнось и реализующую все известные протоколы Моторолы, на одной микросхеме.

motprog_view

Вот так выглядит универсальный программатор радиостанций Motorola на одной ИМС

Читать далее Универсальный программатор имени Motorola

Клонирование Mifare — нет ничего проще!

Вот для такого замечательного случая, когда возникает необходимость клонировать карту Mifare, предназначена программа c2rwCopy to RW-card. Вообще-то клонирование направо и налево делается с помощью libnfc; c2rw не использует libnfc, но тоже позволяет создать клоны карт (включая UID) Mifare Ultralight, Mifare Classic и Mifare Plus 🙂 Для полного клонирования, включая UID, следует использовать специальные карты, так называемые карты Mifare Zero (RW-карты), по названию перезаписываемого сектора 0. В секторе 0 хранится UID карты, а также ATQA и SAK, которые отвечают за опознавание типа карты. Исходники софта открыты, скачать его можно здесь (для Windows).

c2rw01
Читать далее Клонирование Mifare — нет ничего проще!

‘Космическая’ дверь на ридере бесконтактных карт RD-03AB и Arduino

Практически во всех фильмах про наше недалёкое будущее есть двери, которые открываются с помощью всяких там карт, и при этом на дисплее-терминале этой двери крутится какая-то неведомая ерунда, которая при контакте с неверным пропуском выводит кроваво-красную угрожающую надпись ‘Access denied’, а если хакеры были успешными — что-нибудь вида ‘Access granted’.

unoccr_doomdoor

А не сделать ли подобие такого ‘космического’ терминала на Arduino? А почему бы и нет 🙂 Для создания этого девайса был использован ридер бесконтактных карт RD-03AB, китайская плата Arduino Uno и плата расширения TFT + SD-Card от mcufriend.com, купленные за $12 на алиэкспрессе. В принципе, для демонстрации работы ридера достаточно только самой платы Arduino Uno, но с индикатором красивее 🙂 Пропуск-непропуск карты было решено сделать простейшим образом: на SD-карте хранятся bmp-изображения лиц людей, которым принадлежат пропуска, а имя bmp-файла соответствует UID карты владельца. Если файл с соответствующим UID-ом есть на карте — дверь открываем, нет — не открываем. Всё просто 🙂

Читать далее ‘Космическая’ дверь на ридере бесконтактных карт RD-03AB и Arduino

Ридер бесконтактных карт RD-03AB и libusb-1.0

Опыт использования ридеров RD-03AB в embedded системах (например, OpenWrt) показал, что погоня создателей системы за обновлениями ядра до добра не доводит: видимо, при каждом новом обновлении ядра приходится клепать такое адское количество патчей, чтобы система показывала признаки жизни, что руки до драйверов у людей просто не доходят. Именно по этой причине драйвер hidraw в последних OpenWrt работает через пень-колоду, если вообще соизволит запуститься, хотя с работой ридеров под linux на PC никаких проблем нет 🙂

В связи с этим положением дел, для ридеров RD-03AB появилась новая ветка API V1.5, работающая с USB через функции библиотеки libusb-1.0. Теперь для работы с ридером доступны 3 версии API: для Windows через функции HID-устройств, для linux через системный драйвер hidraw и новая ветка для linux через функции библиотеки libusb-1.0. Функции libusb устойчиво работают на embedded системах даже тогда, когда hidraw полностью неработоспособен.

Читать далее Ридер бесконтактных карт RD-03AB и libusb-1.0

Типовой ремонт УМ HF-VHF Kenwood TS-2000/X

Kenwood TS-2000/X ломается нечасто, но есть такие неисправности, которые отправляют трансивер лежать на полке годами: сложно найти мастерскую, которая в итоге своих манипуляций починит трансивер. Одной из таких замечательных неисправностей является выход из строя предоконечного каскада усилителя мощности HF-VHF, который по цепочке ведёт к выходу из строя схемы ALC, из-за неисправности которой трансивер «плохо» ремонтируется: замена транзисторов, как правило, ничего не даёт.

ts2k_front_panelТолько на третьем году эксплуатации узнал, что валкодер имеет тормоз 🙂

Читать далее Типовой ремонт УМ HF-VHF Kenwood TS-2000/X

Ремонт аппарата терапии Сета-Д1 и др.

В последнее время рынок наводнило разнообразное псевдомедицинское электронное барахло, которое, как ханаанский бальзам, обещает вылечить от всех болезней. Проку от этого барахла нет, но пёстрая компания этих поделок забивает действительно полезные медицинские приборы, и это печально.

Сета-Д1, внешний вид

Сета-Д лечит реально хорошо (замечательный девайс и это ничерта не реклама), но как любому прибору ей свойственно ломаться. Если по какой-либо причине пересылка неисправной Сеты производителю для ремонта невозможна, то в этом случае придётся ремонтировать девайс самостоятельно. Если Вы слабо понимаете что к чему, не чувствуете «силы в руках» для ремонта девайса — лучше прибор и не открывайте: напряжения там ~400В, токи меряются в килоамперах; если что не так сделаете — мало не покажется.

Читать далее Ремонт аппарата терапии Сета-Д1 и др.

Ридер бесконтактных карт RD-03AB и Linux

Ридер RD-03AB под Linux работает ещё лучше, чем под Windows 🙂 Разумеется, речь идёт про скорость обмена через USB HID интерфейс: в лине нет ограничения трафика USB HID устройств, по крайней мере такого ограничения нет в Ubuntu-клонах и OpenWrt. При работе через tty-устройства, ридер под Linux и Windows ведёт себя одинаково.

Linux обслуживает ридер RD-03AB как hidraw - устройство

Linux создал устройство hidraw4 для ридера RD-03AB

Скачать исходники софта можно здесь. Ридер не требует дополнительной установки каких-либо драйверов: система подхватывает его как hidraw-устройство. Однако, если ридер инсталлирован в многопользовательскую систему, система даст доступ к нему только root-у. Если нет желания запускать весь софт ридера через sudo, то следует добавить правило создания драйвера, в котором указывается разрешение использовать устройство всем пользователям: для этого следует скопировать из каталога INSTALL файл 90-ccr_rd0xab.rules в каталог /etc/udev/rules.d ,  перезапустить udev с помощью /etc/init.d/udev restart и переподключить ридер (если он уже был подключен).
В системе OpenWrt перед сборкой проекта следует проверить установки buildroot (команда make menuconfig, далее Kernel modules > USB Support > kmod-usb-hid).

Читать далее Ридер бесконтактных карт RD-03AB и Linux