Как стать автором
Обновить
1
0
Евгений @EvgenySbl

Программист встраиваемых систем

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

Был такой на Huawei E1550. Вспоминается, года три пробатол в связке с Asterisk, пока все знакомые на мессенджеры не перешли.

Есть еще такие вещи как OpenAT или Embedded AT. Не для всех модулей, но вообще минимализм...

Интересная задача. У меня была похожая, когда еще не использовали e-sim. Немецкая компания Implementa gmbh, производит подобные устройства. Пришлось подсмотреть их протокол, и отмакетировать на своей платке аналог их устройства. Получилось звонить, с удаленной сим-карты, которая находилась в офисе Beeline, с подключением через VPN. А сам находился в Воронеже. Но, там были тестовые сценарии для Beeline, ни о каком клонировании речи небыло.

По поводу ATR, конечно без пароля, кроме того, обычно после ATR, смартфон еще и скорость меняет, а соттветсивенно нужно в протокол подсматривать и ETU, подстраивать самостоятельно.

Как то так и есть. Но смысл в следующем: "А давайте сделаем телефон". Хотя бы просто на FPGA и АЦП/ЦАП. Просто, все кричат, что все умеют. Но, фактически, умеет только несколько компаний: Qualcomm, Mediatek, Samsung, Apple. Может еще кто-то, но в основном все щеки дуют и вид делают что могут, а на самом деле это "нолики, без палочки".

Году так в 2013 к нам приезжал Медведев. Купили у китайцев телефон, а ему продемонстрировали со словами "это наш телефон". Вот этот шаг я и хочу перейти. Это амбициозно для одного человека. Но будь у меня миллинов 50-100, я бы сделал это как госзаказ (на FPGA). Жрать будет много, но ASIC стоит дорого, и не с первой итерации получится. По деньгам, это немного, обычно такие разработки стоят миллиарды. Но и меня немного. А тут нужно много с чем разобраться. Наверное, надо мной поржали. Но мои знакомые, реально купили стек LTE, для базовой станции, который человек написал в одиночку и использовал с RRH. Да, он гений, но и GSM это не LTE...

Почему так? Потому что для военных актуально чтобы не прослушивали, а это нельзя гарантировать, если нет исходников всего. Включая исходников синтезатора и компиляторов, и софта для производства чипов. Но, вероятность снижается. Одно дело закладка в чипе, другое в ПО. Когда занимаешься такими вещами, обычно проходишь "в чистую зону". Т.е. клавиатуры и мышки проверены, флешки нельзя или только из перечня, интернет на отдельном компьютере, техника заземлена, в корпусах глушилки широкополсные, питание с фильтрами или лучше бесперебойниками AC/DC => DC/AC. А еще местами секретнет (кто знает,- это просто расширенный аналог selinux, с логированием и надстройками, но под windows). И это не из за секретов по факту, а просто для того чтобы реслизовать, иначе не получится. Атаки....

Мне интересно а у кого нибудь есть реальный телефон? Понятно что собрать колхоз из GSM модуля экрана с тачем и ардуинки или распбери смогут многие. Но есть ли те, кто реально дошел до создания модема, и стека GSM, хотябы на FPGA и прошивке. Дальше можно и об ASIC-е говорить. Интересует, потому что замахнулся на подобную задачу.

Отключая РФ, от всемирной сети, Вы лишь усугубляте ситуацию. Вот смотрите. Я русский, родился в РФ, в городе Воронеже. Неплохо разибраюсь во всех этих технологиях, и гипотптически, готов подумать над созданием телефона, и не на бумаге. И что теперь, если я русский, значит плохой? То же самое можно сказать о любой другой нации. Задумайтесь о том, что вокруг Вас живут обычные люди. Никто не хочет войны. Она есть, но совершенно на другом уровне. Это глупо....

