На его блоге GitHub пользователь stdw опубликовал подробный пост, объясняющий, как он исследовал и превратил старый кабельный модем Motorola MB7220, лежавший у него в шкафу, в полностью функциональное программно-определяемое радио.
Чтобы начать исследование, stdw сначала открыл корпус и поискал последовательный UART-порт. Нашедши один, он подключил UART к Raspberry Pi и почти сразу смог подключиться к терминалу устройства. По информации, отображавшейся во время загрузки, stdw смог определить, что модем работает под операционной системой eCos на SoC Broadcom BCM3383. К сожалению, после получения этой информации соединение UART обрывается, что препятствует дальнейшему исследованию терминала.
Чтобы обойти эту проблему, stdw решил считать флеш-память с помощью SPI-микросхемы, которую он увидел на плате. Снова используя Raspberry Pi он смог подключиться по SPI и использовать инструмент flashrom для чтения памяти. Затем, с помощью инструмента, называемого bcm2-utils, stdw смог разобрать и фактически изменить конфигурационную информацию, хранящуюся во флеш-памяти. Благодаря этому он смог изменить конфигурацию так, чтобы последовательное соединение не обрывалось после загрузки.
Получив доступ к терминалу, stdw смог провести обратную разработку прошивки, и после долгого поиска в конце концов нашёл консольную команду, которая выполняла измерение мощности полосы для заданного диапазона частот. Он обнаружил, что IQ-данные для этого скана хранятся в буфере, из которого затем можно было вывести их через TCP-соединение. Когда IQ-данные оказались на другом ПК, он смог с помощью библиотек Python вычислить FFT и фактически визуализировать полученный спектр. Дальнейшее исследование позволило получить фактически демодированное FM-радио, и понять, что полезная полоса пропускания составляет 7,5 МГц.
К сожалению, были некоторые ограничения. Оперативной памяти хватало лишь на хранение менее чем секунды данных за раз при максимальной полосе пропускания и точности, что означало, что значительная часть данных приходилось отбрасывать между захватами. Дальнейшие исследования позволили снизить частоту дискретизации до 464 кГц, что означало, что лишь 12% данных когда-либо отбрасывалось — достаточно, чтобы передать широкий FM-радиосигнал.
Если вы захотите попробовать исследовать модем самостоятельно, Motorola MB7220 доступен по цене от 15 до 40 долларов США, а новый на Amazon стоит 46,99 доллара США. Хотя пригодность модема для реальных SDR-применений может быть не слишком высокой, дальнейшее исследование может дать лучшие результаты. А если нет, то продолжение процесса, которое прошёл stdw, обещает отличный опыт изучения обратной инженерии. Другие модемы, использующие аналогичные чипы Broadcom, также могут заслуживать внимания.

Источник:
