again: Weird ide -> scsi,YDL3

Bill Fink yellowdog-general@lists.terrasoftsolutions.com
Thu Jun 5 08:12:00 2003


On Thu Jun 5 2003, mamonbbux wrote:

> > Why do you need this host adapter to be assigned BUS 0?
> 
> I wan't scsi0 (not 1) because :
> - on my YDL-2.3 volume it says scsi0 and my external scsi-hd can be 
> mounted OK on sda.
> - And 2 days ago, when booting on ydl_3.0 but choosing vmlinux_YDL-2.3, 
> dmesg said scsi0 (not 1) and again I was able to mount sda.
> 
> I don't want scsi1 (not 0) because scsi1 makes my sda un-mountable
> -- [root@bbux root]# mount -t hfs /dev/sda6 /mnt/httpd/
> -- mount : /dev/sda6 n'est pas un périphérique de bloc valide.
> and
> -- [root@bbux root]# pdisk /dev/sda
> -- pdisk: can't open file '/dev/sda'  (No such device or address)
> 
> I repeat that *it works* when I boot on the YDL-2.3's vmlinux here on my 
> YDL-3 volume, so with the same /dev with the same rights on the same 
> files/folders than on the not-working.
> 
> is there a way to find out which file on /dev could be my "real-sda"
> -> Attached scsi disk sda at scsi1, channel 0, id 5, lun 0  <- ?-?

Here's a diff between the SCSI section of the configs of a stock YDL 2.3
kernel (with the "<") and a stock YDL 3.0 kernel (with the ">"):

350c410
< CONFIG_SCSI_AIC7XXX=y
---
> CONFIG_SCSI_AIC7XXX=m
354a415,418
> CONFIG_SCSI_AIC7XXX_OLD=m
> # CONFIG_AIC7XXX_OLD_TCQ_ON_BY_DEFAULT is not set
> CONFIG_AIC7XXX_OLD_CMDS_PER_DEVICE=8
> CONFIG_AIC7XXX_OLD_PROC_STATS=y
356c420
< CONFIG_SCSI_ADVANSYS=y
---
> CONFIG_SCSI_ADVANSYS=m
370c434
< CONFIG_SCSI_INITIO=y
---
> CONFIG_SCSI_INITIO=m
374c438
< CONFIG_SCSI_SYM53C8XX_2=y
---
> CONFIG_SCSI_SYM53C8XX_2=m
378a443,444
> # CONFIG_SCSI_NCR53C8XX is not set
> # CONFIG_SCSI_SYM53C8XX is not set

It may be significant that the YDL 2.3 kernel has a number of SCSI modules
built-in ("=y") whereas the YDL 3.0 kernel now uses modules ("=m").  This
may affect the order of initialization and thus which SCSI bus becomes
scsi0 and which becomes scsi1.  Since they are modules in YDL 3.0, it
may be possible to control the order of initialization by suitable commands
in /etc/modules.conf.  Alternatively, you could rebuild your kernel after
changing your config to have the SCSI support built-in instead of using
modules.  This sounds like it could possibly be a kernel bug since in
theory it shouldn't make a difference whether the SCSI bus is scsi0 or
scsi1 as long as the right drivers are associated with each one.

One simple thing you could try is running rescan-scsi-bus.sh, although
in this case I'm not sure that would be of any help.  You can also
"cat /proc/scsi/scsi" to get some more info about attached SCSI devices.

						-Bill