[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cdrecord-2.01.01a21 refuses work on Linux 2.4 if non-ide-scsi DVD-ROM is present



scdbackup@gmx.net wrote:

> We discussed it in July 2004. Yes it is a distro bug
> which i workaround each time i compile your source
> releases. SuSE 9.0 seems to suffer from a mix of 100
> and 1000 Hz. Probably the missing of a HZ macro is
> meant to express and emphasize this interesting state.

At that time AFAIK, there was also a problem with wong timeouts
for some people and I did never get a mailk that did help to find the
reason.

> > 1)      is USER_HZ available on that system?
> > 2)      what value is in USER_HZ?
>
> /usr/include/asm/param.h:# define USER_HZ       100

OK, then it should work this way:

#ifdef  USER_HZ 
        tmo *= USER_HZ; 
        if (tmo) 
                tmo += USER_HZ/2; 
#else 
        tmo *= HZ; 
        if (tmo) 
                tmo += HZ/2; 
#endif 

> > are you able to access the non-ide-scsi drive with older cdrecord versions?
>
> No. In a positive sense.
> 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....

> But it is quite a while since i last tested wether 
> dev=ATA -scanbus yields results on my system.
>
>   $ cdrecord dev=ATA -scanbus
>   Cdrecord-ProDVD-Clone 2.01.01a12 ...
>   ...
>   cdrecord: Read-only file system. Cannot open '/dev/hdg'. Cannot open SCSI driver.
>  
> Same with
>   cdrecord-2.01.01a4
>   cdrecord-prodvd-2.01.01b03-i686-pc-linux-gnu
>   cdrecord.2.01a33
> Older versions in my collection obviously do not recognize dev=ATA.

Besides the fact that EROFS is wrong here, it would be interesting to know 
what happens if opening readonly.....


> The other way known to me how to send SCSI commands is
> via libburn resp. its ioctl(SG_IO), which needs a O_RDWR 
> filedescriptor, which i cannot get because of the errno 30
> with open().
> So: no SCSI commands sendable for now.

OK.

> > returning EROFS is a POSIX violation, see:
>
> I see. It would be legal if /dev was on a read-only
> file system but not if /dev/hdg is unable to host a
> read-write filesystem.

It would be legal if /dev/ was on a ro FS and /dev/hdg was a plain file.

> > It would be possible to disable /dev/hd* scanning (by default)
> > for pre-2.6 systems. 
>
> I supported the recent libburn fork because there was a
> mandatory bus scan before any drive usage which caused various
> trouble. The decisive patch which icculus.org/burn did not
> accept was about restricting the bus scan to one single
> predicted drive address.
> This earned me developership with an own burn library. 
> Sigh ... chuckle.

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'

So it cannot even compile on Linux.....



> So - if you want advise - disable that new auto-scan feature
> unless an explicit drive address is missing. Also, avoid to

As this is not doable before you did scan, it would need to stay similar to how 
it is.

Jörg

-- 
 EMail:joerg@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
       js@cs.tu-berlin.de                (uni)  
       schilling@fokus.fraunhofer.de     (work) Blog: http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily



Reply to: