Страница 1 из 2

Проблемы с cdrecord

Добавлено: 25 окт 2004, 16:56
Fenix{FEN}
Значит в чём суть проблемы...
При попытке записи на CD с помощью данной софтины эта софтина виснет сама и вешает систему нах :( т.е. намертво
даже cdrecord -scanbus данную проблему вызывает...
cdrdao работает совершенно нормально :)
ну само сабой аналогичные проги под винду (типа Неро) работают нормально

Система:
Привод Benq 48/24/48
IDE контроллер sis5513 (чипсет sis735)

Linux mandrake 10.1
Ядро 2.6.7 (не суть важно - аналогичная проблема была и в suse9.0 и в mandrake9.0 и даже в cdrecord под виндой...)

Хелп плиз!!!

Добавлено: 26 окт 2004, 19:13
booxter
У меня эта трабла решилась даунгрейдом до 2.6.7 с 2.6.8.1, но т.к. это и с ним не пашет...
А запись любых форматов или только аудио?
Есть трабл связанный с скази-эмуляцией. На форуме Генту прочитал, что можно решить либо отключением АТАПИ СДРОМ, или более старой версией.
Возможно также обновление до ядра выпуска linux-mm-sources(в Генту есть портеж, можно ссылку посмотреть).

Добавлено: 26 окт 2004, 20:57
Гость
хм, имхо наоборот, надо именно давать cdrecordу понять не эмулять сказю, а давать данные как atapi, по крайней мере можно попробовать

Добавлено: 27 окт 2004, 20:51
Fenix{FEN}
booxter писал(а):У меня эта трабла решилась даунгрейдом до 2.6.7 с 2.6.8.1, но т.к. это и с ним не пашет...
А запись любых форматов или только аудио?
Есть трабл связанный с скази-эмуляцией. На форуме Генту прочитал, что можно решить либо отключением АТАПИ СДРОМ, или более старой версией.
Возможно также обновление до ядра выпуска linux-mm-sources(в Генту есть портеж, можно ссылку посмотреть).
Не только запись :) даже cdrecord -scanbus вешает систему
А запись аудио через cdrdao наоборот нормально пашет...

Добавлено: 29 окт 2004, 16:40
booxter
Ён вешае сыстэму як? Паспрабуй прасканіць колькасьць памяці падчас дзеяньняу. Калі яна памяншаецца, то трабла як у мяне. Сыстэма забівае усю памяць і падае

