На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила трёх "С"
Пожалуйста,
1. Соблюдайте правила Форума.
2. Слушайте советы Модераторов.
(например, http://forum.sources.ru/index.php?act=ST&f=7&t=80382 )
3. Сверяйтесь с учебником по Великому и Могучему
  
> VIA vt8237 + SATA-2 , виснет на новых ядрах linux-a
    Мать Epox 8KRAI с южным мостом vt8237 (SATA-1). Подключен жестяной диск Seagate Barracuda 7200.12 500Gb SATA-2. На винте, разумеется, стоит джампер, чтоб работало в режиме SATA-1.
    На прошлогодних ядрах всё работает без ошибок. Новые ядра (2.6.37/38) попросту виснут с ошибкой типа sata_via: ICRC ABRT, а в смарте при этом растёт значение UDMA_CRC_Error_Count.
    Камрады с аналогичным железом (vt8237+SATA2), у вас такие же проблемы не вылезли, не?
      Цитата CBP @
      Камрады с аналогичным железом (vt8237+SATA2), у вас такие же проблемы не вылезли, не?

      Что-то я сомневаюсь, что камрады с аналогичным железом тут тебе встретяться... ;) Багрепорт-то сделал?
        Цитата Мяут-Настоящий @
        Багрепорт-то сделал?

        Нет, по-фнглийски читаю сносно, а говорю с трудом %)

        Вот нашёл декабрьские изменения в drivers/ata/sata_via.c
        ExpandedWrap disabled
              /*
               * vt6420/1 has problems talking to some drives.  The following
               * is the fix from Joseph Chan <JosephChan@via.com.tw>.
               *
               * When host issues HOLD, device may send up to 20DW of data
               * before acknowledging it with HOLDA and the host should be
               * able to buffer them in FIFO.  Unfortunately, some WD drives
               * send upto 40DW before acknowledging HOLD and, in the
               * default configuration, this ends up overflowing vt6421's
               * FIFO, making the controller abort the transaction with
               * R_ERR.
               *
               * Rx52[2] is the internal 128DW FIFO Flow control watermark
               * adjusting mechanism enable bit and the default value 0
               * means host will issue HOLD to device when the left FIFO
               * size goes below 32DW.  Setting it to 1 makes the watermark
               * 64DW.
               *
               * https://bugzilla.kernel.org/show_bug.cgi?id=15173
               * http://article.gmane.org/gmane.linux.ide/46352
               * http://thread.gmane.org/gmane.linux.kernel/1062139
               */
              if (board_id == vt6420 || board_id == vt6421) {
                  pci_read_config_byte(pdev, 0x52, &tmp8);
                  tmp8 |= 1 << 2;
                  pci_write_config_byte(pdev, 0x52, tmp8);
              }

        Если закомментить /*board_id == vt6420 ||*/ всё снова работает как часы!

        щаз ещё даташиты посмотрю
        Сообщение отредактировано: CBP -
          Цитата Мяут-Настоящий @
          Что-то я сомневаюсь, что камрады с аналогичным железом тут тебе встретяться...

          А зря...
          ExpandedWrap disabled
            00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
            00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]


          Правда, я за ядрышками не гонюсь, поэтому ничего не могу сказать по багу. Если получится, то завтра могу ради интереса проверить.
            Откопал даташиты:

            VT8237R
            ExpandedWrap disabled
              Offset 52 – Transport Miscellaneous Control (00h).......RW
              ...
               2 SATA Flow Control Water Flag
                  0 Based on FIFO threshold value (Rx43)..default
                  1 32DW
              ...


            VT6421A
            ExpandedWrap disabled
              Offset 52 – Transport Miscellaneous Control (00h) ......RW
              ...
               2 S-ATA Flow Control Water Flag
                  1 FFF0 threshold (the value is based on RX43)
                  0 32DW.....................................................default
              ...


            Выходит, значения этого бита 0x52[2] прямо противоположные у vt8237(6240) и vt6241.. Если даташит не врёт :unsure:


            Цитата gruy @
            Правда, я за ядрышками не гонюсь, поэтому ничего не могу сказать по багу. Если получится, то завтра могу ради интереса проверить.

            Было бы неплохо. Да, если я правильно понял, винт должен быть достаточно шустрым, чтоб фифошник захлебнулся. У меня линейно читает 120-80 Мб/сек.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0551 ]   [ 15 queries used ]   [ Generated: 16.04.24, 05:00 GMT ]