Если верить радужным шелйфам, то, там максимум мегагерц 10. На 20-и неизвество работать будет или нет бес согласования. Да, возможно, это просто управление подстройкой фазы DDS, но я такого не встерчал. С другой стороны, конечно могут быть сигналы относительно узкополосные, на BaseBand-е, и то наврятли. Для таких вещей, сейчас обычно применяют CPRI или OBSAI. На худой конец Ethernet с RTP протоколом.

P.S. Я как то заводил CPRI-линк между TMS320C6474 и SerDes-е Bric2, на похожем кабелечке, но "колхозном", с волновым сопростивлением 100 Ом. Диф пара, по схеме [Земля, D+, Земля, D-, Земля]. Скорость была 1.2 Gbit/s кажется на расстоянии меньше 5 сантиметров. И это UMTS отсчеты для BaseBand (схема BB + RRH). Обычно, оптику применяют в этом случае, и калибруют все по расстоянию.

Сама решетка может держать несколько разнонаправленныл лучей?

Это просто переключение между элементами с различной геометрической формой или доворот фаз сигнала? Почему то кажется что подобные вещи формируются в цифре всегда. Как это делатся в другом случае? Ведь корректно и точно довернуть фазы при каком нибудь QAM-256 уже будет проблемой, да еще и довернуть по разному для разных абонентов.

Это уже давно существует, вопрос лишь уровня реализации. Вспомните, где применяется технология Beamforming? Сейчас даже маршрутизаторы ее применяют.

Но это вопрос размещения в пространстве и количества клиентов. Круто конечно иметь ФАР, да еще и формировать многолучевые следящие сигналы. Однако терзают меня сомнения, касающиеся математики.

Каким будет пик-фактор такого сигнала? Что будет, в случае, когда два абонента движутся навстречу друг другу и используют один и тот же канал? А если добавить к этому интерференцию и замирания, посторонние шумы, доплеровский сдвиг при переменной скорости, перераспредление частотно-временной карты каналов? А направление движения? Один мой знакомый, говорил что в Huawei используют уже QAM-512, там и ветерок дунет, и созвездие рассыпается. А что тогда если все это еще и с многолучевой ФАР? Так там же еще и предыскажения нужно вносить, и калибровать потом все это еще по двум степеням свободы дополнитльно.

Сложно как то. Даже не представляю, как сделать так, чтобы планировщик, помимо элементарного RSSI/CINR начал учитывать еще и все эти параметры.

Интересно. Несколько лет назад, видел протоип подобной антенной решетки (одномерной). Там, вообще небыло никаких фазовращателей. Разве что диоды, для коммутации СВЧ. Полагаете, здесь фазовращатели?

Подобные задачи мы уже решали в рамках работы в АО Концерн Созвездие, в подразделении компании ЗАО Заря-К. Вы предлагаете пойти мне по типовому пути проектирования сверху вниз, а значит вложиться в отладочные средства. Я же, уже обладая опытом в проектировании, в моей ситуации предпочту идти по пути снизу вверх. У подобного направления тоже есть свои плюсы.

  1. Во-первых, Вы имеете возможность использовать отладочные комплекты оборудования, которое уже имеется в наличии. А это некоторые отладочные наборы на FPGA.

  2. Во-вторых, используя этот путь проектирования, мала вероятность того что кто-то серьезно заинтересуется и начнет воровать корректно спроектированный код, поскольку нижний уровень у них, скорее всего уже есть, а у меня,- нет.

  3. В-третьих, этот путь подразумевает ведение непрямых проектов. Т.е. если Вы научились генерировать и принимать OFDM сигнал, и у Вас имеются оптимизированные алгоритмы помехустойчивого кодирования, не факт что Вы используете их только в сотовой связи, ведь такие вещи применяются и в цифровом кабельном вещании и в спутниковом телевидении и много где еще, например спутниковой связи. А процессор, который потенциально может быть разработан, может использоваться для других целей. Вспомните, компанию ARM, которая не имеет собственной фабрики. У меня нет амбиций захватить мир, но я знаю что все что буду делать может пригодиться где-то еще.

