LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   unable to compile scsi_mod as module in 2.6.9 (https://www.linuxquestions.org/questions/linux-general-1/unable-to-compile-scsi_mod-as-module-in-2-6-9-a-259506/)

nbd 11-26-2004 09:20 AM

unable to compile scsi_mod as module in 2.6.9
 
Hi.

I cannot compile scsi_mod as a module for kernel 2.6.9

The config file has:

CONFIG_SCSI=y

but make xconfig can't set it to [m], and manually setting it won't help either. I can see it is compiled - scsi_mod.o is found from drivers/scsi/ but no scsi_mod.ko


The problem is that sbp2 module needs the scsi_mod so I could mount my external firewire storage. This has worked with 2.4 kernels, that is, the scsi_mod is working as a module.

I don't know why compiling it in the kernel (the [y] option) won't help.. I can't mount /dev/sg0 even though I get this message after plugging the firewire device:


scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]
Vendor: _NEC Model: DVD_RW ND-2510A Rev: 2.04
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 5


Is the scsi layer changed from 2.4->2.6, or does some other module 'block' the scsi_mod from being compiled as a module (like ide-scsi maybe?)

/bin/bash 11-27-2004 02:27 AM

<EDIT> Sorry about that!

I'm having a bad day. Was supposed to come in at 3:00AM but I came in a 2:00AM for some unknown reason :mad:

/bin/bash 11-27-2004 02:44 AM

When you say you can't mount /dev/sg0 what error do you get?

nbd 11-27-2004 11:43 AM

mount: /dev/sg0 is not a block device


gscanbus shows the firewire device, and with 2.4 I can compile the scsi_mod module and lsmod shows that sbp2 uses scsi_mod. But no luck with 2.6

It puzzles that the 'make xconfig/menuconfig' can't choose whether to build scsi support as built in or as a module.

/bin/bash 11-28-2004 03:05 AM

Quote:

It puzzles that the 'make xconfig/menuconfig' can't choose whether to build scsi support as built in or as a module.
Well it puzzeled me to the point where I had to find out why. And you'll never guess what causes this.

If you take a vanilla kernel and without a config file and do:
make mrproper
make menu/xconfig
You will not be able to select SCSI as module, just like you said in the original post. If you go into Drivers and USB and select
<M> USB Mass Storage support
Then you can build SCSI as a module! Huuuuh?

This is so weird!

I hope you know I spent a good 2 hours going thru menuconfig till I found this. You owe me! :p

I also noticed that the default config is set up for SMP. Better check that cause that will cause you problems.

<EDIT> Maybe someone could suggest a change to the arch/i386/defconfig file ;)


nbd 11-28-2004 10:56 AM

Thanks! That really solved the topic problem.

But still the sg0 was not mountable. The 'real' problem was that sr_mod was not compiled at all. And since the external device was DVD burner, it needed the scsi cd-rom emulation.

After the sr_mod was compiled, the scsi info showed three extra lines when plugging the firewire cable:

scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]
Vendor: _NEC Model: DVD_RW ND-2510A Rev: 2.04
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 5
sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0

And the correct device to mount was /dev/sr0 (which was symlink to /dev/scd0)


So the original problem was the lacking sr_mod, but I never would have guessed that USB-mass-storage needs to be [m] if you want scsi_mod as [m].


All times are GMT -5. The time now is 06:16 AM.