# cdrecord и underruns [Solved]

## dragon1020

Никак не могу побороть проблему.

Записываю болванку (DVD-R, DVD+R - не важно), загрузка проца небольшая (не более 15%), смотрю на gkrellm (точнее на график траффика на резаке). График почти прямой, полет нормальный. Оп! Провал почти до нуля, и снова все нормально. Привод в этот момент издает такой звук, как будто головку двигает. И так раза 2-3 за сеанс.

После записи cdrecord радостно сообщает, что "N underruns predicted", где N обычно равно 1 или 2. При этом min fill буфера привода около 5%, а fifo не менее 90% (обычно 95-98).

Отключение burnfree (по дефолту включен) у драйва не помогает, от типа болванок, как я говорил, не зависит. Замена прошивки так же ничего не меняет. Причем когда стоял dvdrtools все было отлично, диски писались "на одном дыхании", без посторонних шумов.

Пишу командой (под рутом):

```
# nice -n -16 cdrecord dev=/dev/hdc speed=4 fs=64m -dao -v driveropts=burnfree [имя исошки]
```

```
# hdparm -i /dev/hdc

/dev/hdc:

 Model=_NEC DVD_RW ND-3550A, FwRev=1.07, 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
```

```
# cdrecord -version

Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling
```

Поиск юзал (и гугль тоже), но ничего интересного не нашел. :(

Есть какие-либо идеи? Мои кончились (с того года не могу ничего придумать). :)

Причина: багофича модели.

Решение: сменил модель на Sony NEC AD-7173A.

Такое же поведение отмечено и у NEC 3551A проверял на своей машине, и на машине хозяина привода.Last edited by dragon1020 on Tue Jul 17, 2007 8:32 pm; edited 1 time in total

----------

## user11

Любопытно, а зависит ли это от скорости записи, от режима dummy, от размера образа? В одних ли и тех же местах это случается (в частности, в режиме dummy, одного и того же образа, на одной и той же болванке)? Нет ли ничего странного в выводе cdrecord, в системных логах? Бывает ли это на cd-дисках?

[offtopic] Кстати, а как правильно указывать dev=? /dev/hdc? ATA:? ATAPI:? На все варианты cdrecord меня отчитывал - либо "using badly designed interface", либо "there will be no dma at all", либо что-то типа "не стоит использовать абсолютные пути к файлам устройств". [/offtopic]

----------

## dragon1020

 *user11 wrote:*   

> Любопытно, а зависит ли это от скорости записи,

 

Кстати, со скоростью тоже не все так просто. cdrecord просто кладет с пробором на то, что я ему говорю. Пытался как-то записывать на скорости 16x и 8x (на Вербатим 16x), в итоге запись шла со скоростью 5-6x, и болванки были безнадежно запороты. CD-R он тоже не хочет на нужных мне скоростях писать, но скорость выбирается наоборот выше, чем мне хотелось бы.

 *Quote:*   

> от режима dummy, от размера образа? В одних ли и тех же местах это случается (в частности, в режиме dummy, одного и того же образа, на одной и той же болванке)?

 

А вот это я обязательно попробую (попробовал бы сейчас, да нужно записать несколько дисков). Спасибо. Про dummy я как-то и забыл.

 *Quote:*   

> Нет ли ничего странного в выводе cdrecord, в системных логах? Бывает ли это на cd-дисках?

 

Нет*3. Если не считать странным то, что буфер привода опустошается, а fifo нет (afaik сначала должно опустошаться fifo, и уж потом буфер привода). :)

 *Quote:*   

> Кстати, а как правильно указывать dev=? /dev/hdc? ATA:? ATAPI:? На все варианты cdrecord меня отчитывал - либо "using badly designed interface", либо "there will be no dma at all", либо что-то типа "не стоит использовать абсолютные пути к файлам устройств".

 

Этот вопрос часто встречается, и все (другого я не встречал) говорят, что указывать путь к IDE-устройству (при ядре 2.6.x) - абсолютно нормально.

----------

## dragon1020

Обычная для меня картина (за исключением того, что обычно я пишу DVD-R, а не DVD+R):

