Как стать автором
Обновить
68
0
Вадим Павлович Яницкий @axilirator

Программист, коллекционирую старые телефоны

Отправить сообщение

Я таки запамятовал. 2.8 В на самом деле. Цитирую https://www.freecalypso.org/pub/GSM/FreeCalypso/duart28-userman-latest.pdf: "All UART output signals from DUART28 drive at 2.8 V logic levels, as opposed to more common 3.3 V; this slightly lower I/O voltage is native to Calypso and other mobile phone chipsets from that era".

Спасибо за статью! Пара дополнений с моей стороны.

А вот и подопытный телефон. Это Motorola C139. Подойдут также C113, C115, C118, C155, но лично я с ними не пробовал.

На C113/C115/C118/C123 слишком мало памяти. Там будет работать только урезанная версия прошивки без UI и GPRS/CSD. Вот тут можно почитать подробнее: https://www.freecalypso.org/hg/fc-am-toolkit/file/tip/doc/FC-aftermarket-intro. И вот тут: https://www.freecalypso.org/hg/fc-magnetite/file/tip/doc/Voice-pseudo-modem.

Я прошил один Motorola C118 вариантом VPM, ради интереса. Вот теперь лежит в кладовке :)

На практике его можно заменить переходником на базе CP2102 (или любым другим, у которого есть поддержка уровней 3,3 В. Не используйте переходники с пятивольтовыми уровнями. Спалите телефон).

На самом деле, UART там вообще кушает 1.2 В. Официальный DUART28, который для FCDEV3B, как раз работает на 1.2 В. Но 3.3 В оно тоже кушает, еще ни у кого не сгорало от этого, вроде бы.

https://www.freecalypso.org/hg/fc-magnetite/ - это один из вариантов прошивки. Там есть еще https://www.freecalypso.org/hg/fc-selenite/, https://www.freecalypso.org/hg/freecalypso-citrine/, и https://www.freecalypso.org/hg/fc-tourmaline/. В них должно быть меньше блобов. https://www.freecalypso.org/hg/fc-tourmaline/, если память не изменяет, должен быть самым свежим из всех проектом.

Вот именно. Никто не писал эту прошивку с нуля. FreeCalypso берет за основу утекшие исходники, и ни капли этого не стесняется. Что не обесценивает работу автора проекта, ведь там и правда была проведена большая работа по де-блоббингу и пересадке/интеграции компонентов из разных билдов/утечек в единое целое. Ну и тулинг для всего этого - тоже заслуживает уважения.

Пропустил слово "рассмотренных", каюсь. Но даже у поддерживаемых моделей компоненты радиотракта могут отличаться.

По сути у всех рассмотренных телефонов на Calypso отличие только в периферии

Не совсем. Бывают разные виды трансиверов (TRF6151C, TRF6151CJ, Si4210 AeroII). А еще разные виды PA (усилителей). Интерфейсы/команды у них отличаются. Именно поэтому есть немало телефонов на TI Calypso, которые ни FreeCalypso, ни osmocom-bb полноценно не поддерживают.

Тут проблема гораздо банальнее: объем памяти и размер экрана. У моделей вроде C123/C118/C115/... всего 2 MiB флеш памяти, и туда просто не помещается GPRS/CSD и UI. Для них есть упрощенная конфигурация, которая называется Voice-pseudo-modem. Без UI, без GPRS/CSD, только AT-команды.

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

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

Экспериментальная/неполная поддержка bladeRF в osmo-trx есть (https://gerrit.osmocom.org/c/osmo-trx/+/30413). Собирайте с флагом --with-bladerf и пробуйте. Правда, судя по COMMIT_MSG, вряд ли это будет работать стабильно.

Вы наверняка пользовались проектом YateBTS ...

Нет, не пользовался. Нет подходящего оборудования. Там, ЕМНИП, bladeRF и USRP1 поддерживаются только. Поэтому и подсказать не смогу.

Впервые слышу про "один телефон - передатчик, второй - приемник". Оно не будет работать как "чисто передатчик", потому-что TDMA быстро начнет плыть и передаваемые биты не будут попадать в нужные окошки на стороне базовой станции. Только если как-нибудь хардварно соединить два телефона, чтобы у них общий clock был (как это с rtl-sdr делают).

Есть ветка jolly/testing, есть моя fixeria/trx, которая основана на первой. Там можно подключить две моторолы: одна будет принимать и передавать на TS0, а вторая - на TS1. Если поковырять код, то, наверное, можно и больше моторол подцепить.

Поддержка CSD появилась на уровне BTS и выше (BSC + MSC). Для трансивера нет разницы CSD это или голос, поэтому работать должно и с CalypsoBTS. Как собрать бинарник transceiver описано в wiki проекта (https://osmocom.org/projects/baseband/wiki/Transceiver).

Именно так. Но упор там был скорее на создание открытого смартфона, а не открытого телефона/модема. К идее открытого телефона/модема ближе всех проект FreeCalypso со своей платой FCDEV3B. DSP там по-прежнему остается черным ящиком, а вот остальную часть прошивки вполне можно собрать из когда-то утекших, а ныне неслабо переработанных исходников.

Взаимодействие с модемом там было реализовано точно также, как сегодня оно реализовано в современных смартфонах: отдельный black-box чип с UART'ом, своей операционной системой (Nucleus RTOS) и интерпретатором AT-команд. Вот тут можно почитать: https://wiki.openmoko.org/wiki/TI_Calypso_D751992AZHH. Запустить там osmocom-bb можно было, но только если так, поиграться. Сама прошивка osmocom-bb не использовала и просто посылала АТ-команды.

На некоторых 4G USB-модемах есть UFL сокет для подключения внешней антенны.

Расстояние до вышки может играть важную роль. У B200/B210/B205mini выходная мощность до ~16 дБм (~40 мВт), в то время как телефоны/модемы могут выдавать до 23 дБм (~200 мВт). У меня работало только с одним оператором, у которого вышки были максимально близко.

В данной статье описывается взаимодействие с коммерческими сотовыми сетями. Правильно настроенный софт никак не мешает их работе ...

А вот передатчик SDR без фильтров вполне себе может. На выходе, помимо полезного сигнала, будут гармоники.

Я в свое время даже написал Dockerfile, которым активно пользовался: https://cgit.osmocom.org/docker-playground/tree/openbts-umts/Dockerfile.
Попробовал сейчас, спустя несколько лет, собрать образ на базе debian
jessie, но в нем почему-то даже 'apt-get update' не работает :/

Вот с этим патчем https://gerrit.osmocom.org/c/docker-playground/+/36366 apt снова работает, и образ собирается. Работает ли OpenBTS-UMTS из этого образа - не знаю, проверить возможности нет.

Если использовать только srsRAN, то да. Но это неудивительно, ведь у них основной фокус именно на радио, и немалый фокус именно на UE (все наоборот, в отличие от Osmocom). Вместе с srsRAN можно использовать open5gs (бывший nextEPC), там фокус именно на core network. Если повозиться, можно завести CSFB, и телефон будет уходить на 2G для звонков и SMS. Вроде бы, и VoLTE завести можно: https://open5gs.org/open5gs/docs/tutorial/02-VoLTE-setup/

Да, конечно. Судя по истории коммитов, в последний раз этот софт я запускал в конце 2021 года. Уже даже не помню, зачем. Без всего того, что делает телефон телефоном, оно не сильно интересно. С таким же успехом можно WiFi включить ;) Только если хочется поковырять протоколы, посмотреть что летает по воздуху.

1
23 ...

Информация

В рейтинге
5 441-й
Откуда
Новосибирск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Software Developer, Pentester