After upgrading from 2.6.33-r2 to 2.6.34-r1, the SATA drives device names (AHCI) were assigned in a different order. In particular, my 3 SATA drives list now as sda, sdb, sdg instead of sda, sdb, sdc. My card reader device is assigned sd(c,d,e,f) in between. Reverting to 2.6.33-r2 solves the problem. In both cases, USB_STORAGE and SATA_AHCI are both compiled directly in the kernel (not as a module). This problem has been experienced by at least another user: http://forums.gentoo.org/viewtopic-p-6349266.html Reproducible: Always Steps to Reproduce: =============================================== Relevant (partial) output from lspci: =============================================== 00:1a.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4 00:1a.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5 00:1a.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6 00:1a.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2 00:1d.0 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 00:1d.1 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2 00:1d.2 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3 00:1d.7 USB Controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1 00:1f.2 SATA controller: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller =============================================== /var/log/messages (gentoo-sources-2.6.33-r2) =============================================== Jul 12 21:28:49 bestia kernel: [ 1.814081] scsi 0:0:0:0: Direct-Access ATA ST3500630AS 3.AA PQ: 0 ANSI: 5 Jul 12 21:28:49 bestia kernel: [ 1.814284] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) Jul 12 21:28:49 bestia kernel: [ 1.814303] sd 0:0:0:0: Attached scsi generic sg0 type 0 Jul 12 21:28:49 bestia kernel: [ 1.814343] sd 0:0:0:0: [sda] Write Protect is off Jul 12 21:28:49 bestia kernel: [ 1.814344] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 Jul 12 21:28:49 bestia kernel: [ 1.814358] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA (...) Jul 12 21:28:49 bestia kernel: [ 1.927871] sda: (...) Jul 12 21:28:49 bestia kernel: [ 1.981414] sda1 sda2 sda3 sda4 (...) Jul 12 21:28:49 bestia kernel: [ 2.017413] sd 0:0:0:0: [sda] Attached SCSI disk (...) Jul 12 21:28:49 bestia kernel: [ 2.641033] scsi 1:0:0:0: Direct-Access ATA ST3500630AS 3.AA PQ: 0 ANSI: 5 Jul 12 21:28:49 bestia kernel: [ 2.653040] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB) Jul 12 21:28:49 bestia kernel: [ 2.653135] sd 1:0:0:0: Attached scsi generic sg1 type 0 Jul 12 21:28:49 bestia kernel: [ 2.675692] sd 1:0:0:0: [sdb] Write Protect is off Jul 12 21:28:49 bestia kernel: [ 2.687175] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 Jul 12 21:28:49 bestia kernel: [ 2.687190] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Jul 12 21:28:49 bestia kernel: [ 2.698670] sdb: sdb1 sdb2 sdb3 sdb4 Jul 12 21:28:49 bestia kernel: [ 2.728312] sd 1:0:0:0: [sdb] Attached SCSI disk (...) Jul 12 21:28:49 bestia kernel: [ 3.529107] scsi 2:0:0:0: Direct-Access ATA ST3500630AS 3.AA PQ: 0 ANSI: 5 Jul 12 21:28:49 bestia kernel: [ 3.541792] sd 2:0:0:0: [sdc] 976773168 512-byte logical blocks: (500 GB/465 GiB) Jul 12 21:28:49 bestia kernel: [ 3.541889] sd 2:0:0:0: Attached scsi generic sg2 type 0 Jul 12 21:28:49 bestia kernel: [ 3.566572] sd 2:0:0:0: [sdc] Write Protect is off Jul 12 21:28:49 bestia kernel: [ 3.578898] sd 2:0:0:0: [sdc] Mode Sense: 00 3a 00 00 Jul 12 21:28:49 bestia kernel: [ 3.578913] sd 2:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Jul 12 21:28:49 bestia kernel: [ 3.591535] sdc: sdc1 sdc2 sdc3 sdc4 Jul 12 21:28:49 bestia kernel: [ 3.626182] sd 2:0:0:0: [sdc] Attached SCSI disk (...) Jul 12 21:28:49 bestia kernel: [ 7.141843] scsi 9:0:0:0: Direct-Access Generic USB SD Reader 1.00 PQ: 0 ANSI: 0 Jul 12 21:28:49 bestia kernel: [ 7.142348] scsi 9:0:0:1: Direct-Access Generic USB CF Reader 1.01 PQ: 0 ANSI: 0 Jul 12 21:28:49 bestia kernel: [ 7.142852] scsi 9:0:0:2: Direct-Access Generic USB SM Reader 1.02 PQ: 0 ANSI: 0 Jul 12 21:28:49 bestia kernel: [ 7.143342] scsi 9:0:0:3: Direct-Access Generic USB MS Reader 1.03 PQ: 0 ANSI: 0 Jul 12 21:28:49 bestia kernel: [ 7.144278] sd 9:0:0:0: Attached scsi generic sg4 type 0 Jul 12 21:28:49 bestia kernel: [ 7.144640] sd 9:0:0:1: Attached scsi generic sg5 type 0 Jul 12 21:28:49 bestia kernel: [ 7.144979] sd 9:0:0:2: Attached scsi generic sg6 type 0 Jul 12 21:28:49 bestia kernel: [ 7.145326] sd 9:0:0:3: Attached scsi generic sg7 type 0 Jul 12 21:28:49 bestia kernel: [ 7.146964] sd 9:0:0:0: [sdd] Attached SCSI removable disk Jul 12 21:28:49 bestia kernel: [ 7.148224] sd 9:0:0:1: [sde] Attached SCSI removable disk Jul 12 21:28:49 bestia kernel: [ 7.148979] sd 9:0:0:2: [sdf] Attached SCSI removable disk Jul 12 21:28:49 bestia kernel: [ 7.149703] sd 9:0:0:3: [sdg] Attached SCSI removable disk =============================================== /var/log/messages (gentoo-sources-2.6.34-r1) =============================================== Jul 12 21:22:54 bestia kernel: [ 1.849083] scsi 0:0:0:0: Direct-Access ATA ST3500630AS 3.AA PQ: 0 ANSI: 5 Jul 12 21:22:54 bestia kernel: [ 1.849418] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB) Jul 12 21:22:54 bestia kernel: [ 1.849431] sd 0:0:0:0: Attached scsi generic sg0 type 0 Jul 12 21:22:54 bestia kernel: [ 1.849473] sd 0:0:0:0: [sda] Write Protect is off Jul 12 21:22:54 bestia kernel: [ 1.849475] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00 Jul 12 21:22:54 bestia kernel: [ 1.849488] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA (...) Jul 12 21:22:54 bestia kernel: [ 1.983187] sda: (...) Jul 12 21:22:54 bestia kernel: [ 2.014826] sda1 sda2 sda3 sda4 (...) Jul 12 21:22:54 bestia kernel: [ 2.304562] sd 0:0:0:0: [sda] Attached SCSI disk (...) Jul 12 21:22:54 bestia kernel: [ 2.698126] scsi 1:0:0:0: Direct-Access ATA ST3500630AS 3.AA PQ: 0 ANSI: 5 Jul 12 21:22:54 bestia kernel: [ 2.709601] sd 1:0:0:0: [sdb] 976773168 512-byte logical blocks: (500 GB/465 GiB) Jul 12 21:22:54 bestia kernel: [ 2.709704] sd 1:0:0:0: Attached scsi generic sg1 type 0 Jul 12 21:22:54 bestia kernel: [ 2.732044] sd 1:0:0:0: [sdb] Write Protect is off Jul 12 21:22:54 bestia kernel: [ 2.743234] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 Jul 12 21:22:54 bestia kernel: [ 2.743251] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Jul 12 21:22:54 bestia kernel: [ 2.754685] sdb: sdb1 sdb2 sdb3 sdb4 Jul 12 21:22:54 bestia kernel: [ 2.786622] sd 1:0:0:0: [sdb] Attached SCSI disk Jul 12 21:22:54 bestia kernel: [ 2.983810] scsi 9:0:0:0: Direct-Access Generic USB SD Reader 1.00 PQ: 0 ANSI: 0 Jul 12 21:22:54 bestia kernel: [ 2.995696] scsi 9:0:0:1: Direct-Access Generic USB CF Reader 1.01 PQ: 0 ANSI: 0 Jul 12 21:22:54 bestia kernel: [ 3.007440] scsi 9:0:0:2: Direct-Access Generic USB SM Reader 1.02 PQ: 0 ANSI: 0 Jul 12 21:22:54 bestia kernel: [ 3.018935] scsi 9:0:0:3: Direct-Access Generic USB MS Reader 1.03 PQ: 0 ANSI: 0 Jul 12 21:22:54 bestia kernel: [ 3.030397] sd 9:0:0:0: Attached scsi generic sg2 type 0 Jul 12 21:22:54 bestia kernel: [ 3.041601] sd 9:0:0:1: Attached scsi generic sg3 type 0 Jul 12 21:22:54 bestia kernel: [ 3.052289] usb 3-2: new full speed USB device using uhci_hcd and address 2 Jul 12 21:22:54 bestia kernel: [ 3.052535] sd 9:0:0:2: Attached scsi generic sg4 type 0 Jul 12 21:22:54 bestia kernel: [ 3.052803] sd 9:0:0:3: Attached scsi generic sg5 type 0 Jul 12 21:22:54 bestia kernel: [ 3.052809] scsi_scan_9 used greatest stack depth: 5648 bytes left Jul 12 21:22:54 bestia kernel: [ 3.097553] sd 9:0:0:0: [sdc] Attached SCSI removable disk Jul 12 21:22:54 bestia kernel: [ 3.108799] sd 9:0:0:1: [sdd] Attached SCSI removable disk Jul 12 21:22:54 bestia kernel: [ 3.120054] sd 9:0:0:2: [sde] Attached SCSI removable disk Jul 12 21:22:54 bestia kernel: [ 3.130585] sd 9:0:0:3: [sdf] Attached SCSI removable disk (...) Jul 12 21:22:54 bestia kernel: [ 3.445033] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300) Jul 12 21:22:54 bestia kernel: [ 3.497961] ata3.00: ATA-7: ST3500630AS, 3.AAK, max UDMA/133 Jul 12 21:22:54 bestia kernel: [ 3.509074] ata3.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 31/32) (...) Jul 12 21:22:54 bestia kernel: [ 3.556270] ata3.00: configured for UDMA/133 Jul 12 21:22:54 bestia kernel: [ 3.589084] scsi 2:0:0:0: Direct-Access ATA ST3500630AS 3.AA PQ: 0 ANSI: 5 Jul 12 21:22:54 bestia kernel: [ 3.600489] sd 2:0:0:0: [sdg] 976773168 512-byte logical blocks: (500 GB/465 GiB) Jul 12 21:22:54 bestia kernel: [ 3.601249] sd 2:0:0:0: Attached scsi generic sg6 type 0 Jul 12 21:22:54 bestia kernel: [ 3.622853] sd 2:0:0:0: [sdg] Write Protect is off Jul 12 21:22:54 bestia kernel: [ 3.633987] sd 2:0:0:0: [sdg] Mode Sense: 00 3a 00 00 Jul 12 21:22:54 bestia kernel: [ 3.634012] sd 2:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA Jul 12 21:22:54 bestia kernel: [ 3.645376] sdg: sdg1 sdg2 sdg3 sdg4 Jul 12 21:22:54 bestia kernel: [ 3.674269] sd 2:0:0:0: [sdg] Attached SCSI disk
Maybe 2.6.34 behaves as it should. afaik kernel looks on bios device order before we assigns letters to the drives
If this were true, how do you explain the order given to the scsi devices? With kernel 2.6.34, I have: sd 0:0:0:0: [sda] (sata disk 1) sd 1:0:0:0: [sdb] (sata disk 2) sd 9:0:0:0: [sdc] (card reader device 1) sd 9:0:0:1: [sdd] (card reader device 2) sd 9:0:0:2: [sde] (card reader device 3) sd 9:0:0:3: [sdf] (card reader device 4) sd 2:0:0:0: [sdg] (sata disk 3) the numbers (0,1,9,2) assigned to the scsi devices do not correspond to the letters chosen by the kernel (a,b,c...). It seems like two kernel components (AHCI and USB_STORAGE) take the letters concurrently, "first come first served".
(In reply to comment #2) > If this were true, how do you explain the order given to the scsi devices? With > kernel 2.6.34, I have: > > sd 0:0:0:0: [sda] (sata disk 1) > sd 1:0:0:0: [sdb] (sata disk 2) > sd 9:0:0:0: [sdc] (card reader device 1) > sd 9:0:0:1: [sdd] (card reader device 2) > sd 9:0:0:2: [sde] (card reader device 3) > sd 9:0:0:3: [sdf] (card reader device 4) > sd 2:0:0:0: [sdg] (sata disk 3) > > the numbers (0,1,9,2) assigned to the scsi devices do not correspond to the > letters chosen by the kernel (a,b,c...). It seems like two kernel components > (AHCI and USB_STORAGE) take the letters concurrently, "first come first > served". > Due to asynchronous probing you can't guarantee that device names will be intuitionally ordered. This is not much of a problem though since you can easily manage device nodes using udev. Even though this might look like a regression, this is not a bug and I'd suggest you use udev with labels or uuids to control your device nodes instead of relying on the kernel :)