LINUX.ORG.RU

Promice 20265 + VIA + 2.4.18 + HDD120Gb


0

0

Кому нибудь удалось подружить эту связочку?

Начиная с версии 2.4.18 при загрузке ядра все виснет при опросе винта. Путем исследований было установлено, что драйвер PDC202XX инициализирут контроллер, правильно опрашивает винт, затем запускает DMA и ВЕЧНО ждет прерывания о завершении транзакции.

Такая картина наблюдается на всех ядрах (работает только 2.4.9 и то только в PIO моде) и двух винчестерах ATA6 (Maxtor и Seagate). Под оффтопиком все нормально работает.

Комментарии?


> Комментарии?

Пожалуйста. Какой контроллер (полное название)?

> картина наблюдается на всех ядрах (работает только 2.4.9

То есть не работает и на _самом_последнем_ ядре ветки 2.4? С одним винчестером работает (с каким)? Возможно, что просто указанные винты не могут жить вместе.

> запускает DMA и ВЕЧНО ждет прерывания

А, ну это почти анекдот уже. Выдающиеся умы компании via аж с 1993-го года не могут добиться, чтобы dma работало так, как ему положено без применения костылей типа via 4-in-1 и pci latency в виндовозе. Бракоделы c /dev/brain не в том месте.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

В общем, картина такая:
Оставляем один винт со спецификацией ATA/ATAPI6 (примеры: Seagate Baracuda ST 3120022A, Maxtor Fireball 3) на контроллере Promise PDC20265. Родной VIA контроллер можем отключить, подключить, выпаять (по выбору). Далее стартуем ядра:
2.4.9 - находит контроллер, винт, работает в пио моде.
2.4.18 - 2.4.21 - находит контроллер, винт, виснет с воплем - "Partition Check hdc1..."
2.4.22 - ваще ничего не находит.

Дальнейшие эксперименты:

Есть у меня на работе embeded платка MIPS-овская с таким контроллером на борту, на которую мы линукс ставили. На ней та же картина.
Любые винты поддерживаются и видны кроме ATA6. (Проверялось штук 10 разных).

При разборках с драйвером, долгого ползанья по спецификациям и т.д. выяснилась именно такая картина, как я описал в 1-ом письме. Т.е. драйвер инициализирует контроллер верно. Потом вроде-бы верно инитит винт, программирует DMA и вечно ждет прерывания о завершении транзакции.

Может IDE драйвер линукса вообще с ATA6 не дружит?

danya
() автор топика
Ответ на: комментарий от danya

Так и не услышал название контроллера (Ultra100, Ultra133). Или это какой-то встроенный?

Насчет ata6 -- если это UDMA133, то говорят, что только в 2.6 ветке поддерживается.

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

Контроллер встроенный. На плате разведен в дополнение к родному виашному. Да это и не важно.

ATA6 != UDMA133. UDMA133 - это скорость обмена. А АТА6 - это спецификация протокола обмена. Типа с поддержкой ACPI и т.д. Тот же Seagate про который я писал - он UDMA100, но ATA6.

А кто и где говорит?

danya
() автор топика
Ответ на: комментарий от danya

Я криво выразился, имелось в виду не udma133, а ATA-133, то бишь Serial-ATA (все предыдущие -- Parallel-ATA). Говорили про поддержку Serial-ATA на каком-то форуме (не помню, то ли ixbt, то ли OpenNet).

Obidos ★★★★★
()
Ответ на: комментарий от Obidos

> ATA-133, то бишь Serial-ATA

Чего? При чем тут SATA? Это ваще из другой оперы...

АТА6 от АТА5 отличается временными диаграммами и добавлением комманд по работе с кэшем винта. Может и еще чем, не внимательно смотрел.

А у SATA даже разъем не IDE. :-)

danya
() автор топика
Ответ на: комментарий от danya

М-да, я похоже мощно облажался. Спишем на пятницу + вынужденное принятие спиртных напитков на рабочем месте (ДР коллеги).

Obidos ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.