SerialXp ver. 3.0.2.2600

SerialXp быстрый драйвер COM-портов 3.0.2.2600

Надежный, универсальный, высокопроизводительный драйвер Windows 2000/XP/2003 для последовательных асинхронных портов и мультипортовых плат (адаптеров). В отличие от уже многих и многих других подобных проектов, SerialXp не основывается на стандартном системном драйвере (исходные тексты которого доступны в DDK), а полностью написан заново на С++ и ассемблере. Поэтому, в отличие от всех других проектов, SerialXp свободен от недостатков и ошибок serial.sys и его клонов.

SerialXp ver. 3.0.2.2600
Несколько причин чтобы использовать SerialXp:

1. SerialXp стабильнее и надежнее системного serial.sys, он не содержит ряда ошибок обнаруженных в стандартном системном драйвере. SerialXp корректно работает с асинхронными портами допускающими потерю прерываний (см. раздел FAQ).
2. SerialXp управляет питанием COM-портов по спецификации «OnNow», экономя энергию батарей мобильных компьютеров;
3. SerialXp быстрее, тратит меньше времени на обслуживание асинхронных портов. Он полноценно использует возможности асинхронных портов с расширенными возможностями и увеличенным FIFO, оптимизирован для современных процессоров, эффективно работает на многопроцессорных системах.
4. SerialXp удобнее и умнее. Он автоматически определяет максимальную скорость работы порта, реальный размер FIFO, наличие дополнительных возможностей. SerialXp единственный драйвер, который поддерживает все распространённые SuperIO-чипы. Кроме этого, драйвер может сам обнаруживать мультипортовые ISA-платы и определять их IRQ.
5. SerialXp бесплатен для конечных пользователей.

Значимые функциональные отличия от стандартного serial.sys и его клонов:

* Корректно обслуживаются UART-чипы с ошибками, допускающими потерю прерываний;
* Отсутствует ошибка управления потоком при изменении размера внутреннего буфера (функция SetupComm() в Win32);
* Отсутствует ошибка отправки повторного XON-символа;
* Отсутствует возможность «залипания» передатчика при отправке XON/XOFF символов на UART с аппаратной ошибкой потери прерывания;
* Отсутствует возможность зацикливания в обработчике прерывания при частом изменении статуса линии и логической паузе в передаче (запросе от удаленного устройства на паузу в передаче);
* Отсутствует ошибка в обработке таймаута IOCTL_SERIAL_XOFF_COUNTER;
* Отсутствует ошибка в проверке корректности параметров IOCTL_SERIAL_SET_HANDFLOW;
* Отсутствует несколько ошибок связанных с не восстановлением исходного IRQL (синий экран).
В Windows Server 2003 эта ошибка исправлена;
* Весь код драйвера резидентный, т.е. отсутствуют PAGEABLE-секции;
* Производится автоматическое управление питанием, неиспользуемые устройства отключаются;
* Производится тестирование оборудования;
* Определяется реальная скорость COM-портов (учитывается Turbo-режим);
* Определяется реальный размер FIFO-буферов;
* Определяется наличие дополнительных аппаратных возможностей COM-портов, например автоматического управление потоком (flow control);

Основные возможности драйвера:

* Поддержка как Port I/O так и Memory Mapped I/O оборудования;
* Полная поддержка PNP в соответствии с требованиями Windows 2000/XP/2003;
* Поддержка всех распространённых Super-IO контроллеров;
* Обслуживание COM-портов в соответствии с требованиями Windows DDK к драйверам последовательных асинхронных портов;
* Поиск ISA-карт и автоматическое определение IRQ (практически полный PNP);
* Поддержка мультипортовых плат как с регистром статуса прерываний, так и без него;
* Автоматическое определение формата регистра статуса прерываний, если таковой реализован в оборудовании;
* Поддержка регистра статуса прерываний шириной в 8, 16, 32, 64 бита;
* Автоматическое определение реальной глубины FIFO-буфферов, как на прием, так и на передачу;
* Автоматическое определение наличия аппаратного flow-control;
* Определение реальной скорости UART-портов и соответствующее управление;
* Управление питанием по спецификации «OnNow»;
* Возможность обслуживания UART-портов размещенных на другом комбинированном устройстве через SERIAL_XP_LINK_INTERFACE;
* Полный loopback тест всех портов;

Для достижения максимальной производительности (экономии процессорного времени) используется следующие методы:

* Несколько обработчиков прерываний, каждый из которых оптимизирован под конкретный режим работы UART в зависимости от требований приложения;
* Никогда не используется «Global Cancel Spin Lock»;
* На платформах Windows XP/W2K3 используются «Queued Spin Locks»;
* Используется более быстрые чем системные «Cancelable IRP Queues»;
* Более оптимальный, по сравнению с serial.sys, исходных код;
* Алгоритмическая совместимость с условиями «no aliasing» для возможности более существенной оптимизации средствами компилятора;
* Используется оптимизирующий компилятор MS C++ 13.0, в режиме единой глобальной оптимизации по всему исполняемому модулю;
* Используются прямые Interlocked-инструкции и набор команд процессоров Intel Pentium Pro (Intel Pentium Pro/II/III, AMD K6/K7/Athlon/Ahlon-XP/Ahlon-MP);

Основные изменения в этой версии:

* — Поддержка всех SuperIO-чипов (скорости более 115200 на системных COM-портах);
* — Устранена проблемы с некоторыми SuperIO-чипами от National Semiconductor;
* — Устранены проблемы с «проблемными» чипами. Некоторые UART-контроллеры вероятностно фиксируют ошибку приёма-передачи при частом изменении режима работы (значения в «Line Control Register»). В результате тест таких COM-портов мог заканчиваться неудачей или размер TX-FIFO определялся неправильно;
* — Новый код управления питанием;
* — Устранена несовместимость с некоторым ПО;
* — Множество улучшений, оптимизация;

***
Краткое описание по установке драйвера:
Открываем Свойства «Моего компьютера» (Win+Break), находим там вкладку «Оборудование» и смело тыкаем на кнопку «Диспетчер устройств», находим там COM порт, тыкаем правой кнопкой мыши и выбираем «Обновить драйвер». Выделяем галочку на «Установка из указанного места» -> «Не выполнять поиск. Я сам выберу нужный драйвер», открывается окошко с имеющимися системными драйверами с цифровыми подписями, щелкаете по кнопке «Установить с диска...», в открывшемся далее окошке указываете местонахождение распакованного драйвера, а конкретнее файла .inf, далее окошко вернется в первоначальное состояние с предложением выбрать драйвер, выбираете необходимый и дощелкиваете «Далее». ad

[attachment=3407]

Комментарии (3)

RSSсвернуть /развернуть
+
+2
Не пользуюсь COM-портом уже много лет.
avatar

PiRA

  • 09 января 2009, 11:22
+
0
+1
для диалапа толька пользовался года 3 назад)
avatar

ched

  • 09 января 2009, 12:00
+
0
а мен вообще как то у меня мегабит
avatar

azpkv

  • 09 января 2009, 12:04

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
Валидный HTMLВалидный CSSRambler's Top100