On Sat, 2004-01-17 at 16:36, Tim Blechmann wrote: > > The relevant interrupts (from /proc/interrupts) looks like this: > > 9: XT-PIC Ricoh Co Ltd RL5c476 II (#2), Intel 82801CA-ICH3, hdsp > > 11: XT-PIC Ricoh Co Ltd RL5c476 II, wlan0, usb-uhci, usb-uhci, > > usb-uhci, ohci1394, radeon@PCI:1:0:0 > this is still more than on my interrupt 11, which can be configured only > to be used by the cardbus controller and the hdsp ... > > btw ... might my problems come from the agp graphic device? i have > absolutely no idea how the agp port is addressed by the cpu, but since > nearly everyone thinks that my problem is interrupt related (although i > think i tried everything, dealing with interrupts) ... is it possible > that there are agp interrupts sent that somehow interfere with the hdsp? > just a guess since i have no ideas any more ... Tim, I doubt it's AGP causing the problems. I guess it's possible, but I don't think it's likely. AGP devices are a super set of PCI. They have PCI config spaces and sit on what looks (in some ways) like a PCI bus. However that bus is physically completely separate from all of your PCI and cardbus buses, so I don't think it's real likely. As I've watched you go through this (rather painful) debug I must say that after everything you've done I also think that it is possibly an interrupt problem. My thought is that (unfortunately) either the cardbus controller or the PC chipset itself is somehow missing every other interrupt coming from the RME cardbus card. In this idea the first interrupt gets through, the system sends the first block of data, and then the second interrupt is lost. When the 3rd interrupt arrives the system thinks it's the second interrupt and send the data. This sort of misoperation would possibly result in something looking like the waveforms you recorded. (I think) To delve a bit further into this idea, I think you should consider transmitting a known waveform and look carefully at what is actually transmitted. RME's web site has some sine waves (or used to) that are meant for purposes like this. If you transmit a known waveform at a known frequency you should be able to tell if the HDSP is operating at the right rate (or wrong rate) and what (if anything) is missing. As you send this data possibly you can collect info from cat /proc/interrupts and see how many interrupts are generated. One problem with Alsa is that you don't know (or I don't know) what its default settings are for plain Alsa transmissions. I'm finding that playing alsaplayer for 10 seconds at 44.1K seems to generate about 440 interrupts every 10 seconds. I suppose that means 44 interrupts/second with a block size of 1K bytes? If you transmit for a known time and get a different number of interrupts then that's probably important. You could also try this with Jack where you can change block sizes and gather more info. Beyond that, and I don't think you'll like this idea, but it would make a *lot* of sense to install Windows on this laptop as a dual boot configuration and test that. It is a lot of work, but then you could tell whether the problem is specifically that the hardware just doesn't work or whether it's a Linux specific problem. Maybe this is not even hardware or Alsa, but rather a kernel issue and how it handles your cardbus chipset? I think the kernel guys, or who ever works on cardbus, would want info like this. I wish you the best of luck. This one has been difficult. I hope you come to a good solution. With best regards, Mark