```
Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling

TOC Type: 1 = CD-ROM

scsidev: '/dev/hdc'

devname: '/dev/hdc'

scsibus: -2 target: -2 lun: -2

Warning: Open by 'devname' is unintentional and not supported.

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.8'.

Driveropts: 'burnfree'

SCSI buffer size: 64512

atapi: 1

Device type    : Removable CD-ROM

Version        : 0

Response Format: 2

Capabilities   :

Vendor_info    : '_NEC    '

Identifikation : 'DVD_RW ND-3550A '

Revision       : '1.07'

Device seems to be: Generic mmc2 DVD-R/DVD-RW.

Current: DVD+R

Profile: DVD+R/DL

Profile: DVD+R (current)

Profile: DVD+RW

Profile: DVD-R/DL sequential recording

Profile: DVD-RW sequential overwrite

Profile: DVD-RW restricted overwrite

Profile: DVD-R sequential recording

Profile: DVD-ROM

Profile: CD-RW

Profile: CD-R

Profile: CD-ROM

Using generic SCSI-3/mmc-3 DVD+R driver (mmc_dvdplusr).

Driver flags   : DVD MMC-3 SWABAUDIO BURNFREE

Supported modes: PACKET SAO

Drive buf size : 1769472 = 1728 KB

FIFO size      : 67108864 = 65536 KB

Track 01: data  4341 MB

Total size:     4341 MB = 2222912 sectors

Current Secsize: 2048

Blocks total: 2295104 Blocks current: 2295104 Blocks remaining: 72192

Starting to write CD/DVD at speed 4 in real SAO mode for single session.

Last chance to quit, starting real write    0 seconds. Operation starts.

Waiting for reader process to fill input buffer ... input buffer ready.

Starting new track at sector: 0

Track 01: 4341 of 4341 MB written (fifo 100%) [buf  94%]   4.1x.

Track 01: Total bytes read/written: 4552523776/4552523776 (2222912 sectors).

Writing  time:  828.598s

Average write speed   4.0x.

Min drive buffer fill was 4%

Total of 1 possible drive buffer underruns predicted.

Fixating...

Fixating time:   32.817s

BURN-Free was not used.

cdrecord: fifo had 71707 puts and 71707 gets.

cdrecord: fifo was 0 times empty and 35663 times full, min fill was 95%.
```

Сейчас попробовал с dummy - то же самое.

```
# nice -n -16 cdrecord dev=/dev/hdc speed=4 fs=64m -dao -v -dummy driveropts=burnfree disk3.iso

Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling

TOC Type: 1 = CD-ROM

scsidev: '/dev/hdc'

devname: '/dev/hdc'

scsibus: -2 target: -2 lun: -2

Warning: Open by 'devname' is unintentional and not supported.

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.8'.

Driveropts: 'burnfree'

SCSI buffer size: 64512

atapi: 1

Device type    : Removable CD-ROM

Version        : 0

Response Format: 2

Capabilities   :

Vendor_info    : '_NEC    '

Identifikation : 'DVD_RW ND-3550A '

Revision       : '1.07'

Device seems to be: Generic mmc2 DVD-R/DVD-RW.

Current: DVD+R

Profile: DVD+R/DL

Profile: DVD+R (current)

Profile: DVD+RW

Profile: DVD-R/DL sequential recording

Profile: DVD-RW sequential overwrite

Profile: DVD-RW restricted overwrite

Profile: DVD-R sequential recording

Profile: DVD-ROM

Profile: CD-RW

Profile: CD-R

Profile: CD-ROM

Using generic SCSI-3/mmc-3 DVD+R driver (mmc_dvdplusr).

Driver flags   : DVD MMC-3 SWABAUDIO BURNFREE

Supported modes: PACKET SAO

Drive buf size : 1769472 = 1728 KB

FIFO size      : 67108864 = 65536 KB

Track 01: data  4067 MB

Total size:     4067 MB = 2082704 sectors

Current Secsize: 2048

Blocks total: 2295104 Blocks current: 2295104 Blocks remaining: 212400

Starting to write CD/DVD at speed 4 in dummy SAO mode for single session.

Last chance to quit, starting dummy write    0 seconds. Operation starts.

Waiting for reader process to fill input buffer ... input buffer ready.

Starting new track at sector: 0

Track 01: 4067 of 4067 MB written (fifo 100%) [buf  95%]   4.2x.

Track 01: Total bytes read/written: 4265377792/4265377792 (2082704 sectors).

Writing  time:  779.182s

Average write speed   4.0x.

Min drive buffer fill was 4%

Total of 1 possible drive buffer underruns predicted.

Fixating...

Fixating time:   32.834s

BURN-Free was not used.

cdrecord: fifo had 67184 puts and 67184 gets.

cdrecord: fifo was 0 times empty and 32669 times full, min fill was 96%.
```

