Windows XP FAQ - Железо

ОГЛАВЛЕНИЕ

 

Железо.

1. Где мне найти драйвер для моей железки?

Первое, где надо начать поиски, это, конечно же, сайт производителя вашего устройства. Правда, драйвера написанного специально для XP может просто не существовать. В этом случае попробуйте использовать драйвер для Windows 2000, из за схожести W2k и XP есть хорошие шансы что этот драйвер подойдёт. Драйвер лучше ставить вручную, через Update Driver в Properties устройства (из закладки Hardware в System Properties), указав Install from the list of specific location. Если пустить это дело на самотёк, и доверить XP самостоятельно искать и устанавливать драйвер, то можно столкнуться с ситуацией, когда система не примет вполне работоспособный драйвер на том основании, что он не писался для XP, и не прошёл соответствующей сертификации. Сложнее, когда нет возможности ручной установки, и драйвер должен ставиться через программу установки, так называемый Wizard. В этом случае может ругаться как сам инсталлятор (мол, неправильная ОС), так и XP (мол, неправильный драйвер). В этом случае следует либо попытаться обмануть инсталлятор (вывести ярлык (shortcut), Properties - Compatibility), либо попытаться поставить драйвер вручную. Для этого, сначала очистите временную папку, потом запустите инсталлятор, и когда он выкинет первое окно с вопросом, посмотрите содержимое временной папки. Очень возможно, что вы увидите в ней *.inf файлик и всё остальное необходимое для ручной инсталляции. Просто скопируйте это в надёжное место, и используйте впоследствии. Если ни один из вышеприведённых советов не приведёт к желаемому результату, останется только бомбить письмами Technical Support производителя. Впрочем, с этого можно и начать.

2. Машина с ATX блоком питания не выключает питание самостоятельно.

Прежде всего необходимо убедится, что в Control Panel -> Power Options -> APM на параметре Enable Advanced Pоwer management support стоит галочка (закладки не будет при использовании ACPI ядра). Если это не помогло, то можно попробовать по адресу HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows NT -> CurrentVersion -> Winlogon выставить ключ PowerdownAfterShutdown равным 1. Кроме этого, при установке XP необходимо убедиться, что при инсталляции системы в BIOS включена поддержка ACPI и APM, в разделе Power Options. Если этого не сделать, то XP при инсталляции не найдя поддержки ACPI просто не установит все необходимые для работы ACPI компоненты. Однако некоторые, даже очень высококачественные материнские платы, например, Abit, Asus или Chaintech, иногда не полностью совместимы с ACPI (Advanced Configuration and Power Interface). (По этой же причине может некорректно работать служба, Hibernate, которая при выключении компьютера делает снимок оперативной памяти, запоминает все открытые окна, документы, запущенные приложения, и т.д. Всё это скидывается на винт, а потом при следующей загрузке считывается, и открывается всё то, что было открыто перед выключением). Эти проблемы можно решить свежей прошивкой BIOS. Правда, иногда даже это не помогает. Однако после обращения в службы технической поддержки производителей таких матерей, обычно приходит ответ, что они знают об этой проблеме и работают над её решением, которое появится очень скоро, в виде новой версии BIOS. Правда, на достаточно старых платах нормального решения может просто не существовать. Нужно также отметить один баг спецификации APM: непонятно, как можно обеспечить её поддержку на многопроцессорных машинах.

3. Как получить поддержку функций управления питанием на SMP машинах?

Как уже упоминалось выше, спецификации APM не предусматривают существования многопроцессорных систем поэтому бесполезно даже искать закладку APM в Control Panel -> Power Options если в системе установлено многопроцессорное ядро. Единственный выход - это использовать ACPI Multiprocessor ядро. Однако, для этого вы должны иметь ACPI совместимую систему. Для проверки этого факта можно воспользоваться утилитками предоставляемыми Microsoft. Найти их можно по адресу: http://www.microsoft.com/hwdev/acpihct.htm. Если ваша система не смогла пройти этих тестов, можно попробовать обратиться к производителю Вашей материнской платы за обновлённым BIOS, зачастую это решает проблему. Если же ваша система успешно проходит эти тесты, можно попробовать поменять ядро на ACPI multiprocessor.

