LINUX.ORG.RU

Как включить DMA на ЦД-роме - дубль 2.


0

0

Короче так как стоит 2.6.х то эмуляция скази отсутствует, и как следствие
скорость передачи данных между сидюком и компом ограничивается 2,5 
метрами, но на 2.4.х с эмуляцией скази скорость доходила до 5 метров.
Собсно и встал вопрос как включить ДМА что бы снова заиметь скорость 5
метров в секунду. Пробовал включить её командой

hdparm -d1 /dev/hdc

на что он руганулся ошибкой. 

Чипсет в ядре отмечен как часть ядра.

Для дисков ДМА врубается и чипсет установлен в ядро, а ошибка такая:

cyclon alexandr # hdparm -d1 /dev/hdc

/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted <=== вот она
 using_dma    =  0 (off)

Может кто знает как это пофиксить.

Ещё раз подчеркну чипсет в ядре установлен, об этом говорит хотя бы тот
факт что ДМА для дисков врубается.

Заранее спасбо!!!
★★★★★

Re: Как включить DMA на ЦД-роме - дубль 2.

>Ещё раз подчеркну чипсет в ядре установлен, об этом говорит хотя бы тот факт что ДМА для дисков врубается.

Извини, но я не верю. Ты не мог бы показать здесь вывод
hdparm /dev/твой_винт и hdparm -i /dev/твой_винт

и то же самое сделать для своего привода cd-rom?



jackill ★★★★★ ()
Ответ на: Re: Как включить DMA на ЦД-роме - дубль 2. от jackill

Re: Re: Как включить DMA на ЦД-роме - дубль 2.

Хотелось бы отметить, что харды SATA.

cyclon alexandr # hdparm /dev/sda

/dev/sda:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 19457/255/63, sectors = 160041885696, start = 0
cyclon alexandr # hdparm /dev/sdb

/dev/sdb:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 19457/255/63, sectors = 160041885696, start = 0
cyclon alexandr # hdparm -i /dev/sda

/dev/sda:
 HDIO_GET_IDENTITY failed: Invalid argument
cyclon alexandr # hdparm -i /dev/sdb

/dev/sdb:
 HDIO_GET_IDENTITY failed: Invalid argument
cyclon alexandr # hdparm -i /dev/hdc

/dev/hdc:

 Model=_NEC DVD_RW ND-3500AG, FwRev=2.16, SerialNo=
 Config={ Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
 RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=unknown, BuffSize=0kB, MaxMultSect=0
 (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
 IORDY=yes, 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
 AdvancedPM=no

 * signifies the current active mode

cyclon alexandr # hdparm /dev/hdc

/dev/hdc:
 HDIO_GET_MULTCOUNT failed: Invalid argument
 IO_support   =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 HDIO_GETGEO failed: Invalid argument

cyclon ★★★★★ ()

Re: Re: Re: Re: Как включить DMA на ЦД-роме - дубль 2.

Это можно протестировать. Скажем, скорость копирования с винта на винт должна быть не меньше 20-30Мб/сек при загрузке процессора (а какой там проц) не более 10-15% максимум.

jackill ★★★★★ ()

Re: Re: Re: Re: Re: Как включить DMA на ЦД-роме - дубль 2.

Давай-ка посмотрим на твой раздел в конфиге ядра - то, что sata работает быстро - не показатель. У scsi свой механизм, поэтому с ним не работает hdparm.

После этой строки # IDE chipset support/bugfixes до строки # SCSI device support давай.

jackill ★★★★★ ()

Re: Re: Re: Re: Re: Re: Как включить DMA на ЦД-роме - дубль 2.

Короче дело оказалось вовсе не в Софтовой часте, а в железе. А именно в матери и установках биоса, а именно, там есть выбор между Compatable и Enchace modes для SATA контроллера, так вот поскольку у мя 2.6.х всё время падало в Enchace modes режиме я ставил компатабле. Но как следствие это убило возможность управления димсками. Так вот видимо с какой то версии 2.6.х этот глюк исчез, а не заметил и оставил старый режим. А когда настраивал 2.6.9 заметил там новый параметр связанный с libata, и почитав хелп меня осенило а что если ... вообщем теперь у мя всё нормально.

Спасибо всем кто пытался помочь :)

cyclon ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.