sr_mod and cdrom modules not loading

Asked by Brett Glasson on 2007-02-05

OK, I'm installing a clean system, so far I've tried dapper, edgy and feisty all with the same result.

The system is a sager/clevo M57U, specs are here;

http://www.pioneercomputers.com.au/products/info.asp?c1=3&c2=15&id=1688

I can't mount optical discs;

#mount /media/cdrom
mount: special device /dev/scd0 does not exist

The problem is that /dev/scd0 has not been created by devfs (I think devfs does this, forgive me if I'm wrong)

After googling (a lot) I find that /dev/scd0 is usually a link to /dev/sr1 and suggestions to either make that link or change fstab to point to sr1. Unfortunately my system doesn't have /dev/sr1 either.

lspci shows me;
0000:00:1d.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
0000:00:1e.0 ISA bridge: Intel Corporation 82801GHM (ICH7-M DH) LPC Interface Bridge (rev 02)
0000:00:1f.2 IDE Interface: Intel Corporation 82801GBM/GHM (ICH7 Family)Serial ATA Storage Controllers cc=IDE (Rev 02)

lsmod shows
ata_piix 18948 2
ata_generic 10224 0
libata 120096 2 ata_piix,ata_generic
scsi_mod 166840 4 sbp2,sg,sd_mod,libata

There are a couple of notable ommisions, the modules "cdrom" and sr_mod" are both missing.

If I boot the LiveCD and look at lsmod, both the cdrom and sr_mod modules are loaded.

I tried doing;

mknod /dev/scd0 b 11 0

which produces no error, but when I try to mount a disc I now get an error "/dev/scd0 is not a block device" instead.

I desperately need help troubleshooting this. I've gone about as far as i can go on my own.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Brett Glasson
Solved:
2007-02-06
Last query:
2007-02-06
Last reply:
2007-02-05
Bryce Harrington (bryce) said : #1

Sounds a lot like a missing driver issue.

Normally you should never need to manually mknod for a block device. I think that may be a dead end; you probably should remove that so it doesn't conflict with further troubleshooting.

Have you tried `modprobe cdrom sr_mod` ? What output does it give?

I recommend getting the 'lshw' program, because it gives more information than lspci. Run `apt-get install lshw`, then run it. It will display a tree of info about your hardware. Run it and look for the section that describes your CDROM, and then paste that info here.

What you're looking for is the exact brand/model of the CDROM. What you then want to do is match that up with a device driver kernel module. You'll want to make sure that whatever that module is, that it's loaded. Generally, googling for "ubuntu" and the device name will turn up useful information.

Another useful command to look at is `dmesg`. If your kernel has trouble recognizing some of your hardware, chances are good the indication will be found in dmesg output.

Hope this helps; let us know how it goes.

Brett Glasson (brett-glasson) said : #2

Thanks very much Bryce, sorry about the delay but time zone differences meant i was asleep when your reply cam through.

Here's some new info;

Regarding modprobe cdrom sr_mod; Doing this produces no errors, running lsmod afterwards shows the modules have now been loaded.

I think you are correct about the drivers. I did a quick'n'dirty XP install just to see what happened and I had the same problem. I googled around for drivers and located some, which fixed the problem.

So, I have been mucking about with lshw. Firstly I ran lshw on the edgy LiveCD (which works fine) to see what it sees. Here is the relevant output.

#####################################

*-cdrom UNCLAIMED
                description: SCSI CD-ROM
                product: DVD+-RW SDVD8441
                vendor: PHILIPS
                physical id: 0.1.0
                bus info: scsi@1:0.1.0
                version: PV32
                capabilities: removable
                configuration: ansiversion=5

#####################################

When I run lshw on the installed version there is no cdrom section at all.

Next I did the same with dmesg. Here is the relevant output from the LiveCD;

#####################################

[17179573.156000] SCSI subsystem initialized
[17179573.160000] libata version 1.20 loaded.
[17179573.164000] ata_piix 0000:00:1f.2: version 1.05
[17179573.164000] ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 233
[17179573.164000] PCI: Setting latency timer of device 0000:00:1f.2 to 64
[17179573.164000] ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18B0 irq 14
[17179573.336000] ata1: dev 0 cfg 49:2f00 82:346b 83:7f09 84:6063 85:3469 86:bf09 87:6063 88:203f
[17179573.336000] ata1: dev 0 ATA-7, max UDMA/100, 156301488 sectors: LBA48
[17179573.348000] ata1: dev 0 configured for UDMA/100
[17179573.348000] scsi0 : ata_piix
[17179573.348000] Vendor: ATA Model: FUJITSU MHV2080B Rev: 0000
[17179573.348000] Type: Direct-Access ANSI SCSI revision: 05
[17179573.348000] ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18B8 irq 15
[17179573.692000] ata2: dev 1 cfg 49:0b00 82:0000 83:0000 84:0000 85:0000 86:0000 87:0000 88:0407
[17179573.692000] ata2: dev 1 ATAPI, max UDMA/33
[17179573.692000] ata2(1): applying bridge limits
[17179573.876000] ata2: dev 1 configured for UDMA/33
[17179573.876000] scsi1 : ata_piix
[17179573.880000] Vendor: PHILIPS Model: DVD+-RW SDVD8441 Rev: PV32
[17179573.880000] Type: CD-ROM ANSI SCSI revision: 05
[17179573.896000] SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
[17179573.896000] sda: Write Protect is off
[17179573.896000] sda: Mode Sense: 00 3a 00 00
[17179573.896000] SCSI device sda: drive cache: write back
[17179573.896000] SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
[17179573.896000] sda: Write Protect is off
[17179573.896000] sda: Mode Sense: 00 3a 00 00
[17179573.896000] SCSI device sda: drive cache: write back
[17179573.896000] sda: sda1 sda2 < sda5 >
[17179574.288000] sd 0:0:0:0: Attached scsi disk sda
[17179574.320000] sr0: scsi3-mmc drive: 24x/24x writer cd/rw xa/form2 cdda tray
[17179574.320000] Uniform CD-ROM driver Revision: 3.20
[17179574.320000] sr 1:0:1:0: Attached scsi CD-ROM sr0
[17179574.572000] ide0: I/O resource 0x1F0-0x1F7 not free.
[17179574.572000] ide0: ports already in use, skipping probe
[17179574.572000] ide1: I/O resource 0x170-0x177 not free.
[17179574.572000] ide1: ports already in use, skipping probe
[17179574.624000] usbcore: registered new driver usbfs

#####################################

Here is the same section from the installed version of edgy.

#####################################

[17179573.220000] SCSI subsystem initialized
[17179573.224000] libata version 1.20 loaded.
[17179573.224000] ata_piix 0000:00:1f.2: version 1.05
[17179573.224000] ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 233
[17179573.224000] PCI: Setting latency timer of device 0000:00:1f.2 to 64
[17179573.224000] ata1: SATA max UDMA/133 cmd 0x1F0 ctl 0x3F6 bmdma 0x18B0 irq 14
[17179573.396000] ata1: dev 0 cfg 49:2f00 82:346b 83:7f09 84:6063 85:3469 86:bf09 87:6063 88:203f
[17179573.396000] ata1: dev 0 ATA-7, max UDMA/100, 156301488 sectors: LBA48
[17179573.408000] ata1: dev 0 configured for UDMA/100
[17179573.408000] scsi0 : ata_piix
[17179573.408000] Vendor: ATA Model: FUJITSU MHV2080B Rev: 0000
[17179573.408000] Type: Direct-Access ANSI SCSI revision: 05
[17179573.408000] ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18B8 irq 15
[17179573.580000] ata2: disabling port
[17179573.580000] scsi1 : ata_piix
[17179573.588000] SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
[17179573.588000] sda: Write Protect is off
[17179573.588000] sda: Mode Sense: 00 3a 00 00
[17179573.588000] SCSI device sda: drive cache: write back
[17179573.588000] SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
[17179573.588000] sda: Write Protect is off
[17179573.588000] sda: Mode Sense: 00 3a 00 00
[17179573.588000] SCSI device sda: drive cache: write back
[17179573.588000] sda: sda1 sda2 < sda5 >
[17179573.704000] sd 0:0:0:0: Attached scsi disk sda
[17179573.992000] ide0: I/O resource 0x1F0-0x1F7 not free.
[17179573.992000] ide0: ports already in use, skipping probe
[17179573.992000] ide1: I/O resource 0x170-0x177 not free.
[17179573.992000] ide1: ports already in use, skipping probe
[17179574.024000] usbcore: registered new driver usbfs

#####################################

You can see that the line "[17179573.580000] scsi1 : ata_piix" returns nothing in the second example whereas on the LiveCD it returns "Philips DVD blah blah blah".

I can provide you with the full logs if you want.

Thanks for your help.

Any other ideas?

Brett Glasson (brett-glasson) said : #3

I also noticed this;

[17179573.408000] scsi0 : ata_piix
[17179573.408000] Vendor: ATA Model: FUJITSU MHV2080B Rev: 0000
[17179573.408000] Type: Direct-Access ANSI SCSI revision: 05
[17179573.408000] ata2: SATA max UDMA/133 cmd 0x170 ctl 0x376 bmdma 0x18B8 irq 15
[17179573.580000] ata2: disabling port

The last line "disabling port" is not present on the LiveCD output.

hmmm

Best Brett Glasson (brett-glasson) said : #4

OK, the problem has been solved!

The problem is something to do with acpi, grub or the BIOS on the laptop.

Booting Ubuntu with the acpi=off kernel parameter fixes the problem and the DVD drive can be mounted.

I don't know if this should marked as a bug. If you do want to do that and need some console output from any commands let me know, I would be happy to do that.

Anyway, thanks very much for your help.

Barry Kauler (bkauler) said : #5

Brett, I'm very interested in your solution. I'm one of the developers of Puppy Linux and I'm currently struggling SATA CD/DVD recognition. Using an almost vanilla 2.6.18.1 kernel.

Do you have to have sr_mod loaded for the SATA CD/DVD drive to work? If you were to unload it:
# rmmod sr_mod
...is the device still available as /dev/scd0?

Regards,
Barry Kauler
www.puppyos.net/news/

Brett Glasson (brett-glasson) said : #6

Hi Barry

Yes, sr_mod is required. If I unload it (as you suggest) I am unable
to mount CD's.

Regards
Brett

On 3/8/07, Barry Kauler <email address hidden> wrote:
> Your support request #3500 on Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+ticket/3500
>
> Barry Kauler posted a new comment:
> Brett, I'm very interested in your solution. I'm one of the developers
> of Puppy Linux and I'm currently struggling SATA CD/DVD recognition.
> Using an almost vanilla 2.6.18.1 kernel.
>
> Do you have to have sr_mod loaded for the SATA CD/DVD drive to work? If you were to unload it:
> # rmmod sr_mod
> ...is the device still available as /dev/scd0?
>
> Regards,
> Barry Kauler
> www.puppyos.net/news/
>

Barry Kauler (bkauler) said : #7

Brett,
Thanks for the response. For the record, what kernel vesion are you
using?
I think that there are significant differences in sata support in the
2.6.18 kernel compared with earlier, ...I think that I read that somewhere,
and I kind of got the impression that stuff that was in sr-rom got
migrated into the libata code ...but I'm not sure about that.

Regards,
Barry Kauler

> Support request #3500 on Ubuntu changed:
> https://answers.launchpad.net/ubuntu/+ticket/3500
>
> Brett Glasson posted a new comment:
> Hi Barry
>
> Yes, sr_mod is required. If I unload it (as you suggest) I am unable
> to mount CD's.
>
> Regards
> Brett
>
> On 3/8/07, Barry Kauler <email address hidden> wrote:
>> Your support request #3500 on Ubuntu changed:
>> https://answers.launchpad.net/ubuntu/+ticket/3500
>>
>> Barry Kauler posted a new comment:
>> Brett, I'm very interested in your solution. I'm one of the developers
>> of Puppy Linux and I'm currently struggling SATA CD/DVD recognition.
>> Using an almost vanilla 2.6.18.1 kernel.
>>
>> Do you have to have sr_mod loaded for the SATA CD/DVD drive to work? If
>> you were to unload it:
>> # rmmod sr_mod
>> ...is the device still available as /dev/scd0?
>>
>> Regards,
>> Barry Kauler
>> www.puppyos.net/news/
>>
>