Не новая и не новость. Ничто не предвещало пиздеца позавчера вечером. Резко сдох проводной интернет, на запросы не отвечает, пинговать было физически больно, словно продирался через джунгли одной рукой рубя ветви и корни, а другой отмахиваясь от насекомых, вот такое впечатление. Одно радует до конца радиоэфира оставалось всего минут 10. Позвонил прове, а там бип бип и тишина, даже гудка то нету. Выматерился трехэтажным изрядно, какого лешего телефон ставить на ип телефонию особенно в теперешнее время - непонятно. Ну да ладно, думаю с мобилы раздать чтоли, а в телефоне картина маслом - чтобы пробиться, до яндекса ушло 10 минута потом еще минут 10 измерял:
Вместо сети, ловите задержку и резку скорости в 20 раз.
Собственно прилетов в Люберцах(Подмосковье) не было, сбития ворогов тоже нет.Вот и всё. Как хочешь так и думай, вот что это было? Толи репетиция отключения ру сегмента, то ли еще что. Вот такие они, реалии 2026.
Смех смехом, но достал из загашника внешний модем сегодня. Старичок еще поработает...
Сегодня не получилось, попробую завтра прикрепить видео.
Итак, мне попался отечественный, увесистый, кондовый ретромодем СССР, 1990 года выпуска.
Информации по этому модему в сети крайне мало, буду признателен, если при её наличии поделитесь схемой, паспортом, описанием. А может быть, кто-то и эксплуатировал такой модем, тогда прошу рассказать. В любом случае, это еще один интересный отечественный экспонат аппаратуры передачи данных, предлагаю взглянуть.
Данный модем уже описан в следующих источниках, откуда я позаимствую некоторые интересные детали, включив их в этот очерк. Вот здесь увлечённые люди добыли знания экспериментальным путем и поделились ими, за что им спасибо — мы ими и воспользуемся.
Здесь же описано про подобный модем 1200КН-01, состоящий из двух плат.
❯ Суть эксперимента
Конечно, очень интересна эта блок-схема. Я позаимствовал ее по ссылке выше.
Блок-схема с упоминанием модема и программного обеспечения
В идеале хорошо бы соединить два таких модема и попробовать погонять между ними трафик, как это сделано в описании по ссылке выше. Но это, конечно, дела давно минувших дней. Мы же взглянем на него в ином, несерьезном контексте. В мультиплеер Doom под MS-DOS, конечно, не поиграешь — даже в двухстороннем полудуплексном режиме по четырем проводам, так как для этой игры требуется скорость 9600–14400 бод. А вот в сетевой PacMan сыграть было бы вполне реально. Но, увы, модем у меня только один. Поэтому я просто хотел убедиться в его работоспособности. А там, кто знает, может, попадется еще один экземпляр...
Вкратце упомянутый в справочнике «Технические средства АСУ» под редакцией Г.Б.Кезлинга модем имеет следующие характеристики:
Упомянута цена в тысячу руб. Масса, как мы увидим ниже, отличается почти на 0,5 кг.
Что удалось выяснить, благодаря источникам, приведенным выше — светодиоды индикации обозначают сигналы:
106 — CTS (Clear To Send);
107 — DSR (Data Set Ready);
109 — DCD (Data Carrier Detect);
122 — Backward channel received line signal detector (Backward DCD).
Данный модем не позволяет оперировать привычными AT-командами, а также в нём отсутствует какая-либо прошивка. Взаимодействие модемов осуществляется согласно протоколу модемной связи ITU-T V.26.
Специально для эксперимента был сделан такой интерфейсный кабель. Это переходник С2 (стык 2) на COM-порт:
❯ Габариты
Для понимания габаритов приложена линейка
Почти квадратная форма
А вот и вес — зашкаливает за 5 килограмм, но не дотягивает до паспортных 6:
Если точнее — 5420 грамм
Четыре высокие резиновые ножки, которые возможно спасли это устройство от влаги, потому что на дне присутствует некоторая коррозия.
Шильдик основательно прикручен винтиками:
От экстерьера, переходим к внутрянке.
❯ Элементная база
Слева мы видим трансформаторный блок питания и несложную схему преобразования с диодными мостами и конденсаторами. Надо сказать, что модем мне достался в плачевном состоянии: шнур питания был откушен, сам трансформатор оторвался и болтался в железном ящике неприкаянный, часть проводов вторичной обмотки была перекушена. Всё это пришлось вызванивать и возвращать на место. В конечном итоге функционал был восстановлен.
Большую правую часть занимает корзина, содержащая три платы:
Вид сзади со снятым кожухом
Под кожухом есть три скрытые кнопки, назначение которых мне неизвестно:
Три внутренние платы, объединяются разъемами СНП-59-64B-23-2:
Правая сторона корзины содержит важные для сборки устройства шильдики:
Разумеется, я не придал значения порядку установки плат в силу невнимательности и установил нижеописанные ТЭЗы (ТЭЗ — типовой элемент замены) произвольно, а не согласно однозначно прикрепленным шильдикам. Всё отмечено, но куда там — прочитать трудится не стоит. Аппаратура СССР этого не простила, и модем не реагировал на нажатия фронтальных кнопок. Когда же я воткнул платы согласно обозначениям, при нажатии кнопок стали загораться и гаснуть подтверждающие светодиоды.
Вот все три платы:
На фото фрагмента платы видно, что компоненты залиты лаком. В схемотехнику и детали я не углубляюсь, потому что схемы у меня нет, к тому же принадлежность плат хорошо обозначена в источниках вверху.
❯ Эксперимент
При помощи терминальной программы, посылая данные в COM-порт, попытаемся половить их на выходе в линию. Ловить выходные байты мы будем осциллографом, используя режим декодирования UART. А для пущей наглядности используем светодиодный индикатор сигналов состояния порта RS-232.
Общая схема подключения выглядит так:
Напомню, что разъем С1 — это выход на линию связи, а С2 (Стык 2) — это разъем коммуникации с COM-портом.
Индикатор поближе. Черный провод справа — это удлинитель COM-порта, идёт к компьютеру
Не отходя от правила «лучше один раз увидеть» (в данном случае видео), предлагаю взглянуть.
А здесь виден факт передачи байта, подтверждающий работоспособность модема. Суть в следующем: направляя при помощи терминальной программы символ «1» непосредственно в COM-порт, получаем его на выходе в линию в шестнадцатеричной системе как «0x31», согласно стандартной кодировке ASCII. Взгляните, пожалуйста.
❯ Искусственный интеллект
У меня есть US Robotics 14400 Sportster (на сленге — «шпрот»), и можно было бы попробовать соединить эти модемы. Нейронная сеть отвергла эту идею на корню, однозначно ответив: «нет». «Ты можешь сопрячь эти модемы физически, но для реализации протокола ITU-T V.26 найди модем постарше». Я так понял, подобный тому, что мы рассмотрели выше.
Привожу вопрос:
И ответ:
❯ Резюме
Подводя итог, спрошу: можно ли каким-то образом еще задействовать этот модем по его прямому или, может быть, косвенному назначению? Что значит «косвенному»? Да я просто слышал, как через модем оцифровывали магнитофонные кассеты, но, к сожалению, не уловил сути — как именно, только вектор действия. Вопрос, разумеется, в контексте ретротематики; я далёк от мысли применения dial-up в современных условиях. Если вы ставили эксперименты подобного рода, расскажите, с удовольствием почитаю.
Приветствую великое и ужасное пикабу. Ловлю постоянно перебои в CS, джиттер сети 16 мс. Играть можно, но мучительно больно и обидно. Какой-то закономерности в просадке не наблюдал. Читая форму скачал PingPlotter. Как я понимаю первые три пункта мои локальные устройства, поэтому на всякий замажем. В остальном если будет человек, который не откажет высказать догадки по поводу такой задержки после третьего пункта буду рад!
На днях занимался небольшим тестированием системы авторизации, бомбил сервер запросами и смотрел как он справляется. Не справляется... 😅 Но а кто говорил, что все должно заработать с первого раза :)
Ох уж этот модем
Ранее рассказывал о том как модем не хотел отправлять SMS с кодами регистрации. Продолжение этой истории.
С отправкой SMS, как оказалось, много тонкостей. Мало того, что модем определяется системой как последовательный порт (таким он и является), так это еще и создает много проблем. Основная проблема - приложение не может просто дать задачу на отправку, скажем, 50 SMS и идти заниматься другими делами в сервисе регистрации и авторизации.
В чем проблема и как это выглядит. Одновременно на сервер может поступить 2 и более запроса на отправку SMS с кодом. Модем должен их обработать. В целом обработка должна выгдлядеть так: сервис берет первый запрос, блокирует выполнение остальных и идет выполнять этот запрос к модему. Остальные запросы должны стоять в очереди в состоянии ожидания.
Отправка SMS состоит из нескольких этапов. Первый этап - это инициализация, проверка готовности модема, настройка параметров кодировки сообщений и прочего. Если первый этап пройден успешно, то наступает второй этап - отправка сообщения: в модем отправляется команда с указанием номера и от модема ожидается ответ-приглашение на отправку SMS. Приглашение приходит в виде эхо-команды с добавлением "> ".
После приглашения вводим сообщение, в конце добавляем терминирующий символ "0x1A". Передаем сообщение модему и по "0x1A" модем понимает, что сообщение нужно отправлять и пытается отправить. Если все сделано верно, кодировка корректная, то модем отправляет SMS на указанный номер и в ответе сообщает "OK". Если в процессе отправки произошла ошибка, то модем ответит "ERROR" и с этим нужно будет что-то делать. Вот результат работы:
Видно, сообщение поддерживает кириллицу, латиницу, эмодзи
В моем случае была проблема с преждевременной оптимизацией и необходимостью отправки команды ESC в процессе инициализации модема. Дело в том, что может произойти следующая ситуация: сервер начал отправлять SMS, успел отправить команду с номером, а команда с отправкой сообщения не была передана. Возможная причина такого поведения - критический сбой в работе сервера авторизации. Хотя в проекте использую GracefulShutdown, ситуации бывают разные, так что случай, когда модем молчит и не отвечает на команды, нужно обработать. Иначе люди не смогут зайти в приложение.
Кстати, кому хочется поспорить, тут есть специалисты, которые с серьезным лицом убеждали меня, что GracefulShutdown - это бесполезная функция и реализовывать ее не следует. На мой взгляд следует, а кто не хочет, пусть не реализовывает :)
Теперь, если перезапустить сервер, он начнет отправлять модему AT-команды. Например просто AT\r\n. В этом случае модем не будет отвечать по причине того, что он ожидает сообщение. В этом случае нужно отправить команду ESC (отмена отправки сообщения) и только после этого модем начнет отвечать на отправляемые команды. Я как раз наткнулся на ситуацию, когда модем перестал отвечать на мои команды и на поиск причины отсутствия ответов у меня ушло порядочно времени 😅 Но все решено, ситуация выявлена движемся дальше 🙂
Для системы авторизации ранее собрал почтовый сервер и с ним проблем не возникало. В случае каких-то непредвиденных ситуаций всегда можно будет переключиться на него.
Ох уж эти ограничения.
Но это еще не все проблемы. Оказывается у провайдеров мобильной связи есть ограничение на число отправляемых SMS. То есть моя система с одного номера не сможет отправить более Х SMS в день с регистрационным кодом. Сделано это для борьбы с мошенниками, спамом и рекламой. Решается сборкой фермы модемов с разными SIM-картами. Звучит серьезно и выглядит устрашающе 😄
Но мы же можем еще и получать SMS от пользователей с целью их регистрации или авторизации. Это должно помочь обойти ограничение на дневной лимит отправки SMS. Тут ситауация достаточно неоднозначная. Кто-то говорит, что ограничений нет, а кто-то, что они есть. Но скоро мы узнаем и практика покажет 🙂
Кому интересно, можете подписаться куда-нибудь на меня, попробуете мессенджер в числе первых. Постепенно буду продолжать делиться успехами :)
В процессе работы мне постоянно задают одни и те же вопросы и дают одни и те же советы. Попытаюсь ответить на самые популярные.
Вижу ты используешь ИИ? С ИИ у тебя ничего не получится. Да, я использую ИИ и не только при разработке приложения. В других сферах жизни нейросеть применяется как альтернатива гугл. Наверно, да скорее всего так и есть, гуглежка с целью поиска ответов на вопрос уже ушла в прошлое. В ближайшем будущем поиск через поисковую систему, на мой взгляд, будет "дедовским методом". На мой взгляд крайне глупо не пользоваться современными инструментами в т.ч. и нейросетями.
Твой код - отстой. Во-первых он написан с русскими коментариями, во вторых вижу эмодзи в коде. На данный момент придерживаюсь следующей стратегии и она у меня есть: - разработать алгоритм приложения (сделано) - запустить серверную часть (частино сделано) - запустить клиентскую часть (частично сделано)
Код пишу максимально быстро и так, как именно мне удобно, коментарии раставляю как мне удобно. Скажу даже больше, местами вставляю ссылки на stackoverflow и github (в случае если необходимо будет вернуться к участку кода и переписать его).
В двух словах мой принцип можно описать так: "надо поехать, заведу когда-нибудь потом". Но это не значит что базовые задачи будут не закрыты, все будет дырявым и разваливаться. Во всяком случае я представляю о чем говорю т.к. опыт работы имеется. Например тут вы можете ознакомиться с нашим проектом: ссылка. Программная часть реализована полностью мной.
У тебя ничего не получится, тебя заблокируют, уничтожат, посадят... Я не боюсь, законов не нарушал.
Почему ты просто не возьмешь опенсорс-проекты и не используешь их? Моя задача в какой-то степени научится делать свое, а не дорабатывать чужое. К тому же я нигде не видел готвые решения, которые можно изучать. В смысле не отдельные части системы, а прямо готовый клиент и сервер под него. Если такие имеются, вы можете оставить ссылку в коментариях. Может кто-то за пару кликов поднимет у себя дома мессенджер благодаря вашей ссылке.
Это были основные вопросы, которы мне задают из раза в раз. Надеюсь они прекратятся. Во всяком случае, вижу люди подписываются, а значит интерес к проекту есть.
Кому интересно, можете подписаться куда-нибудь на меня, попробуете мессенджер в числе первых. Постепенно буду продолжать делиться успехами :)
Решил проверить как работает система авторизации. Собрал простенький клиент на андроиде, все окошки сделал, вкюлчил все сервисы, запустил БД, поднял закрылки, штурвал на себя иии...
И в консоли радующие глаз логи с эмодзи должны были выглядеть вот так:
Должен вывестись номер телефона (хотя... никому он ничего не должен)
Но вместо этого пошли злобные восклицания: капитан, все пропало, Must Run завалился.
Так, постойте, сервис авторизаци, ты же работал и я тебя точно не трогал! Что опять не так 😂🤣?! Попробовал перезапустить все. Снова подготавливаю машину, пробегаюсь по конфигам, поднимаю тумблеры вверх... И неуспех. Вообще, Скала говорит, что перезагрузка решает 95% проблем, но моя вошла в те самые 5%.
Начинаю ковыряться с тем что падает и быстро выявляю что мой модем-телефончик, который я использую как систему рассылки SMS стал падать. Обновления на него не приходили, он лежал выключенным все это время. Да и вообще, это устройство уровня Nokia-кирпич :)
Ковыряюсь далее и вижу что команда запроса номера сим-карты не отрабатывает как надо. Все остальные команды работают (уровень сигнала, наличие симки, проверка памяти симки и все остальное). В общем, какие-то происки врагов. Вечер потрачен на выяснения причины того почему симка перестала предоставлять мне информацию о ее номере. Ковыряясь в сети нашел ответ, попутно еще много чего нашел. Делюсь.
Во-первых симки не такие уж и простые, работают по-разному. Раньше я использовал симку от МТС и она возращала номер. И мне этого хватало, был доволен. И весь код модма собрал с учетом логики: если спросить номер у симки, то она его вернет. Теперь использую симку от ГазпромМобайл. Вместо номера она возвращает "извините, с этим вопросом обращайтесь к ГазпромМобайлу".
Ссылку на страницу провайдера с информацией о том как узнать свой номер сейчас найти не получается, но вот что есть и это правильная информация:
Ну вы всё поняли. Шлем USSD запрос, получаем ответ и номер в кармане. Собрал запрос, отправил, приходит что-то, но явно не номер. Информация о балансе, реклама какая-то. Где обещанный номер?!
В общем, у меня был план, основанный на инструкции и я его придерживался 2 часа. Но номера за это время получить не удалось. Ладно, все же вынудили меня вынуть симкарту из телефона, вставить в нормальный телефон и с него отправить USSD запрос:
Ну и где номер? 4-й час ночи, отклавдываю телефон как приходит SMS в которой:
Ваш номер: "+7 999 999 99 99". Баланс 0 руб. Ожидайте SMS с остатками по пакетам услуг.
Ну и куча SMS с рекламой потом прилетело. Теперь мы знаем, не все что в инструкции написано - правда.
Модифицировал код, научил его принимать SMS в процеесе получения номера. Но возникла другая горячая проблема. Теперь вместо номера отправителя приходило что-то типа "Поешь лохматое чудище", или ближе к оригиналу "吃毛茸茸的". А данные отправителя мне нужны для идентификации отправителя.
На самом деле это не китайский и даже не эльфийский. И что-то даже ИИ не мог помочь мне понять что это неверно раскодированный заголовок.
В общем, заголовки SMS приходят в определенной кодирвке, не будем на этом останавливаться. Алгоритм раскодировал заголовок и получил ерунду на китайском. Через какое-то время я понял, что заголовок в общем-то теперь не кодируется. Ну в смысле не кодируется терпкм кунг-фу с тримя приседаниями с подвыподвертом, а просто в виде ASCII шлется. Допиливаю код, декодирую ASCII и вуаля: GPBMobile, а не мусор какой-то. В общем, собрал код, протестил, модем снова заработал.
Пока гуглил тему, узнал что вот эти вот заголовки - это особая привилегия для альфачей. Собственно заголовки так и называются "Альфа-заголовки". В альфах в виде ASCII можно передавать не номер телефона, а, допустим, название фирмы или ФИО (хотя насчет ФИО не уверен). В общем, суть в том, что провайдер сотовой связи следит чтобы мошенники не выдавали себя за других людей и блокирует если номер содержит недопустимый заголовок. И да, подмена заголовка наказуема. Вот что говорит ИИ:
Краткий ответ: Да, наказуема. Если вы технически сможете подменить альфа-имя (буквенный отправитель) и отправить SMS, то это квалифицируется как нарушение закона, даже если вы отправили письмо самому себе.
С учетом вашего предыдущего вопроса про модем и AT-команды, давайте разберем, что именно считается нарушением и какое наказание грозит.
1.то считается подменой?
Подмена происходит в тот момент, когда вы, используя технические средства (модем, софт, нелегальный шлюз), отправляете сообщение, где в поле "Отправитель" указано нечто иное, чем ваш реальный номер телефона, выделенный SIM-картой.
Даже если вы укажете там свое собственное имя ("Петя"), технически вы совершаете подмену идентификатора, потому что:
-У вас нет договора с оператором на использование этого имени. ...
Вдаваться в детали не стал т.к. подменять ничего не собираюсь. Интересно, а если бы подменил и сам себе бы прислал SMS, то считалось бы это "подменой" и наказуемо ли это. Насколько тонкий лед под ногами 😂
Кому интересно, можете подписаться куда-нибудь на меня, попробуете мессенджер в числе первых, если этот проект кому-то вообще интересен. Постепенно буду дальше делиться успехами :)
Всем привет. Из-за частых мотаний между городом и деревней решил променять кабельный интернет в городской квартире на мобильный в модеме, которым смогу пользоваться в любой нужной локации. Взял симку и самый дешёвый модем замерил скорость в деревне, там было +-30мб/сек, чего мне там в принципе хватало. Но проверка в городской квартире(так понимаю из-за толстых стен) дала неутешительные показатели, скорость колеблется от 2 до 4мб/сек. Эта же симка, но уже в смартфоне, показывала скорость в 13мб/сек. Оператор утверждает что ограничения скорости до 75мб/сек. Кто разбирается, помогите пожалуйста подобрать нормальное оборудование, либо модем получше/ либо уже роутер под него. Сам я в этой тематике не разбираюсь от слова совсем.
Dial-Up (диалап) — это технология доступа к интернету через обычную аналоговую телефонную линию с помощью модема. Это был первый массовый интернет для миллионов людей по всему миру.
Именно с Dial-Up началась эпоха домашних подключений, чатов, форумов, первых сайтов и электронной почты.
Сегодня Dial-Up кажется медленным и неудобным, но в своё время он был настоящим технологическим прорывом.
2. История появления Dial-Up
📜 Ранние годы
1960–1970-е — первые эксперименты с передачей данных по телефонным линиям
1980-е — появление персональных компьютеров и модемов
1990-е — массовое распространение интернета через Dial-Up
В 1990-х годах практически весь интернет для обычных людей был именно диалапом.
🌍 Распространение в мире и СНГ
В США и Европе Dial-Up стал популярным уже в начале 90-х.
В странах СНГ и Восточной Европы он широко использовался с конца 90-х до середины 2000-х.
3. Что такое модем и зачем он нужен
🔌 Модем — сердце Dial-Up
Модем (modulator–demodulator) — это устройство, которое:
превращает цифровые данные компьютера в звуковые сигналы
передаёт их по телефонной линии
на другой стороне обратно превращает звук в цифры
📦 Виды модемов
Внутренние (плата в компьютере)
Внешние (отдельное устройство)
USB-модемы
Факсомодемы
4. Как работает Dial-Up (подробно)
Процесс подключения выглядел так:
Пользователь нажимает «Подключиться»
Модем начинает набирать номер провайдера
Телефонная линия передаёт вызов
Провайдер отвечает своим модемом
Устройства обмениваются сигналами
Устанавливается соединение
Компьютер получает IP-адрес
Открывается доступ в интернет
📡 Знаменитые звуки Dial-Up — это реальные данные, передаваемые в аудиоформе.
5. Скорость Dial-Up
⚡ Эволюция скоростей
300 бит/с
1200 бит/с
2400 бит/с
9600 бит/с
14.4 кбит/с
28.8 кбит/с
56 кбит/с (максимум)
Реальная скорость обычно была 20–40 кбит/с.
6. Использование интернета через Dial-Up
Через диалап люди:
отправляли электронную почту
читали новости
сидели на форумах
общались в чатах (ICQ, IRC)
скачивали файлы часами
заходили на WAP и облегчённые сайты
📄 Один MP3-файл мог качаться 2–3 часа.
7. WAP и облегчённый интернет
Для Dial-Up и слабых устройств создавались:
текстовые версии сайтов
WAP-страницы
сайты без картинок
специальные браузеры
Это позволяло экономить трафик и деньги.
8. Оплата и стоимость
Dial-Up почти всегда был платным по времени:
плата за минуты соединения
плата за телефонный звонок
ночные тарифы дешевле
лимиты на часы
Люди:
подключались ночью
заранее писали письма офлайн
отключались сразу после загрузки
9. Проблемы и недостатки
❌ Основные минусы
очень медленная скорость
постоянные обрывы
телефон занят
шумы на линии
дороговизна
невозможность звонить
📞 Если кто-то поднимал трубку — интернет обрывался мгновенно.