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.
Please, attach "dmesg" output for working and non-working kernel.
if non-legacy megaraid driver won't work ;-)
There is no dmesg output cause the kernel did not find any megarraid controller! What do you mean by "non-legacy megaraid driver" ??
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##########
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
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)
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 !
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!)
Frank, have you tested your card with recent kernel? The Megaraid should be sorted out by now.
No it is not
ie still in 2.6.24......
regression.... one more..... when reading bug reports like these, i`m really loosing confidence in linux. :(
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 ?