Главная » Диагностика COM-портов » COM-порт, которого нет

COM-порт, которого нет

Как диагностировать последовательный порт, если он физически присутствует в SIO-контроллере, но не разведен на системной плате и, следовательно, не вклю­чен в список устройств, проинициализированных UEFI BIOS?

SIO-контроллер SCH5407-NW производства SMSC на системной плате ThinkCentre Daytona-G

Описанная ситуация встречается довольно часто: востребованность COM-портов в последнее время существенно снизилась. Производители с целью минимизации затрат стараются не оснащать платформы разъемами DRB-9MA, да и места для них не всегда хватает.

В такой ситуации Windows считает порт 03F8h, по всем канонам x86-архитектуры принадлежащий последовательному порту, устройством PCI Express Root Complex, что в данном случае недостаточно информативно для пользователя.

На скриншоте, полученном с помощью AIDA64, видно, что диапазон 03F8h-03FFh не декларирован как принадлежащий отдельному устройству, а декларирован только как диапазон-надмножество 03E0h-0CF7h, в состав которого входит 03F8h-03FFh. Причина в том, что ресурсы SIO-контроллера, реализующие последовательный порт, проигнорированы программным обеспечением UEFI BIOS.

На скриншоте, полученном с помощью AIDA64, видно, что ресурсы SIO-контроллера, реализующие последовательный порт, проигнорированы программным обеспечением UEFI BIOS

Но совсем забыть о нем система не может, поскольку нужно избежать конфликта: назначения того же адреса другому устройству. Поэтому дкларируется только использование диапазона (в котором судя по его размеру еще несколько устройств), но не UART и не топология его подключения.

Диспетчер устройств в обзоре ресурсов платформы использует высокоуровневую абстракцию без детализации топологии. PCI Express Root Complex здесь означает корневой элемент, а не тип физического линка. UART по адресу 03F8h — часть Root Complex по той же логике, по которой все x86-совместимые процессоры произошли от i8086.

Реклама на V-Comp:


21.07.2018