ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Sergey Vlasov <vsu@altlinux.ru>
To: community@lists.altlinux.org
Subject: Re: [Comm] Режим винчестера UDMA2. Непонятно  почему.
Date: Wed, 19 Aug 2009 22:26:27 +0400
Message-ID: <20090819182627.GA27616@atlas.home> (raw)
In-Reply-To: <47375.194.44.242.194.1250692402.metamail@webmail.meta.ua>

[-- Attachment #1: Type: text/plain, Size: 6022 bytes --]

On Wed, Aug 19, 2009 at 05:33:22PM +0300, Olexander Chernetskyy wrote:
> > On Sun, Aug 16, 2009 at 05:47:23PM +0300, Olexander Chernetskyy wrote:
[...]
> >> # grep -i cable /var/log/dmesg
> >> [ 2.487614] ata2.01: limited to UDMA/33 due to 40-wire cable
[...]
> Мать = EliteGroup PF4 Extrime Edition, чипсет i915.
> К этому кабелю не подключено больше ничего.
> Из дисковых устройств еще имеются SATA HDD Seagate Baracuda 250GB
> (/dev/sda) и SATA DVD-RW Sony-NEC-Optiarc. (/dev/sr0 кажись)
> 
> >Если там один этот диск как slave, это неправильно.
> Да, так и есть (т.е. было)- устройство одно на шлейфе и slave. Раньше там
> был мастер, который я отключил за ненедобностью.
> Поставил джампер в положение "Master or single drive" - ничего не
> изменилось. Ну кроме того, что имя стало /dev/hda.

Значит, поменялось что-то ещё - первое сообщение было явно от libata
(драйвер ata_piix), а теперь стал использоваться драйвер IDE.  Либо
пересобирался initrd, либо не все опции BIOS были возвращены в
первоначальное значение.

С другой стороны, одинаковое поведение разных драйверов (а также
существенно более свежего ядра из openSUSE 11.2 M5) даёт ещё больше
оснований считать, что проблема связана именно с этим железом, а не с
ошибками в драйверах.

Кроме того, при использовании драйверов IDE (если проблемный диск -
/dev/hda), module-init-tools >= 3.4 и ядра 2.6.25 можно попробовать
загрузку с добавлением параметра:

  ide.options=ide0=ata66

(будет ругань "OBSOLETE OPTION", но другого варианта в той версии ядра
на самом деле нет).  Для ядра 2.6.27 (и более свежих версий) нужен уже
другой параметр:

  ide.ignore_cable=0

В случае использования драйверов libata параметр следующий:

  libata.force=2:80c

("2" соответствует номеру в сообщении вида "ata2.01: limited to
UDMA/33 due to 40-wire cable").

> > Ещё покажите полностью вывод hdparm -I для этого диска.
> # hdparm  -I /dev/hda
> /dev/hda:
> ATA device, with non-removable media
>         Model Number:       ST360021A
>         Serial Number:      3HR0Y8SV
>         Firmware Revision:  3.19
> Standards:
>         Supported: 5 4 3
>         Likely used: 6
> Configuration:
>         Logical         max     current
>         cylinders       16383   16383
>         heads           16      16
>         sectors/track   63      63
>         --
>         CHS current addressable sectors:   16514064
>         LBA    user addressable sectors:  117231408
>         device size with M = 1024*1024:       57241 MBytes
>         device size with M = 1000*1000:       60022 MBytes (60 GB)
> Capabilities:
>         LBA, IORDY(can be disabled)
>         bytes avail on r/w long: 4
>         Standby timer values: spec'd by Standard
>         R/W multiple sector transfer: Max = 16  Current = 16
>         Recommended acoustic management value: 128, current value: 254
>         DMA: mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 udma5
>              Cycle time: min=120ns recommended=120ns
>         PIO: pio0 pio1 pio2 pio3 pio4
>              Cycle time: no flow control=240ns  IORDY flow control=120ns
> Commands/features:
>         Enabled Supported:
>            *    SMART feature set
>                 Security Mode feature set
>            *    Power Management feature set
>            *    Write cache
>            *    Look-ahead
>            *    Host Protected Area feature set
>            *    WRITE_BUFFER command
>            *    READ_BUFFER command
>            *    DOWNLOAD_MICROCODE
>                 SET_MAX security extension
>            *    Automatic Acoustic Management feature set
>                 Device Configuration Overlay feature set
> Security:
>         Master password revision code = 65534
>                 supported
>         not     enabled
>         not     locked
>         not     frozen
>         not     expired: security count
>         not     supported: enhanced erase
> HW reset results:
>         CBLID- above Vih

С точки зрения устройства тут всё правильно - распознаётся 80-жильный
кабель.

Тогда возможны следующие варианты:

 1) Плохой кабель (сигнал CBLID- в разъёме, подключенном к материнской
    плате, не заземлён, как это должно быть для правильного
    распознавания типа кабеля).  Либо перепутаны разъёмы кабеля (хотя
    тогда в выводе hdparm -I состояние CBLID- должно было быть
    другим).

 2) Не работает цепь распознавания типа кабеля на материнке (а BIOS не
    выполняет распознавание) - либо что-то погорело, либо вообще не
    реализовано с целью копеечной экономии.

 3) BIOS портит регистр IOCFG контроллера (например, что-то типа
    описанного в http://bugzilla.kernel.org/show_bug.cgi?id=11879 -
    хотя в проверявшемся ядре из openSUSE 11.2 M5 именно эта ошибка
    должна быть исправлена, возможно, что-то подобное возникает в
    других ситуациях)

>         Device num = 1
> Checksum: correct
> [root@archer ~]#
> ---8<---
> 
> Решил поиграться с параметрами БИОС. Увлекательнейшее занятие, должен я
> вам сказать. А уж какие непредсказуемые результаты получаются... Ну просто
> "вместо хвоста нога, а на ноге рога" :-)
> 
> Смотрю есть параметр "On-Chip Serial ATA"=Enhanced. А ну-ка поставлю =AUTO.
> На кабель не жалуется. Все диски с точки зрения системы стали /dev/hdX.
> hdparm -i говорит: UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
> Вроде-бы всё нормально. НО!
> # hdparm  -t /dev/hdc
> /dev/hdc:
>  Timing buffered disk reads:    8 MB in  3.45 seconds =   2.32 MB/sec
> Во как!

Очевидно, режим контроллера поменялся на эмуляцию IDE, а модуля piix в
initrd не оказалось, в результате был загружен драйвер ide-generic без
поддержки DMA.

> От следующего открытия я вообще офонарел. Перестали монтироваться флешки с
> файловой системой NTFS. Говорит "только рут может это сделать". Вернул
> "On-Chip Serial ATA"=Enhanced флешки снова начали монтироваться. Чудеса да
> и только!

Действительно странное явление...

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

  reply	other threads:[~2009-08-19 18:26 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-16 14:47 Olexander Chernetskyy
2009-08-16 16:53 ` Sergey Vlasov
2009-08-19 14:33   ` Olexander Chernetskyy
2009-08-19 18:26     ` Sergey Vlasov [this message]
2009-08-17  4:21 ` Шишков Евгений
2009-08-17  6:44   ` Michael Shigorin
2009-08-17  7:52     ` Шишков Евгений

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090819182627.GA27616@atlas.home \
    --to=vsu@altlinux.ru \
    --cc=community@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git