strange SCSI error while trying to mount a CDrom
I have currently a strange bug for which I do not succeed to find the cause.
I am working on a Linux from scratch based distribution with kernel 220.127.116.11 and my company has recently acquired a new SCSI adapter, an Adaptec 29320ALP.
With this adapter, when I boot on CDrom, trying to mount the CDrom filesystem, I get the following messages:
sr 1:0:0:0: SCSI error: return code = 0x08000002
sr 1:0:0:0: Sense Key : Medium Error [current]
sr 1:0:0:0: Add. Sense: No seek complete
end request: I/O error, dev sr0, sector 64
isofs_fill_super: bread failed, dev=sr0, iso_blknum = 16, block = 16
mount: Mounting /dev/sr0 on /mnt/cdrom1 failed: Invalid argument
and the mount fails.
I have to precise that my CDrom is an IDE one, the SCSI adapter is only used for the tape drive.
that behabiour never occured before (with other SCSI adapters) and seems to happen only when the Adaptec card is plugged.
What is strange is that, getting a shell from my install CD after the mount failure, I can mount the Cdrom with the command line. It seems that only the first attempt does fail.
Another annoying thing is that this bug is not systematic, it can happen on 10 successive reboots and then not happen anymore, so I cannot know if the workaround I tried are working or not.
It also happens sometimes when booting on disk, with the same kernel.
Here are my configuration :
Linux 18.104.22.168 compiled with libata
module aic79xx loaded for the SCSI adapter
driver aic7xxx compiled in the kernel (should not be used and doesn't seem to be)
Module Size Used by Not tainted
isofs 33080 1 - Live 0xe00d7000
sr_mod 16680 1 - Live 0xe0077000
cdrom 36160 1 sr_mod, Live 0xe00cd000
aic79xx 178776 0 - Live 0xe004a000
r8169 27928 0 - Live 0xe0042000
r8168 30760 0 - Live 0xe0039000
i2c_i801 8336 0 - Live 0xe0024000
i2c_core 20880 1 i2c_i801, Live 0xe0028000
cat /proc/scsi/scsi :
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: ST3500630AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
Vendor: Optiarc Model: DVD RW AD-5170A Rev: 1.12
Type: CD-ROM ANSI SCSI revision: 05
Host: scsi2 Channel: 00 Id: 02 Lun: 00
Vendor: TANDBERG Model: TS400 Rev: 0258
Type: Sequential-Access ANSI SCSI revision: 03
cat /proc/interrupts :
0: 74304 XT-PIC-XT timer
1: 533 XT-PIC-XT i8042
2: 0 XT-PIC-XT cascade
4: 1057 XT-PIC-XT serial
8: 1 XT-PIC-XT rtc
9: 0 XT-PIC-XT acpi
10: 936 XT-PIC-XT eth0
11: 165 XT-PIC-XT aic79xx
12: 5 XT-PIC-XT i8042
14: 3 XT-PIC-XT libata
15: 67 XT-PIC-XT libata
I am not an SCSI expert and would need someone to give me some light on this behaviour. What do mean these messages ?
Thank you for help
Ok, I've got new elements.
I burnt a CD-R based on my install CD, but that does not launch the install, only starts a shell, so I can execute commands on a virgin basis, no modules loaded, no filesystems mounted, no devices created...
I have stopped totally the machine and started it with the CD in.
I loaded the few modules needed to mount the CD, created /dev/sr0 and mounted it : it failed. then remounting it immediately after it succeeded.
I rebooted (no elctric stop this time) and redid the same things and the first mount succeeded.
Restopping electrically and restarting reproduced the problem.
So it seems the random factor is not so random when I do a minimal bunch of operations.
Another thing, the driver aic79xx is not responsible of the problem since it wasn't loaded with this CD and the failure occured.