NForce4 + DMA (задачка)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

shulik
Сообщения: 256
ОС: OpenSuse 11 / FreeBSD 7.0

NForce4 + DMA

Сообщение shulik »

Для начала всех с Наступившим :)

А теперь по сути: стоит сервачок Athlon64 NForce4. Крутится на нем Linux 2.6.14.5. Стоят SATA винты и безбедно себе работают. За время работы словил вот какие вещи:
Пришлось однажды повесить IDE ATA винт. Все бы ничего, только вот DMA на IDE на NForce4 не заводится. Гугля ничего толкового не подсказала. Может кто знает как пофиксить эту радось? :blink:

И еще вот что наблюдалось: иногда один из разделов под ext3 вдруг оказывается RO. Смотрю dmesg. Там какая-то ругонь про ошибки на ext3 по типу блок с данными за пределами или что-то такое. Причем на разделе /var это происходило как-то несколько дней подрядв промежуток 6.20-6.25 утра. По логам в это время работали самые разные проги, по крону ваще ничего не было. Перенес var на /. Перестало глючить. Отформатил var в xfs. Вернул его на отдельный раздел. Сейчас (тьфу-тьфу-тьфу) пашет без глюков. Но на других разделах иногда такое бывает. Что ему не нравится?
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: NForce4 + DMA

Сообщение Angel_13th »

shulik На nforce4 DMA пашет будь здоров. У тебя причин может быть несколько. 1. Ядро собрано без поддержки ide nforce. 2. Винт не хочет работать в режиме дма из-за собственных причин. 3.Битый шлейф.

Отформатил var в xfs
xfs предназначен для работы с большими файлами (фильмы, исошки). Если ты в /var держиш что то такое, то нормально! Если же там файлы веб-сервера или стандартный набор, я бы посоветовал reiserfs.
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
shulik
Сообщения: 256
ОС: OpenSuse 11 / FreeBSD 7.0

Re: NForce4 + DMA

Сообщение shulik »

Angel писал(а):
03.01.2006 04:40
shulik На nforce4 DMA пашет будь здоров. У тебя причин может быть несколько. 1. Ядро собрано без поддержки ide nforce. 2. Винт не хочет работать в режиме дма из-за собственных причин. 3.Битый шлейф.

Отформатил var в xfs
xfs предназначен для работы с большими файлами (фильмы, исошки). Если ты в /var держиш что то такое, то нормально! Если же там файлы веб-сервера или стандартный набор, я бы посоветовал reiserfs.


Код: Выделить всё

/*
 * Version 2.13
 *
 * AMD 755/756/766/8111 and nVidia nForce/2/2s/3/3s/CK804/MCP04
 * IDE driver for Linux.
 *
 * Copyright (c) 2000-2002 Vojtech Pavlik
 *
 * Based on the work of:
 *      Andre Hedrick
 */

/*
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 as published by
 * the Free Software Foundation.
 */

#include <linux/config.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/ioport.h>
#include <linux/blkdev.h>
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/ide.h>
#include <asm/io.h>

#include "ide-timing.h"

#define DISPLAY_AMD_TIMINGS

#define AMD_IDE_ENABLE          (0x00 + amd_config->base)
#define AMD_IDE_CONFIG          (0x01 + amd_config->base)
#define AMD_CABLE_DETECT        (0x02 + amd_config->base)
#define AMD_DRIVE_TIMING        (0x08 + amd_config->base)
#define AMD_8BIT_TIMING         (0x0e + amd_config->base)
#define AMD_ADDRESS_SETUP       (0x0c + amd_config->base)
#define AMD_UDMA_TIMING         (0x10 + amd_config->base)

#define AMD_UDMA                0x07
#define AMD_UDMA_33             0x01
#define AMD_UDMA_66             0x02
#define AMD_UDMA_100            0x03
#define AMD_UDMA_133            0x04
#define AMD_CHECK_SWDMA         0x08
#define AMD_BAD_SWDMA           0x10
#define AMD_BAD_FIFO            0x20
#define AMD_CHECK_SERENADE      0x40

/*
 * AMD SouthBridge chips.
 */

static struct amd_ide_chip {
        unsigned short id;
        unsigned long base;
        unsigned char flags;
} amd_ide_chips[] = {
        { PCI_DEVICE_ID_AMD_COBRA_7401,         0x40, AMD_UDMA_33 | AMD_BAD_SWDMA },
        { PCI_DEVICE_ID_AMD_VIPER_7409,         0x40, AMD_UDMA_66 | AMD_CHECK_SWDMA },
        { PCI_DEVICE_ID_AMD_VIPER_7411,         0x40, AMD_UDMA_100 | AMD_BAD_FIFO },
        { PCI_DEVICE_ID_AMD_OPUS_7441,          0x40, AMD_UDMA_100 },
        { PCI_DEVICE_ID_AMD_8111_IDE,           0x40, AMD_UDMA_133 | AMD_CHECK_SERENADE },
        { PCI_DEVICE_ID_NVIDIA_NFORCE_IDE,      0x50, AMD_UDMA_100 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE,     0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE2S_IDE,    0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE2S_SATA,   0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE3_IDE,     0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE3S_IDE,    0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA,   0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE3S_SATA2,  0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE_CK804_IDE,        0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE_MCP04_IDE,        0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_IDE,        0x50, AMD_UDMA_133 },
        { PCI_DEVICE_ID_NVIDIA_NFORCE_MCP55_IDE,        0x50, AMD_UDMA_133 },
        { 0 }
};


