| CD-R/RW & DMA driversПри работе с CD-R/CD-RW под NT4/W2k существует проблема совместимости
с драйверами IDE DMA/BusMaster следующего характера: Для настройки SCSI/ATAPI устройств (к которым относятся и CD-Recorders)
используются управляющие блоки, так называемые MODE PAGEs. Для считывания
и передачи уравляющих блоков используются команды MODE_SENSE6/MODE_SENSE10 и
MODE_SELECT6/MODE_SELECT10 соответственно. Версии 6 и 10 отличаются длиной
заголовка, предшествующего передаваемому блоку параметров (6 и 10 байт соответственно).
Как правило, устройства понимают оба варианта. По не совсем понятным причинам разработчики драйверов делают одну или
несколько из следующих вещей: 
1. 
   преобразование формата заголовков к фиксированной версии независимо от
   того, какой формат был использован инициатором запроса. При этомВсе это ведет к неизбежным глюкам при работе с CD-R/RW.
Например
 
   a) 
      забывается о том, что ответ от устройства имеет смысл преобразовать к
      формату, ожидаемому инициатором запроса 2. 
   Принудительная модификация некоторых полей в управляющем блоке, что
не позволяет перевести устройство в требуемый режим записи. Как правило
другие поля при этом не страдают. (Прям заговор какой-то... ;)b) 
      заголовки для MODE_SENSE могут конвертироваться в одну версию, а
      для MODE_SELECT - в другую
 c) 
      преобразование к некому формату (a la MODE_SENSE/SELECT14), который
      совершенно не пригоден для передачи устройству и может вызывать зависание
 
 3.
   Неправильная обработка некоторых ошибок устройства
 
 
   a) 
      необоснованное возвращение SUCCESS. Как правило наблюдается при
      использовании MODE_SELECTb) 
      неограниченное ожидание с выходом по ошибке Bus reset (минут так через 5)
      при передаче направильных параметров.
 
невозможность записи на При этом программы записи могут как выдавать сообщения об ошибках,
так и вешать/crash'ить систему.
 
    CD-Rошибки при попытках сграбить Audio-CDCD-RW в пакетном режиме (aka UDF)
 
 
 Лечить это можно следующим образом:
 
 
  1. Установить заведомо работоспособные драйвера. Например стандартные
  (generic) из поставки Windows (без поддержки специфических IDE Controllers)
  - atapi.sys. Это можно сделать через ControlPanel->Devices, установив
  режим загрузки в Boot или
  путем редактирования registry: Ниже приведены известные мне драйвера, имеющие проблемы с
совместимостью:в ключе
  HKLM/System/CurrentControlSet/Services/atapi значение Start
установить в 0.
 2. Отключить/деинсталировать кривой драйвер IDE BusMaster (DMA). Простое
отключение режима DMA средствами самого драйвера не помогает. Переходить к
этому пункту можно только после успешного выполнения предыдущего, инече
рискуете остаться с негрузящейся Windows.
 В случае деинсталяции желательно проверить, включился ли
atapi.sys(см. п.1). Авторы драйверов довольно часто забывают это
сделать.
 
 Driver InfoIntel(r) 82801BA Ultra ATA Controller
 Version 6.1.8.0
 Files:
 idebd.sys, intelata.sys, iata2000.dll
 Description:
 Когда я пытаюсь сграбить CDDA диск любым cdripperом (я перепробовал
            множество), то они видят диск, но прочитать нифига не могут... возвращают
            или ошибку или просто проскакивают слету все дорожки, а последняя версия
            CD'n'GO (с "улучшенной" поддержкой устройств) вываливает синий экран с IRQ
            чего то там error... и система наглухо виснет... При этом данные читаются
            на ура, и музыку тоже можно слушать без проблем если в реальном времени...
 
 Intel(r) 82801AA BusMaster IDE Controller
 Version 5.0.21.95.0
 Files:
 intelide.sys (4304)
 Description:
 Повисание при попытке записи на CD
 
 ETEQ
 ?
 Files:
 viaide.sys
 Description:
 Запись на CD-R/RW не работает вообще.
 
 ETEQ
 ?
 Files:
 viadsk.sys
 Description:
 Не работает запись на RW в пакетном режиме (UDF).
            CDFS пишется нормально.
 
 VIA Bus Master Ultra ATA Controller
 Version 11/16/2000, 3.01.1
 Files:
 viadsk.sys (49644)
 Description:
 Запись на CD-R/RW не работает вообще.
 
 VIA Bus Master Ultra ATA Controller
 Version ??/06/2003, 3.20b
 Description:
 когда я пытаюсь проверить диск с
            помощью  CDSpeed  от  Ахеадовцев, он мне рисует либо сплошную желтую
            полосу, либо красные квадратики. И все это за секунду... Гад.
 Info from Alex Y. Matiash
 
 
 Если у вас есть информация о других кривых (или наоборот, ровных)
драйверах IDE BusMaster DMA, пишите на
  FB
  or mail alterX@alter.org.ua (remove X)
   
  Share     PS. На текущий момент я уже написал "правильный" IDE BusMaster driver
для NT4/w2k. Как он поведет себя в XP и .NET я не знаю...
 
 |