Hello, linux-scsi!

I've re replaced sym53c8xx SCSI controller with
Adaptec ASC-29320ALP (chip AIC-7901).
- Ultra320 bus does not work physically, too many errors.
- Ultra160 bus works relable, no errors.

Unfortunately Adaptec does not work with CDB-16 too :(

scsi11 : Adaptec AIC79XX PCI-X SCSI HBA DRIVER, Rev 3.0
        <Adaptec 29320ALP PCIx Ultra320 SCSI adapter>
        aic7901: Ultra320 Wide Channel A, SCSI Id=7, PCI-X 101-133MHz, 512 SCBs
scsi 11:0:0:0: Direct-Access     IFT      A24U-G2421-1     347R PQ: 0 ANSI: 5
scsi target11:0:0: asynchronous
scsi11:A:0:0: Tagged Queuing enabled.  Depth 4
scsi target11:0:0: Beginning Domain Validation
scsi target11:0:0: wide asynchronous
scsi target11:0:0: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 127)
scsi target11:0:0: Ending Domain Validation
sd 11:0:0:0: [sde] Very big device. Trying to use READ CAPACITY(16).
sd 11:0:0:0: [sde] READ CAPACITY(16) failed
sd 11:0:0:0: [sde]  Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
sd 11:0:0:0: [sde] Sense not available.
sd 11:0:0:0: [sde] Using 0xffffffff as device size
sd 11:0:0:0: [sde] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
sd 11:0:0:0: [sde] Write Protect is off
sd 11:0:0:0: [sde] Mode Sense: 9b 00 00 08
sd 11:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't
support DPO or FUA
sd 11:0:0:0: [sde] Very big device. Trying to use READ CAPACITY(16).
sd 11:0:0:0: [sde] READ CAPACITY(16) failed
sd 11:0:0:0: [sde]  Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
sd 11:0:0:0: [sde] Sense not available.
sd 11:0:0:0: [sde] Using 0xffffffff as device size
sd 11:0:0:0: Attached scsi generic sg5 type 0
sde: unknown partition table
sd 11:0:0:0: [sde] Very big device. Trying to use READ CAPACITY(16).
sd 11:0:0:0: [sde] READ CAPACITY(16) failed
sd 11:0:0:0: [sde]  Result: hostbyte=DID_ABORT driverbyte=DRIVER_OK
sd 11:0:0:0: [sde] Sense not available.
sd 11:0:0:0: [sde] Using 0xffffffff as device size
sd 11:0:0:0: [sde] Attached SCSI disk


CAN ANYONE PLEASE recommend a working Ultra320 SCSI controller
with CDB-16 support ?


2017-04-27 18:33 GMT+03:00 Alexander Voropay <alexander.voro...@gmail.com>:
> Hi!
>
> I have a nasty bug with ‘sym53c8xx_2’ SCSI driver. I’m trying to
> attach a large (>2Tb) storage to this controller but it does not work.
> Seems nobody tested such combination before...
>
>
> My SCSI controller is noname OEM for Intel, PCI-X card with SYN53C1010 chip.
> Storage: Infortrend A24U-G2421-1 (upto 24 SATA disks to Ulra-320 SCSI 
> channel).
> I have 11x1Tb  RAID5 as one large disk with 10Tb in size.
> My Linux is RHEL 6, kernel "kernel-2.6.32-696.1.1.el6.x86_64".
>
> Physical SCSI link is OK, full Ultra-160, no physical/parity errors
> e.t.c. BUT IT DOES NOT WORK due to a software error.
>
> As it is known, Linux’s ‘sd’ uses CDB-16 command set for large SCSI
> disks. On the other hand ‘sym53c8xx_2’ driver “Utilizes SCRIPTS
> Load/Store command” and “Handles Phase Mismatch from SCRIPTS”. Seems
> there is a software error between driver and “sd”. As a result ALL
> disk operations are damn slow and gives a phase error in the “dmesg”:
> sd 4:0:0:0: phase change 2-7 16@37a9af60 resid=10.
> sd 4:0:0:0: phase change 2-7 16@37a9af60 resid=10.
> sd 4:0:0:0: phase change 2-7 16@37a9af60 resid=10.
> e.t.c.
>
> Another problem: “sd” incorrectly determines a disk size. Note a
> “phase change” errors after and before “capacity change”. As a result
> “sd” switches to CDB-10 and maximum disk size limited by 2Tb
>
> sym53c8xx 0000: 05:01.0: PCI INT A disabled
> sym53c8xx 0000: 05:01.0: PCI INT A -> GSI 24 (level, low) -> IRQ 24
> sym0: <1010-66> rev 0x1 at pci 0000: 05:01.0 irq 24
> sym0: Symbios NVRAM, ID 7, Fast-80, LVD, parity checking
> sym0: open drain IRQ line driver, using on-chip SRAM
> sym0: using LOAD/STORE-based firmware.
> sym0: handling phase mismatch from SCRIPTS.
> sym0: SCSI BUS has been reset.
> scsi4 : sym-2.2.3
> scsi 4:0:0:0: Direct-Access     IFT      A24U-G2421-1     347R PQ: 0 ANSI: 5
> scsi target4:0:0: tagged command queuing enabled, command queue depth 16.
> scsi target4:0:0: Beginning Domain Validation
> scsi target4:0:0: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 62)
> scsi target4:0:0: Ending Domain Validation
> sd 4:0:0:0: phase change 2-7 16@37a9af60 resid=10.
> sd 4:0:0:0: [sde] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
> sd 4:0:0:0: [sde] Write Protect is off
> sd 4:0:0:0: [sde] Mode Sense: 9b 00 00 08
> sd 4:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't
> support DPO or FUA
> sd 4:0:0:0: phase change 2-7 16@37a9af60 resid=10.
> sd 4:0:0:0: Attached scsi generic sg5 type 0
> sd 4:0:0:0: [sde] 19529912320 512-byte logical blocks: (9.99 TB/9.09 TiB)
> sde: detected capacity change from 2199023255552 to 9999315107840
> sde: unknown partition table
> sd 4:0:0:0: phase change 2-7 16@37a9af60 resid=10.
> sd 4:0:0:0: [sde] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
> sd 4:0:0:0: [sde] Attached SCSI disk
>
> As a result ‘parted’ does not work too, it hangs on “mklabel gpt” and
> kernel log filled with tons of “phase change” errors.
>
> Interestingly, most of “sg_*” utilities works fine even with --16 option.
>
> [root@stora ~]# sg_readcap -v /dev/sg5
>    read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
> READ CAPACITY (10) indicates device capacity too large
>  now trying 16 byte cdb variant
>    read capacity (16) cdb: 9e 10 00 00 00 00 00 00 00 00 00 00 00 20 00 00
>    read capacity (16): requested 32 bytes but got 12 bytes
> Read Capacity results:
>   Protection: prot_en=1, p_type=7, p_i_exponent=15
>   Thin provisioning: tpe=1, tprz=1
>   Last logical block address=19529912319 (0x48c12cfff), Number of
> logical blocks=19529912320
>   Logical block length=512 bytes
>   Logical blocks per physical block exponent=15
>   Lowest aligned logical block address=16383
> Hence:
>   Device size: 9999315107840 bytes, 9536090.0 MiB, 9999.32 GB
>
> UPD: I’ve found another PCI-X card from the old SUN server on the
> NCR53C897 (it has no PC-style BIOS but recognized). IT DOES NOT WORK
> TOO with the SAME error.
>
> sym53c8xx 0000:06:02.0: PCI INT A disabled
> sym53c8xx 0000:06:02.0: PCI INT A -> GSI 26 (level, low) -> IRQ 26
> sym0: <896> rev 0x7 at pci 0000:06:02.0 irq 26
> sym0: No NVRAM, ID 7, Fast-40, LVD, parity checking
> sym0: SCSI BUS has been reset.
> scsi9 : sym-2.2.3
> sym53c8xx 0000:06:02.1: PCI INT B -> GSI 27 (level, low) -> IRQ 27
> sym1: <896> rev 0x7 at pci 0000:06:02.1 irq 27
> sym1: No NVRAM, ID 7, Fast-40, LVD, parity checking
> sym1: SCSI BUS has been reset.
> scsi10 : sym-2.2.3
> scsi 9:0:0:0: Direct-Access     IFT      A24U-G2421-1     347R PQ: 0 ANSI: 5
> scsi target9:0:0: tagged command queuing enabled, command queue depth 16.
> scsi target9:0:0: Beginning Domain Validation
> scsi target9:0:0: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 31)
> scsi target9:0:0: Domain Validation skipping write tests
> scsi target9:0:0: Ending Domain Validation
> sd 9:0:0:0: phase change 2-7 16@37aaff60 resid=10.
> sd 9:0:0:0: [sde] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
> sd 9:0:0:0: Attached scsi generic sg5 type 0
> sd 9:0:0:0: [sde] Write Protect is off
> sd 9:0:0:0: [sde] Mode Sense: 9b 00 00 08
> sd 9:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't
> support DPO or FUA
> sd 9:0:0:0: phase change 2-7 16@37aaff60 resid=10.
> sd 9:0:0:0: [sde] 19529912320 512-byte logical blocks: (9.99 TB/9.09 TiB)
> sde: detected capacity change from 2199023255552 to 9999315107840
> sde: unknown partition table
> sd 9:0:0:0: phase change 2-7 16@37aaff60 resid=10.
> sd 9:0:0:0: [sde] 4294967296 512-byte logical blocks: (2.19 TB/2.00 TiB)
> sd 9:0:0:0: [sde] Attached SCSI disk
>
>
> --
> -=AV=-

Reply via email to