[PARPORT] cdrecord and HP7500e


urugvajo@geocities.com
Fri, 25 Jun 1999 10:44:11 +0000


The problem is that cdrecord is not able to detect my drive correctly.
I have modified a bit the cdrecord source and got the -scanbus command
to work. I have also traced the problem to the pg.c source.

All the information I got is below. I hope somebody can shed some light
on this.

Below you will find the output of the command 'insmod pg' and 'cdrecord
-scanbus'.

I changed the source (libsgc/linux-scsi-pg.c) so that I skip the call to
write() in the function do_scsi_cmd() when sp->size is zero. With that
modification the inquiry information is received and shown alright but
nothing else (but -scanbus) works.

When sp->size is zero inside do_scsi_cmd, inside
drivers/block/paride/pg.c, at pg_command() dlen is also zero and that
causes and error. At the end of the message you will see the debug
output of pg.c (with a small change, to print just the dlen characters
on output) while cdrecord tries to do a -scanbus.

I think there is something illegal about dlen being zero in pg_command,
but I don't know what it is. I am sure somebody who know about ATAPI
and paride can find out the problem.

In case you wonder I have also sent this information to Joerg Schilling
(cdrecord's author) and am still waiting for his answer.

My configuration:

Cdwriter: HP CD-Writer+ 7500e
System: Debian 2.1 (Slink)
Kernel: 2.2.9
Cdrecord: 1.8.a20

With 1.8.a22, the version I modified the source of, the results are the
same.

Eduardo.

********** output of 'insmod pg verbose=100'

pg: pg version 1.02, major 97
pg0: epat: port 0x3bc, mode 0, ccr ff, test=(255,255,510)
pg0: epat: port 0x3bc, mode 1, ccr ff, test=(255,255,510)
pg0: epat: port 0x3bc, mode 2, ccr ff, test=(255,255,510)
pg0: 0x378 is parport0
pg0: epat: port 0x378, mode 0, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 1, ccr 40, test=(256,224,448)
pg0: epat: port 0x378, mode 2, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 3, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 4, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 5, ccr 0, test=(256,0,0)
pg0: Sharing parport0 at 0x378
pg0: epat 1.01, Shuttle EPAT chip c6 at 0x378, mode 5 (EPP-32), delay 1
pg0: Reset (1) signature = 8 8 8 8 8 (incorrect)
pg0: Reset (1) signature = 1 1 1 14 eb
pg0: Command sent, dlen=36 packet= 12 00 00 00 24 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 b0 00 c4 00 00 00 00 01 00 00 00 01 00 00 00
pg0: Read 36 bytes
pg0: Data read (my debugging), dlen=36 packet= 05 80 00 21 5b 00 00 00
48 50 20 20
pg0: HP CD-Writer+ 7500, slave

********** cdrecord's output

Cdrecord release 1.8a20 Copyright (C) 1995-1999 Jörg Schilling
Using remote (pipe) mode for interactive i/o.
TOC Type: 1 = CD-ROM
scsibus0:
                  0)
Executing 'test unit ready' command on Bus 0 Target 0, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cmd finished after 0.001s timeout 40s

Executing 'test unit ready' command on Bus 0 Target 0, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cmd finished after 0.001s timeout 40s

Executing 'inquiry' command on Bus 0 Target 0, Lun 0 timeout 40s
CDB: 12 00 00 00 24 00
cdrecord: Input/output error. inquiry: scsi sendcmd: retryable error
status: 0x2 (CHECK CONDITION)
CDB: 12 00 00 00 24 00
Sense Bytes: 70 00 05 00 00 00 00 12 00 00 00 00 24 00 00 00 00 00
Sense Key: 0x5 Illegal Request, Segment 0
Sense Code: 0x24 Qual 0x00 (invalid field in cdb) Fru 0x0
Sense flags: Blk 0 (not valid)
resid: 36
cmd finished after 0.003s timeout 40s
Got 0 (0x0), expecting 36 (0x24) bytes of data.
Received Data:
error: 1 scb.chk: 1 sense_count: 18 sense.code: 0x70
'' '' '' NON CCS Disk
                  1)
