so i picked up a batch of these 146gb (Vendor: IBM Model: IC35L146 CLAR146 Rev: R58A) FC-AL drives from a fire sale.

i pop it into the machine when i notice this in dmesg:

[   86.717949]   Vendor: IBM       Model: IC35L146 CLAR146  Rev: R58A
[   86.717970]   Type:   Direct-Access                      ANSI SCSI revision: 03
[   86.720959] sdb : unsupported sector size 520.
[   86.720966] SCSI device sdb: 0 512-byte hdwr sectors (0 MB)
[   86.722822] sdb: Write Protect is off
[   86.722828] sdb: Mode Sense: e3 00 00 08
[   86.725797] SCSI device sdb: drive cache: write through
[   86.725908] sd 0:0:1:0: Attached scsi disk sdb
[   86.726103] sd 0:0:1:0: Attached scsi generic sg1 type 0

wtf ??!!??

oh – thats right…clarion uses a sector size of 520 over the conventional 512.

what to do now ?

fdisk & parted did not work.

here is what i did:
first, i installed sg3_utils (in gentoo sys-apps/sg3_utils):

venus tarballs # sg_scan -i
/dev/sg0: scsi0 channel=0 id=0 lun=0
    SEAGATE   ST136403FSUN36G   144A [rmb=0 cmdq=1 pqual=0 pdev=0x0]
/dev/sg1: scsi0 channel=0 id=1 lun=0
    IBM       IC35L146 CLAR146  R58A [rmb=0 cmdq=1 pqual=0 pdev=0x0]

so i now download a copy of setblocksize:

venus tarballs # ./setblocksize

setblocksize V0.2

Checking parameters ...
   Parameter error!
   Usage: 'setblocksize [-b<Blocksize in Byte>] [-t<Timeout in Minutes>] <sg_device>'

sweet !!! now lets convert the block size from 520 to 512:

venus tarballs # ./setblocksize -b512 /dev/sg1

setblocksize V0.2

Checking parameters ...
   Blocksize specified.
   Done.
New blocksize: 512 Bytes
Format timeout: 120 minutes
Open device file ...
   Done.
Prepare command ...
   Done.
Send INQUIRY command ...
   Done.
Check status ...
   Command successful.
Check for LUN ...
   LUN present.

===============================================================================
SCSI ID     : 1
LUN         : 0
Connected to: Host0 / Channel0
Manufacturer: IBM
Model       : IC35L146 CLAR146
Device type : Disk
===============================================================================
Do you really want to reformat this device [y/n]? y

Prepare command ...
   Done.
Send MODE SELECT command ...
   Done.
Check status ...
   Command successful.
Prepare command ...
   Done.
Send FORMAT UNIT command ...
   *** Please wait - Do not manually interrupt or power down! ***
   Done.
Check status ...
   Command successful.
Close device file ...
   Done.

Exiting ...

now lets give this a quick reboot
dmesg output:

[   89.179127]   Vendor: IBM       Model: IC35L146 CLAR146  Rev: R58A
[   89.179149]   Type:   Direct-Access                      ANSI SCSI revision: 03
[   89.182229] SCSI device sdb: 286749476 512-byte hdwr sectors (146816 MB)
[   89.184112] sdb: Write Protect is off
[   89.184119] sdb: Mode Sense: e3 00 00 08
[   89.187119] SCSI device sdb: drive cache: write through

[   89.381729] SCSI device sdb: 286749476 512-byte hdwr sectors (146816 MB)
[   89.391931] sdb: Write Protect is off
[   89.400225] sdb: Mode Sense: e3 00 00 08
[   89.402247] SCSI device sdb: drive cache: write through
[   89.410634]  sdb:VFS: Mounted root (ext2 filesystem) readonly.
[   89.424964]  unknown partition table
[   89.433541] sd 0:0:1:0: Attached scsi disk sdb
[   89.502697] sd 0:0:1:0: Attached scsi generic sg1 type 0

fdisk:

venus ~ # fdisk -l /dev/sdb

Disk /dev/sdb: 146.8 GB, 146815731712 bytes
255 heads, 63 sectors/track, 17849 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table

NICE!!!

i can now use my drives….

UPDATE 01-02-2009:
sdb from above is now sda. installation was moved over using:

tar cf - root folder | (cd /mnt/mounted partition; tar xvf -)
example: tar cf - bin boot dev (...and so on...) | (cd /mnt/sdaX; tar xvf -)
so now my fdisk output is:

$ sudo /sbin/fdisk -l
Password:

Disk /dev/sda (Sun disk label): 255 heads, 63 sectors, 17849 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sda1             0        65    522112+  83  Linux native
/dev/sda2  u         65       130    522112+  82  Linux swap
/dev/sda3             0     17849 143372092+   5  Whole disk
/dev/sda4           130      5229  40957717+  83  Linux native
/dev/sda5          5229     10328  40957717+  83  Linux native
/dev/sda6         10328     17849  60412432+  83  Linux native

Disk /dev/sdb (Sun disk label): 255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Flag    Start       End    Blocks   Id  System
/dev/sdb1             0      4427  35559877+  83  Linux native
/dev/sdb3             0      4427  35559877+   5  Whole disk