UPDATE: Оказывается, что еще и dummy не работает. Он мне этот образ прожег на диск.Last edited by dragon1020 on Tue May 29, 2007 3:26 am; edited 1 time in total

----------

## lefsha

 *dragon1020 wrote:*   

> 
> 
> Пишу командой (под рутом):
> 
> 

 

Зачем писать под рутом и еще усложнять себе жизнь???

Возьми K3b и пиши. Вот если тогда работать не будет, тогда и сообщай.

----------

## dragon1020

 *lefsha wrote:*   

>  *dragon1020 wrote:*   
> 
> Пишу командой (под рутом):
> 
>  
> ...

 

Затем, чтобы иметь возможность выставлять отрицательное значение nice. k3b мне даром не нужен - мне нужна консольная утилита.

----------

## dragon1020

Сегодня заметил еще одну интересную вещь - гадость случается через каждые 517Mb (именно 517, а не 512). Привод говорит "хррп-хррп", скорость (показываемая cdrecord) падает, буфер практически опустошается.

Писал сейчас на 4x, нажимая на enter, когда привод издавал какие-либо звуки. Вот что вышло (~1555 пропустил, на ~4139 нажал чуть позже):

```
Track 01: data  4217 MB

Total size:     4217 MB = 2159552 sectors

Current Secsize: 2048

Blocks total: 2295104 Blocks current: 2295104 Blocks remaining: 135552

Starting to write CD/DVD at speed 4 in real SAO mode for single session.

Last chance to quit, starting real write    0 seconds. Operation starts.

Waiting for reader process to fill input buffer ... input buffer ready.

Starting new track at sector: 0

Track 01:  521 of 4217 MB written (fifo 100%) [buf   4%]   1.6x.

Track 01: 1038 of 4217 MB written (fifo  99%) [buf  23%]   1.4x.

Track 01: 2072 of 4217 MB written (fifo 100%) [buf  57%]   1.6x.

Track 01: 2588 of 4217 MB written (fifo 100%) [buf  15%]   1.5x.

Track 01: 3105 of 4217 MB written (fifo 100%) [buf  32%]   1.5x.

Track 01: 3622 of 4217 MB written (fifo  99%) [buf  50%]   1.1x.

Track 01: 4143 of 4217 MB written (fifo  99%) [buf  95%]   4.2x.

Track 01: 4217 of 4217 MB written (fifo 100%) [buf  94%]   4.1x.

Track 01: Total bytes read/written: 4422762496/4422762496 (2159552 sectors).

Writing  time:  806.446s

Average write speed   4.0x.

Min drive buffer fill was 4%

Total of 1 possible drive buffer underruns predicted.

Fixating...

Fixating time:   34.164s

BURN-Free was not used.

cdrecord: fifo had 69663 puts and 69663 gets.

cdrecord: fifo was 0 times empty and 34493 times full, min fill was 95%.
```

Самое интересное.

Сейчас писал другой образ, на 2x. Совпадают не только позиция, на которой cdrecord начинает разрушать мозг приводу (ресетит он его, что ли?), но и количество данных в буфере! Те же самые 4%, 23%, 57%, 15%. Странно это... Скорость-то в два раза ниже.

----------

## lefsha

 *dragon1020 wrote:*   

> Затем, чтобы иметь возможность выставлять отрицательное значение nice. k3b мне даром не нужен - мне нужна консольная утилита.

 

Тогда так и говори, что твоя цель не диск записать а поиграться...

В этом смысле непонятно зачем писать сюда.

----------

## user11

/* лично я слышал о том, что cdrecord считают самой правильной прогой для записи cd/dvd, а остальные правильные проги - только frontend к ней... */

Решения проблемы не знаю, симптомы тоже мне не так чтобы сильно знакомы; но, за неимением в треде решений в рамках cdrecord, пишу свои мысли.

Во-первых, nice ему задавать не обязательно; под рутом он сам ставит себе realtime. (Повлияет ли это на результат?)

Если не указывать fs=, изменится ли периодичность сбоев? (Лично я никогда не указывал ни nice, ни fs, а писать старался под рутом)

Удивительно, что сбои оказываются в одних и тех же местах. Но то, что в этих местах буфер устройства имеет одно и то же значение, можно ожидать - ведь cdrecord посылает на устройство данные какими-то одинаковыми порциями. То, что fifo не кончается - значит только то, что cdrecord всегда имеет достаточно данных для того, чтобы послать на резак. Так что мне кажется, это либо привод задумывается (и на это время отказывается принимать данные), либо сам cdrecord.

