Итак, небольшой позитивный итог по результатам тестов нового драйвера 3538m c поддержкой аудиовхода.
Вчера я восстановил из образа систему WinXP (вместо имевшейся у меня Windows for Legacy PCs), в которой уже были установлены драйвера kX (думаю, версии "j"), после чего просто заменил файл в
Code:
C:\%WINDOWS%\System32\drivers\kx.sys
на новый, от версии 3538m.
Карточка при вставке при загруженной ОС нормально распознается и работает. Микрофонный вход шумный и реагирует на всё что ни попадя, в том числе и на постукивания по корпусу карты. Но я могу использовать микрофон, что и сделал, проведя сеанс связи по Skype.
На ночь я выключил компьютер, а с утра включил его, не выдернув карты. Система при загрузке зависла, и после её повторной нормальной загрузки и вставления звуковухи она (audigy2zs notebook)
завешивала систему постоянно.
Я поначалу погрешил на свежеустановленный на новую систему Framework2.0, но потом подумал и нашел решение проблемы. А дело в кэшировании загрузчика и приложений.
Первое, что необходимо сделать — удалить все файлы из папки
Code:
C:\%WINDOWS%\Prefetch
после чего отключить опцию prefetch (
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Session Manager\Memory Management\PrefetchParameters\EnablePrefetcher) в реестре. Значение "3" (оно выставлено по умолчанию)
означает кэширование и загрузчика, и приложений. Можно, конечно, для проверки отключить только кэширование загрузки, и оставить приложения, но мне не хотелось экспериментировать, поэтому я отключил весь prefetch, выставив значение параметра в "0".
После чего
загруженная система нормально приняла карточку и заработала.
Причина проблемы вот в чём: драйвер 3538m имеет глюк, который завешивает систему при загрузке со вставленной картой. Это зависание повреждает файл prefetch (.pf), который то ли не записывается до конца, то ли содержит в себе некую неверную последовательность байт. Это не суть важно.
После того, как мы испортили таким образом файл prefetch, следующая загрузка проходит в отсутствие карты нормально, поскольку поврежденный файл не вызывается и не подгружается в память. Но при вставлении карты он вызывается, и система — зависает. Именно состоянием .pf-файла объясняется разнобой в тестах, оно зависит от порядка использования в системе различных тестовых файлов kx*.sys
Я
не знаю, что хранится в этих кэширующих файлах. Но факт налицо. Таким образом, я считаю, что решением проблемы является устранение бага с зависанием системы при загрузке. Этому и будут посвящены дальнейшие тесты.