Re: cdrecord-2.01.01a21 refuses work on Linux 2.4 if non-ide-scsi DVD-ROM is present
Hi,
> I don't care about libburn, it is so broken that it does not even complete
> it's "configure" run:
> checking for a BSD-compatible install... /opt/sfw/bin/ginstall -c
> ./configure: line 19396: syntax error near unexpected token `in'
> ./configure: line 19396: `for ac_header in'
That looks much like an icculus.org/burn libburn-0.2 tarball
or CVS version prior to about march 2006. (Newer bash versions
accept an empty "for" list. I noticed that problem only on
a SuSE 7.2 system. Meanwhile our ./configure is fat but legal.)
The stable current version is available as
http://libburn-download.pykix.org/releases/libburn-0.2.6.1.tar.gz
resp. with identical code base as
http://scdbackup.sourceforge.net/cdrskin-0.2.6.pl01.tar.gz
It seems to compile on all the contemporary Linux distros.
I would appreciate any bug reports.
> > So - if you want advise - disable that new auto-scan feature
> > unless an explicit drive address is missing.
> As this is not doable before you did scan, it would need toi
> stay similar to how it is.
But you do know wether there is a dev= option before you
start with the bus scan, don't you ? In that case it seems
wise to me to omit that total scan and to only touch the desired
drive(s). (I mean, i learned this from *you*. It is much better
a strategy than the one of old libburn. You should not give
up anything of the stability of cdrecord by scanning without
need.)
A few months ago i had an ill DVD-ROM which stalled libburn's
bus scan as long as DMA was on. In that state it also stalled
cdrecord dev=ATA -scanbus on a Linux 2.6 kernel.
Ill hardware, no doubt. Nevertheless it made all healthy drives
unusable - for libburn. cdrecord without dev=ATA had no problem.
I made libburn have no problems with that too.
> #ifdef USER_HZ
> tmo *= USER_HZ;
> if (tmo)
> tmo += USER_HZ/2;
>#else
> tmo *= HZ;
> if (tmo)
> tmo += HZ/2;
>#endif
The compiler still complains about HZ.
I guess the file necessary for USER_HZ is not included.
I flatly inserted the usual header files from some of my
own programs into libscg/scsi-linux-sg.c , but no USER_HZ
did show up.
fgrep finds asm/param.h only in files which are as obscure:
/usr/include/linux/jiffies.h:#include <asm/param.h> /* for HZ */
/usr/include/linux/param.h:#include <asm/param.h>
/usr/include/linux/sched.h:#include <asm/param.h> /* for HZ */
/usr/include/linux/time.h:#include <asm/param.h>
/usr/include/linux/timex.h:#include <asm/param.h>
For me it would be easier to just copy the line
#define USER_HZ 100
into libscg/scsi-linux-sg.c .
> > The drive /dev/hgd did never interact with cdrecord.
> Then this
> #if LINUX_VERSION_CODE <= 0x020600
> if (use_ata)
> #endif
> for (i = 0; i <= 25; i++) {
> js_snprintf(devname, sizeof (devname), "/dev/hd%c", i+'a');
> should work....
After make clean ; make : Yes.
(No new cdrecord binary emerges without make clean)
My two burners are reachable again.
The DVD-ROM at /dev/hdg shows the same error
messages as with any cdrecord-2.01.01 version.
from libscg/scsi-linux-sg.c :
> The CD/DVD writer case may
> * look silly but there may be users that did boot from a SCSI hdd
> * and connected 4 CD/DVD writers to both IDE cables in the PC.
It is not silly at all with modern mainboards which
often have the hard disk at SATA. With those boards
ATA:0,0,0 is quite a natural address for the only
CD/DVD drive.
(That confused me at first when i tried to find out
how you are deriving the ATA:Bus,Target,Lun addresses.
Google is full of "ATA:0,0,0" examples.
My emerging theory said "/dev/hda" and my experience said
"nonsense". Then a workmate bought a new computer and
really ATA:0,0,0 is /dev/hda.)
Have a nice day :)
Thomas
Reply to: