You are not logged in.
Hello everyone,
I installed ARCH on my desktop computer in parallel to an old Ubuntu Linux.
The dvd drive is not recognized properly and the corresponding nodes /dev/{cdrom,dvd} are not set up at all. I don't think it's an hardware issue as the drive is still recognized on the Ubuntu Linux.
To me it looks like a problem with udev or with the kernel not detecting my drive.
Can anyone help me on this issue?
Best regards,
Niklas.
Last edited by nv (2010-06-17 21:34:18)
Offline
Is there a device such as /dev/sr0 ? Does 'dmesg | grep sr0' show anything? What udev rules are available? (grep cdrom /lib/udev/rules.d/*) Modules loaded? (lsmod | grep sr_mod)
Offline
There is no /dev/sr0
dmesg | grep sr0 does no show anything.
# grep cdrom /lib/udev/rules.d/*
/lib/udev/rules.d/50-udev-default.rules:# cdrom
/lib/udev/rules.d/60-cdrom_id.rules: KERNEL=="sr[0-9]*|xvd*", IMPORT{program}="cdrom_id --export $tempnode"
/lib/udev/rules.d/80-udisks.rules:# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
/lib/udev/rules.d/81-arch.rules:# fix ide cdrom detection on old proliant servers
/lib/udev/rules.d/81-arch.rules:ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", IMPORT="cdrom_id --export $tempnode"
/lib/udev/rules.d/81-arch.rules:ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="sr[0-9]*", IMPORT="cdrom_id --export $tempnode"
/lib/udev/rules.d/81-arch.rules:ACTION=="add|change", SUBSYSTEMS=="scsi", KERNEL=="scd[a-z]", IMPORT="cdrom_id --export $tempnode"
/lib/udev/rules.d/81-arch.rules:ENV{ID_CDROM}=="?*", SYMLINK+="cd/cdrom-%b"
/lib/udev/rules.d/81-arch.rules:ACTION=="add|change", SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", RUN+="cdsymlinks.sh"
/lib/udev/rules.d/81-arch.rules:SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", ATTRS{media}=="cdrom*", GROUP="optical"
Offline
What does this show?: lsmod | grep sr_mod
When you do: modprobe sr_mod
What does this show?: dmesg
Offline
lsmod shows no sr_mod entry.
After doing the modprobe, I will get
$ lsmod|grep sr
sr_mod 14810 0
cdrom 35745 1 sr_mod
scsi_mod 94308 5 sr_mod,usb_storage,sg,sd_mod,libata
But dmesg output is the same as before... ?
Offline
After modprobe, does sr0 show? (ls /dev/sr*)
Offline
no, no change in /dev/sr0, sorry.
Strangely enough, I found a sign of sr0 in the kernel.log from this morning:
Jun 14 06:39:17 ruth kernel: sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Jun 14 06:39:17 ruth kernel: Uniform CD-ROM driver Revision: 3.20
Jun 14 06:39:17 ruth kernel: sr 0:0:1:0: Attached scsi CD-ROM sr0
Jun 14 06:39:17 ruth kernel: EXT4-fs (sda2): INFO: recovery required on readonly filesystem
Jun 14 06:39:17 ruth kernel: EXT4-fs (sda2): write access will be enabled during recovery
Jun 14 06:39:17 ruth kernel: EXT4-fs (sda2): recovery complete
Jun 14 06:39:17 ruth kernel: EXT4-fs (sda2): mounted filesystem with ordered data mode
Jun 14 06:39:17 ruth kernel: rtc_cmos 00:04: RTC can wake from S4
Jun 14 06:39:17 ruth kernel: rtc_cmos 00:04: rtc core: registered rtc_cmos as rtc0
Jun 14 06:39:17 ruth kernel: rtc0: alarms up to one month, 242 bytes nvram, hpet irqs
I have no idea why it stopped working and I am completely puzzlled.
Offline
Diff of dmesg before modprobe and dmesg after?
Also, just as a sanity check: lsmod | grep scsi
Interrupts looking healthy? cat /proc/interrupts
USB loaded in correct order? cat /etc/modprobe.d/usb-load-ehci-first.conf # if exists
Offline
soloport, thanks for taking the time! I really appreciate it.
However, I still have no progress so far:
# dmesg > before
# modprobe sr_mod
# dmesg > after
# diff before after
# lsmod | grep scsi
scsi_mod 94308 5 sr_mod,usb_storage,sg,sd_mod,libata
# cat /proc/interrupts
CPU0 CPU1
0: 45 1 IO-APIC-edge timer
1: 0 349 IO-APIC-edge i8042
3: 0 2 IO-APIC-edge
6: 0 5 IO-APIC-edge floppy
7: 0 0 IO-APIC-edge parport0
8: 1 151 IO-APIC-edge rtc0
9: 0 3 IO-APIC-fasteoi acpi
12: 5 3757 IO-APIC-edge i8042
14: 0 1 IO-APIC-edge pata_atiixp
15: 0 0 IO-APIC-edge pata_atiixp
16: 2 362 IO-APIC-fasteoi ohci_hcd:usb2, hda_intel
17: 0 1 IO-APIC-fasteoi ohci_hcd:usb3, ohci_hcd:usb5
18: 0 2 IO-APIC-fasteoi ohci_hcd:usb4, ohci_hcd:usb6
19: 1 4045 IO-APIC-fasteoi ehci_hcd:usb1, hda_intel
22: 38 7900 IO-APIC-fasteoi ahci, firewire_ohci
23: 1 555 IO-APIC-fasteoi eth0
24: 1 1510 PCI-MSI-edge radeon
NMI: 0 0 Non-maskable interrupts
LOC: 14436 15867 Local timer interrupts
SPU: 0 0 Spurious interrupts
PMI: 0 0 Performance monitoring interrupts
PND: 0 0 Performance pending work
RES: 24187 21899 Rescheduling interrupts
CAL: 38 32 Function call interrupts
TLB: 347 359 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 1 1 Machine check polls
ERR: 0
MIS: 0
# cat /etc/modprobe.d/usb-load-ehci-first.conf
install ohci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe --ignore-install ohci_hcd $CMDLINE_OPTS
install uhci_hcd /sbin/modprobe ehci_hcd ; /sbin/modprobe --ignore-install uhci_hcd $CMDLINE_OPTS
#
I double-checked that /dev/sr0 is recognized when when booting from my other hard drive (Ubuntu 8.04).
Maybe I have the wrong SATA support loaded from the kernel ? Unfortunately I have no clue if this is the case.
$ lspci|grep SATA
00:12.0 SATA controller: ATI Technologies Inc SB600 Non-Raid-5 SATA
$ lsmod|grep ata
pata_acpi 3224 0
ata_generic 3079 0
pata_atiixp 3665 0
libata 154235 4 pata_acpi,ata_generic,pata_atiixp,ahci
scsi_mod 94308 5 sr_mod,usb_storage,sg,sd_mod,libata
(post edited)
Last edited by nv (2010-06-15 04:54:56)
Offline
Hello everyone,
I found some solution to the problem, but I don't yet understand it:
When I pass the kernel option "noapic", then /dev/sr0 is recognized.
However I get some message about the clock when I boot up.
What does this option do and will it affect anything else?
Offline
Do things improve if you boot (from Grub menu) into Arch Linux Fallback?
Offline
Hello everyone,
I found some solution to the problem, but I don't yet understand it:
When I pass the kernel option "noapic", then /dev/sr0 is recognized.
However I get some message about the clock when I boot up.What does this option do and will it affect anything else?
If you're curious or concerned, try booting with noapic and enter 'cat /proc/interrupts'. Then compare when booting without noapic. There may be slight to no difference. Or it could explain exactly what has been going wrong (e.g. shared or conflicting interrupt).
Last edited by soloport (2010-06-15 14:01:34)
Offline
It seems as if I had solved the problem now.
Initially I had stated that this isn't a hardware problem - however, it was.
As soloport had pointed out to me, it was some kind of conflicting interrupts. The problem was solved for me by setting both my two harddrives and my cdrom drive as master. In addition I removed the internal card reader, as I am not using it anyway.
After several reboots I am quite confident that the cd drive is recognized now (and I am not using the 'noapic' kernel line).
Thanks for the assistance,
NV.
Offline