Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 89112

Summary: mounting a partition on a disk connected to a Promise PDC20267 mass storage controler crashes the system if listening to music
Product: Gentoo Linux Reporter: Matthias Langer <m.langer798>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED CANTFIX    
Severity: critical    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Matthias Langer 2005-04-14 11:01:13 UTC
I've an promise PDC20267 pci-ide controler, which i use with the kernel module pdc202xx_old that is loaded by coldplug. When i try to mount a partition on a disk connected to that controler [i've tried that with two different disks, both with ntfs filesystems on them] while listening to music i get a terrible beep through my speakers and the system completly freezes. I've looked into /var/log/kernel/current after a reset but didn't find any information connected to that problem. The strange thing is that mounting works when i don't listen to music [an copying 5GB], and even further: turning the music on after mounting worked for at least 15min before the system crashed with a beep as described earlier. As you can see in the lspci output below i've another mass storage controler which doesn't suffer from these strange problems. Maybe i should mention that it is very unlikely that this is a hardware problem, as i didn't experience any problems in win2k.

Reproducible: Always
Steps to Reproduce:
1. get a Promise PDC20267 card and connect a hd to it 
2. modprobe pdc202xx_old and turn on some music
3. try to mount a partition on a disk connected to that card
Actual Results:  
system freezes with a terrible beep

Expected Results:  
mount a partition

Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5, glibc-2.3.4.20041102-r1,
2.6.11.7 i686)
=================================================================
System uname: 2.6.11.7 i686 AMD Athlon(tm) XP 2400+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.4-r1 [2.3.4 (#1, Mar 10 2005, 18:30:59)]
dev-lang/python:     2.3.4-r1
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.8.5-r3, 1.7.9-r1, 1.5, 1.6.3, 1.4_p6, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -mmmx -msse -m3dnow -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -mmmx -msse -m3dnow -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.inode.at/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow X aalib alsa apm arts avi berkdb bitmap-fonts bonobo bzlib cdr
crypt cups curl emboss encode esd fam firebird foomaticdb fortran gdbm gif gnome
gphoto2 gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg junit libg++
libwww mad mikmod mmx motif mozilla mp3 mpeg ncurses nls ogg oggvorbis opengl
oss pam pdflib perl png postgres python qt readline sdl slang spell sqlite sse
ssl svga tcltk tcpd tiff truetype truetype-fonts type1-fonts usb vorbis xine xml
xml2 xmms xv xvid zlib video_cards_radeon"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS

$ lsmod [all modules except for nvidia listed here are provided with the kernel]
snd_seq_midi            6368  -
snd_emu10k1_synth       6624  -
snd_emux_synth         34848  -
snd_seq_virmidi         5408  -
snd_seq_midi_emul       6368  -
snd_pcm_oss            47680  -
snd_mixer_oss          17088  -
snd_seq_oss            31648  -
snd_seq_midi_event      6048  -
snd_seq                49008  -
uhci_hcd               29232  -
snd_emu10k1            95492  -
snd_rawmidi            19776  -
snd_seq_device          6700  -
snd_ac97_codec         73752  -
snd_pcm                82056  -
snd_timer              20868  -
snd_page_alloc          7364  -
snd_util_mem            3136  -
snd_hwdep               6784  -
snd                    44772  -
soundcore               6816  -
pdc202xx_old            9376  -
usbcore               105208  -
nvidia               3916188  -

because of bug 87099 i use
alsa-lib-1.0.9_rc2-r1

$ lspci
0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP]
0000:00:09.0 RAID bus controller: Silicon Image, Inc. (formerly CMD Technology
Inc) PCI0680 Ultra ATA-133 Host Controller (rev 01)
0000:00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
0000:00:0c.0 Unknown mass storage controller: Promise Technology, Inc. PDC20267
(FastTrak100/Ultra100) (rev 02)
0000:00:0d.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
0000:00:0d.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 08)
0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8233 PCI to ISA Bridge
0000:00:11.1 IDE interface: VIA Technologies, Inc.
VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
0000:00:11.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 1b)
0000:00:11.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 1b)
0000:00:11.4 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 1b)
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc.
VT8233/A/8235/8237 AC97 Audio Controller (rev 30)
0000:01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX
440] (rev a3)

If interested, i can attach my kernel-config ...
Comment 1 Tim Yamin (RETIRED) gentoo-dev 2005-04-14 11:25:15 UTC
Can you do a cat /proc/interrupts, please?
Comment 2 Matthias Langer 2005-04-14 12:29:31 UTC
This is $ cat /proc/interrupts

           CPU0
  0:   11092509          XT-PIC  timer
  1:       7573          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  9:          0          XT-PIC  acpi
 10:     535082          XT-PIC  ide0, ide1, EMU10K1, uhci_hcd, uhci_hcd,   uhci_hcd, eth0
 11:    1037563          XT-PIC  ide4, nvidia
 12:     496280          XT-PIC  i8042
 14:     109038          XT-PIC  ide2
 15:         10          XT-PIC  ide3
