Проблема следующая. Есть старый и слегка покоцанный 100-гигабайтник Seagate. При загрузке он определяется как:
hdb: ST3120022A, ATA DISK drive
hdb: host max PIO5 wanted PIO255(auto-tune) selected PIO4
hdb: host side 80-wire cable detection failed, limiting max speed to UDMA33
hdb: UDMA/33 mode selected
hdb: max request size: 512KiB
hdb: 234441648 sectors (120034 MB) w/2048KiB Cache, CHS=16383/255/63
Но в udma/33 он работает некорректно, сыпет ошибками и т.д, поэтому приходится выполнять:
hdparm -Xudma0 /dev/hdb, после чего винт нормально работает в UDMA/16.
Теперь собственно вопрос: как, окромя вставки команды в rc-скрипты, можно указать системе, что этот винт надо устанавливать в UDMA/16? Это в сторону udev нужно копать, или ядру параметр передать какой-нить? В BIOS на эту тему ничего не нашел, там DMA можно лишь включить, и выключить.
Заранее спасибо за ответы.