Как стать автором
Обновить

Old-Hard коммуникации, или “передача файлов через COM и LPT-порты”

Время на прочтение 4 мин
Количество просмотров 37K
Давненько не кидали на старые компьютеры данные через дискеты, COM или LPT порты? А вот мне недавно пришлось этим заняться, и подробности этого опыта – под катом. Там же несколько графиков, табличка сравнения и пара десятков фото под вторым катом.

Итак, задача: передать данные на ноутбук, у которого есть исключительно COM и LPT порты, слот расширения PCMCIA, флоппик, модем. Ноутбук – IBM ThinkPad 760EL в отличном состоянии, подарен замечательным хабраюзером green_hippo. О нём (ноутбуке!) вскоре будет сделана отдельная статья.

Слот отпал сразу. Карточку в короткие сроки найти не удалось, а вот c COM и LPT-шнурками получилось лучше. COM-шнурок был подарен worst’ом, LPTшный – найден на городском форуме.

Файл: WOLF3D.zip.

Содержимое: Wolfenstein 3D от id Software. И даже не пытайтесь спросить, что же это такое.
Объем: 1101563 байта (1.04 мб.)

  • Для начала попробуем кидать данные дискетами. Время копирования – 43.5 сек., далее за 5-7 секунд перетыкаем её в ноутбук, ещё 43.2 секунды на копирования… Сумма – 1 минута 33.7 секунды. Средняя скорость – 11.4 килобайта в секунду. Ну ок, а если нам нужно передать бОльший файл? Ну скажем, архив quake 1 будет весить 21.7 мб.
    Представляете, разбивать её на полтора десятка дискет, перетыкать эти дискеты… Мдааа. Процесс сомнительной радости.

  • Попробуем копировать данные по COM-порту с компьютера под Windows XP (core 2 duo, и т.п. – относительно современная железяка). Были испробованы различные утилиты, вот результаты:
    Norton Commander 4 – связь не удалась. Ошибка приложения, прямой доступ к аппаратуре, все дела. Окээй.
    Norton Commander 3 – связь установлена! Скорость передачи – около 5 кб. в секунду. Не густо, но тем не менее.
    FileMaven 3.5a – связь устанавливается, но скорость передачи совершенно убийственная, менее 1 килобайта в секунду.
    Fastwire 2.0 – аналогично NC4. Fail.
    DOS InterLink – аналогично NC4. Fail.
    LapLink Pro 4 – аналогично NC4. Fail.

    Проверить, как на том же железе работается из под DOSом помешала моя лень, а точнее – ограничение времени – все диски компьютера отформатированы под NTFS, т.е. для теста нужно было подготовить загрузочный CD или дискету, причем с драйверами для чтения с NTFS, причем надежность того драйвера… позже проверю таки.

  • Тот же ПК, та же ОС – связываемся по LPT.
    NC3 не умеет связь по LPT, так что берём сразу NC4 – и о чудо, связь есть! 12 с копейками килобайт в секунду. С одной стороны, в 2 с лишним раза быстрее, с другой – от LPT я ожидал заметно лучшего результата.
    С остальными утилитами – та же история, что с COM-портами.

  • Берём второй компьютер, Pentium-MMX на 233 Мгц. Правда, с ним то же не слава Ктулху – COM-порты выгорели, даже мышь не подключить. Зато LPT вполне рабочий. Поехали:
    NC4 – скорость обмена — 76.3 килобайта/с. Свяяязь! Вот она, скорость моей мечты! Передача вольфа занимает менее полутора десятка секунд. Более чем приемлемый результат.
    File Maven – не удалось связаться – коннект устанавливается, но содержимое диска не отображается. Т.е., связь есть, но утилитка утверждает, что файлов на диске нет. Лепота.
    Fastwire – скорость 87 с копейками килобайт в секунду. Это победа! Рекорд!
    INTERLNK – аналогично File Maven. Печалька без печеньки.
    LapLink Pro – скорость порядка 80 килобайт в секунду. Быстрее нортона, медленнее Maven’а.


Да, разница между вариантами передачи по LPT кажется небольшой, но давайте перекинем ещё один файлик.

Файл 2: Quake.zip
Объем: 22809007 (21.7 мб.)