ps. dummy у меня тоже не везде работает.

pps. а чем dvdrtools был плох?

----------

## lefsha

 *user11 wrote:*   

> /* лично я слышал о том, что cdrecord считают самой правильной прогой для записи cd/dvd, а остальные правильные проги - только frontend к ней... */

 

"Правильными" бывают только пацаны и то когда обкурятся...

cdrecord используется как явствует из названия для записи CD.

Для записи dvd используется app-cdr/dvd+rw-tools.

Когда читаешь форумы не забывай историю про профессора и баночку с мочой....

 *user11 wrote:*   

> 
> 
> Решения проблемы не знаю, симптомы тоже мне не так чтобы сильно знакомы; но, за неимением в треде решений в рамках cdrecord, пишу свои мысли.
> 
> Во-первых, nice ему задавать не обязательно; под рутом он сам ставит себе realtime. (Повлияет ли это на результат?)
> ...

 

Если у тебя не первый пентиум, то мощности компьютера должно хватить,

если ты не компилируешь и одновременно не играешь в 3d стрелялку.

Негативный nice ставить не рекомендуется, если ты ТОЧНО не знаешь что именно делаешь.

Судя по всему это далеко не твой случай.

Если же параллельно идут задачи требующие ресурсов процессора, то лучше им

поставить большой позитивный nice.

Делать что либо под рутом, что не касается рута напрямую не рекомендуется!

Если компьютер твой лично и больше никто на свете на нем не сидит, конечно ты

можешь набирать в консоле всякие команды и чувствовать себя значимым человеком,

но даже тогда смысла в этом немного.

Если же при этом появляются ошибки, то это тем более странно.

Правильный вариант поиска неисправности состоит в том, чтобы использовать максимально

стандартный способ записи. И если тогда появляется ошибка, то можно подозревать в неисправности оборудование.

На сегодняшний день стандартом является Nero и отчасти k3b.

вот если под ними ничего работать не будет, тогда да.

все остальное несерьезно и будет только отнимать время и у тебя и у других.

 *user11 wrote:*   

> 
> 
> Удивительно, что сбои оказываются в одних и тех же местах. Но то, что в этих местах буфер устройства имеет одно и то же значение, можно ожидать - ведь cdrecord посылает на устройство данные какими-то одинаковыми порциями. То, что fifo не кончается - значит только то, что cdrecord всегда имеет достаточно данных для того, чтобы послать на резак. Так что мне кажется, это либо привод задумывается (и на это время отказывается принимать данные), либо сам cdrecord.
> 
> 

 

Еслит ты пишешь cdrecord dvd, то очень вероятно, что на уровне 700-800 MB

у него и будут сбои. Ничего другого ожидать не приходится.

Мой совет ты получил. Следовать или нет решать тебе.

----------

## fank

вы, парни, сами по себе по отдельности уже самодостаточны  :Smile: 

один упорством в конце концов докопается, второй уже похоже никогда ни до чего...

сорри, если кого обидел   :Twisted Evil: 

user11, попробуй, может, другие тулы

growisofs, например...

тот же K3B его использует как бэкенд вроде бы

----------

## dragon1020

 *user11 wrote:*   

> Так что мне кажется, это либо привод задумывается (и на это время отказывается принимать данные), либо сам cdrecord.

 

Видимо нечто среднее - cdrecord заставляет задумываться резак, т.к. началась такая беда именно с установки cdrtools вместо dvdrtools.

 *Quote:*   

> pps. а чем dvdrtools был плох?

 

Все было нормально, просто его снесли из портежей.

----------

## Nelud

2dragon1020

Вопрос: зачем трогаешь параметр fs ?

Совет: чтобы посмотреть на что способен привод (в частности какие скорости записи поддерживает), сделай:

```
cdrecord -prcap dev=/dev/hdc
```

----------

## dragon1020

 *Nelud wrote:*   

> 2dragon1020
> 
> Вопрос: зачем трогаешь параметр fs ?
> 
> Совет: чтобы посмотреть на что способен привод (в частности какие скорости записи поддерживает), сделай:
> ...

 

Просто чуть больше буфер сделал. Запись, все же, идет на значительных скоростях...

