Инфракрасный приемопередатчик, установленный на стиральной машине. (Автор: Severin)
Поскольку современные бытовые приборы теперь оснащены микроконтроллером, они часто имеют диагностический интерфейс и — иногда — что-то еще. Показательный пример: стиральные машины Miele, подобные той, которую недавно починил [Северин], приводят к тому, что прошивка становится неработоспособной и отказывается работать. К счастью, это можно было исправить, очистив память о неисправностях микроконтроллера, но если вам не повезет, вам придется заново откалибровать машину, для чего требуется специальное фирменное программное обеспечение. Естественно, это подтолкнуло [Северина] к исследованию того, как именно взаимодействуют диагностическая утилита Miele (MDU) и интерфейс программной коррекции (PC). Интересно, что в интерфейсе ПК используется комбинация инфракрасного светодиода и приемника, которая часто сочетается со светодиодом состояния, о чем свидетельствует символ «ПК». Этот интерфейс использует хорошо известный стандарт IrDA, но [Северину] все равно пришлось искать последовательный протокол.
Исследования начались с поиска запасной платы контроллера Miele EDPW 206 2010 года выпуска с 65C02-подобной Mitsubishi 740 серии из 8-разрядных микроконтроллеров. Они оснащены ПЗУ-маской для встроенного ПО, что затрудняет сброс встроенного ПО. К счастью, функция Miele@Home «интеллектуальное устройство» использует модуль, который взаимодействует с микроконтроллером через UART по очень похожему протоколу, включая переключение с 2400 на 9600 бод после подтверждения связи. Предприимчивый немецкий пользователь попытался провести реинжиниринг этого последовательного протокола Miele@Home, который оказался невероятно полезным в данном случае.
Что раздражает, так это то, что интерфейс ПК требует специальной последовательности разблокировки, разобраться с которой было непросто. К счастью, pin-код СИНХРОНИЗАЦИИ на выводах микроконтроллера для (в данном случае неиспользуемой) внешней памяти был активен. Это позволило получить представление о том, какой путь к коду был выбран, что значительно упростило определение последовательности разблокировки. Как оказалось, 11 00 00 02 13 были магическими числами для отправки в качестве первой последовательности.
После этого [Северин] смог опробовать новые команды, в том числе 30, которые, как оказалось, можно использовать для сброса mask ROM. Это позволило создать самодельный приемопередатчик, который можно подключить к полностью собранной стиральной машине для тестирования. На данный момент следующей целью является посудомоечная машина Miele G651 I Plus-3, которая, к сожалению, использует другую клавишу разблокировки.
Конечно, вы можете просто выбросить электронику и создать свою собственную. Это случается чаще, чем вы думаете.
Спасибо [Дэниелу] за совет.