# LSI Logic 53c1010 Ultra3 SCSI Adapter can't run newer kernel

## jblake20

I am trying to upgrade my kernel from 2.6.25 to kernel to 2.6.34 or 2.6.36, neither work when trying to build for my LSI Logic 53c1010 Ultra3 SCSI Adapter.  It works fine in the 2.6.25

I keep getting the kernel panic VFS error, etc.. 

lspci:

04:08.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1010 Ultra3 SCSI Adapter (rev 01)

04:08.1 SCSI storage controller: LSI Logic / Symbios Logic 53c1010 Ultra3 SCSI Adapter (rev 01)

I have tried just about everything that looks relevant in the kernel config options.  All other posts about similar problems are pretty dated, and the fixes do not work still.  So I am wondering what else to try?

Here is my grub.conf

title=Gentoo Linux 2.6.36-r5

root (hd0,0)

kernel /boot/kernel-2.6.36-gentoo-r5 root=/dev/sda4 quiet

I believe I have all options and more compiled into the kernel

For the new versions of the kernel, is the name of the devices for scsi changed, i.e the previously working /dev/sda4 worked before, but with new version of kernel, is it looking for different name?

here is my last attempt, showing specific SCSI settings

# SCSI device support

CONFIG_SCSI_MOD=y

CONFIG_SCSI=y

CONFIG_SCSI_DMA=y

# CONFIG_SCSI_TGT is not set

CONFIG_SCSI_NETLINK=y

# CONFIG_SCSI_PROC_FS is not set

# SCSI support type (disk, tape, CD-ROM)

CONFIG_SCSI_MULTI_LUN=y

CONFIG_SCSI_CONSTANTS=y

# CONFIG_SCSI_LOGGING is not set

# CONFIG_SCSI_SCAN_ASYNC is not set

CONFIG_SCSI_WAIT_SCAN=m

# SCSI Transports

CONFIG_SCSI_SPI_ATTRS=y

CONFIG_SCSI_FC_ATTRS=y

# CONFIG_SCSI_ISCSI_ATTRS is not set

CONFIG_SCSI_SAS_ATTRS=y

# CONFIG_SCSI_SAS_LIBSAS is not set

# CONFIG_SCSI_SRP_ATTRS is not set

CONFIG_SCSI_LOWLEVEL=y

# CONFIG_ISCSI_TCP is not set

# CONFIG_ISCSI_BOOT_SYSFS is not set

# CONFIG_SCSI_BNX2_ISCSI is not set

# CONFIG_BE2ISCSI is not set

# CONFIG_SCSI_HPSA is not set

# CONFIG_SCSI_3W_9XXX is not set

# CONFIG_SCSI_3W_SAS is not set

# CONFIG_SCSI_ACARD is not set

CONFIG_SCSI_AACRAID=y

CONFIG_SCSI_AIC7XXX=y

# CONFIG_SCSI_AIC7XXX_OLD is not set

CONFIG_SCSI_AIC79XX=y

# CONFIG_SCSI_AIC94XX is not set

# CONFIG_SCSI_MVSAS is not set

# CONFIG_SCSI_DPT_I2O is not set

# CONFIG_SCSI_ADVANSYS is not set

# CONFIG_SCSI_ARCMSR is not set

CONFIG_SCSI_MPT2SAS=y

CONFIG_SCSI_MPT2SAS_MAX_SGE=128

# CONFIG_SCSI_MPT2SAS_LOGGING is not set

# CONFIG_SCSI_HPTIOP is not set

# CONFIG_SCSI_BUSLOGIC is not set

# CONFIG_VMWARE_PVSCSI is not set

# CONFIG_SCSI_DMX3191D is not set

# CONFIG_SCSI_EATA is not set

# CONFIG_SCSI_FUTURE_DOMAIN is not set

# CONFIG_SCSI_GDTH is not set

# CONFIG_SCSI_IPS is not set

# CONFIG_SCSI_INITIO is not set

# CONFIG_SCSI_INIA100 is not set

# CONFIG_SCSI_STEX is not set

CONFIG_SCSI_SYM53C8XX_2=y

CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1

CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16

CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64

CONFIG_SCSI_SYM53C8XX_MMIO=y

# CONFIG_SCSI_IPR is not set

# CONFIG_SCSI_QLOGIC_1280 is not set

# CONFIG_SCSI_QLA_FC is not set

# CONFIG_SCSI_QLA_ISCSI is not set

# CONFIG_SCSI_LPFC is not set

# CONFIG_SCSI_DC395x is not set

# CONFIG_SCSI_DC390T is not set

# CONFIG_SCSI_DEBUG is not set

# CONFIG_SCSI_PMCRAID is not set

# CONFIG_SCSI_PM8001 is not set

# CONFIG_SCSI_SRP is not set

# CONFIG_SCSI_BFA_FC is not set

# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set

# CONFIG_SCSI_DH is not set

# CONFIG_SCSI_OSD_INITIATOR is not set

# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may

# CONFIG_ISCSI_IBFT_FIND is not set

Any help would be greatly appreciated

----------

## NeddySeagoon

jblake20,

I don't see SD  (SCDI Disk) there.  Can you post your kernel .config to a pastebin site with wgetpaste please.

It avoids copy/paste errors.

What error do you get when you attempt to boot.  I'm guessing a VFS related panic that ends in unknown-block (x,y)

What are the numbers x and y ?

----------

## jblake20

Hi NeddySeagoon

The exact error is:

 Kernel panic - not syncing: VFS:  Unable t

## end of above line is cut off

wn-block(8,4)

