# [SOLVED]Problemy z ustawieniem DMA

## bukik

Witam forumowiczow!!!

Podczas proby ustawienia DMA na dysku:

```
hdparm -d1 /dev/hdb

```

wyskakuje mi blad typu:

```
 setting using_dma to 1 (on)

 HDIO_SET_DMA failed: Operation not permitted

 using_dma    =  0 (off)

```

Moj dysk to:

```
Model=WDC WD400JB-00ENA0, FwRev=05.03E05, SerialNo=WD-WCAD16530502

 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }

 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=40

 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4

 DMA modes:  mdma0 mdma1 mdma2

 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

 AdvancedPM=no WriteCache=enabled

```

Kernel jest skonfigurowany odpowiednio z chipsetem na plycie glownej,tj:

```
IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

```

w konfiguracji jadra mam zaznaczone nastepujace opcje:

<*>     Include IDE/ATA-2 DISK support    

<M>     generic/default IDE chipset support

[*]         Use PCI DMA by default when available                              

             [*]           Enable DMA only for disks               

<*>         VIA82CXXX chipset support                                 

nie mam pojecia w czym jest problem. 

Dzieki z gory za pomoc!Last edited by bukik on Sun Jan 08, 2006 10:55 pm; edited 1 time in total

----------

## BeteNoire

```
<M> generic/default IDE chipset support
```

 zmień na 

```
<*> generic/default IDE chipset support 
```

Btw. mam identyczny czipset. W konfigu mam jeszcze u siebie:

```
<*>       Generic PCI IDE Chipset Support

[*]       Generic PCI bus-master DMA support 
```

 a to 

```
 [*] Enable DMA only for disks 
```

 mam wyłączone.

----------

## bukik

probowalem juz wczesniej na tej opcji ale tez nie dziala..pojawia sie ten sam komunikat...

dodam ze mam kernela 

```
kernel-2.6.14-gentoo-r5

```

----------

## BeteNoire

Gwiazdka przy udma5 oznacza, że jest to aktualny tryb (właściwy dla "Caviorów" ata) :  

```
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
```

Podaj wyjście: 

```
hdparm -tT /dev/hdb
```

----------

## bukik

wiem o tym ze * wskazuje  to aktywny tryb tj udma5...

ustawienia mam takie jak Twoje wylaczylem opcje 

```
[]Enable DMA only for disks
```

przekompilowalem jadro a sytuacja taka sama...

oto wyniki testu:

```
/dev/hdb:

 Timing cached reads:   940 MB in  2.00 seconds = 469.97 MB/sec

 Timing buffered disk reads:   10 MB in  3.26 seconds =   3.06 MB
```