Полагаю, предложение купить мне что либо готовое, не являются этичным. Я могу заметить что мой технический опыт, вовсе не говорит о моем материальном положении. Если Вы готовы предложить мне в дар подобные комплекты, я срадостью его приму на безвозмездной основе и найду ему применение. Кстати говоря, я работал с базовой, построенной на такой платформе в 2014 году.

Касательно рельной работы в телекоме, мне приходилось общаться с компанией RadiSys, они предлагали продать нам, в свое время, библиотеки LTE-стека базовой станции, все что выше верхнего MAC. Я работал с компанией Runcom Technologies в области подготовки к производству базовых и абонентских станций, а так же развертывания сети WiMax на их оборудовании. У меня был опыт работы с исходным кодом, предоставленным Sequans Communications, для их чипов. И мы могли бы выйти на производство, если бы руководство действительно хотело этого. У меня был опыт калиброваки RF-трактов с переносчиками частоты, обычными, аналоговыми, с гетеродинированием сигналов. Это глупо и лучше было бы использовать нужную частоту сразу, но исходных кодов, работающих с RF у нас небыло, а подобные решения принимались другими людьми. Так что мне лучше знать с какой стороны начинать проектирование. Помните, как там у Лозинского (Киплинга) "... И нужно все воссоздавать с основ ...".

На данный момент у меня нет опыта для того чтобы приблизиться к физическому уровню построения процессоров и производству чипов, но я знаю, что неплохим интерфейсом для компаний-производителей кристаллов служит Verilog. На данный момент у меня есть понимание, что неплохим интерфейсом к машинному коду любого процессора будет служить код на C/C++, который, легко собирается при помощи gcc, уже имеющего поддежку нескольких архитектур.

А теперь, давайте подумаем. Если, я начал заниматья радиотехникой и прогрммированием в третьем классе школы, а в мир телекома так или иначе вошел в 2006 году, и вышел в 2017. Чем бы я хотел заниматься? 3GPP,- jast for fun ;-)

Это простой ответ на простой вопрос.

Если хотите, более развернутый ответ, то вот он.

В двухтысячных, я работал в подразделении Заря-К. Там был великолепный с точки зрения технической подготовки коллектив. По этому само по себе направление понятно. Еще до того как я появился в этом коллективе, коллеги смогли выпустить свой чип стандарта CDMA. Активный костяк той компании, это 15-20 человек. Всего в коллективе 70 человек. На самом деле, проект не выстрелил только по двум причинам. Первая, не хватило денег на повторный выпуск ASIC-а. Что-то недопроверили и ошиблись в глупости, в одном выводе микросхемы. Вторая,- в РФ, победил GSM, а не CDMA. Я не о WCDMA(3G), а о альтернативе GSM.

На самом деле, так или иначе, в телекоме, я работал с 2006 по 2017 год. Сначала, это разработка служебной связи КВ диапазона. Проект, отдали в другое подразделение, а я перевелся на граджданку. Там были отностильно простые модуляции, но стремились к тому что уже было передовым. Отсюда и знания про феддинг, замирания и так далее. Мои коллеги, сидеи и кодили алгоритмы, котороые имели проямое откношения к синтезу сигнала,- например, кордик. Затем мне повезло работать в международном подразделении, которое занималось разработкой базовых станций. Начиналось все с создания проекта, который был фактически реалиованным стандартом 802.16d. Это была связка DSP + FPGA PHY + RF. Испытания показали что связь возможна на расстоянии нескольких километров, но при этом с продажи сняли чип DM256. Мы перешил на чипы от Runcom Technologies, а затем, я познакомился с Sequans Communication. Году так в 2013, я разработал анализатор протоколов сотовой сети, работающий на телефонах Samsung. Это ПО, для настоящих оптимиаторов сотовой сети. Мне удалось исследовать дмагностический протокол от компании Qualcomm, доступ к которому удалось получить через устройство /dev/diag, и через систему логирования Qualcomm, получить всю служебную информацию, что передается в канале связи и на различных подуровнях стека протоколов (GSM/3G/4G). Конечно, они использовали ее для отладки, а мы для того чтобы помочь оптимизаторам поставщиков услуг сотовой связи, работать с сетью.

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

