«Верни мне мой 1996-й — часть 1»: программируем пейджер в 2021
Не все поймут, немногие вспомнят — фраза как нельзя более точно применимая к пейджерам. Последние пейджинговые операторы на территории СНГ прекратили свое существование минимум 10-15 лет назад, тем временем выросло целое поколение людей, которые не видели пейджеры даже в кино и понятия не имеют, что это такое. В целях расширения кругозора и просто прикола ради я решил детально изучить технологию их работы и попытаться самостоятельно реализовать доставку сообщений. Материал по моим очередным безумным экспериментам получился внушительных размеров, поэтому пришлось разбить его на части. В первой части я предлагаю «вспомнить все» и заглянуть пейджеру под капот, чтобы настроить его и подготовить для приема сообщений, ведь практически 30 лет лежания на полке для электроники не проходят бесследно.
Минутка истории
Для тех, кто забыл или вовсе не знал, пейджеры — это небольшие портативные гаджеты для приема какой-либо информации на расстоянии с помощью радиоволн. Это односторонний вид связи, при котором получатель может только получать сообщения и не может на них ответить, т.е. пейджер представляет собой пассивный цифровой приемник, который умеет только принимать и отображать сообщения. Фактически подобные устройства появились еще вначале 20 века, однако как средство персональной связи они получили наибольшее распространение лишь к концу 80х (на западе), а в СНГ — к середине 90х.
Исторически ранние массовые пейджеры были тональными, они еще назывались биперами и представляли собой примитивную прищепку на батарейках, которая начинала пищать, когда его обладателю отправляли «сообщение». Предполагалось, что получатель при поступлении оного уже заранее знает, что от него хотят и что он должен делать (например, врач — вернуться на пост, полицейский/пожарный — в часть и т.п). Помимо просто пищания некоторые модели таких пейджеров могли воспроизводить голосовые сообщения (работали по типу адресной рации). Типичный пример такого устройства — Motorola Pageboy II:
Следующим этапом развития стали числовые (numeric) пейджеры, которые могли не только пищать и вибрировать, но еще и отображать некие циферки на небольшом дисплее. Это позволяло несколько расширить варианты взаимодействия с получателем, например, отправить ему заранее обговоренный код или номер телефона, куда нужно перезвонить. Типичный представитель — Motorola Bravo:
Алфавитно-числовые (alphanumeric) пейджеры — это собственно то, что всплывает в памяти большинства знакомых с теми временами людей при слове «пейджер», и именно этому типу посвящен мой пост. Как следует из названия, эти пейджеры позволяют отображать не только циферки, а еще и буквы, т.е. полноценные текстовые сообщения. Так выглядит довольно популярный в свое время NEC 21A-Maxima:
Этот тип пейджеров получил наибольшее разнообразие марок, моделей и наибольшее распространение среди народа благодаря своей относительной дешевизне (спасибо прогрессу электроники на закате века). Выпускались эти гаджеты с самыми разными возможностями под любой кошелек, поэтому нередко были поводом для понтов. В зависимости от размеров дисплея самые базовые и дешевые версии могли отображать по 1-2 строки текста, модели на 4 строки считались более крутыми и статусными, а на 8 строк — чем-то невероятно космическим.
Еще на закате эры пейджинга появились твейджеры которые позволяли не только принимать, но и отправлять сообщения. Однако они так и не смогли завоевать большой популярности, ибо появились слишком поздно, когда балом начали править появившиеся мобильники с поддержкой SMS. Лично я вообще не видел эти твейджеры никогда вживую, а выглядели они как-то так:
Принцип работы
Принцип работы пейджеров предельно прост: за каждым пейджером был закреплен специальный номер абонента (число из 4-5-6 цифр), а пейджер в свою очередь был закреплен за каким-либо пейджинговым оператором, которому владелец пейджера ежемесячно должен был платить установленную абонентскую плату (подписку современным языком) за возможность принимать сообщения. У пейджинговых операторов были специальные телефонные номера и call-центры, куда можно было позвонить для отправки кому-либо сообщения. В общих словах для этого нужно было проделать следующие шаги:
- Позвонить на номер пейджингового оператора
- Назвать номер абонента, которому хотим отправить сообщение
- Продиктовать сам текст сообщения
Для отправителей сообщения были бесплатными, за все платил хозяин пейджера. Со стороны оператора отвечал и записывал текст живой человек, служивший к тому же фильтром, не допускавшим передачу мата и всякой похабщины, что было поводом многих приколов в 90х. Ходили легенды, что при должной настойчивости или личном знакомстве иногда их все же было можно уломать отправить неподреб. Чуть позже с появлением интернета появились альтернативные варианты для самостоятельной отправки сообщений через сайт или email оператора, и вот здесь уже цензуры никакой не было. Полученное оператором сообщение отправлялось им в эфир на частоте пейджера клиента, вернее ставилось в очередь на отправку, ибо желающих пообщаться обычно было множество. Отправленное сообщение принималось пейджером абонента, который начинал вибрировать/мигать/пищать в зависимости от модели и настроек, и получатель мог прочитать отправленный ему текст. Или не прочитать, если сообщение не дошло, а такое случалось довольно часто. Как я говорил, пейджинг — односторонняя связь, а значит какого-либо подтверждения приема со стороны получателя оператору не приходит. Если в момент передачи сообщения у получателя был разряжен/выключен пейджер, либо сам получатель находился в гараже/подвале/метро, где не ловит радиосигнал, то сообщение не доходило, и ни оператор, ни отправитель не могли об этом узнать. У оператора зачастую была одна единственная передающая вышка, которая охватывала город и его окрестности, но в помещениях и труднодоступных местах прием никак не мог быть гарантирован. Для борьбы с этим операторы обычно транслировали одно и то же сообщение несколько раз в разное время, но и это не было панацеей. Также сам пользователь пейджера при подозрении на пропущенные сообщения мог позвонить на номер оператора, назвать свой абонентский номер и попросить переслать все сообщения за день или другой период. Однако никакие ухищрения не помогли, и к концу 20 века пейджеры начали активно сдавать позиции перед появившимися мобильными телефонами с поддержкой SMS. Основная причина — как раз ненадежность такого способа доставки и невозможность получателя отправить ответ (и даже узнать, кто отправитель, если тот сам не подписался). Так мир перешел на GSM (2G) связь, а про пейджеры довольно быстро забыли.
Однако несмотря на свое мимолетное шествие, пейджеры наряду с VHS «видаками» и аудиокассетами оставили неизгладимый след в культуре человечества и стали символом эпохи. Их все еще довольно часто можно встретить в старых играх, фильмах и сериалах. Кстати, интересны факт: в Японии последний пейджинговый оператор закрылся сравнительно недавно, в 2019 году. Следует отметить, что несмотря на смерть пейджинга для массового потребителя, в некоторых сферах он до сих пор используется и живее всех живых. Все дело в наличии специфических преимуществ, которые в некоторых сценариях использования перевешивают все недостатки:
- Независимость от базовых станций (по сравнению с телефонами): сообщения доходят без задержек, собственное передающее оборудование работает полностью автономно и не требует оплаты
- Текстовая природа передачи информации (по сравнению с рациями): получателю не нужно воспринимать сообщение на слух и бегать за листком с ручкой, полученное сообщение можно всегда перечитать в памяти пейджера
- Полная пассивность: пейджеры не излучают никаких радиоволн, тем самым никак себя «не палят» и не создают помех в работе какого-либо оборудования
Благодаря этим достоинствам пейджеры (более осовремененные) до сих пор используются во многих больницах по всему миру, на различных режимных объектах и в службах спасения.
Выбор пейджера в 2021
Под абсурдным заголовком скрывается вполне реальная проблема. Начнем с того, что для отправки сообщения на пейджер нужно знать следующие его характеристики:
- Частоту, на которую настроен его приемник (в наших краях она была обычно в пределах 150-170 МГц или реже 460-470 МГц)
- CAP-код (или RIC) пейджера (не путать с номером абонента) — особый 7-значный идентификационный номер пейджера, по которому адресуются сообщения конкретному получателю, поэтому они были уникальными в пределах одного оператора. Когда пейджер «разнюхивает» в эфире передающееся сообщение со своим CAP-кодом, он понимает, что это сообщение адресовано ему, и начинает его принимать. В чем же тогда его отличие от номера абонента? Все довольно просто, CAP-код — это системный код, который использовался только оператором, а номер абонента — просто более короткое и удобное для запоминания число. Абонент зачастую сам не знал свой CAP-код, да и знать его третьим лицам было нежелательно, ибо знание кода чужого пейджера позволяло создать его клон для слежки за всеми входящими сообщениями
- Некоторые параметры передачи: скорость и признак инверсии сигнала. Здесь выбор невелик, в протоколе обмена сообщениями предусмотрено только 3 скорости: 512, 1200 и 2400 бит/с, а инверсия либо есть, либо ее нет.
Исходя из перечисленного, основная беда заключается в том, что большинство продающихся в наши дни на барахолках пейджеров — полный хлам, который не стоит и цента, а просят за них нередко четырехзначные суммы. Дело вот в чем:
- Частота рандомного б/у пейджера неизвестна. Заводская частота обычно нанесена на задней крышке, однако в 99% случаев она не имеет ничего общего с реальностью, так как пейджинговые операторы при заключении договора с клиентом перенастраивали приемник на свои частоты
- Даже если пейджер новый и никогда не подключался к оператору, его частота все равно «уплыла» в неизвестном направлении из-за деградации электронных компонентов. Причем уплыть она могла настолько, что приемник полностью рассогласовался и больше никогда не будет нормально принимать сообщения
- Аналогично неизвестен его CAP-код. Заводской код на задней крышке тут также не помощник, потому что операторы прописывали свои. Некоторые модели пейджеров имеют сервисное меню, в котором этот код можно узнать, но в подавляющем большинстве случаев узнать/поменять код можно только с помощью настройки пейджера при помощи программатора
- Настройки пейджеров в 99% случаев защищены паролем, любезно установленным все тем же самым оператором, чтобы клиент не смог втихаря свалить к другому. Для многих, но далеко не всех моделей пейджеров есть способы обхода или сброса этого пароля, остальные остается только выкинуть
Опираясь на описанные выше проблемы, я прошерстил кучу предлагаемых на барахолках видов пейджеров и пришел к выводу, что Motorola Advisor — практически самый «удобный» для покупки и восстановления в наши дни экземпляр. Для него можно без особых проблем узнать частоту, сбросить пароль и поменять CAP-код, собственно этим мы и займемся чуть позже, пока предлагаю рассмотреть, что он из себя представляет:
Это довольно брутально выглядящий кирпич из толстого ударопрочного пластика, на лицевой панели которого имеется большой дисплей на 4 строки текста и кнопки навигации по интерфейсу. Выпускалось устройство в двух вариантах: обычный Advisor и Advisor Linguist. Как следует из названия, второй поддерживал отображение сообщений на двух языках. Такое разделение модели на 2 разных вида было продиктовано некоторыми ограничениями протокола обмена, о которых я расскажу во второй части.
Пейджер одет в пластиковую кобуру, которая сзади оснащена прищепкой для крепления на ремень:
Таким образом при поступлении сообщения пейджер можно в 2 счета извлечь из кобуры, которая остается висеть на ремне — весьма удобно:
Кобура делает пейджер громоздким, поэтому на его задней крышке предусмотрены пазы для прищепки, которую можно переставить с кобуры и использовать девайс в более компактном виде:
Здесь же справа видно крышку элемента питания — пейджер работает от 1xAAA батарейки, и хватает ее почти 2-3 недели непрерывной работы. На белых наклейках некогда были нанесены серийные номера, коды и частота пейджера. На правом торце имеются отверстия динамика, красный светодиод, который мигает при получении сообщения, и кнопка включения/выключения:
На левом торце нет ничего, кроме 3х отверстий для подключения к COM порту компьютера для программирования:
Данный пейджер относится к одному из первых поколений алфавитно-числовых пейджеров, поэтому имеет весьма примитивный пользовательский интерфейс с минимумом возможностей. Так выглядит домашний экран:
Надпись слева задается программированием с компьютера, операторы обычно прописывали туда свое название и номер абонента. Красная кнопка отвечает за вход в меню, зеленая — за вход в режим просмотра сообщений, если они есть. Стрелки — за навигацию по меню или сообщению. Само меню достаточно примитивное и интуитивно не сразу понятное:
Здесь можно лишь настроить сигналы, задать будильник и включить/выключить беззвучный режим — дешево и сердито. При бездействии пользователя в течение некоторого времени пейджер отключает экран для сбережения энергии, о работе пейджера и режиме сигналов при этом дает знать только пара индикаторов слева:
Если абонент находится вне зоны приема, на домашнем экране появляется соответствующая индикация:
Отсутствие сети пейджер определяет по простому отсутствию сообщений в эфире в течение некоторого времени, поэтому снижение активности посылок (например, в ночное время) могло ошибочно трактоваться как нахождение вне приема. Для борьбы с этим некоторые операторы запускали «считалочку» — периодическую отправку сообщения в никуда (на несуществующий CAP-код), которое содержало в себе значение счетчика или текущего времени.
Еще у дисплея есть приятная сине-зеленая электролюминесцентная подсветка, активируемая длительным нажатием на красную кнопку:
По размерам этот Advisor едва ли не самый большой пейджер того времени, сравните с современной «лопатой»:
К концу 90х появились более компактные и продвинутые пейджеры, например, Truly SuperVisor:
Он умеет отображать все те же 4 строки текста, имеет больше памяти, календарь, кучу будильников, мелодий и прочих настроек. И по размерам он чуть больше спичечного коробка:
Для своих экспериментов я купил целый ворох самых разных пейджеров, да. Своего пейджера у меня никогда не было, ибо во времена их расцвета я был слишком мал, а когда стал велик — на сцену вышли уже телефоны. Зато у меня в достаточном количестве была другая приколюха из 90х — часы в виде пейджера (отсюда):
Как мы можем видеть, соседи из Поднебесной эпатировали мир задолго до появления NOKLA и айфонов с телевизором с тремя симками. Фейковых пейджеров этих выпускалось великое множество видов, были даже со сменными мелодиями, подсветкой дисплея и фонариком, куда ж без него. Воспринимались они как игрушки для детей, но встречались и те, кто пытался выдавать их за реальный пейджер.
Переходим к настройке
Итак, перед нами лежит Motorola Advisor, про который известно только то, что он провалялся где-то в шкафу у предыдущего владельца минимум лет 25. Для возвращения этого великолепия к жизни потребуется выполнить ряд действий.
Узнаем рабочую частоту
Именно у этой модели пейджера узнать частоту проще всего, причем сделать это можно двумя способами: инвазивным и неинвазивным. При инвазивном варианте нужно вскрыть корпус пейджера, делается это очень легко, т.к. в корпусе нет ни единого винтика — все на защелках. В нижней части корпуса имеется пластинка, которую необходимо оттянуть на себя с правого края и сдвинуть вправо, высвободив из пазов:
После этого корпус легко распадается на 2 части:
В глаза в первую очередь бросается олдскульный вид платы с широкими дорожками и большими толстыми микросхемами, которые легко паяются обычным паяльником. Снизу видим модуль приемника, он просто-напросто вставлен в разъем на материнской плате и легко извлекается. Благодаря такой простоте операторы при подключении абонента обычно просто извлекали старый модуль приемника из пейджера и ставили свой, заранее настроенный на нужную частоту. Аккуратно вытягиваем и извлекаем приемник:
И обращаем внимание на кварц, выделенный красным. По его значению можно вычислить рабочую частоту с помощью формулы (все частоты в МГц):
Если примерно известен диапазон рабочих частот (VHF или UHF) и под рукой есть SDR приемник, то частоту можно вычислить неинвазивным способом, не прибегая к разборке корпуса. Подойдет абсолютно любой сканер, даже самый дешевый на R828D. Подключаем сканер к компьютеру/смартфону, подносим его антенну вплотную ко включенному пейджеру и внимательно рассматриваем диапазон 40-50 МГц (для VHF) и 145 — 155 МГц (для UHF) на предмет наличия странного прерывистого сигнала, который трудно с чем-либо перепутать:
Приемник пейджера супергетеродинный, а значит при работе он излучает слабый сигнал на частоте того самого кварца. Найденную таким образом частоту можно подставить в приведенную выше формулу и узнать реальную рабочую частоту. По прерывистому характеру сигнала видно, что приемник работает не всегда, это называется стробированием. Сделано оно для экономии батареи: приемник большую часть времени спит, периодически просыпаясь и проверяя наличие сигнала в эфире. Стоит отметить, что найденная частота не гарантирует успешную работу пейджера, поскольку приемник может быть расстроенным в щи либо вовсе не рабочим. Методы тонкой настройки приемников сохранились и известны, но требуют наличия оборудования и труднореализуемы в домашних условиях. При проблемах с приемом можно попробовать включить какой-нибудь слабенький сигнал на рабочей частоте и, подключив наушники к выходу приемника, добиться максимальной громкости сигнала в них путем вращения тонкой диэлектрической отверткой (заточенной спичкой или зубочисткой) ближайшей к кварцу катушки индуктивности:
Узнаем CAP-код и параметры передачи
Теоретически при известной частоте CAP-код можно найти методом перебора, но на это может уйти несколько лет, поэтому мы пойдем более сложным, но более быстрым путем. Эти коды (а их может быть несколько) можно посмотреть/поменять с помощью специального софта для компьютера, который настолько стар, что проектировался еще для DOS. Поэтому нам понадобится следующее:
- Виртуальная машина со старой доброй 32-разрядной Windows XP SP3
- USB-TTL адаптер
По мере изучения темы я не раз сталкивался с заявлениями на тематических форумах, что, софт для программирования пейджеров работает только на реальном железе с реальным DOS и только через реальный COM порт. Так вот, пройдя весь путь и став своего рода диванным экспертом по пейджинговой связи, я с высоты своего опыта со всей ответственностью могу заявить, что все это полная чухня. Все отлично работает и программируется даже из под эмулятора винды через самый дешевый китайский адаптер на FT232RL:
На нем есть джампер напряжений, который необходимо установить в положение 3.3V, и интересующие нас выходы: Rx, Tx, GND:
В первую очередь подключаем адаптер к Windows XP в виртуалке и устанавливаем драйвера. После этого заходим в диспетчер устройств и убеждаемся, что все установилось, и заодно снижаем скорость до 2400 (хотя это не всегда нужно, т.к. софт некоторых пейджеров сам управляет скоростью):
Далее скачиваем софт для программирования и распаковываем в удобное место:
Подключаем пейджер к TTL адаптеру, сделать это проще всего с помощью Dupont проводов, популярных у ардуинщиков. Не забываем, что Rx адаптера подключаем к Tx пейджера и наоборот. И запускаем ADVISOR.EXE:
Жмём любую кнопку и получаем облом:
Программа не хочет работать без предварительной установки, причем устанавливаться она будет только если инсталлятор лежит на дискете (диски A/B). Окей, создаем в виртуалке образ дискеты, скидываем на нее все потроха из архива, и запускаем софт заново. Теперь он предлагает нам установить себя:
Выбора особо у нас нет — соглашаемся и указываем пути, заодно указываем номер COM порта:
Заходим в папку установки и пытаем счастье в очередной раз:
На этот раз все заработало как нужно, и на экран выводится список доступных действий:
Снова подключаем пейджер к адаптеру и жмем F3 — READ a pager, после чего прога пытается достучаться до него:
Если все подключено верно, то на экране на несколько секунд появляется прогресс загрузки, а затем открывается окно настроек пейджера. Но не в нашем случае. Ожидаемо на интерфейс программирования пейджера установлен пароль, который давно никто не знает, а пытаться угадать его бессмысленно из-за ограничения на количество попыток:
Можно попробовать ввести стандартный пароль ADVISOR, но с вероятностью 99.99% он не подойдет:
В таком случае остается один единственный выход — разбирать пейджер и сбрасывать пароль путем замыкания некоторых контактов. Нас интересует вот эта микруха, расположенная на материнской плате:
Это микросхема EEPROM, в которой хранятся настройки пейджера, в том числе и пароль. Для сброса флага использования пароля нужно нарушить связь пейджера с этой памятью. Аккуратно подпаиваем тонкий провод к четвертому контакту слева:
Второй конец провода замыкаем на минусовой контакт батарейки. Далее скачиваем утилиту green_page и распаковываем в виртуалке. Среди Всех файлов архива нас интересует RSS.EXE. Включаем пейджер (с замкнутым контактом), подключаем его к TTL адаптеру и запускаем RSS:
После запуска утилита предложит нажать на пробел — выполняем, в результате в консоль начинают выводиться некие магические цифры. Если процесс зависает — можно понажимать пробел несколько раз, пока цифры не замрут совсем.
После этого отключаем провод от минусового контакта батареи, перезапускаем пейджер и пытаемся снова подключиться с помощью ADVISOR.EXE. Разблокироваться пейджер может не с первого раза, поэтому спешить и отпаивать контакт от микросхемы не нужно. Если все прошло успешно, то при последующем запуске софта для программирования мы увидим экран настроек пейджера:
В Inventory Control операторы обычно записывали номер абонента, нас он не интересует. Coding Format — это скорость передачи, в данном случае пейджер настроен на 512 бит/с. Больше всего на этой странице настроек нас интересуют коды Code A, B, C, D — это и есть те самые CAP-коды, и как видим, один пейджер может иметь от 1 до 4 таких кодов. Чем больше в пейджере настроено кодов — тем больше абонентская плата (если оператор об этом знает), и тем быстрее садится батарейка, поэтому обычно использовались только 1-2 кода. Внизу экрана есть выбор типа кода (Individual, Group, Mail drop и т.п), первый CAP обычно был личным и служил для приема сообщений, адресованных именно получателю. Второй и последующий коды могли быть групповыми (общими для всех абонентов оператора), и на эти адреса оператор мог рассылать широковещательные сообщения. Например, если оператор зашивал всем своим клиентам одинаковый второй код, то впоследствии он мог отправлять на этот код одно единственное сообщение, и оно одновременно приходило всем его абонентам, находящимся в зоне приема. При помощи этих дополнительных CAP-кодов операторы обычно промышляли торговлей воздухом (новости, погода, котировки, гороскопы всякие) за отдельную плату. Это было именно торговлей воздухом, потому что для оператора эта отправка сообщения на общий адрес не стоила ничего, а сам контент он зачастую брал бесплатно из открытых источников. Хитрые люди с прямыми руками обычно узнавали CAP-коды этих информационных каналов своего оператора и прошивали их в пейджеры самостоятельно, не платя за это никакие абонентские платы.
На второй странице представлены настройки оповещений и отображения сообщений, и они не представляют собой ничего интересного:
На третьей странице нас интересует Data Inversion — признак той самой инверсии данных. Помимо этого здесь есть настройки подключения к принтеру (можно было выводить сообщения на печать), включения режима программирования по воздуху (RF programming Allowed — операторы могли менять настройки удаленно), а еще тут можно поменять пароль. Пункт Synthesizer сбивает с толку своим наличием и в действительности не работает, так как приемник у Advisor не имеет синтезатора и не позволяет программно перестраивать свою частоту. Но синтезаторные пейджеры вполне себе существовали (тот же NEC 21A), у них можно было менять рабочую частоту прямо через интерфейс настроек.
На последней четвертой странице настроек можно задать тексты отображаемых сообщений в меню пейджера, здесь же задается название оператора (пункт MOTOROLA INC):
После правки нужных настроек утилита предлагает нажать F4 и залить изменения в пейджер. Процесс программирования длится 3-4 секунды, после чего пейджер автоматически перезагружается:
Итог
На этом этап настройки пейджера заканчивается, и теперь у нас есть практически вся необходимая информация о нем: рабочая частота, CAP-код(ы), скорость передачи данных и режим инверсии сигнала. В следующей части мы попробуем собрать передающее устройство и достучаться до абонентов, которые были вне зоны доступа больше 20 лет.
- Планшет Lenovo 4/64 11" Android 10 (купон для заказов с РФ)
- Установка круиз-контроля в Peugeot 307 своими руками. Заводской, оригинальный.
- Кассеты (8 шт.) для Gillette Mach 3 из Китая
- SHARP AQUOS V Global Version за 109.99$
- Ремонт светодиодного дюралайта в домашних условиях
- Система сигнализации о наличии протечек Neptun СКПВ220В-DIN - ремонт и устройство.
- 9.00$ за 64ГБ Быстрые SSD флешки BlitzWolf BW-UP2
- Патрон звуковой резьбовой «Гром» для сигнала охотника
- Перьевая ручка Касо Sky II
- Плеер Shanling M3X: темная подача для светлых наушников