```
cdrecord -prcap dev=/dev/hdc

Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling

scsidev: '/dev/hdc'

devname: '/dev/hdc'

scsibus: -2 target: -2 lun: -2

Warning: Open by 'devname' is unintentional and not supported.

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.8'.

Device type    : Removable CD-ROM

Version        : 0

Response Format: 2

Capabilities   :

Vendor_info    : '_NEC    '

Identifikation : 'DVD_RW ND-3550A '

Revision       : '1.07'

Device seems to be: Generic mmc2 DVD-R/DVD-RW.

Drive capabilities, per MMC-3 page 2A:

  Does read CD-R media

  Does write CD-R media

  Does read CD-RW media

  Does write CD-RW media

  Does read DVD-ROM media

  Does read DVD-R media

  Does write DVD-R media

  Does not read DVD-RAM media

  Does not write DVD-RAM media

  Does support test writing

  Does read Mode 2 Form 1 blocks

  Does read Mode 2 Form 2 blocks

  Does read digital audio blocks

  Does restart non-streamed digital audio reads accurately

  Does support Buffer-Underrun-Free recording

  Does read multi-session CDs

  Does read fixed-packet CD media using Method 2

  Does not read CD bar code

  Does read R-W subcode information

  Does not return R-W subcode de-interleaved and error-corrected

  Does read raw P-W subcode data from lead in

  Does return CD media catalog number

  Does return CD ISRC information

  Does support C2 error pointers

  Does not deliver composite A/V data

  Does play audio CDs

  Number of volume control levels: 256

  Does support individual volume control setting for each channel

  Does support independent mute setting for each channel

  Does not support digital output on port 1

  Does not support digital output on port 2

  Loading mechanism type: tray

  Does support ejection of CD via START/STOP command

  Does not lock media on power up via prevent jumper

  Does allow media to be locked in the drive via PREVENT/ALLOW command

  Is not currently in a media-locked state

  Does not support changing side of disk

  Does not have load-empty-slot-in-changer feature

  Does not support Individual Disk Present feature

  Maximum read  speed:  8467 kB/s (CD  48x, DVD  6x)

  Current read  speed:  8467 kB/s (CD  48x, DVD  6x)

  Maximum write speed:  8467 kB/s (CD  48x, DVD  6x)

  Current write speed:  8467 kB/s (CD  48x, DVD  6x)

  Rotational control selected: CLV/PCAV

  Buffer size in KB: 2048

  Copy management revision supported: 1

  Number of supported write speeds: 6

  Write speed # 0:  8467 kB/s CLV/PCAV (CD  48x, DVD  6x)

  Write speed # 1:  7056 kB/s CLV/PCAV (CD  40x, DVD  5x)

  Write speed # 2:  5645 kB/s CLV/PCAV (CD  32x, DVD  4x)

  Write speed # 3:  4234 kB/s CLV/PCAV (CD  24x, DVD  3x)

  Write speed # 4:  2822 kB/s CLV/PCAV (CD  16x, DVD  2x)

  Write speed # 5:  1411 kB/s CLV/PCAV (CD   8x, DVD  1x)

Supported CD-RW media types according to MMC-4 feature 0x37:

  Does write multi speed       CD-RW media

  Does write high  speed       CD-RW media

  Does write ultra high speed  CD-RW media

  Does write ultra high speed+ CD-RW media
```

Врет, зараза, и не краснеет - DVD+/-R может писать со скоростью 16x.

----------

## dragon1020

 *fank wrote:*   

> user11, попробуй, может, другие тулы
> 
> growisofs, например...

 

Никак не мог вспомнить, чем мне так сильно он не понравился. Пожертвовал болванкой, вспомнил - пишет он еще менее стабильно, чем cdrecord. Т.е. если составить график скорости, то он будет напоминать старую добрую Scorched Earth.

Еще есть подобные CLI/TUI утилиты, не подскажешь?

Или, может, есть идеи, почему cdrecord не желает жить дружно с резаком?

Вспомнил еще одну проблему - после growisofs md5 привода с записанной болванкой и образа не совпадают.

----------

## fank

 *Quote:*   

> Или, может, есть идеи, почему cdrecord не желает жить дружно с резаком? 

 

есть. у меня раньше райзер 4 был на всех фс

с какого-то момента начались непонятные подвисы при интенсивном обращении к фс

причем есть такой баг, связанный с тем, что когда р4 и PORTAGE_TMPFIR на разных разделах - система "замирает" достаточно периодично

снёс р4, поставил 3 - всё пропало

причём проявлялось это на самом деле и после того, как вышеупомянутый тмпдир был перенесён на р3

например, emerge --metadata стопудово замирал на 20-30 процентах и потом на 70-80 тоже

имхо - виновна дисковая подсистема, ибо признак - опустошение буфера

----------