НО, НЕ СТАВЬТЕ ACPI ядро на машины BIOS или железо которых не поддерживает его, в этом случае компьютер гарантировано перестанет загружаться, и вам придётся переставлять всю систему. Если же, всё-таки, решились на такой эксперимент, то, по крайней мере, обеспечьте себе возможность альтернативной загрузки с другим ядром. Про то, как это сделать, написано в этом FAQ. Впрочем, даже соответствие материнской платы спецификациям ACPI не гарантирует нормальную загрузку системы после замены ядра. Однозначного рецепта здесь нет, но если система после замены ядра доходит до этапа графической загрузки (это когда рисуется цветная картинка), то это означает что, скорее всего, ваша машина сможет работать в ACPI режиме. Но, скорее всего, придётся переустановить всю систему.
Кроме этого, даже если установка системы прошла удачно, это не гарантирует, что система будет полностью поддерживать ACPI (Hibernate, Stand-By, программирование Power button, и т.д.), более-менее уверенными вы можете быть только в том, что машина будет самостоятельно выключать питание. Для поддержки всего спектра возможностей ACPI необходима поддержка не только со стороны материнской платы, но и со стороны установленной на ней устройств и их драйверов. Например, поддержка Hibernate может пропасть после установки XP драйвера для Voodoo3, или Sound Blaster128. Список этот гораздо длиннее, так что ничему не удивляйтесь после установки ACPI ядра.

4. При работе полноэкранных Direct3D и OpenGL приложений, очень низкий refresh rate, как можно это исправить?

Сделать это можно, и связано это с тем КАК NT работает со своей графической подсистемой. Есть несколько способов. Если драйвера видеокарты позволяют, то делается это легко и красиво. На примере с референсными драйверами от nVidia, это делается так:

В архиве с драйверами есть файл nv4_displ.inf, а в нём раздел nv_SoftwareDeviceSettings. Ищите там раздел относящийся к вашей видеокарте, первая TNT, например, обозначается аббревиатурой NV4. В списке NV4_MODES просто удаляете ненужные значения. Например, оригинальная запись выглядит так:
HKR,, NV4_Modes, %REG_SZ_APPEND%, "16 640 480 60 70 72 75 85 100 120 0"

Приводим её в такой вид:
HKR,, NV4_Modes, %REG_SZ_APPEND%, "16 640 480 100 120 0"

И всё, теперь ваша видеокарта физически не сможет работать в разрешении 640*480 с глубиной цвета 16 бит с Refresh rate меньше, чем 100 герц в любых программах (Во всяком случае XP именно так и считает, поэтому будет использовать для Refresh Rate цифры, которые здесь указаны). После этого нужно всего лишь переустановить драйверы с измененным nv4_displ.inf.

Естественно, цифры можно ставить любые, даже нестандартные. Однако, здесь надо соблюдать осторожность, потому что существует возможность испортить монитор слишкой высокой Refresh Rate либо после перезагрузки вы не увидите своего десктопа, вообще ничего. Эта методика подходит и для других драйверов не только от nVidia, например, SiS.

Однако, этот совет из не подходит для пользователей многих весьма популярных видеокарт, например таких как Voodoo, Matrox, или ATI. Однако, они тоже не хотят портить себе зрение смотря на 60 герцовую картинку в OpenGL, Direct3D, Glide или каких либо других приложениях. В этом случае, можно попытаться сказать XP, что ваш монитор не способен работать с refresh rate ниже той, что нам требуется. 

Редактируя строки вроде:
HKR,"MODES800,600",Mode1,,"35-90,85-100,+,+"
можно добиться желаемого. Например, в нашем примере эта строка запрещает монитору работу в 800*600 с любыми рефрешами кроме 85 или 100 Hz, в ЛЮБЫХ режимах. Удостоверьтесь, только, что отмечен чекбокс "Hide modes that this monitor cannot display". Но, будьте осторожны, и используйте только те значения, которые реально поддерживаются вашим монитором, в противном случае последствия могут быть неприятными, вплоть до ПОЛНОГО ВЫХОДА МОНИТОРА ИЗ СТРОЯ.
Если у вас карта nVidia, то вы можете воспользоваться специальной утилитой nVidia refresh rate fix. 