Это кусочек кода из amd74xx.c из сырцов ядра. Судя по нему я предположил что NFORCE4 не поддерживается. Да и всемирный разум гугл о том же писал.

Вот что происходит в реале:

Код: Выделить всё

# hdparm -d1 /dev/hdd                                                ..5/drivers/ide/pci

/dev/hdd:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma    =  0 (off)


В dmesg ничего не появилось нового...
Так что пока панацеи не нашел...
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: NForce4 + DMA

Сообщение Angel_13th »

AMD 755/756/766/8111 and nVidia nForce/2/2s/3/3s/CK804/MCP04

CK804 - насколько я помню это и есть тот самый контролер. Вот кусок вывода lspci

Код: Выделить всё

00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev a2)
00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3)
00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev a3)
Моя система описанна в подписи.
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
shulik
Сообщения: 256
ОС: OpenSuse 11 / FreeBSD 7.0

Re: NForce4 + DMA

Сообщение shulik »

У меня тут видок поплачевнее будет. Вот вывод lspci -v (кусочек):

Код: Выделить всё

0000:00:06.0 IDE interface: nVidia Corporation: Unknown device 0053 (rev f2) (prog-if 8a [Master SecP PriP])
        Subsystem: Asustek Computer, Inc.: Unknown device 815a
        Flags: bus master, 66MHz, fast devsel, latency 0
        I/O ports at f000 [size=16]
        Capabilities: [44] Power Management version 2

0000:00:07.0 IDE interface: nVidia Corporation: Unknown device 0054 (rev f3) (prog-if 85 [Master SecO PriO])
        Subsystem: Asustek Computer, Inc.: Unknown device 815a
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 16
        I/O ports at 09f0 [size=8]
        I/O ports at 0bf0 [size=4]
        I/O ports at 0970 [size=8]
        I/O ports at 0b70 [size=4]
        I/O ports at d800 [size=16]
        Memory at dc002000 (32-bit, non-prefetchable) [size=4K]
        Capabilities: [44] Power Management version 2

0000:00:08.0 IDE interface: nVidia Corporation: Unknown device 0055 (rev f3) (prog-if 85 [Master SecO PriO])
        Subsystem: Asustek Computer, Inc.: Unknown device 815a
        Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 17
        I/O ports at 09e0 [size=8]
        I/O ports at 0be0 [size=4]
        I/O ports at 0960 [size=8]
        I/O ports at 0b60 [size=4]
        I/O ports at c400 [size=16]
        Memory at dc001000 (32-bit, non-prefetchable) [size=4K]
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Спасибо сказали:
Аватара пользователя
Angel_13th
Сообщения: 1164
Статус: ...-oo=ll=oo-...
ОС: Gentoo

Re: NForce4 + DMA

Сообщение Angel_13th »

Попробуй обновить базу данных lspci

Код: Выделить всё

update-pciids
WorkStation Ubuntu 10.10 on Fujitsu-Siemens Amilo Pro 3545
Спасибо сказали:
Аватара пользователя
Virtualik
Сообщения: 69
ОС: Slackware 12.0

Re: NForce4 + DMA

Сообщение Virtualik »

пользуй именно эту опцию "AMD and nVidia IDE support", не помню как модуль называется, у меня он в ядро вкомпилен. На моей матери нфорс4 и закрутилось с этим драйвером.
Спасибо сказали:
shulik
Сообщения: 256
ОС: OpenSuse 11 / FreeBSD 7.0

Re: NForce4 + DMA

Сообщение shulik »

Angel писал(а):
04.01.2006 13:44
Попробуй обновить базу данных lspci

Код: Выделить всё

update-pciids


Повеселело:

Код: Выделить всё

0000:00:06.0 IDE interface: nVidia Corporation CK804 IDE (rev f2)
0000:00:07.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)
0000:00:08.0 IDE interface: nVidia Corporation CK804 Serial ATA Controller (rev f3)


Драйверок попробую....
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Спасибо сказали:
shulik
Сообщения: 256
ОС: OpenSuse 11 / FreeBSD 7.0

Re: NForce4 + DMA

Сообщение shulik »

Virtualik писал(а):
04.01.2006 13:51
пользуй именно эту опцию "AMD and nVidia IDE support", не помню как модуль называется, у меня он в ядро вкомпилен. На моей матери нфорс4 и закрутилось с этим драйвером.


Да - с этим модулем после статического вкомпиляния завелось. Странно - почему он не юзал его по умолчанию?

Спасибо за совет ;)
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Спасибо сказали: