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.voropay@xxxxxxxxx>: > 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=-