Bug 7007 - LSI CERC ATA/100 Controller not found anymore when using kernel > 2.6.12.6 with "MEGARAID_LEGACY"
Summary: LSI CERC ATA/100 Controller not found anymore when using kernel > 2.6.12.6 wi...
Status: RESOLVED CODE_FIX
Alias: None
Product: SCSI Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: i386 Linux
: P2 high
Assignee: scsi_drivers-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-08-15 05:31 UTC by Frank
Modified: 2009-03-17 08:59 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.24
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Frank 2006-08-15 05:31:13 UTC
Most recent kernel where this bug did not occur: 2.6.12.6
Distribution: gentoo but I'm using the vanilla kernels from kernel.org
Hardware Environment: DELL 1600SC
Software Environment:
Problem Description: When using an kernel newer than 2.6.12.6 the LSI CERC
AtA100 Controller is not found by the kernel any more.

Steps to reproduce:

Just compile any kernel newer than 2.6.12.6 and try to boot on an Dell 1600SC
and you will see that the Controller is not found by the kernel any more.
Comment 1 Alexey Dobriyan 2006-08-17 12:42:56 UTC
Please, attach "dmesg" output for working and non-working kernel.
Comment 2 Alexey Dobriyan 2006-08-17 13:11:55 UTC
if non-legacy megaraid driver won't work ;-)
Comment 3 Frank 2006-08-31 02:03:26 UTC
There is no dmesg output cause the kernel did not find any megarraid controller!

What do you mean by "non-legacy megaraid driver" ??
Comment 4 Frank 2006-08-31 02:05:55 UTC
dmesg output from the working 2.6.12.6 kernel is:

##########schnip################
..
Uniform CD-ROM driver Revision: 3.20
ACPI: PCI Interrupt 0000:01:02.0[A] -> GSI 17 (level, low) -> IRQ 17
megaraid: found 0x101e:0x1960:bus 1:slot 2:func 0
scsi0:Found MegaRAID controller at 0xf8802000, IRQ:17
megaraid: [6.62:1.03] detected 1 logical drives.
megaraid: supports extended CDBs.
megaraid: channel[0] is raid.
megaraid: channel[1] is raid.
megaraid: channel[2] is raid.
megaraid: channel[3] is raid.
scsi0 : LSI Logic MegaRAID 6.62 254 commands 16 targs 7 chans 7 luns
scsi0: scanning scsi channel 0 for logical drives.
  Vendor: MegaRAID  Model: LD 0 RAID1   76G  Rev: 6.62
  Type:   Direct-Access                      ANSI SCSI revision: 02
scsi0: scanning scsi channel 1 for logical drives.
scsi0: scanning scsi channel 2 for logical drives.
scsi0: scanning scsi channel 4 [P0] for physical devices.
scsi0: scanning scsi channel 5 [P1] for physical devices.
scsi0: scanning scsi channel 6 [P2] for physical devices.
scsi0: scanning scsi channel 7 [P3] for physical devices.
SCSI device sda: 156217344 512-byte hdwr sectors (79983 MB)
sda: asking for cache data failed
sda: assuming drive cache: write through
SCSI device sda: 156217344 512-byte hdwr sectors (79983 MB)
sda: asking for cache data failed
sda: assuming drive cache: write through
 sda: sda1 sda2 sda3
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
usbmon: debugs is not available
USB Universal Host Controller Interface driver v2.2
usbcore: registered new driver usblp
...
#########schnap##########
Comment 5 Frank 2006-08-31 02:13:37 UTC
Kernel Settings for 2.6.12.6:


< > Always IN2000 SCSI support                                                 
                        
[ ] LSI Logic New Generation RAID Device Drivers                               
                        
<*> LSI Logic Legacy MegaRAID Driver                                           
                        
[ ] Serial ATA (SATA) support                                                  
                        
< > BusLogic SCSI support             

#####################
Kernel Settings for 2.6.17.x

< > Always IN2000 SCSI support                                                 
                     
[ ] LSI Logic New Generation RAID Device Drivers                               
                     
<*> LSI Logic Legacy MegaRAID Driver                                           
                     
< > LSI Logic MegaRAID SAS RAID Module                                         
                     
< > Serial ATA (SATA) support
Comment 6 Alexey Dobriyan 2006-09-06 15:10:12 UTC
0x101e:0x1960 is now managed by new MegaRAID driver. Duplicates with legacy
driver were removed from it.

Something like this should do the trick:

    [*] LSI Logic New Generation RAID Device Drivers
      <*>   LSI Logic Management Module (New Driver)
        <*>     LSI Logic MegaRAID Driver (New Driver)
Comment 7 Frank 2006-09-15 08:26:32 UTC
Tried that with your recommend kernel settings, but the kernel still not finds
any scsi HD/drives ! Something like "scsi0 : LSI Logic MegaRAID 6.62 254
commands 16 targs 7 chans 7 lunsscsi0: scanning scsi channel 0 for logical
drives.  Vendor: MegaRAID  Model: LD 0 RAID1   76G  Rev: 6.62 Type:  
Direct-Access                      ANSI SCSI revision: 02" "
Is not happening with the newer kernel than 2.6.12.6 !

Comment 8 Mark Weaver 2007-09-17 04:26:00 UTC
This is also http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=410817, I have copied the outcome below:

I have done some investigation on this as I have the exact same issue (that megaraid_mbox handles the card ok, but does not find any RAID devices, whereas the old megaraid driver handled them fine) and it turns out that this issue is due to megaraid_mbox_support_random_del returning 1.  This causes 0x80 to be added to all of the logical drive numbers sent to the firmware, but the Dell firmware does not see any RAID drives if this takes place.  The old megaraid driver only used to add 0x80 do this after a logical drive had been deleted:

/*
 * If "delete logical drive" feature is enabled on this controller.
 * Do only if at least one delete logical drive operation was done.
 *
 * Also, after logical drive deletion, instead of logical drive number,
 * the value returned should be 0x80+logical drive id.
 *
 * These is valid only for IO commands.
 */

I am not familiar enough with the other hardware to figure out if doing the same thing in the new driver is correct or not.  (I also have no idea how you would go about deleting a logical drive to test this, since I can't find any tools to do so other than the controller BIOS, which implies rebooting anyway).

I sent a mail to megaraidlinux@lsi.com with this info a couple of weeks ago but have not heard anything back.

(Frank, in the meantime you can hack up megaraid_mbox_support_random_del to return 0 all the time, the driver seems to work ok after that!)
Comment 9 Natalie Protasevich 2008-03-29 21:15:04 UTC
Frank, have you tested your card with recent kernel? The Megaraid should be sorted out by now.
Comment 10 Steven Jones 2008-04-27 12:25:18 UTC
No it is not
Comment 11 Steven Jones 2008-04-27 12:25:45 UTC
ie still in 2.6.24......
Comment 12 Roland Kletzing 2008-05-11 16:54:52 UTC
regression....

one more.....

when reading bug reports like these, i`m really loosing confidence in linux. :(
Comment 13 Roland Kletzing 2008-05-11 17:24:00 UTC
sorry, that was a little bit overhasty reply because this bug entry gave false impression.

actually it seems that this was recently being discussed/adressed

see
http://bugzilla.kernel.org/show_bug.cgi?id=6695

maybe it`s worth trying latest git ?

Note You need to log in before you can comment on or make changes to this bug.