5. Ничего не получается с hackmon.inf, чего делать?

Если hackmon.inf у вас по какой то причине не работает, то можно попробовать отредактировать соответствующие значения реестра вручную. Для этого заходите в HKEY_LOCAL_MACHINE \SYSTEM \ControlSet \Enum \DISPLAY, и дальше на две папки вглубь (их название зависит от установленного у вас монитора, поэтому я не привожу никакого). В этой папке должны быть несколько ключей, в том числе CalssGUID и Driver. Берём название драйвера (это будет 4D36E96E-E325-11CE-BFC1-08002BE10318, стандартное значение для мониторов), идём в начало реестра и делаем поиск на это значение. Оно встретится несколько раз, в HKEY_LOCAL_MACHINE \SYSTEM \ControlSet \Control \Class \4D36E96E-E325-11CE-BFC1-08002BE10318 \0000 (или 000х, если в системе стояло несколько мониторов, тот что вам нужен прописывался в ключе Driver, в предыдущем абзаце), и его копиях, ControlSet00x. В этих разделах находим Modes, и видим папки для каждого из стандартных разрешений. Если не видим, то можно и самому добавить. В каждой из них имеется ключ Mode1, который и определяет значения Refresh Rate для этого разрешения. Ключ этот имеет значения "30-96, 60-120,+,+", или что-то похожее, где первые две цифры означают возможные значения вертикальной развёртки в килогерцах, а вторые две значение горизонтальной развёртки в герцах. Меняете на то, что по вашему мнению (а лучше по паспорту монитора) правильно, и наслаждаетесь результатом. Если результатом является пропадание разрешения из Display properties, значит много поставили. Так что придётся либо снизить частоту горизонтальной, либо повысить верхний предел вертикальной развёртки. Только не перестарайтесь.

6. Как поменять IRQ используемые различными устройствами? В их Properties в Devise manager чекбокс Use automatic Settings затемнён, и снять его не удаётся.

Для того, что бы появилась возможность вручную переназначать прерывания, необходимо выключить поддержку ACPI во всех видах. Для этого необходимо поменять ядро на Standart PC (или MPS multiprocessor в случае с SMP системой). Не будет лишним отключить ACPI контролёр в Bios, раздел Power management. Очевидным минусом этого метода является то, что с высокой долей вероятности машина перестанет самостоятельно выключаться. К сожалению, кроме как выключив режим ACPI добиться возможности вручную переназначать ресурсы нет, так что придётся делать выбор, либо компьютер выключается самостоятельно, либо ресурсы распределяются так, как Вам хочется.

7. На моём CD-ROM нет CD-CPDIF выхода, или, по какой то причине я не могу его использовать. Можно ли мне как-нибудь получить числовой звук для CD-Audio?

Можно. XP позволяет передавать audio информацию с AudioCD через IDE шлейф в числовом виде. Для того что бы задействовать эту функцию, достаточно в Device Manager на Properties CD привода на второй закладке выставить галочку в чекбоксе "Enable Digital CD-Audio for this CD-ROM device." Естественно, что после этого вам не потребуется проводок который обычно подключают от CD-ROM к звуковой карте, всё будет идти через IDE шлейф.

8. Мой 12х CD Recorder записывает диск за 15 минут, а должен за 6. А везде пишется, что запись прошла на скорости 12x, почему так происходит и что делать?

Причина такого печального явления заключается в том, что в процессе записи опустошается буфер (что можно наблюдать в окне мониторинга записывающей программы), и привод, что бы не испортить записываемый диск сбрасывает скорость записи. Эта технология называется burnproof. Для борьбы с опустошением буфера прежде всего необходимо убедится, что установлен достаточно свежий aspi layer. Если проблема не исчезнет, значит привод не очень хорошо уживается с вашим IDE контролёром. Для устранения этого досадного недоразумения достаточно отключить в BIOS режим UDMA для IDE канала на котором висит рекордер. Это заставит его работать в режиме PIO4, что приведёт к несколько более высокой загрузке процессора при работе с приводом (что не совсем не критично при современных мощностях процессоров), зато избавит вас от проблем с опустошением буфера. DMA режим отключать надо только в BIOS, под Windows он может (и должен) быть включён.