Pid: 1, comm:  swapper Not tainted 2.6.36-

Here is my entire config file:

http://pastebin.com/LKqSyGsJ

Thanks

Jamie

----------

## NeddySeagoon

jblake20

(8,4) is /dev/sda4  Either that is not your root partition or your filesystem for the root partition is not in your kernel, or both.

You should not use CONFIG_IDE=y the depreciated IDE drivers - even for your PATA CDROM.

If you have a mix of PATA/SCSI/SATA drives, things may get renumbered with the migration to libata.

You have CONFIG_BLK_DEV_SR=y, which gets you CDROM support in the SCSI layer. Choose the chipset the IDR CDROM is connected to under the SATA menu. You have some low level drivers configured under both the old IDE menu and under the PATA SFF controllers with BMDMA menu, under SATA.  This means you have two drivers for the same hardware, which is a bad idea.

udev no longer makes /dev entries for hda and friends. Your CDROM will become /dev/sr0.

The symlinks /dev/cdrom etc will all still work.

----------

## jblake20

NeddySeagoon

It was the root partition using the 2.6.25 kernel, so I am assuming I am missing something in the kernel config.

I only have an ide cdrom and 2 scsi drives that when mounted under the 2.6.25 kernel 

here is my /etc/fstab

/dev/sda1		/boot		ext2		noauto,noatime	1 2

/dev/sda3		/		reiserfs		noatime,notail	

	0 1

/dev/sda2		none		swap		sw		0 0

/dev/sdb1		/u02		reiserfs                noatime,notail  

       0 1 

/dev/dvd		/mnt/dvd	auto		noauto,ro,user	0 0

proc        /proc        proc    nodev,nosuid,noexec  0 0

shm			/dev/shm	tmpfs		nodev,nosuid,noexec	

0 0

I will try to removing the deprecated drivers and use newer ones, again,  I was grasping as straws. 

What about, as far as scsi options?

Do I only need:

<*>   SYM53C8XX Version 2 SCSI support                           │ │  

  │ │    (1)     DMA addressing mode                                      │ │  

  │ │    (16)    Default tagged command queue depth                       │ │  

  │ │    (64)    Maximum number of queued commands                        │ │  

  │ │    [*]     Use memory mapped IO 

OR do I need any of these?

   [*]   LSI Logic New Generation RAID Device Drivers               │ │  

  │ │    <*>     LSI Logic Management Module (New Driver)                 │ │  

  │ │    < >       LSI Logic MegaRAID Driver (New Driver)                 │ │  

  │ │    <*>   LSI Logic Legacy MegaRAID Driver                           │ │  

  │ │    < >   LSI Logic MegaRAID SAS RAID Module                         │ │  

  │ │    < >   LSI MPT Fusion SAS 2.0 Device Driver 

or

  --- Fusion MPT device support                                    │ │  

  │ │    <*>   Fusion MPT ScsiHost drivers for SPI                        │ │  

  │ │    < >   Fusion MPT ScsiHost drivers for FC                         │ │  

  │ │    < >   Fusion MPT ScsiHost drivers for SAS                        │ │  

  │ │    (128) Maximum number of scatter gather entries (16 - 128)        │ │  

  │ │    < >   Fusion MPT misc device (ioctl) driver                      │ │  

  │ │    [ ]   Fusion MPT logging facility 

Thanks

----------

## jblake20

NeddySeagoon

I made a big mistake/stupid, somehow when I copied and pasted my grub.conf lines, for the the 2.6.36 kernel, I changed my root partitiong to /dev/sda4, when indeed as you said it must not be my root partition.  it should be /dev/sda3

Thank you so much for you help.

Jamie

----------

## NeddySeagoon

jblake20,

Your hardware serup looks ok, apart for your CDROM and that won't interfere with booting.

Once you get booted, the CDROM may not work but thats another issue.

unknown-block (8,4) means the kernel sees the drive and the partition but can't read what it finds there.

Lets play with that for a moment ans assume your drives have been swapped over. What is in /dev/sdb4 ?

Should the kernel be able to read that?

Have you left a USB storage device attached ?

That will get /dev/sda and your real SCSI devices will get bumped.

Heres some simple testing. At the grub splash screen, press e then navigate to the  

```
root (hd0,0)
```

line.

Edit it so it reads 

```
root (hd
```

then press the tab key.  Grub will list your drives, it should list 0 and 1.  Choose 1, (for a change).

So the root line now reads 

```
root (hd1,
```

press tab again and grub will list the partitions on hd1.

Grub is quite happy to load the kernel from (hd0,0)

Back to your kernel .config

CONFIG_ROOT_NFS=y is only needed for kernels on diskless nodes, where you mount root over NFS.

I think its harmless but it should be off.

Beware of CONFIG_HZ_1000=y it causes some systems to hang during boot but you haven't got to that point yet.

```
# CONFIG_CHR_DEV_SG is not set
```

 that is needed for USB storage devices and usb storage is on.

Have you ever edited .config with a text editor?

What filesystem is on /dev/sda4 ?  

You have support for ext2, rieserfs 3.6 and XFS, so your root should be one of those.

----------

## jblake20

Hi NeddySeagoon

I am all set, I was making my problem much more complicated then it turned out to be.

I was using the wrong root option and was mistaken when I said it worked for 2.6.25, well it did work for 2.6.25 but not for the reason I thought it was...

the boot option I had for the 2.6.25 had the correct root option of /dev/sda3

somehow when I was making a new grub.conf entry, I mistakenly changed root to /dev/sda4 which does not exist, and it needed to be /dev/sda3

Thanks for you help

Jamie

----------