pomysly mi sie skonczyly:(

----------

## BeteNoire

Pokaż:

```
cat /var/log/dmesg |grep DMA

cat /var/log/dmesg |grep ide 
```

Dysk podpięty oczywiście na 80-żyłowej taśmie?

----------

## bukik

nie mam pojecia czy na 80 zylowej...pod Windowsem mi chodzi DMA wiec tasma chyba jest w porzadku..

oto wyniki cat-a:

```
DMA zone: 4096 pages, LIFO batch:1

```

```
BIOS-provided physical RAM map:

ACPI: IRQ0 used by override.

ACPI: IRQ2 used by override.

ACPI: IRQ9 used by override.

CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000

CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 00000000 00000000

Boot video device is 0000:01:00.0

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

Probing IDE interface ide0...

Probing IDE interface ide1...

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

ide1 at 0x170-0x177,0x376 on irq 15

```

dodam ze na tej samej tasmie podpiety mam drugi dysk Maxtora(hda) ktory dziala w trybie UDMA 6 ale dla niego tez nie moge ustawic DMA

----------

## Aktyn

 *bukik wrote:*   

> nie mam pojecia czy na 80 zylowej...pod Windowsem mi chodzi DMA wiec tasma chyba jest w porzadku..
> 
> dodam ze na tej samej tasmie podpiety mam drugi dysk Maxtora(hda) ktory dziala w trybie UDMA 6 ale dla niego tez nie moge ustawic DMA

 

1. odepnij jeden dysk, albo rzuć go nachwile na drugie IDE, i zobacz czy bedzie oddzielnie OK

2. skąd wiesz że w windows jest ok. Wingroza to symulant, bez przerwy udaje że działa poprawnie

3. Jeżeli 1 nie pomoze, to powalcz jeszcze z jajkiem

----------

## ziemia

Też mam ten czipset z tej seri.

Pokaż co pokazuje:

```
cat /proc/ide/via
```

u mnie:

```

----------VIA BusMastering IDE Configuration----------------

Driver Version:                     3.38

South Bridge:                       VIA vt82c686a

Revision:                           ISA 0x22 IDE 0x10

Highest DMA rate:                   UDMA66

BM-DMA base:                        0xd000

PCI clock:                          33.3MHz

Master Read  Cycle IRDY:            0ws

Master Write Cycle IRDY:            0ws

BM IDE Status Register Read Retry:  yes

Max DRDY Pulse Width:               No limit

-----------------------Primary IDE-------Secondary IDE------

Read DMA FIFO flush:          yes                 yes

End Sector FIFO flush:         no                  no

Prefetch Buffer:               no                  no

Post Write Buffer:             no                  no

Enabled:                      yes                 yes

Simplex only:                  no                  no

Cable Type:                   80w                 40w

-------------------drive0----drive1----drive2----drive3-----

Transfer Mode:       UDMA       PIO       PIO      UDMA

Address Setup:       30ns     120ns     120ns      30ns

Cmd Active:          90ns      90ns      90ns      90ns

Cmd Recovery:        30ns      30ns      30ns      30ns

Data Active:         90ns     330ns     330ns      90ns

Data Recovery:       30ns     270ns     270ns      30ns

Cycle Time:          30ns     600ns     600ns      60ns

Transfer Rate:   66.6MB/s   3.3MB/s   3.3MB/s  33.3MB/s

```

Widzisz tu też jaką masz tasmę  :Smile:  bez rozkrecania kompa:

Ja mam:

```

Cable Type:                   80w                 40w

```

Czyli 1-80 a 2- 40

----------

## bukik

hmmm.....dziwne ale nie mam takiego pliku jak via w /proc/ide...

co moze byc tego przyczyna??kiedy jest tworzony ten plik podczas kompilacji jadra??

po kompilacji jajka uzywam polecenia

```
make && make modules_install
```

pozniej kopiuje obraz nowego jadra do /boot...

----------

## Aktyn

 *bukik wrote:*   

> hmmm.....dziwne ale nie mam takiego pliku jak via w /proc/ide...
> 
> co moze byc tego przyczyna??kiedy jest tworzony ten plik podczas kompilacji jadra??
> 
> po kompilacji jajka uzywam polecenia
> ...

 

zdajesie że podczas startu systemu,

zemerguj sobie pciutils chyba że już masz, i pokaz info

```
lspci
```

Bo robi wrazenie że jednak czegoś nie ma w kenelu, oczywiście pkt 1. rozumiem zrobiony?

----------

## bukik

znalazlem gdzies na forum ze plik /proc/ide/via tworzony jest podczas ladowania sie chipsetu via...czyzby sie nie ladowal??

a to wynik lspci:

```

00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge

 (rev 80)

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge

00:09.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139                  C+ (rev 10)

00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Control                  ler (rev 80)

00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/                  C PIPC Bus Master IDE (rev 06)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller                   (rev 81)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller                   (rev 81)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller                   (rev 81)

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller                   (rev 81)

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T89                  0 South]

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 A                  C97 Audio Controller (rev 60)

01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (re                  v a1)

```

moze ma ktos taki sam chipset i moze mi calego configa pokazac??

----------

## Aktyn

 *bukik wrote:*   

> moze ma ktos taki sam chipset i moze mi calego configa pokazac??

 

moze sam sie pochwal co tam masz za config, a ten pkt 1 to moge za ciebie nawet zrobic, tyko nie wiem jak

----------

## BeteNoire

 *bukik wrote:*   

> moze ma ktos taki sam chipset i moze mi calego configa pokazac??

 

Pisałem Ci już że mam taki sam. Nie wierzysz? Proszę:

```
00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge (rev 80)

00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge

00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

00:0f.0 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)

00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81)

00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)

00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]

00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)

01:00.0 VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)
```

Płyta MSI KT6 Delta rev 2.

Tu masz mój konfig: http://www.rafb.net/paste/results/CcQurz37.html

Może wyłącz u siebie w biosie ten SATA RAID controller - bo na pewno nie masz Raidu.

----------

## bukik

skonfigurowalem jajko z opcjami takimi jak ma BeteNoire i skompilowaem ponownie...

pozatym sprawdzilem ustawienia w Biosie-DMA wlaczone..ponadto wylaczylem SATA..

probowalem odlaczac drugi dysk(hda-na ktorym mam Win) ale...nie wiem dlaczego nie czyta mi wtedy dysku hdb-na tymze dysku mam lilo i gentoo...

dodam moze jeszcze moje lilo:

```
boot="/dev/hdb"

prompt

timeout="50"

default=gentoo

vga="791"

image="/boot/kernel-2.6.14-gentoo-r5"

        label="gentoo"

read-only

        root="/dev/hdb3"

other=/dev/hda1

label=windows

```

....wiecie jaka moze byc przyczyna tego ze laduje mi sie chipset VIA...tj nie mam pliku /proc/ide/via???

----------

## pmz

Wystaw gdzieś w sieci cały plik /var/log/dmesg - jest szansa, że tam będzie odpowiedź.

----------

## BeteNoire

 *bukik wrote:*   

> ....wiecie jaka moze byc przyczyna tego ze laduje mi sie chipset VIA...tj nie mam pliku /proc/ide/via???

 

Ja też tego nie mam. Kiedyś miałem. Podejrzewam, że przyczyna jest wyłączonej jakiejś starej (legacy) opcji kernela... "legacy /proc/pci" ??

----------

## bukik

ok umiescilem dmesg:

http://www.rafb.net/paste/results/ewgDqm51.html

----------

## pmz

Nie powiem nic nowego - wyraźnie widać, że Twój chipset nie jest rozpoznawany przez jądro. 

Też mam układ VIA (vt8237), mam UDMA, a w jądrze ustawiłem:

```
CONFIG_IDE_GENERIC=y

CONFIG_BLK_DEV_IDEPCI=y

CONFIG_IDEPCI_SHARE_IRQ=y

CONFIG_BLK_DEV_GENERIC=m

CONFIG_BLK_DEV_IDEDMA_PCI=y

CONFIG_IDEDMA_PCI_AUTO=y

CONFIG_BLK_DEV_VIA82CXXX=y

CONFIG_BLK_DEV_IDEDMA=y

CONFIG_IDEDMA_AUTO=y

```

Jeszcze raz dokładnie porównaj swój konfig z moim i spróbuj przekompilować jajko w razie potrzeby.

----------

## bukik

mam takie same jak Ty ale teraz juz eksperymentuje ze wszystkimi...

ale ciagle to samo.... :Sad: ((((((((

----------

## bukik

wlasnie odpalilem LiveCd i tak wszystko dziala:

dmesg|grep ide daje wyniki:

```
BIOS-provided physical RAM map:

ACPI: IRQ0 used by override.

ACPI: IRQ2 used by override.

ACPI: IRQ9 used by override.

CPU: After generic identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000$

CPU: After vendor identify, caps: 0383fbff c1c3fbff 00000000 00000000 00000000 $

Boot video device is 0000:01:00.0

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

    ide0: BM-DMA at 0xd400-0xd407, BIOS settings: hda:DMA, hdb:DMA

    ide1: BM-DMA at 0xd408-0xd40f, BIOS settings: hdc:DMA, hdd:DMA

Probing IDE interface ide0...

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

Probing IDE interface ide1...

ide1 at 0x170-0x177,0x376 on irq 15

Probing IDE interface ide2...

Probing IDE interface ide3...

Probing IDE interface ide4...

Probing IDE interface ide5...

```

natomiast cat /proc/ide/via :

```
  GNU nano 1.3.7                                    File: /home/buki/proc

----------VIA BusMastering IDE Configuration----------------

Driver Version:                     3.38

South Bridge:                       VIA vt8237

Revision:                           ISA 0x0 IDE 0x6

Highest DMA rate:                   UDMA133

BM-DMA base:                        0xd400

PCI clock:                          33.3MHz

Master Read  Cycle IRDY:            0ws

Master Write Cycle IRDY:            0ws

BM IDE Status Register Read Retry:  yes

Max DRDY Pulse Width:               No limit

-----------------------Primary IDE-------Secondary IDE------

Read DMA FIFO flush:          yes                 yes

End Sector FIFO flush:         no                  no

Prefetch Buffer:              yes                 yes

Post Write Buffer:            yes                 yes

Enabled:                      yes                 yes

Simplex only:                  no                  no

Cable Type:                   80w                 80w

-------------------drive0----drive1----drive2----drive3-----

Transfer Mode:       UDMA      UDMA      UDMA      UDMA

Address Setup:      120ns     120ns     120ns     120ns

Cmd Active:          90ns      90ns      90ns      90ns

Cmd Recovery:        30ns      30ns      30ns      30ns

Data Active:         90ns      90ns      90ns      90ns

Data Recovery:       30ns      30ns      30ns      30ns

Cycle Time:          15ns      22ns      60ns      60ns

Transfer Rate:  133.3MB/s  88.8MB/s  33.3MB/s  33.3MB/s

```

...moze to wam cos podpowie...

----------

## ziemia

```
<*> Include IDE/ATA-2 DISK support

<M> generic/default IDE chipset support

[*] Use PCI DMA by default when available

[*] Enable DMA only for disks

<*> VIA82CXXX chipset support 

```

Wywal

```
<M> generic/default IDE chipset support
```

i zobacz co sie stanie

----------

## bukik

co ze mnie za kretyn.....

problem byl dosyc prosty-mianowicie  nie montowalem partycji z ktorej bootowany jest moj system(boot-a mam na oddzielnej partycji)

tym razem zamontowalem..pozniej skopiowalem skompilowane jadro..i wszystko smiga...

dziekuje wszytskim za pomoc

----------

## ziemia

 *Quote:*   

> co ze mnie za kretyn..... 

 

Szanuje ludzi potrafiących przyznać się nawet do najgłupszych błędów  :Smile:  POZDRAWIAM

----------

## BeteNoire

No ładnie, ładnie  :Wink:  Przyznam, że trochę zajął mnie ten problem (bo mam identyczny sprzęt) , ale nigdy bym nie przypuścił, że takie jest jego rozwiązanie   :Laughing: 

Czyli co - kernel wędrował do katalogu /boot na partycji / a nie na boot. A co się z takim kernelem dzieje po zamontowaniu /boot?

----------

## bukik

ja 3 tyg temu zaczalem moje przygody z linuksem-takie powazniejsze bo kiedys probowalem slacka instalowac ale cos nie wychodzilo mi i odpuscilem...a musze stwierdzic ze na gentoo naprawde mozna sie duzo nauczyc..juz przy instalacji ktora niejednokrotnie powtarzalem;)

co do jadra to przez caly czas bootowane jest tamto z partycji boot...a ja zmiany zapisywalem do tego ktore znajdowalo sie na / a ktore nie bylo nigdy czytane;)wiec poniekad nie mialo sie prawa nic dziac;)

czlowiek uczy sie na bledach;)

----------

