|
Надежный, универсальный, высокопроизводительный драйвер Windows 2000/XP/2003 для последовательных асинхронных портов и мультипортовых плат (адаптеров). В отличие от уже многих и многих других подобных проектов, SerialXp не основывается на стандартном системном драйвере (исходные тексты которого доступны в DDK), а полностью написан заново на С++ и ассемблере. Поэтому, в отличие от всех других проектов, SerialXp свободен от недостатков и ошибок serial.sys и его клонов. Несколько причин чтобы использовать 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);
Надежный, универсальный, высокопроизводительный драйвер Windows 2000/XP/2003 для последовательных асинхронных портов и мультипортовых плат (адаптеров). В отличие от уже многих и многих других подобных проектов, SerialXp не основывается на стандартном системном драйвере (исходные тексты которого доступны в DDK), а полностью написан заново на С++ и ассемблере. Поэтому, в отличие от всех других проектов, SerialXp свободен от недостатков и ошибок serial.sys и его клонов. Несколько причин чтобы использовать 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 определялся неправильно; * - Новый код управления питанием; * - Устранена несовместимость с некоторым ПО; * - Множество улучшений, оптимизация;
Установка: В контекстном меню значка Мой компьютер выберите Управление > Диспетчер устройств.
Правым щелчком по COM-порту выберите Обновить драйвер > Нет, не в этот раз > Установка из указанного места > Не выполнять поиск, я сам выберу нужный драйвер > Установить с диска > Обзор, и укажите файл SerialXpMultiport.inf, который находится в папке с драйвером. Драйвер установится. http://depositfiles.com/files/qg1jr11vpонов. Несколько причин чтобы использовать 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);
Надежный, универсальный, высокопроизводительный драйвер Windows 2000/XP/2003 для последовательных асинхронных портов и мультипортовых плат (адаптеров). В отличие от уже многих и многих других подобных проектов, SerialXp не основывается на стандартном системном драйвере (исходные тексты которого доступны в DDK), а полностью написан заново на С++ и ассемблере. Поэтому, в отличие от всех других проектов, SerialXp свободен от недостатков и ошибок serial.sys и его клонов. Несколько причин чтобы использовать 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 определялся неправильно; * - Новый код управления питанием; * - Устранена несовместимость с некоторым ПО; * - Множество улучшений, оптимизация;
Установка: В контекстном меню значка Мой компьютер выберите Управление > Диспетчер устройств.
Правым щелчком по COM-порту выберите Обновить драйвер > Нет, не в этот раз > Установка из указанного места > Не выполнять поиск, я сам выберу нужный драйвер > Установить с диска > Обзор, и укажите файл SerialXpMultiport.inf, который находится в папке с драйвером. Драйвер установится.

|