Problem with Echo Audio card on Ricoh CardBus
Yon Mercury
swirlee at stickist.com
Thu Nov 25 13:00:42 EST 2004
Hi everyone,
I've been working with the developer of the ALSA sound drivers for the Echo
line of Audio cards under Linux. We're trying to get the Indigo IO CardBus
card working with little success.
The problem appears to be in the CardBus bridge. The driver loads DSP into the
Card successfully but fails shortly thereafter. We set some values in the card
and wait for a handshake via the card's comm page but nothing comes.
Apparently this is because the comm page is in system memory and the card
writes to it via DMA. So we suspect that the card's attempts to write to the
comm page are not getting thru.
That's our theory anyway. Here's an excerpt from dmesg:
Distro is Agnula (debian-based distro).
Kernel is 2.4.25 recompiled from sources with lowlatency and preempt patches.
PCMCIA-CS is compiled in kernel, not from pcmcia-sources.
Linux Kernel Card Services 3.1.22
options: [pci] [cardbus] [pm]
PCI: Found IRQ 10 for device 00:0f.0
PCI: Found IRQ 10 for device 00:0f.1
PCI: Sharing IRQ 10 with 00:0d.0
Yenta ISA IRQ mask 0x0ab8, PCI irq 10
Socket status: 30000820
Yenta ISA IRQ mask 0x0ab8, PCI irq 10
Socket status: 30000006
cs: cb_alloc(bus 2): vendor 0x1057, device 0x3410
PCI: Enabling device 02:00.0 (0000 -> 0002)
cs: IO port probe 0x0100-0x04ff: excluding 0x4d0-0x4d7
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0a00-0x0aff: clean.
ALSA echoaudio.c:1900: Echoaudio driver starting...
ALSA echoaudio.c:1829: chip=c8e68014
ALSA echoaudio.c:1852: pci=c9888c00 irq=10 subdev=00a0 Init hardware...
ALSA indigoio_dsp.c:39: init_hw() - Indigo IO
ALSA echoaudio_dsp.c:397: load_dsp: Set bad_board to TRUE
ALSA echoaudio_dsp.c:364: Resident loader successfully installed
ALSA echoaudio_dsp.c:188: Read serial number 00a07ff0 00a3bb83 000319a0
00e4df3c 007a46e1
ALSA echoaudio_dsp.c:521: load_dsp: Set bad_board to FALSE
ALSA echoaudio_dsp.c:739: restore_dsp_settings
rds1
rds2
rds6
ALSA echoaudio_dsp.c:62: wait_handshake(): Timeout waiting for DSP
ALSA echoaudio.c:1864: init_hw err=fffffffb
ALSA echoaudio.c:1772: Stop DSP...
ALSA echoaudio_dsp.c:995: rest_in_peace() open=0
ALSA echoaudio_dsp.c:955: stop_transport 0
ALSA echoaudio_dsp.c:62: wait_handshake(): Timeout waiting for DSP
ALSA echoaudio.c:1777: Stopped.
ALSA echoaudio.c:1785: MMIO freed.
ALSA echoaudio.c:1792: Chip freed.
ALSA echoaudio.c:2075: Echoaudio soundcard not found or device busy
The Echo card works fine on this system under Windows. For debugging, we
checked the values of the CardBus bridge (Ricoh RL5c476 II) PCI registers on
Windows and Linux and compared them. Some differences, but I'm not proficient
enough to interpret them. Can anyone help sort this out?
Here are the values:
Linux
-----
localhost:~# lspci -s 00:0f.0 -xxx
0000:00:0f.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
00: 80 11 76 04 07 00 10 02 80 00 07 06 00 a8 82 00
10: 00 00 00 10 dc 00 00 22 00 02 05 b0 00 00 40 10
20: 00 f0 7f 10 00 00 80 10 00 f0 bf 10 00 40 00 00
30: fc 40 00 00 00 44 00 00 fc 44 00 00 0a 01 00 05
40: cf 10 9a 10 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 82 08 00 03 00 00 63 04 63 04 00 00 00 30
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: cf 10 9a 10 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 19 fe
e0: 00 c0 c0 24 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
localhost:~# lspci -s 00:0f.1 -xxx
0000:00:0f.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev 80)
00: 80 11 76 04 07 00 10 02 80 00 07 06 00 a8 82 00
10: 00 10 00 10 dc 00 00 02 00 06 09 b0 00 00 c0 10
20: 00 f0 ff 10 00 00 00 11 00 f0 3f 11 00 48 00 00
30: fc 48 00 00 00 4c 00 00 fc 4c 00 00 0a 02 80 05
40: cf 10 9a 10 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 82 08 00 03 00 00 63 04 63 04 00 00 00 30
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 0f 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: cf 10 9a 10 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 19 fe
e0: 00 40 c0 24 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Windows
-------
__ Device __ CardBus Bridge
00 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F Refresh : ON
00 80 11 76 04 07 00 10 02 80 00 07 06 00 40 82 00
10 00 00 00 00 DC 00 00 02 00 02 02 B0 00 00 10 0C Rev ID : 80
20 00 F0 1F 0C 00 00 00 00 00 00 00 00 FC FF 00 00 Int Line (IRQ): 0A
30 00 00 00 00 00 00 00 00 00 00 00 00 0A 01 00 04 Int Pin : 01
40 CF 10 9A 10 01 00 00 00 00 00 00 00 00 00 00 00 Latency Timer : 40
50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Sub.Vendor ID : FFFC
60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Subsystem ID : 0000
70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80 00 00 82 08 00 03 00 00 63 04 63 04 00 00 00 30 #0: 00000000 FFFFF000
90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #1: 020000DC 020000DC
A0 00 00 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 #2: B0020200 F8FFFFFF
B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #3: 0C100000 FFFFF000
C0 CF 10 9A 10 00 00 00 00 00 00 00 00 00 00 00 00 #4: 0C1FF000 FFFFF000
D0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 19 FE #5: 00000000 FFFFF000
E0 00 C0 C0 24 00 00 00 00 00 00 00 00 00 00 00 00
F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ROM: 00000000
Type: PCI Bus: 00 Device: 0F Function: 00
Type value to modify.
__ Device __ CardBus Bridge
30 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F Refresh : ON
00 80 11 76 04 07 00 10 02 80 00 07 06 00 40 82 00
10 00 10 00 0C DC 00 00 02 00 03 03 B0 00 F0 FF FF Rev ID : 80
20 00 00 00 00 00 F0 FF FF 00 00 00 00 FC FF FF FF Int Line (IRQ): 0A
30 00 00 00 00 FC FF 00 00 00 00 00 00 0A 02 80 04 Int Pin : 02
40 CF 10 9A 10 01 00 00 00 00 00 00 00 00 00 00 00 Latency Timer : 40
50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Sub.Vendor ID : FFFC
60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Subsystem ID : FFFF
70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80 00 00 82 08 00 03 00 00 63 04 63 04 00 00 00 30 #0: 0C001000 FFFFF000
90 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #1: 020000DC 020000DC
A0 00 00 00 00 00 00 00 00 00 00 0F 00 00 00 00 00 #2: B0030300 F8FFFFFF
B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #3: FFFFF000 FFFFF000
C0 CF 10 9A 10 00 00 00 00 00 00 00 00 00 00 00 00 #4: 00000000 FFFFF000
D0 00 00 00 00 00 00 00 00 00 00 00 00 01 00 19 FE #5: FFFFF000 FFFFF000
E0 00 40 C0 24 00 00 00 00 00 00 00 00 00 00 00 00
F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ROM: 00000000
Type: PCI Bus: 00 Device: 0F Function: 01
Thank You!
-JP Mercury
More information about the linux-pcmcia
mailing list