И что бы не тратить время — соберём результаты в табличку и симпатишные графики.

 
Порт
ОС
Время копирования Wolf’а
Скорость, килобайт в секунду
Время копирования Quake’а
Флоппик
Флоппи-дисковод
Любая
Копирование на диск: 43.5 сек.
 
Копирование с диска: 43.2 сек.
 
Перетыкание дискеты: 7 сек.
 
Сумма: 1 минута 33.7 сек.
11.4
32 минуты 36 секунд
Norton Commander 3.0
COM
WinXP
3 мин. 15 сек. – обычный режим
5.51
 
1 час 7 минут 27 секунд
 
 
3 мин. 11 сек. – turbo-режим
5.63
1 час 5 минут 27 секунд
Norton Commander 4.0
LPT
WinXP
1 мин. 25 сек.
12.65
29 минут 23 секунды
 
LPT
DOS
14.1 сек.
76.29
4 минуты 51 секунда
COM
WinXP
Не удалось установить связь.
File Maven
LPT порт
DOS
Коннект устанавливается, но содержимое диска не отображается.
Fastwire
LPT порт
DOS
12.3 с.
87.45
4 минуты 15 секунд
INTERLNK
LPT порт
DOS
Коннект устанавливается, но содержимое диска не отображается.
LapLink Pro
LPT порт
DOS
13.4 с.
80.27
4 минуты 38 секунд

На графиках представлено время передачи. Чем оно меньше — тем, соответственно, ситуация лучше.

Передача Wolf3D


Передача Quake 1


Передача Wolf3D, исключительно LPT-передача под DOS


Передача Quake 1, исключительно LPT-передача под DOS


Обещанные фото.
1) Norton Commander, передача файла со стороны master'а


2) Norton Commander, прием файла, вид со стороны slave'а


3) FastWire, вид со стороны master'а


4) FastWire, вид со стороны slave'а


5) FileMaven, со стороны клиента


6) FileMaven со стороны сервера:


7) LapLink Pro 4


8) Коннект через Interlink — на сервере


9) Interlink — на клиенте



Выводы:
  • Если вам понадобится что-то передать по COM-порту – just do it! Но запаситесь терпением.
  • Флоппик — быстрее COM-порта, если вы кидайте файлы из-под WinXP (в чистом DOSе скорость передачи может быть и повыше...).
  • Если будете передавать данные по LPT – крайне рекомендую Fastwire, экономия времени того стоит.
  • Если будет выбор из этих двух вариантов – таки выбирайте LPT (здесь был Кэп).
  • В Windows XP dos-режим эмулируется не идеально, так что скорости будут печальные даже с LPT. Возможно, нужно что-то донастроить — надо разобраться.
  • Выгоревшие порты – это печально :(

P.S. Выяснено уже после подготовки статьи
  • Проблема с File Maven и INTERLNK – в ноутбуке. Мне встретилась ещё одна утилита, которая при запуске под DOS не видит диска, но при запуске под Windows – диск в наличии. Надо будет повторить тестирование этих утилит.
  • Была найдена подходящая сетевая карточка, но настроить её пока что не удалось. Под Windows ей не хватает прерывания (просит IRQ 29 о_О), плюс если не вручную драйвер выбирать – сообщает, что драйвера сайта не соответствуют железяке, под DOS – не могу подобрать настройки, хотя драйвера наличие карты и определяет. Карточку зовут Trendnet TE100-PCBUSR. Настроек в биосе ноутбука почти нет, настроечная утилита от IBM под windows/dos тоже не позволяет ничего критичного поменять. Разбор проблемы продолжается.
  • Была озвучена идея – соединить модем-в-модем, без телефонной линии, кусок телефонной лапши воткнув напрямую – пока не продумывал и не проверял, как оно работать будет, как поведёт себя софт и железо, особенности настройки и вообще адекватность такого решения.

Утилиты (кроме Norton Commander) я скачивал отсюда – не реклама, просто коли уж собраны они в одном месте – почему бы не воспользоваться этим? Там же есть распиновка кабелей и loopbacks’ков для тестирования портов.
Теги:
Хабы:
+15
Комментарии 65
Комментарии Комментарии 65

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн