Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Об отключении ACPI, о Setup, о beta-версии WDM дра

Вы не вошли.

 Поиск | Регистрация | Вход 

Олег В.
26.12.2002 23:09:04
#1

Гость

Об отключении ACPI, о Setup, о beta-версии WDM дра

Уважаемые программисты "L-CARD"!  У меня есть несколько вопросов к Вам.

1)  У меня не ставилась карта L-761 под  Windows 2000. Повозившись несколько дней, я полез
на ваш форум. Везде написано - отключите ACPI, но как это сделать нигде нормально не написано.
В BIOSe у меня ACPI не отключается. Хорошо, что я имею доступ к интернет, а у кого
его нет! Неужели нельзя написать как отключать ACPI один раз и поместить его в ваш FAQ.

Так вот,  официальная рекомендации Microsoft об отключении ACPI , подробнее можно почитать здесь: http://support.microsoft.com/default.as … us;Q216251
В самом начале текстового этапа установки Windows 2000 при появлении сообщения "Setup is inspecting
your computer/'s hardware configuration" нажмите и удерживайте клавишу "F5".
В появившемся на экране списке версий библиотек HAL выберите версию,
соответствующую вашему компьютеру. Необходимо выбрать Standard PC .
    В случае установки Windows с жесткого диска или загрузочных дискет можно изменить
секцию ACPIOptions файла txtsetup.sif в каталоге I386 дистрибутива:
[ACPIOptions]
ACPIEnable = 2
ACPIBiosDate = 01,01,1999

где параметр ACPIEnable может принимать одно из трех значений:

0 - ACPI будет игнорироваться при инсталляции в любом случае,
1 - ACPI будет включен при инсталляции, если BIOS поддерживает ACPI.
2 - ACPI будет включен, если BIOS материнской платы сертифицирован как GoodACPIBios
( т.е. присутствует в списке секции [NWACL]) или хотя бы выпущен после даты, указанной в параметре ACPIBiosDate = mm,dd,yyyy

В случае проблем с определением ACPI поставьте параметр ACPIEnable = 1.
Если вы хотите отключить ACPI при инсталляции, поставьте ACPIEnable = 0.
Указанная иформация об отключении ACPI взята с сайта http://www.tos.kiev.ua/W2K_FAQ/


2) Драйверы Ваших плат поставляются совместно с SDK. Если поставляю свой продукт заказчику, то
SDK ему не нужен. Нельзя-ли сделать отдельный Setup для установки только драйверов, как делают
другие производители подобных плат. Представляете, драйвер видеокарты NVidia поставляется вместе
с Nvidia SDK!

3)  О вета-версии WDM драйверов.
    а)  При попытке установки SDK под Windows ME программа установки вылетает.
    Это происходит из-за того, что используется утилита удаления устройства Remove, взятая из Windows 2000 DDK.
    Используемые в ней вызовы не поддерживаются платформой  9X.

    в) В Help к драйверам не указано, как "указать" драйверу, что от работает с процесссом 2185 (у меня плата L-780-85).
     Если собрать  БИОС для архитектуры ADSP2185, то при его загрузке получим ошибку. Вот файл L780.seg:
    ; !!!!!!!!!!!!!!!!!!!!! ADSP-2185 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    SEGMENT   NAME="Internal PM"   TYPE=boot   BASE=0x0      SIZE=0x4000
    SEGMENT   NAME="Internal DM"   TYPE=data   BASE=0x0      SIZE=0x3FDF
    В исходных текстах BIOS для L780 два старших бита переменных задаются   как 0х2, а надо 0х3.
    Или же сушествует отдельный файл исходников BIOS для процессора 2185?


    г) После загрузки библиотеки Lcomp.dll (см. функцию CallCreateInstance(char* name) в файле create.cpp)
        ее необходимо выгрузить вызовом FreeLibrary. Однако переменная  hComponent объявлена локально.

Надеюсь, что очередная версия WDM драйверов появиться в ближайшее время.

С наилучшими пожеланиями!
Олег В.

27.12.2002 08:52:19
#2

Сотрудник "Л Кард"
Откуда: Москва
Здесь с 23.04.2014
Сообщений: 3,727

Re: Об отключении ACPI, о Setup, о beta-версии WDM дра

По 1 пункту согласен  - плохо он задокументирован.
Если ОС уже стоит то надо просто сменить драйвер компьютера на Standart PC.
В форуме про это написано.

По 2 пункту - в хелпе есть глава в которой говорится что надо распространять со своим приложением чтобы установить драйвера без установки SDK. С отдельной установкой просто драйверов и библиотеки есть порблема - пока нет совместимости версий. Новые версии драйверов и библиотек не совместимы со старыми и я сейчас работаю как раз над этой проблемой. Когда выработаю механизм поддержания совместимости тогда и  сделаю отдельный дистрибутив только драйверов.Иначе народ начнет обновлять только драйвера и все разложится.

По п 3 - под Me не тестировал. Посмотрел сейчас скрипт - да есть там ошибочка - поправим.Но именно эти драйвера - промежуточный этап - релиз будет отличаться от них.

Все биосы собираются для процессора 2184, а затем  при загрузке его в плату выполняется команда установки типа процессора и биос сам модифицируется.

При завершении программы Dll сама выгрузится, но если ее надо выгрузить до этого то конечно надо вызвать FreeLibrary. Этот код - он не является частью библиотеки - он скорее часть приложения и программист волен его переписать так как ему надо.

Олег В.
27.12.2002 21:23:51
#3

Гость

Re: Об отключении ACPI, о Setup, о beta-версии WDM дра

По поводу BIOS для процессоров 2185. Речь идет только о вета WDM драйверах.

Переменные LBios для процессора 2184 размещаются с адреса 0х2800, а
для процессора  2185 - с адреса 0х3800.

Берем исходик Var.h и изменяем адреса переменных - прибавляем 0х1000.
Файл L780.seg тоже надо изменить, как я писал раньше, иначе при компиляции
будет сообщение,что данные не попали ни один сегмент.
Собираем BIOS.

Все дело в функции PlataTest().
Вот как у Вас работает функция PlataTest(), вызываемая сразу же после загрузки
BIOS. Она считывает тестовые переменные L_TMODE1_PLX, L_TMODE2_PLX,
L_TEST_LOAD_PLX, по адресам, начинающихся с двойки, а не тройки.
Конечно, мы получим ошибку загрузки BIOS. Переменная BIOS L_Command также
находится по другому адресу, поэтому вызов SendCommand(cmTEST_PLX) не
приведет к вызову прерывания в BIOS в в ячейке L_TEST_LOAD_PLX не будет
нужной цифры.
Мне кажется, функция PlataTest()  должна проверять тип платы, модифицировать
адреса переменных L_BIOS, тогда все буден нормально работать.