О выходе в интернет с помощью старой, почтенной (но не всегда почившей) техники написано немало статей. Возможно, для кого-то именно эта статья окажется первой, человек вполне может заинтересоваться и начнет расширять кругозор в подобном направлении.
В данной статье описан пример возможности пребывания в современном интернете на примере компьютера архитектуры PC/XT, без Ethernet-карты, болгарского производителя «Правец».
Доступ в интернет при помощи консольного браузера, может быть полезен для просмотра документации, мануалов. Не всегда на сервере установлена графическая оболочка. Важна суть, а при помощи каких средств она получена, пожалуй, дело второе.
Также данное решение может быть использовано для управления хостом — мы получим MS-DOS терминал с функционалом Kermit.
Под катом детальные фото содержимого «ретро-Правц»а, настройка терминального соединения через RS-232, видеодемонстрация выхода в интернет. Фото кликабельны.
Приступим? :)
❯ Введение
Для чего городить огород?
Вижу для себя ряд оснований. Во-первых — изучение механизмов/возможностей/методики, ведь знать путь и пройти его — не одно и то же. Во-вторых — тестирование возможностей старого железа в современной среде. В-третьих — фиксация и систематизация опыта, ну и как шпаргалка на будущее.
Общая картина взаимодействия выглядит так:
- Компьютер под управлением операционной системы Linux (хост), имеет выход в интернет.
- На хосте в качестве экспериментальных текстовых браузеров установлены Lynx и Links2.
- К хосту при помощи нуль-модемного кабеля подключен «Правец» (используется в качестве терминала), через com-порт (RS-232).
- На «Правце» в качестве терминальной программы установлен терминальный клиент-Kermit, позволяющий осуществить соединение с хостом.
- Настройки com-портов будут одинаковыми на обеих машинах. 8N1, что означает: 8 — количество бит в пакете, N — отсутствие контроля четности и 1-стоповый бит. Работать будем со скоростью 9600 бит/с.
Почему выбрано именно такое решение, а не использована Ethernet-карта с интерфейсом ISA? Для аутентичности, в «Правце» ISA-Ethernet отсутствовала, а COM-порт был. Мы обойдемся малым, но вставить ISA-Ethernet и работать в MS-DOS в сети на скорости 10 Мбит тоже возможно.
❯ Предыстория
«Правец» — компьютер болгарского производства.
Мой экземпляр системного блока случайно был обнаружен в заброшенном сарае — КУНГе, у папы, где пролежал неизвестное количество лет. В дань уважения был установлен и выпущен погулять в интернет в 2023 году.
На момент написания статьи согласно наклейке-шильдику «Правцу» — 35 лет.
❯ Начинка/архитектура
Системный блок и содержимое были разобраны по винтику, продуты, отмыты и очищены. Платы визуально проинспектированы и все собрано в обратном порядке.
Опишу основные узлы.
Правец базируется на процессоре архитектуры Intel 8088 производства фирмы Siemens:
Материнская плата фирмы производителя XL-7 TURBO:
Оперативная память (RAM) объемом 640Кб:
Вичестер MFM — оказался неисправным, поэтому, скрепя сердцем, отошел от аутентичности и заменил дисковую подсистему на новодельный контроллер ISA с картой Compact Flash.
Неисправный винчестер — крест на нем не ставлю, но возможно в перспективе попытаюсь реанимировать и поместить обратно в корпус:
Контроллер флоппи:
Контроллер жесткого диска:
Плата, на которую сделан упор в рамках данной статьи — плата коммуникационных портов. Данная плата содержит две БИС. Любопытно, что разных номиналов — UM8250B и FM88450-A.
Торцы платы содержат разъемы db9 и db25.
Через данную плату будет осуществляться коммуникация с хостом, и через нее мы выйдем в интернет.
Итак, физически компьютер проинспектирован и собран. Приступим к загрузке операционной системы, тестам и коннекту.
Аутентичного монитора и клавиатуры, к сожалению, у меня нет. Возьму единственный свой ЭЛТ-монитор и AT-клавиатуру, подключенную через конвертер AT-XT, ну а манипулятор-мышь в данном примере не нужен, хотя его можно воткнуть в тот же универсальный COM-порт.
Запуск тестовой программы Checkit.
Характеристики видны на последующих фотографиях экрана:
❯ Настройка хоста на стороне Linux
В качестве операционной системы — посредника доступа в интернет, используем облегченную версию Ubuntu.
Описание общей конструкции приведено выше, здесь мы увидим основные шаги настройки сервиса agetty.
Что делает agetty? Он открывает определенный (прописанный в конфигурационном файле) com-порт и выводит приглашение для авторизации. Приглашение — связка login и password для последующей работы в консоли. Таким же образом работает и подобный, по сути, сервис mgetty, только в данном случае соединение должно производиться через модем.
Нам нужно пройти 4 шага:
1. Копируем agetty.
«serial-getty@.service», изначально расположенный по пути /lib/systemd/system
в /etc/systemd/system:
sudo cp /lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS0.service
2. Конфигурируем agetty.
Редактируем следующий файл:
В части скорости передачи данных, убираем другие значения скорости, оставляя лишь 9600.
3. Запускаем созданный сервис agetty.
sudo systemctl daemon-reload
sudo systemctl start serial-getty@ttyS0.service
4. Устанавливаем текстовые браузеры Lynx и Links2.
Для наглядности в две команды:
sudo apt install lynx
sudo apt install links2
Можно и так:
sudo apt install lynx links2
Все, настройка хоста завершена, он готов принимать входящие соединения через com-порт, и готов выходить в интернет с помощью текстовых браузеров.
❯ Настройка на стороне терминала MS-DOS
Версия MS-DOS 6.22 выбрана как наиболее зрелая, она прекрасно идет на нашей архитектуре, в части того, что нам требуется.
Физической средой передачи данных будет являться собственноручно собранный нуль-модемный кабель.
Соединение с хостом под управлением OS Linux на программном уровне мы будем осуществлять с помощью Kermit.
Настроек в Kermit много, можно весьма гибко тюнинговать различные параметры, но в нашем случае достаточно лишь выставить скорость com-порта.
Запускаем «kermit.exe», пишем:
set speed 9600
Скорость порта настроена, можно переходить к соединению через последовательный порт RS232.
❯ Коннект!
В запущенном Kermit вводим комманду: connect.
Мы видим приглашение авторизации, которое нам предоставляет agetty, запущенный на хосте.
Работаем на камеру:
Консольные браузеры описаны тут и тут.
Были испробованы два — LYNX и Links2.
Вот мы и подобрались к вопросу — а что можно делать в консольном интернете?
Практическую пользу я вижу в чтении текстовой информации — это могут быть различные мануалы, новостные ленты. Также в познавательных целях можно подсоединиться к bbs (bulletin board system) — это электронная доска объявлений, а так же посмотреть telnet-мультики и играть в игры текстового жанра. Данные шаги ведут к пониманию механизмов и основ современного/былого интернета.
Посмотрите ролики, наглядно показывающие, как это выглядит:
Lynks2:
LYNX:
Ну и несколько ASCII-ART напоследок:
❯ Выводы
Мы подключились к текстовому интернету при помощи терминала, построенного на архитектуре PC/XT. Получать информацию из интернета описанным способом — вполне возможно.
Комментируйте, пожалуйста, всё ли было понятно, напишите свое видение данных механизмов, и как еще можно использовать подобные конструкции.
Спасибо за терпение. :)