Executing 'test unit ready' command on Bus 0 Target 1, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*
                  2)
Executing 'test unit ready' command on Bus 0 Target 2, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*
                  3)
Executing 'test unit ready' command on Bus 0 Target 3, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*
                  4)
Executing 'test unit ready' command on Bus 0 Target 4, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*
                  5)
Executing 'test unit ready' command on Bus 0 Target 5, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*
                  6)
Executing 'test unit ready' command on Bus 0 Target 6, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*
                  7)
Executing 'test unit ready' command on Bus 0 Target 7, Lun 0 timeout 40s
CDB: 00 00 00 00 00 00
cdrecord: Success. test unit ready: scsi sendcmd: fatal error
CDB: 00 00 00 00 00 00
cmd finished after 0.000s timeout 40s
*

********** debug of pg

pg0: epat: port 0x3bc, mode 0, ccr ff, test=(255,255,510)
pg0: epat: port 0x3bc, mode 1, ccr ff, test=(255,255,510)
pg0: epat: port 0x3bc, mode 2, ccr ff, test=(255,255,510)
pg0: 0x378 is parport0
pg0: epat: port 0x378, mode 0, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 1, ccr 40, test=(256,224,448)
pg0: epat: port 0x378, mode 2, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 3, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 4, ccr 0, test=(256,0,0)
pg0: epat: port 0x378, mode 5, ccr 0, test=(256,0,0)
pg0: Sharing parport0 at 0x378
pg0: epat 1.01, Shuttle EPAT chip c6 at 0x378, mode 5 (EPP-32), delay 1
pg0: Reset (1) signature = 8 8 8 8 8 (incorrect)
pg0: Reset (1) signature = 1 1 1 14 eb
pg0: Command sent, dlen=36 packet= 12 00 00 00 24 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 c0 01 c4 00 00 00 00 01 00 00 00 01 00 00 00
pg0: Read 36 bytes
pg0: Data read (my debugging), dlen=36 packet= 05 80 00 21 5b 00 00 00
48 50 20 20
pg0: HP CD-Writer+ 7500, slave
pg0: Command sent, dlen=36 packet= 12 00 00 00 24 00 00 00 00 00 00 00
60 40 06 c2 ed ff ff ff c0 65 09 c3 50 05 f6 c1 03 00 00 00 00 70 7b c0
pg0: Read 36 bytes
pg0: Data read (my debugging), dlen=36 packet= 05 80 00 21 5b 00 00 00
48 50 20 20
pg0: HP CD-Writer+ 7500, slave
pg0: Command sent, dlen=0 packet=
pg0: completion: stat=0x51 err=0x64 phase=3
pg0: Command sent, dlen=18 packet= 03 00 00 00 12 00 00 00 00 e7 fe bf
f4 28 12 c0 c0 65
pg0: completion: stat=0x51 err=0x54 phase=3
pg0: Command sent, dlen=0 packet=
pg0: completion: stat=0x51 err=0x64 phase=3
pg0: Command sent, dlen=18 packet= 03 00 00 00 12 00 00 00 00 00 00 00
f4 28 12 c0 c0 65
pg0: Read 20 bytes
pg0: Data read (my debugging), dlen=20 packet= 70 00 06 00 00 00 00 12
00 00 00 00
pg0: Command sent, dlen=0 packet=
pg0: Command sent, dlen=36 packet= 12 00 00 00 24 00 00 00 28 00 00 00
f4 28 12 c0 c0 65 09 c3 d0 e5 fe bf 18 00 00 00 d4 65 09 c3 00 a0 df c0
pg0: completion: stat=0x51 err=0x54 phase=3
pg0: Command sent, dlen=18 packet= 03 00 00 00 12 00 00 00 00 00 00 00
f4 28 12 c0 c0 65
pg0: Read 20 bytes
pg0: Data read (my debugging), dlen=20 packet= 70 00 05 00 00 00 00 12
00 00 00 00

-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --



This archive was generated by hypermail 2.0b3 on Fri 25 Jun 1999 - 09:44:18 EDT