Добавлено: 29 окт 2004, 16:42
booxter
Anonymous писал(а):хм, имхо наоборот, надо именно давать cdrecordу понять не эмулять сказю, а давать данные как atapi, по крайней мере можно попробовать
Яно канечне так, але менавіта з АТАПІ еёсьць праблемы у апошнім кернэле, таму даводзіцца (мне) пісаць праз сказю :(

Добавлено: 26 дек 2004, 23:20
Гость
Так сказать привет всем еще раз.
Так и не увидел я тут дельного совета :(
В общем перепробовал много чего:
- отключал дма
- баловался с hdparm
- вырубал сказю и юзал атапи - тот же глюк
- пробовал юзать стандартный драйвер для ide контроллера вместо родного

НИЧЕГО из выше перечисленного не помогло :(

В общем что пишется в логах:
./cdrecord: Warning: Running on Linux-2.6.9
./cdrecord: There are unsettled issues with Linux-2.5 and newer.
./cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris.
./cdrecord: Warning: Linux-2.6.8 introduced incompatible interface changes.
./cdrecord: Warning: SCSI transport does no longer work for suid root programs.
./cdrecord: Warning: if cdrecord fails, try to run it from a root account.
Linux sg driver version: 3.5.31
./cdrecord: Input/output error. test unit ready: scsi sendcmd: no error
CDB: 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 06 00 00 00 00 0A 00 00 00 00 29 00 00 00
Sense Key: 0x6 Unit Attention, Segment 0
Sense Code: 0x29 Qual 0x00 (power on, reset, or bus device reset occurred) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.001s timeout 40s
./cdrecord: Input/output error. test unit ready: scsi sendcmd: no error
CDB: 00 00 00 00 00 00
status: 0x2 (CHECK CONDITION)
Sense Bytes: 70 00 02 00 00 00 00 0A 00 00 00 00 3A 00 00 00
Sense Key: 0x2 Not Ready, Segment 0
Sense Code: 0x3A Qual 0x00 (medium not present) Fru 0x0
Sense flags: Blk 0 (not valid)
cmd finished after 0.001s timeout 40s
На этом всё дело зависает :(

Опять же хочу обратить внимание - cdrdao пашет нормально!

P.S. буду разбиратся в исходниках cdrecord - а вдруг что-нить получится? :evil:

Добавлено: 26 дек 2004, 23:21
Fenix{FEN}
P.P.S Всё вышенаписанное от гостя написал я :)

Добавлено: 27 дек 2004, 14:52
Гость
>Linux sg driver version: 3.5.31
это как-то мона обойти, но как - щас не вспомню. эта гадость и являлась причиной аналогичных падений у меня. но я, когда юзал атапи, писал нормально.

Добавлено: 27 дек 2004, 15:17
Serj
http://lug.kmv.ru/content.php?article.1
глянь вот это, может поможет

Добавлено: 27 дек 2004, 18:32
Гость
Anonymous писал(а):>Linux sg driver version: 3.5.31
это как-то мона обойти, но как - щас не вспомню. эта гадость и являлась причиной аналогичных падений у меня. но я, когда юзал атапи, писал нормально.
Постарайтесь вспомнить, пожалуйста :)
Если не трудно пишите на fenix-fen@tut.by

Добавлено: 27 дек 2004, 18:34
Fenix{FEN}
Serj писал(а):http://lug.kmv.ru/content.php?article.1
глянь вот это, может поможет
Читайте внимательнее выше :)
Как юзать cdrecord я себе прекрасно представляю :)
Ничего кроме мануала по юзанию cdrecord я по указанной ссылке не нашёл =)

Добавлено: 10 янв 2005, 12:47
Fenix{FEN}
Млин, никогда не покупайте приводы от BenQ. В общем что мне ответила служба поддержки BenQ:
"Наш привод вполне стандартный, под win работает, а другие ОС нас не волнуют". И тут MS давит линукс как только можно :(

P.S. Нашёл с помощью гугла пару ссылок на такую же проблему как у меня, ничего дельного тем людям не посоветовали :( Кстати пробовал другой сидюк подключить - пишет великолепно (ОС и все настройки те же) :(

P.P.S. Что ж, буду свой сидюк продавать и покупать dvd-rw к лету... А пока под маздаем буду сидеть =)

Добавлено: 15 июл 2005, 19:49
Fenix[FEN]
Проблема решена! :)
Сегодня день убил на изучение исходников cdrecord. Сравнивал с cdrdao. В итоге что-то получилось :D
Значить, так, что нужно делать чтобы cdrecord работал с этим сидюком.
Берём сорцы cdrtools
правим cdrecord\scsi-cdr.c

ищем

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

EXPORT int
mode_sense_g1(scgp, dp, cnt, page, pcf)
	SCSI	*scgp;
	Uchar	*dp;
	int	cnt;
	int	page;
	int	pcf;
{
	register struct	scg_cmd	*scmd = scgp->scmd;

	fillbytes((caddr_t)scmd, sizeof (*scmd), '\0');
	scmd->addr = (caddr_t)dp;
	
	scmd->size = cnt;
правим на:

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

EXPORT int
mode_sense_g1(scgp, dp, cnt, page, pcf)
	SCSI	*scgp;
	Uchar	*dp;
	int	cnt;
	int	page;
	int	pcf;
{
	register struct	scg_cmd	*scmd = scgp->scmd;

	fillbytes((caddr_t)scmd, sizeof (*scmd), '\0');
	scmd->addr = (caddr_t)dp;
	
	cnt=256;
	
	scmd->size = cnt;

Добавлено: 16 июл 2005, 06:45
mend0za
а не сломало ли это совместимость с другими приводами?

:)