Воскрешение древнего УЗИ-аппарата: как баг в китайском софте и прошивка SSD вернули технику в строй

Особенности технического обслуживания медицинского оборудования: Реинкарнация УЗИ-аппарата Toshiba Aplio 500

Последние полтора года моей профессиональной деятельности связаны с альтернативной гражданской службой, где я занимаю позицию техника по обслуживанию медицинского оборудования. Эта работа — настоящий рай для любителей реверс-инжиниринга. Однако из-за высокой загрузки времени на творческие проекты и написание статей практически не остается. Но сегодня случай особый: мне удалось совместить рабочую задачу с подготовкой полезного материала, который послужит инструкцией для моих коллег из IT-отдела и, возможно, поможет кому-то еще в вопросе модернизации специализированных систем.

Дисклеймер

Все описанные ниже манипуляции вы выполняете исключительно на свой страх и риск. Помимо вероятности окончательного выхода накопителя из строя, существует риск потери данных даже при успешной прошивке. Поведение модифицированного SSD в долгосрочной перспективе непредсказуемо. Действуйте осмотрительно и никогда не пренебрегайте резервным копированием.

Зачем модифицировать прошивку SSD? Выбор аппаратной базы

На первый взгляд идея перепрошивки SSD кажется экзотической. Однако на практике это необходимо в двух случаях:

  1. Требуется подмена серийных номеров на исправном накопителе для обхода аппаратных привязок ПО.
  2. Восстановление работоспособности «окирпиченного» диска.

В данном материале мы сфокусируемся на контроллерах SMI, хотя принципы применимы и к решениям от Phison. Выбор пал на них из-за доступности заводского ПО (Mass Production Tool), которое позволяет гибко настраивать параметры устройства. Найти прошивальщики для других контроллеров значительно сложнее.

Алгоритм подбора диска для модификации:

  1. Выбираем несколько моделей среднего ценового сегмента, избегая откровенно бюджетных брендов и сомнительных «реплик».
  2. Для каждой модели выясняем связку «контроллер + тип памяти».
  3. Проверяем наличие соответствующего сервисного ПО на ресурсе usbdev.ru — это незаменимый источник знаний для работы с контроллерами накопителей.

Объект исследования: Toshiba Aplio 500

Перед нами высокотехнологичный диагностический комплекс со следующими характеристиками:

  • 19-дюймовый ЖК-монитор с продвинутой регулировкой.
  • Дополнительная 10-дюймовая сенсорная панель управления.
  • Встроенный HDD системы — 160 Гб.
  • HDD рабочей станции — 250 Гб.
  • Глубина сканирования до 32 см, более 70 тысяч приемо-передающих каналов.
  • Масса системы — около 140 кг.
Воскрешение древнего УЗИ-аппарата: как баг в китайском софте и прошивка SSD вернули технику в строй
Диагностическая система Toshiba Aplio 500

Проблема: врачи жаловались на критические задержки в работе интерфейса. Аппарат мог «зависать» на несколько минут. Причина очевидна — физический и моральный износ жестких дисков. Логичным решением кажется замена HDD на современные SSD через посекторное клонирование. Однако здесь вступает в силу защита производителя.

При загрузке проприетарная оболочка УЗИ проверяет серийный номер накопителя. Если ID диска не совпадает с заводским значением, система блокирует работу. Поскольку бюджетное учреждение не всегда может оперативно оплатить выезд официальных сервисных инженеров, пришлось искать обходной путь.

Вскрытие и анализ системы

Демонтировав боковую панель, мы обнаруживаем привычную компьютерную архитектуру, но с поправкой на специализацию: материнская плата промышленного класса и специфические PCI-платы для обработки сигналов с датчиков.

Внутренности системного блока УЗИ
Архитектура на базе платформы LGA 775

Система работает под управлением Windows XP. Чтобы получить доступ к управлению ОС в обход заблокированной оболочки, нужно поймать узкое временное окно (около 600 мс) между инициализацией winlogon.exe и стартом GUI аппарата, используя диспетчер задач.

Для замены были выбраны накопители Kingston A400. Внутри — контроллер Silicon Motion SM2259XT2 и память TLC (Samsung). На плате присутствуют технологические отверстия: 12-пиновый интерфейс (вероятно, JTAG) и 2-пиновый разъем для перевода в режим BootROM. К счастью, в нашем случае вскрытие корпуса для прошивки не потребовалось.

Инструментарий и процесс прошивки

Для успешной модификации понадобятся:

  1. Материнская плата с поддержкой SATA HotPlug (для удобства).
  2. Надежный USB-SATA адаптер (я использовал DEXP HD303 на чипе ASM225CM).
  3. Сервисная утилита MPTool для контроллера SM2259XT2.

После идентификации версии прошивки в MPTool переходим к редактированию конфигурации. Основная задача — подменить Model Name и Serial Number на данные старого HDD, которые можно заранее выписать через CrystalDiskInfo.

Параметры MPTool
Настройка параметров в сервисном ПО

Критический нюанс: Скрытая структура данных

Первая попытка прошивки провалилась — оболочка УЗИ по-прежнему отказывалась запускаться. Выяснилось, что программы диагностики показывают упрощенную строку серийного номера, в то время как система считывает его напрямую через ATA API.

Согласно спецификации IDENTIFY_DEVICE_DATA, под серийный номер отводится ровно 20 байт. С помощью PowerShell скрипта удалось выяснить, как именно оригинальный HDD отдает свой ID:

# Фрагмент вывода скрипта для анализа SerialHex
# Оригинальный HDD дополняет номер пробелами (0x20) до нужной длины

Проблема в том, что MPTool при обычной записи удаляет лишние пробелы. Чтобы обмануть сам прошивальщик и сохранить структуру строки в 20 байт, пришлось прибегнуть к хитрости: заключить серийный номер в двойные кавычки в текстовом файле конфигурации (.ini).

Сравнение конфигов
Использование кавычек для сохранения пробелов в строке серийного номера

Итоговый алгоритм

  1. Подбираем MPTool под конкретную связку контроллера и памяти.
  2. Снимаем точный дамп идентификаторов старого диска через PowerShell.
  3. В MPTool настраиваем основные параметры, не меняя количество секторов.
  4. Сохраняем конфиг и вручную правим строку BEGINSN, заключая серийник (вместе со всеми пробелами) в кавычки.
  5. Запускаем процесс прошивки.

Результат

После установки модифицированного SSD и клонирования данных система мгновенно опознала «родной» диск. Оболочка запустилась без ошибок. Скорость работы аппарата выросла в разы: время загрузки сократилось, а «фризы» интерфейса при диагностике полностью исчезли.

Работающий УЗИ аппарат
Успешный запуск системы на новом SSD

Таким образом, удалось не только сэкономить значительные средства на закупке проприетарных комплектующих, но и вернуть в строй критически важное медицинское оборудование, значительно улучшив его эксплуатационные характеристики.

 

Источник

Читайте также