Глобальную проблему я вижу тольео в отстутствиии рядя приборов. Это что-то из разряда CMW-500, FSL-6, FSQ-8, а еще Network Analyzer, и им подобные. Это очень дорогие приборы. Мне как то предлагали взять домой спектроанализатор, когда возникла проблема с неработающей мышкой, вероятно, по причине зашумленности спектра в квартире где я жил.

Касательно денег. Да. Я думаю, они кончаться. Но если на работе, в свободное время, у Вас будет доступ к подобным приборам, это не станет проблемой. Кроме того 95% того что предстоит сделать до выпуска ASIC-а стоит не так дорого. Разрабатывать код на FPGA.. Посмотрите, сколько сейчас стоит Alter-а, Xilinx, или альтернативы в виде Lattice или GoWin. У меня кстати есть отладка Lattice и GoWin и Это не дорого. Самое дорогое Referenc-ы касающиеся RF части, и время технического специалиста. Но, если для Вас оно условно-бесплатное... почему бы и да. Году так в 2016, я был знаком с проектом аналогичным OpenBTS. Его написал один человек. И мы подключали смартфоны, к базовой станции, код которой выполнялся на процессоре Intel, а по сети она была связана с RF-кой. Тот мощный i7 стоил тысч 50-100 на тот момент времени. А RF-ка стоила $100-250 долларов CША. Вы действительно думаете что прототипировать подобный проект стоит дорого, по деньгам? Это дорого, только по ресурсам человека и по используемому оборудованию, выпуску ASIC-а и сертификации. Сертификаация, мне, вероятно не светит..

Интересно, а никто не пробовал разработать полностью свой смартфон?

Много лет назад мои коллеги спроектировали CDMA-чип, но ошиблись в одном выводе, проект закрыли, денег на перевыпуск микросхемы нехватило. Это были комапния Кодофон и Заря-К.

Сейчас сижу и думаю, в современном мире, это не так сложно сделать даже силой пары человек. Я не про сложное устройство, а об относительно просто смартфоне, для начала, на базе FPGA. Сморите, микросхемы, вроде AD9361 есть. Дорогие правда и сейчас под санкциями, но все же. На FPGA можно и процессор реализовать и DSP обработку сделать. Т.е. свой GSM-модуль полностью. Код GSM-стека, можно подсмотреть в проектах вроде OpenBTS и подобных. Это правда про базовые станции, а я о телефоне. Процессор Application части, т.е. то, чем является Raspberry у Вас, можно использовать открытый, например RiscV. Да, будет ряд пробелем, например с энергопотреблением, и более серьезные с поставками компонентов. Но зато будет возможность выпустить надежный смартфон вообще без закладок. Т.е. отладить код на FPGA, процессорный код. Да, возможно это будет лишь GSM или в лучшем случае UMTS/WCDMA, но, зато никто не сможет влезть в то что спроектировали. Вы даже возможность отключения шифрования будете контролировать, и ответы смартфона по измерению времени прихода сигналов с базовых станций тоже. Там есть в сетях UMTS и LTE вещи, работающие так же как GPS, на основе разных PSC, но со стороны базовых станций.

Если есть желающие заняться таким проектом, и есть деньги на то чтобы сделать защищенный телефон или свои базовые станции, с удовлльствием бы поучаствовал в проекте. Может, энтузиасты есть, может кто-то реально хочет свое оборудование. Впринципе, все уже есть, но очень много потенипльных дыр у производителей, и это сильно напрягает. Где то их специально оставляют, по требованию, где-то случайно.

Если кто то хочет попробовать, свяжитесь со мной: hwswdevelop@gmail.com, +79003030374. Один не потяну ни по времени ни финансово.

