** заголовок пришлось несколько раз сокращать, чтоб уложиться в 120 символов, поэтому прошу простить, если он показался вам неинформативным и... нелитературным :)
На морских судах, совершающих международные рейсы необходимо наличие системы спутниковой связи Inmarsat‑C в составе оборудования ГМССБ. Одна из наиболее популярных моделей - Sailor TT-3026 производства Датской компании Cobham Satcom (она же - Sailor, Thrane&Thrane, Lars Thane и т.д.). Данная станция предназначена для передачи текстовых сообщений через спутник на береговые и судовые станции. В том числе - для слежения за судами на дальнем расстоянии (т.н. ОСДР/LRIT). Это система, по которой осуществляется контроль за движением судов, соблюдением ими государственных границ, районов промысла и судоходства. Наличие и работоспособность этой системы строго контролируется морскими администрациями.
В составе подобных спутниковых терминалов обязательно должен быть GPS-приёмник. Данная модель выпускается достаточно давно (в начала 2000-х), и в этом году пришло время встроенных в них GPS-приёмников "упасть в Rollover"
Это стало немалой проблемой для судовладельцев, поскольку - если эта станция используется для слежения за судами - портовые власти могут запретить выход в рейс или потребовать немедленного возвращения судна в порт до устранения неисправности.
Производитель оборудования поспешил выпустить вот такой бюллетень:
и - конечно - дистрибьютеры сразу стали пересылать это письмо судовладельцам и предлагать замену станций TT-3026 но следующее поколение - ЕЕ-3027.
И вот - спустя около месяца после публикации бюллетеня питерская компания Связь и Радионавигация публикует своё решение:
В связи с истечением срока службы оборудования, произошел ролловер GPS, что сопровождается ошибками даты и времени в работе антенн SAILOR Mini-C (TT-3026X). Если у вас возникла подобная ошибка антенны – мы готовы вам помочь! Наши инженеры разработали уникальную методику, для ее исправления. В антенну не вносится конструктивных изменений, а сама процедура не требует разборки антенны и занимает приблизительно 1 час, при наличии нашего инженера на борту или же удаленно при помощи нашей команды (необходимо предоставить удаленный доступ к компьютеру).
Для решения проблемы специалисты вскрыли устройство, извлекли ПЗУ, скачали и дизассемблировали прошивку. Больше недели понадобилось для анализа кода на низком уровне и внесения изменений, позволяющих сдвинуть диапазон дат. Сделать "универсальный патч", однако - невозможно, поскольку код содержит уникальный идентификатор устройства, привязанный к серийному номеру. Тем не менее, перепрошивать устройство можно уже без вскрытия станции - подключаясь через сервисный порт.
Подробностей процедуры компания, само собой, не раскрывает, но - насколько удалось понять - в общих чертах это выглядит так: подключаясь к сервисному порту специалист выгружает идентификатор, он преобразовывается в соответствующий код и вписывается в новую прошивку. Прошивка компилируется и загружается, опять же, через сервисный порт (вероятнее всего с использованием загрузчика, предназначенного для штатного обновления встроенного ПО).
За данную процедуру компания скромно просит около 10^5 руб, что - на самом деле - весьма неплохо, с учётом того, что замена станции, как рекомендует производитель, обойдётся более чем в 10^6 руб, да ещё и - если дело происходит в России - новую станцию нужно где-то достать, т.к. их ввоз запрещён санкциями.
А ещё - станции нового поколения (TT-3027) показали себя очень ненадёжными (половина не доживает до окончания гарантийного срока), в то время как TT-3026 работает (как мы видим) до сих пор. Но это уже совсем другая история.
p.s. вот так русские хакеры инженеры срывают план продаж европейскому производителю оборудования.
update: в комментариях почему-то активнее всего разгорелась дискуссия вокруг "отечественного", "законов РФ" и т.д. Коллеги, не спешите с выводами! По последней информации значимая доля поступивших компании запросов - из Европы и Турции! Ибо, как пишут разработчики, вскрытие не требуется, достаточно прийти на судно, подключить компьютер и предоставить удалённый доступ.