## dragon1020

 *fank wrote:*   

> имхо - виновна дисковая подсистема, ибо признак - опустошение буфера

 

Жаль, но не в этом дело. fs - старая, проверенная ext2, хард весьма шустрый, и несколько десятков мегабайт в секунду - не вопрос (на чтение более 40). Да и fifo не юзается в моменты опустошения "железячного" буфера (а должно, в случае занятости дисковой подсистемы). Да и дивидюковые 2x - не так уж много, около 2.6Mb/s. Копейки...

Но спасибо за идею, и что пытаешься помочь.

Может тут у кого есть NEC ND-3550A и cdrecord?

----------

## fank

у меня NEC ND-4551

0.  *Quote:*   

> Warning: Open by 'devname' is unintentional and not supported.

 

от этого надо избавиться

1. проверь шлейф

2. отключи DMA для резака

3.  *Quote:*   

> Вспомнил еще одну проблему - после growisofs md5 привода с записанной болванкой и образа не совпадают.

 

сравни чем-нить, глянь в каком месте и насколько отличаются

4. Скока на машине памяти оперативной?

5. Скока дисковой?

6. Используется ли своп?

7. Используется ли SMP?

8. Какой планировщик в ядре выставлен?

----------

## Nelud

 *fank wrote:*   

>  *Quote:*   Warning: Open by 'devname' is unintentional and not supported. 
> 
> от этого надо избавиться

 

Зачем избавляться?? Это он просто ругается на запись "dev=/dev/hdc". Хочет, чтобы ты писал вместо этого что-то типа "dev=ATA:0.0.0". Но раз работает, то не фиг менять.

----------

## dragon1020

 *fank wrote:*   

> 1. проверь шлейф

 

При установке cdrtools шлейф и другое железо не пострадали. ;)

 *Quote:*   

> 2. отключи DMA для резака

 

Э... Зачем? Я попробую, конечно, следующую болванку записать без DMA, но на 90% уверен, что тем самым ее запорю.

 *Quote:*   

> 4. Скока на машине памяти оперативной?
> 
> 5. Скока дисковой?
> 
> 6. Используется ли своп?
> ...

 

4. 384Mb

5. Хм... Не понял, при чем тут могут быть размеры разделов (пишу из образов, "на лету" их не создаю), ну да ладно. :)

```
Файловая система      Разм  Исп  Дост  Исп% смонтирована на

/dev/hda3             1,5G  949M  430M  69% /

udev                  188M  696K  188M   1% /dev

/dev/hda6              20G  7,2G   11G  40% /usr

/dev/hda7             166G  129G   29G  82% /home

/dev/hda1             3,8G  2,6G  1,2G  70% /mnt/win_c

/dev/hda5              86G   79G  7,2G  92% /mnt/win_d
```

6. И да, и нет: своп включен, но почти не используется.

7. Нет.

8. CFQ, таймер на 1000 Hz.

----------

## fank

 *Quote:*   

> Зачем избавляться?? Это он просто ругается на запись "dev=/dev/hdc". Хочет, чтобы ты писал вместо этого что-то типа "dev=ATA:0.0.0". Но раз работает, то не фиг менять.

 

а придётся, потому что не работает

он у тя не понимает burn protection, неправильно определяет скорости

может, он просто неправильно обращается к устройству

повторяю, поменяй/посмотри шлейф

у меня были случаи, когда комп работал отлично, а система не преустанавливалась (винХП)

неделю потратил на выяснение причин, поменял шлейф - всё встало на свои места

да, и ещё подобное бывает, когда приводу выставлен cable select (винту тоже)

каких только причудливых проявлений идиотизма писателей биосов я не встречал, начиная от невключения DMA заканчивая неработоспособностью SMART и отлучению винта от дальнейшей деятельности тем же самым биосом

причём разные софтины горбятся по-разному

у меня такое сильное ощущение, что причина совсем в другом

----------

## user11

Насчёт попробовать сменить шлейф: для надежности, я бы вообще попробовал воткнуть сидиром в hdb и проверил, что все симптомы (включая периодичность в 517 мб) сохраняются (для работы, конечно, потом вернуть в hdc). Если и при этом всё сохранятся, то, наверное, ни при чём не только шлейф, но и разъем на мамке и прочие тонкости, вероятно связанные с интерфейсом.

Кстати, на IDE Sec Slave вообще ничего не подключено?

