Здравствуйте. Есть машина с ASUS P4C800 и двумя винтами Seagate 120Gb(master) и IBM 20Gb(slave) оба ata100. Пытаюсь поставить FreeBSD 4.8 на 20 гиговый винт... Проблема в том, что при конфигурировании второго во время загрузки фря перестаёт на что-либо реагировать (при этом постоянно что-то читая с винта).Выглядит это так:
ad0: 114473MB <ST3120026A> [232581/16/63] at ata0-master BIOSDMA
ad1: READ command timeout tag=0 serv=0 ? resetting
ata0: resetting devices..P.S.
Всё работает нормально, если винты повесить на разные шлейфы или заменить более древним, например, WD 1Gb 5400.
Прошу простить, если этот вопрос есть в FAQ...
>Здравствуйте. Есть машина с ASUS P4C800 и двумя винтами Seagate 120Gb(master) и
>IBM 20Gb(slave) оба ata100. Пытаюсь поставить FreeBSD 4.8 на
>20 гиговый винт... Проблема в том, что при конфигурировании второго во
>время загрузки фря перестаёт на что-либо реагировать (при этом постоянно что-то
>читая с винта).
>
>Выглядит это так:
>ad0: 114473MB <ST3120026A> [232581/16/63] at ata0-master BIOSDMA
>ad1: READ command timeout tag=0 serv=0 ? resetting
>ata0: resetting devices..
>
>P.S.
>Всё работает нормально, если винты повесить на разные шлейфы или заменить более
>древним, например, WD 1Gb 5400.
>Прошу простить, если этот вопрос есть в FAQ...видимо второй HDD - IBM'овский я так понимаю, не поддерживает UDMA100,
либо на разные шлейфы, либо при загрузке переведи в PIO-mode:man 4 ata ( hw.ata.* - поставь те которые нужно в "0")
а в загрзуке, вставь куда-нить, например в /etc/rc.local команду
atacontrol с нужными параметрами.
>видимо второй HDD - IBM'овский я так понимаю, не поддерживает UDMA100Поддерживает... Более того, если его заменить 80 гиговой WD-ой, то и с ним таже история...
Попробуй в биосе второй винт отключить.
выключи ДМА до выяснения, почему не пашет. когда будет отсчет 10 сек, нажми клавишу, попадешь в лоадер, там убери дма
$ set hw.ata.ata_dma="0"
$ bootдалее, чтобы не повторять процедуру при каждой загрузке,
в /boot/loader.conf добавьhw.ata.ata_dma="0"
можешь попробывать выставить режим пониже уже после загрузки, т.е. пропиши где-нибудь (в /etc/rc.conf, хотя это и некрасиво :),
atacontrol mode <channel> <mastermode> <slavemode>
, где про содержимое <параметров> см. в `man atacontrol`. Поставишь слишком много - в лучшем случае помучает винт и сбросит до PIO, в худшем будет паника ядра
Спасибо, помогло... Буду разбираться почему не работает ДМА. Если кто знает, подскажите, пожалуйста.
>Спасибо, помогло... Буду разбираться почему не работает ДМА. Если кто знает, подскажите,
>пожалуйста.тебе сразу все в первом ответе было написано.
DMA работает, вот только вендоры зачастую обманывают покупателей указывая
поддерживаемые режимы DMA. Ну и еще есть ньюансы с реализациями
контроллеров на некоторых матерях: обычно VIA и SiS чипсеты.
>DMA работает, вот только вендоры зачастую обманывают покупателей указывая
>поддерживаемые режимы DMA. Ну и еще есть ньюансы с реализациями
>контроллеров на некоторых матерях: обычно VIA и SiS чипсеты.Возможно я вас плохо понимаю, но, во-первых, чипсет у меня i875P, во-вторых, про режим ДМА я брал информацию не у поставщика , в-третьих, я же писал, что заменял этот винт другими (в общей сложности тремя)... И наконец, я не понимаю, почему же тогда всё прекрасно работает при разносе этих самых винтов на разные шлейфы?
IIRC в одном из сабжевым манов есть маленькое указание на то, что будут глюки, если совмещать на одном канале устройства со слишком разной скоростью, но тут же оба ДМА100... Похоже, что-то где-то за ними не успевает
Опять вылезу. Когда у меня были косяки со слейвом на 4.8, я просто его в биосе отключил, none поставил. При это Фря увидела, дма тоже было какое-то.. Или я полную фигню гоню, что никто не откомментировал? :)
>Опять вылезу. Когда у меня были косяки со слейвом на 4.8, я
>просто его в биосе отключил, none поставил. При это Фря увидела,
>дма тоже было какое-то.. Или я полную фигню гоню, что никто
>не откомментировал? :)Там в биосе в настройках ATA есть параметры совместимости контроллеров. Если у тебя тока PATA то выстави там PATA Only или что то такое, просто точно не помню...