В целом, есть опыт создания анализатора мобильной сети на базе смартфона, есть опыт работы в проектах WiMax и LTE. Работал с такими приборами как CMW-270, FSL-6, FSQ-8, и.т.д. Сам,- embedded-разработчик, т.е. Embedded ПО, Linux, VxWorks, eCos, uC/COS-II, CoCox, FreeRTOS, и вообще без ОС. Чуть чуть работал с FPGA, но как оптимизировать под LUT-4/LUT-6, или даже голую логику, знаю. Знаком с системой связи Алтай, NMT-450, WiMax, GSM/DCS, UMTS/WCDMA, LTE. Знаком в плане стандартов, приборов, и местами, разработки кода..

Интересный вопрос. Знаю что диоды точечные делали на различных вариантах. Если не ошибаюсь вольфрамовая проволока с селеном или чем то еще. Но так чтобы реализовать таким образом транзистор. Неужели возможно? Ведь при реализации транзисторов применяют массу технологий. Кто то инжектирует примеси в уже легированные области транзисторов, где-то действительно применяются технологии основанные на сплавлении полупроводников, насколько я знаю. Если правильно помню термин,- эпитексипльно сплавные. Не буду умничать, тем более плохо помню. Но что то мне подсказвает что работать не будет.

Я тоже так думал, когда году так в 199x начинал читать книжку, транзистор это очень просто. Но все немного сложнее. Говоря простыми словами для того чтобы потек ток коллектор-эммитер или эмиттер-коллектор (как посмотреть), нужно заполнить базу неосновными носителями зарядов. Т.е в транзисторе NPN, это электроны, которые, под воздействием электрического поля положительного напряжения на базе, попадут из области эмитера в область базы. А затем, они, будут перехвачены более высоким потенциалом коллектора и создадут ток, который в h21э раз больше тока базы. Ведь часть электронов все таки будет перехвачена по пути базой.

Если говорить языком физики, это будет звучать так: требуется инжекция неосновных носителей заряда в область перехода эммитер-база. В случае соединения двух диодов, этой области базы не существует.

Добрый день! Подскажите пожалуйста, какую ОС можно считать безопасной? Можно конечно начать с (B)LFS, но хотелось бы готовый продукт, а не собирать все с нуля. Кроме того не факт что глаз не замылиться и не пропустишь что то что является важным. Да и гарантировать невмешательтво в аппаратуру я не имею возможности. Я не о Intel ME и подобных технологиях, а о физическом доступе к системе.

Если что, программист встраиваемых систем, как устроены сетевые атаки, или атаки на приложения а так же методы защиты, вроде стековых канареек, битов защиты памяти знаю. С iptables на ты.

В идеале, хотелось бы собирать код с использованием компиляторов и кросс-компиляторов. Отлаживать продукты. Сталкивался с множественными атаками, связанными с физическим MITM и даже подменой оборудования. По этому, идельный вариант, это то что грузится с неизмениямого образа, и сохраняет данные на Flash. Flash, можно шифровать, но мне важнее целостность, т.е. подсчет контрольных сумм (md5, sha1). Работаю не на военных, но была ситуация с целенаправленными атаками продолжающимися несколько лет. Очень похоже на RedTeam. Был и ноутбук с bitlocker, и много чего еще. Знаю что мой текущий ноутбук загружется с стевой карты, возможно поменяли микросхему BIOS(UEFI) и используют PCI-E устройство как носитель при загрузке. Но против лома, как говориться нет приема. Я не Рокфеллер чтобы постоянно менять устройства, и пересобирать ОС у меня нет времени. Со второй проблемой разберусь, подскажите какую ОС выбрать? Можно конечно что-то совсем неклассическое, вроде WindRiver Linux. Но, боюсь, частнику такое не потянуть по деньгам, ломаное ПО я не ставлю и кроме того если нет техподдержки или нет доверия к продукту, сразу терятся смысл. Т.е. как видете, несмотря что хотелось бы для себя, подход серьезный, как и давление. Что касается сети, даже подумыал скачать полностью базу Ripe, локализовать DNS с использованием базы + множественных запросов с использованием шифрованного DNS. Когда то давно, уже писал браузер-тест под Android, который позволял логировать все что можно, и перехватывал все запросы к сети. Т.е. WebKit + свой "wget" с сохранением сертификатов, трафика. Разрабатывалось для Qualinet Systems. Видимо, нужно опускаться до такого уровня... хотя это уже порядком надоело.