Ещё довольно странная (но тем не менее) идея - сделать "lsof |grep /dev/hd" в тот момент, когда привод издаёт "хррп". Может, кто-то ещё пытается общаться с этим устройством? (мдея странная, т.к. по идее он должен блокироваться на это время).

----------

## dragon1020

fank, отключил DMA. Как я и говорил, болванку можно смело выбрасывать ("Total of 91 possible drive buffer underruns predicted"). Вполне прогнозируемый результат, впрочем: у кого как, а у меня при отключении DMA все ТАК тормозит, что даже "hdparm -d /dev/hdc", который выполняется за 0.004s, приходится ждать секунд 20-30.

Шлейф поменяю, но дело не в нем - у меня был тот же самый шлейф, когда стояли dvdrtools.

Избавиться от варнинга не удается (т.к. ядро 2.6.19, и эмуляции SCSI, разумеется, нет). Получается лишь сделать хуже:

```
# cdrecord dev=ATA:1,0,0 -prcap

Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling

scsidev: 'ATA:1,0,0'

devname: 'ATA'

scsibus: 1 target: 0 lun: 0

[b]Warning: Using badly designed ATAPI via /dev/hd* interface.[/b]

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.8'.
```

Всем железкам четко указано их место джамперами (не доверяю я всяким плагнплеям и CSам). Pri.M - HDD, Sec.M - DVD, больше ни IDE, ни SCSI, ни SATA железок нет.

С какими параметрами сам пишешь? DMA? Версия cdrecord?

Я вот думаю, имеет ли смысл указывать в качестве dev "/dev/hdc:1,0,0" вместо "/dev/hdc"?

```
# cdrecord dev=/dev/hdc -scanbus

Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling

scsidev: '/dev/hdc'

devname: '/dev/hdc'

scsibus: -2 target: -2 lun: -2

Warning: Open by 'devname' is unintentional and not supported.

Linux sg driver version: 3.5.27

Using libscg version 'schily-0.8'.

scsibus1:

        1,0,0   100) '_NEC    ' 'DVD_RW ND-3550A ' '1.07' Removable CD-ROM

        1,1,0   101) *

        1,2,0   102) *

        1,3,0   103) *

        1,4,0   104) *

        1,5,0   105) *

        1,6,0   106) *

        1,7,0   107) *
```

Если указывать, "scsibus: -2 target: -2 lun: -2" меняется на "scsibus: 1 target: 0 lun: 0". Хотя ругается по-прежнему. Да и не указывает, вроде, никто...

----------

## fank

 *Quote:*   

> Избавиться от варнинга не удается (т.к. ядро 2.6.19, и эмуляции SCSI, разумеется, нет). Получается лишь сделать хуже: 

 

```
cdrecord dev=1,0,0
```

вот так правильно

У меня DMA включён, версия - последняя в нестабильной ветке

ядро - 2.6.21, но писал в последний раз на 2.6.19-beyond4

----------

## dragon1020

 *fank wrote:*   

> 
> 
> ```
> cdrecord dev=1,0,0
> ```
> ...

 

Говорю же - эмуляция скази у меня вырублена в ядре. :)

 *Quote:*   

> # cdrecord dev=1,0,0 -checkdrive
> 
> Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling
> 
> scsidev: '1,0,0'
> ...

 

Шлейф, кстати, поменял. Не помогает.

Загадки продолжаются...

Записывается один и тот же образ, опции одни и те же, скорость записи - 2x:

DVD-RW Verbatim 2x (записалась):

 *Quote:*   

> Track 01: 4198 of 4198 MB written (fifo 100%) [buf  97%]   2.2x.
> 
> Track 01: Total bytes read/written: 4402632704/4402632704 (2149723 sectors).
> 
> Writing  time: 1574.519s
> ...

 

DVD-R Verbatim 16x (не записалась):

 *Quote:*   

> Track 01: 4198 of 4198 MB written (fifo 100%) [buf  97%]   2.2x.
> 
> Track 01: Total bytes read/written: 4402632704/4402632704 (2149723 sectors).
> 
> Writing  time: 1611.814s
> ...

 

Однако эти же болванки друг прекрасно пишет (правда под виндой, и привод у него другой). Может привод мне мозг разрушает, и с -/+R работать не желает?

Еще интересный момент - этот образ у меня не записывается на R-ки, записался только на -RW (штук 7 -R загубил). Обычно картина та же (min fill 7%), но диски записываются.

----------

## fank

 *Quote:*   

> Говорю же - эмуляция скази у меня вырублена в ядре.  

 

с этого места поподробнее

о какой эмуляции ты говоришь?