NMI:          0
ERR:          6
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2005-04-14 23:29:54 UTC
Matthias, is ide0/ide1 the Promise controller? If so, then I assume, that this is really an IRQ conflict. Try to move your SB to another PCI slot and check /proc/interrupts again. 
Comment 4 Matthias Langer 2005-04-15 04:28:03 UTC
Ok, i tried some differnt [not all] combinations with the cards in my pci slots:

The only combination i found that really works is:

-------- Promise         [PCI - IDE]
-------- Silicon Image   [PCI - IDE]
-------- 
-------- Realtek         [network]
--------
-------- Emu10k1

$ cat /proc/interupts

          CPU0
  0:     803413          XT-PIC  timer
  1:       1487          XT-PIC  i8042
  2:          0          XT-PIC  cascade
  9:          0          XT-PIC  acpi
 10:       2620          XT-PIC  ide0, ide1
 11:      79771          XT-PIC  ide4, EMU10K1, uhci_hcd, uhci_hcd, uhci_hcd, eth0, nvidia
 12:      24549          XT-PIC  i8042
 14:      40199          XT-PIC  ide2
 15:         10          XT-PIC  ide3
NMI:          0
ERR:          0

The following combination worked partley, as the system didn't crash, but the sound was disturbed by short beeping noises from time to time, espacially when network load was high:

--------
-------- Silicon Image   [PCI - IDE]
-------- 
-------- Promise         [PCI - IDE]
-------- Realtek         [network]
-------- Emu10k1

These combinations didn't work:

--------
-------- Silicon Image   [PCI - IDE]
-------- 
-------- Realtek         [network]
-------- Promise         [PCI - IDE]
-------- Emu10k1

--------
-------- Silicon Image   [PCI - IDE]
-------- 
-------- Realtek         [network]
-------- Emu10k1
-------- Promise         [PCI - IDE]

So, the question that remains for me, as my problem is more or less solved: Why does windows2k not suffer from these issues ? Is it possible that with a well choosen kernel configuration these problems disapear in linux too ? As far as I know the order in which pci cards are plugged in should not make a differnece for the end user, at least whith an ideal motherboard and kernel  ...
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2005-04-15 04:38:20 UTC
Try enabling APIC in your kernel config. THis is probably the way that windows does it.
Comment 6 Matthias Langer 2005-04-15 07:03:47 UTC
Hmm, according to /proc/cpuinfo my processor doesn't support apic. Is it possible that this problems are caused because '[] Plug and Play ACPI support' and/or 
'[] ISA support' (allthough i have no isa slots, there is an pci to isa bridge on my bord according to lspci) ?
Comment 7 Daniel Drake (RETIRED) gentoo-dev 2005-04-15 10:49:21 UTC
It would be very unlikely that your processor doesn't support APIC. Please just try turning the config option on.
Comment 8 Matthias Langer 2005-04-16 03:29:12 UTC
You are right; APIC was just disabled by my BIOS - thus i passed lapic=yes to the kernel ...

Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
mapped APIC to ffffd000 (fee00000)

But this didn't solve my problem ...
Comment 9 Matthias Langer 2005-04-21 04:03:20 UTC
Maybe i should mention that i had similar problems (strange beeping noises while listening to music and system/network load is high) with 2.4 kernels and without the promise mass storage controler too: At first I circumvented this issue by using my onboard sound chip instead of emu10k1. After some discussions in the gentoo.user mailing list i moved my soundblaster to the last pci slot - and that solved the problem.
Thus, i think that my 'Promise PDC20267' has nothing to do with my problem, as most likely i would have experinced similar behaviour with any other additional pci card, so the summary for this bug (which may be a result of a misconfigured kernel) is somehow misleading. In my opinion this bug should be closed/maked as dublicate in favour of another one. 
I think that this issue is, if it has to do at least something with my hardware, related to my mainbord, which is an eopx-kh8+. 
Comment 10 Daniel Drake (RETIRED) gentoo-dev 2005-04-30 06:17:11 UTC
I also had major troubles with my VIA Apollo board, especially with SB live. I ignored the problems until I bought newer hardware.

However the problem is almost certainly that there are so many drivers on one interrupt:
 10:     535082          XT-PIC  ide0, ide1, EMU10K1, uhci_hcd, uhci_hcd,   uhci_hcd, eth0

I'd be interested to see the contents of /proc/interrupts now that APIC is enabled.

You could try manually assigning IRQ's in your BIOS setup so that they are spaced out more evenly.
Comment 11 Daniel Drake (RETIRED) gentoo-dev 2005-05-17 03:59:26 UTC
Closing as this seems more like a BIOS issue.. see comment #10