А началось с того, что еще 10 назад, тормозили видео-ролики по WiFi. Думал, в чем дело. Я не думал что столкнусь с атаками, но полагаю кто то Reaver-использовал или нечто подобное, потом и в помещение проникали. Для них я идепльное подставное лицо был. Т.е. embedder, который обладает навыками реверс-инжиниринга, да еще и проекты такого рода были + интересовался безопасностью, но со стороны защиты.

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

Интересный ответ. Да, конечно нельзя не считаться со стандартом.

Но посмотрите на библиотеки от Atmel, от STM, от NXP, да и многих других вендоров. Практически никто из них не использует в коде ассемблерные вставки для обращения к MMIO. Вообще говоря в некоторых архитектурах, насколько я помню, кроме Memory Mapped регистров, существуют регистры в IO пространстве, и в этом случае уже должны быть использованы другие команды. Возможно использование ассемблерных вставок имеет свои корни из за этой особенности?

К сожалению, Вы не одиноки в своем отношении к людям, и наоборот. Сначала, очень много общения. Хороший коллектив, начиная с университета. Стал офицером. Много общался и летал зарубеж. В основном, как технический специалист но были моменты, когда приходилось вести политико-технические переговоры. Была красивая супруга, которую безумно любил. А потом, кто-то начал топить. Причем, сначала ушла супруга с которой прожили 15 лет, потом, практически сразу начали топить на работе, начали отбивать заказчиков, различными образом ломать жизнь. Мешали встречаться с девушками, с которыми хотелось (просто нормальное общение, все хорошо, зовут "на чай", а потом с ней уже побеседовали, и ты ненужен). Дошло до того что стали реально заражать инфекцией. Попытки сделать проекты, заканчивались провалом, по причине вмешательства из вне. Были реальные постоянные сетевые атаки. Я даже доказательства собирал, и выкладывал на Google-диск. Проникали в помещение. Стали воровать деньги с карт, фишинг применяли. И если бы все так просто, но я хороший сетевой инженер, настраивал сети мобильного WiMax, знаю спецификации мобильных сетей 2G/3G/4G (работал с Runcom Technologies, Sequns Communications, был сабконтрактором Intel ), и обмануть меня так просто.

А потом, мне надоело, и я стал замыкаться в себе. И замкнулся. Пришло к тому, что с девушками хочу встречаться и не хочу, поскольку меня намеренно зажарили трижды. А я разборчив в этом плане. С людьми общаться не хочу, потому что дохрена говорят с подтекстом, а я люблю когда все прямо. В итоге,- я один. Мне конечно можно посоветовать, сходить к психологу, но это бесполезно, это все равно, есть немерено сладкого, не чистить зубы, и постоянно менять пломбы. Должна решаться проблема, а не убираться симптомы.

Согласен, с оговоркой. Я имел ввиду одноранговые выражения, и специфику использования, при описании полей регистров, в типовых ситуациях. Т.е. как обычно в коде различных библиотек, использующих enum вместо define. Мы же в этом контексте общаемся? Вопрос заданный вне контекста и в контесксте, может иметь противоположные ответы.

И еще enum он constexpr. 

Что вы имеете ввиду? enum тянется и C, когда о constexpr выражениях еще небыло речи, т.к. в структуре языка еще небыло ключевого слова constexpr. Или я не прав?

Огрести только с шаблонами и то только если постараться.

Не совсем понял фразу. Можете написать, что имелось ввиду? Если можно,- в личку. Не хотелось бы вести баталии, которые уходят в сторону от темы здесь.

Информация

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

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

Embedded Software Engineer, Software Architect
Lead
От 250 000 ₽
C++
Programming microcontrollers
System Programming
Applied math
Development of drivers
Reverse development
Code Optimization
Electronics Development
Circuitry