Уря, есть успехи! Это ещё не полная победа, но уже близко. Подробности - все измывательства сейчас сосредоточились на целевом сервере Intel S875WP1-E. У него на борту один PATA и два SATA канала. При включеной поддержке RAID (досовская утилита sataraid), в setup-е BIOS-а в разделе Advanced-Drive Configuration можно выбрать режим работы ATA: ATA/IDE Configuration - Enhanced или Legacy. В режиме Legacy никакого SATA RAID не будет, а все IDE каналы будут представлены раздельно в старом "классическом" стиле. Legacy IDE Channels выбран "SATA P0/P1, PATA Sec".У меня к SATA подключены два WD Raptor, а к PATA - Maxtor, соответственно они оказались пронумерованы как 0,1 - Raptor-ы и 2 - Maxtor.
На Maxtor-е установлена NW4.11+SP9 и 5.1+SP7, но пока все разборки проделываются с NW4.11. Создан том SYS на 2 гигабайта. Использован IDEATA.HAM версии 4.15, IDEHD.CDM v4.12. Поскольку выбрана legacy мода, то и IDEATA я гружу в "устаревшем" режиме, т.е., в startup.ncf написано:
LOAD IDEATA.HAM /LEGACY INT=E PORT=1F0
LOAD IDEATA.HAM /LEGACY INT=F PORT=170
Что имеем? Да всё! Грузится без ошибок, распознаёт чипсет, и DMA
работает! Распознание чипсета видно по load ideata /info /?. Гружу портлоковский DSKTEST, выбираю тест на последовательное чтение, по 256 секторов. Ву-аля! Скорость чтения с Maxtor-а (на краю диска) - ~35 Мбайт/сек. "Рапторы" показали себя ещё круче - скорость чтения в районе ~55Мбайт/сек! При этом по монитору загрузка процессора - не превышала 2 (два!) процента.
Промежуточный итог - в режиме legacy на этой конкретной плате драйвер работает безукоризненно, распознаны и PATA и SATA порты, DMA для них включился, скорость обмена очень хорошая. И это - под NW4.11!
Но мне-то хочется заиметь RAID1 на двух SATA Raptor-ах, там RAID пусть хоть и не чисто аппаратный, но грузить процессор на зеркале будет несомненно меньше, чем на зеркале, сделанном средствами Netware. Поддержка ICH5 RAID заявлена (эта строка видна невооружённым глазом в теле ideata.ham).
Включаю в setup-е BIOS-а режим Enhanced. В этом режиме для ideata нужно указывать уже не старостильные port=... и int=..., а более современный параметр slot=.... Делаю в startup.ncf загрузку IDEATA.HAM вообще без параметров (оставляю только ключ /info для отладки). И вот оно, началось - при загрузке чипсет НЕ ОПОЗНАЛСЯ, соответственно IDE работает в PIO моде, со всеми вытекающими - медленно, большая загрузка CPU. Ну и диски, собранные в RAID1 на SATA интерфейсах, не видны вообще. Ну да, так оно и было с самого начала, помню. Попытки выгрузить и ещё раз загрузить ideata к успеху не приводят.
И тут тот самый венгр подсказал мне спасительный трюк - попробовать сделать первую загрузку ideata с ключиком /LEGACY, потом выгрузить и загрузить снова, уже в "современном" режиме. ПОЛУЧИЛОСЬ! Бред, но это так
. Более того, не потребовалось явной выгрузки IDEATA - при работе платы в режиме Enhanced и попытке загрузить IDEATA в "старом" стиле:
LOAD IDEATA.HAM /LEGACY INT=E PORT=1F0
Он ругается на необнаруженные порты и просто НЕ ГРУЗИТСЯ. Если тут же его загрузить в "новом" стиле:
LOAD IDEATA.HAM /NATIVE /INFO SLOT=10016
то чипсет будет распознан, DMA включится (у меня эти две строки были расположены подряд в startup.ncf)! Проверка с помощью DSKTEST подтвердила - диск работает быстро, процессор не нагружается. Насколько я понял логику нового ideata, из двух загрузок с ключом /legacy и /native одна не пройдёт в любом случае. Тогда непонятно, зачем устраивать фокусы с явной выгрузкой ideata, которые венгр описывает у себя на странице (с "расщеплением" autoexec.ncf и пр.):
temporary idea of "forcing" UDMA
Хотя может быть я и неправ, и на других материнских платах ideata загрузится и с ключом /legacy и без него. Но в любом случае есть полезный результат: пустая загрузка/выгрузка "ideta /legacy" помогает опознать чипсет и включить DMA.
Осталось найти поддержку RAID SATA, потому что сейчас в режиме Enhanced у меня опознаётся только диск, подключённый к PATA интерфейсу. Буду изучать дамп программы PCI.EXE, может быть увижу какой SLOT=... надо указать во второй строке загрузки IDEATA. О результатах доложу.