и почему

 *Quote:*   

> cdrecord: No such file or directory. Cannot open '/dev/sg*'. Cannot open SCSI driver. 

 

----------

## Nelud

Попробуй не просто dev=1,0,0 , а dev=ATA:1,0,0 или dev=ATAPI:1,0,0

А что это у тебя "BURN-Free was not used"? У тебя он не поддерживается? Может стоит включить - добавить  driveropts=burnfree? Чтобы узнать, поддерживается или нет, запусти

```
# cdrecord dev=/dev/cdrom driveropts=help -checkdrive
```

----------

## dragon1020

 *fank wrote:*   

>  *Quote:*   Говорю же - эмуляция скази у меня вырублена в ядре. :)  
> 
> с этого места поподробнее
> 
> о какой эмуляции ты говоришь?

 

О той, которая нужна была для записи дисков с ядрами 2.2-2.4. Возможно и сейчас эмуляция scsi есть в ядре для обратной совместимости, не проверял. :) В любом случае это давно уже не нужно для записи.

 *Quote:*   

> и почему
> 
>  *Quote:*   cdrecord: No such file or directory. Cannot open '/dev/sg*'. Cannot open SCSI driver.  

 

Ну логично - у меня поддержка SCSI в ядре отрублена полностью, поэтому и устройств нет.

 *Nelud wrote:*   

> Попробуй не просто dev=1,0,0 , а dev=ATA:1,0,0 или dev=ATAPI:1,0,0 

 

См. первую страницу:

 *Quote:*   

> # cdrecord dev=ATA:1,0,0 -prcap
> 
> Cdrecord-ProDVD-Clone 2.01.01a10 (i686-pc-linux-gnu) Copyright (C) 1995-2006 Jц╤rg Schilling
> 
> scsidev: 'ATA:1,0,0'
> ...

 

 *Quote:*   

> А что это у тебя "BURN-Free was not used"? У тебя он не поддерживается?

 

Это наоборот хорошо. В обычных условиях. :) Поддерживается, включен.

----------

## user11

Наверное, не по теме, но кто знает...

Я где-то читал (если хочешь, могу погуглить и найти снова... быть может, на ixbt), что существуют образы, которые на некоторых приводах не пишутся в принципе. Дело связано с тем, что при записи в cd используется XOR с некой псевдослучайной последовательностью, дескать, для улучшения битовой статистики (как я понял, чтобы дорожки ровнее были). И если после такого "шифрования" получится последовательность, которую сидиром опознаёт как маркер начала сектора, то эти сидиромы с кривым микрокодом начинают там искать новый сектор, и, разумеется, ничего толкового не находят. Автор той статьи видел это только на сидиромах определённых фирм. И наткнулся на это при попытке записи какой-то мультимедии - видимо, когда-то в этом файле разделитель секторов был кем-то некорректно считан как данные. Сами же по себе эти последовательности бит *чрезвычайно* маловероятны, т.ч. само по себе оно не случается, а бывает только на "левых" фильмах и пр.

Думаю, если аналогичным образом запорется CD-R при записи какого-нибудь образа со здоровой предысторией (скажем, просто нолики или же дистрибутив генту), то эту гипотезу можно отвергнуть.

----------

## fank

 *Quote:*   

> О той, которая нужна была для записи дисков с ядрами 2.2-2.4

 

резать, не дожидаясь перитонита...

 *Quote:*   

> Наверное, не по теме, но кто знает... 

 

была сразу же такая мысль

ты ж вроде записывал этот имидж на некоторых болванках, так что не прокатывает сразу

 *Quote:*   

> Linux sg driver version: 3.5.27 

 

и

 *Quote:*   

> cdrecord: No such file or directory. Cannot open '/dev/sg*'. Cannot open SCSI driver.

 

как понять?

----------

## dragon1020

Проблемы, как оказалось, не было - это нормальное поведение NEC 3550(3551). Сменил модель привода, все стало нормально.

А dvdrtools, судя по всему, либо глючно считали заполненность буффера, либо не учитывали состояние буффера в определенные фазы записи.

Спасибо всем большое. :) Тему можно прикрывать.

PS. К вопросу о "dev=". Внимательно вчитайтесь в то, что говорит emerge после компиляции cdrtools:

 *Quote:*   

>  * The command line option 'dev=/dev/hdX' (X is the name of your drive)
> 
>  * should be used for IDE CD writers.  And make sure that the permissions
> 
>  * on this device are set properly and your user is in the correct group.

 

----------

