Blacklist entry for HP dat changer
Hi,
after upgrading our SUN E250 from 2.4 to 2.6 I'm seeing following error when the HP DDS4 DAT changer gets probed:
scsi: host 1 channel 0 id 5 lun16777216 has a LUN larger than allowed by the host adapter
The device is connected to a symbios 875 host. I've talked to Willy about the problem, and he asked me to try to blacklist the device for reportlun. I did that with the patch below and it solved the problem. It now gets properly detected:
target1:0:5: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 16)
Vendor: HP Model: C5713A Rev: H307
Type: Sequential-Access ANSI SCSI revision: 03
target1:0:5: Beginning Domain Validation target1:0:5: FAST-20 SCSI 20.0 MB/s ST (50 ns, offset 16) target1:0:5: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 16) target1:0:5: Domain Validation skipping write tests target1:0:5: Ending Domain Validation
Vendor: HP Model: C5713A Rev: H307
Type: Medium Changer ANSI SCSI revision: 03
Looking at the misdetected LUN number I'm still thinking there might be an endianess problem (16777216 = 0x01000000 -> little endian 0x01). Is this possible ?
Thomas.
drivers/scsi/scsi_devinfo.c renamed from drivers/scsi/scsi_devinfo.c.orig +1 -0
@@ -160,6 +160,7 @@ {"HP", "HSV100", NULL, BLIST_REPORTLUN2 | BLIST_NOSTARTONADD}, {"HP", "C1557A", NULL, BLIST_FORCELUN}, {"HP", "C3323-300", "4269", BLIST_NOTQ}, + {"HP", "C5713A", NULL, BLIST_NOREPORTLUN}, {"IBM", "AuSaV1S2", NULL, BLIST_FORCELUN}, {"IBM", "ProFibre 4000R", "*", BLIST_SPARSELUN | BLIST_LARGELUN}, {"IBM", "2105", NULL, BLIST_RETRY_HWERROR},
Signed-Off: [email protected]
Signature · 2 lines
Crap can work. Given enough thrust pigs will fly, but it's not necessary a good idea. [ RFC1925, 2.3 ]
Quoted 2 lines · Thomas Bogendoerfer
scsi: host 1 channel 0 id 5 lun16777216 has a LUN larger than allowed by the host adapter
This is a classic symptom of a device incorrectly executing report luns, yes.
Quoted 3 lines
Looking at the misdetected LUN number I'm still thinking there might be an endianess problem (16777216 =
0x01000000-> little endian0x01). Is this possible ?
It's possible, but if so it would have to be inside the device. SCSI is big endian explicitly in the protocol documents.
drivers/scsi/scsi_devinfo.c line 163
Quoted 1 line
drivers/scsi/scsi_devinfo.c renamed from drivers/scsi/scsi_devinfo.c.orig +1
-0+ {"HP", "C5713A", NULL, BLIST_NOREPORTLUN},
This looks to be the correct fix ... I'll add it.
James