[linux-audio-user] Getting the Echo Mona Laptop to work

Andres Cabrera acabrera at teleset.com.co
Mon Sep 27 11:47:37 EDT 2004


Hi all,
I'm trying to get my Echo Mona Laptop card to work, and I've done a lot 
of progress thanks to Giuliano Pochini and Ivica Ivo Bukvic, but I'm not 
there yet.
The alsa drivers written by Giuliano Pochini, though not currently part 
of alsa cvs, are reported to be working for the PCI version of the card. 
Echo (the manufacturer) has assured there is no difference in their 
windows dirver for the pci card and the pcimcia card, so the linux 
drivers should work for the PCMCIA card as well.
The current state:
-My machine recognizes the card properly as (using lspci):
04:00.0 Multimedia controller: Motorola: Unknown device 3410 (rev 01)

When hotplugging the card, the drivers are called correctly, but midway 
through loading, there is an error, and the drivers halt. The strange 
thing when loading is that the card reports a different serial number 
each time the card is loaded. This points to a data corruption problem 
somewhere.
This problem looks a lot like a problem discussed in the past on this 
list for the Hammerfall PCMCIA card, where people (Ivica in particular) 
were having trouble with the Cardbus bridge registers. The problem was 
solved by manually changing those registers.
I apparently have the same problem, since the registers for windows are 
different for the registers on linux (I checked the registers using 
hexdump -v /proc/bus/pci/02/01.0).
The registers are similar but have something like 15 values that differ. 
I tried changing the registers manually using setpci, but the problem is 
that when changing some values, other values I had already changed 
reverted to their old values, and some values could not be changed at all.
So my questions are:
Should the registers for windows and linux be exactly the same or is it 
normal to have variations?

How can I force the registers for the cardbus bridge to take on the 
values I get on windows?


Thanks very much,

Andrés

PD. Here are the registers for windows:
00=4C 01=10 02=42 03=AC 04=07 05=00 06=10 07=02
08=00 09=00 0A=07 0B=06 0C=08 0D=20 0E=82 0F=00
10=00 11=E0 12=EF 13=FF 14=A0 15=00 16=00 17=02
18=02 19=03 1A=03 1B=20 1C=00 1D=D0 1E=EF 1F=FF
20=00 21=D0 22=EF 23=FF 24=00 25=80 26=FF 27=F4
28=00 29=70 2A=FF 2B=F8 2C=00 2D=EE 2E=00 2F=00
30=FC 31=EE 32=00 33=00 34=00 35=ED 36=00 37=00
38=FC 39=ED 3A=00 3B=00 3C=0B 3D=01 3E=00 3F=04
40=28 41=10 42=D4 43=00 44=01 45=00 46=00 47=00
48=00 49=00 4A=00 4B=00 4C=00 4D=00 4E=00 4F=00
50=00 51=00 52=00 53=00 54=00 55=00 56=00 57=00
58=00 59=00 5A=00 5B=00 5C=00 5D=00 5E=00 5F=00
60=00 61=00 62=00 63=00 64=00 65=00 66=00 67=00
68=00 69=00 6A=00 6B=00 6C=00 6D=00 6E=00 6F=00
70=00 71=00 72=00 73=00 74=00 75=00 76=00 77=00
78=00 79=00 7A=00 7B=00 7C=00 7D=00 7E=00 7F=00
80=21 81=D0 82=24 83=30 84=00 85=06 86=00 87=00
88=81 89=00 8A=0F 8B=00 8C=02 8D=30 8E=03 8F=05
90=C0 91=A6 92=64 93=60 94=00 95=00 96=00 97=00
98=00 99=00 9A=00 9B=00 9C=00 9D=00 9E=00 9F=00
A0=01 A1=00 A2=12 A3=FE A4=00 A5=00 A6=C0 A7=00
A8=00 A9=00 AA=00 AB=00 AC=00 AD=00 AE=00 AF=00
B0=00 B1=00 B2=00 B3=00 B4=00 B5=00 B6=00 B7=00
B8=00 B9=00 BA=00 BB=00 BC=00 BD=00 BE=00 BF=00
C0=00 C1=00 C2=00 C3=00 C4=00 C5=00 C6=00 C7=00
C8=00 C9=00 CA=00 CB=00 CC=00 CD=00 CE=00 CF=00
D0=00 D1=00 D2=00 D3=00 D4=00 D5=00 D6=00 D7=00
D8=00 D9=00 DA=00 DB=00 DC=00 DD=00 DE=00 DF=00
E0=00 E1=00 E2=00 E3=00 E4=00 E5=00 E6=00 E7=00
E8=00 E9=00 EA=00 EB=00 EC=00 ED=00 EE=00 EF=00
F0=00 F1=00 F2=00 F3=00 F4=00 F5=00 F6=00 F7=00
F8=00 F9=00 FA=00 FB=00 FC=00 FD=00 FE=00 FF=00

and for linux (notice you have to switch the order of the pairs):
0000000 104c ac42 0007 0210 0000 0607 a808 0082
0000010 1000 2000 00a0 0200 0400 b004 0000 2040
0000020 f000 207f 0000 2080 f000 20bf 4000 0000
0000030 40fc 0000 4400 0000 44fc 0000 01ff 0700
0000040 1028 00d4 0001 0000 0000 0000 0000 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
0000060 0000 0000 0000 0000 0000 0000 0000 0000
0000070 0000 0000 0000 0000 0000 0000 0000 0000
0000080 f021 3024 0600 0000 0081 000f 3002 0503
0000090 a6c0 6064 0000 0000 0000 0000 0000 0000
00000a0 0001 fe12 8000 00c0 0000 0000 0000 0000
00000b0 0000 0000 0000 0000 0000 0000 0000 0000
00000c0 0000 0000 0000 0000 0000 0000 0000 0000
00000d0 0000 0000 0000 0000 0000 0000 0000 0000
00000e0 0000 0000 0000 0000 0000 0000 0000 0000
00000f0 0000 0000 0000 0000 0000 0000 0000 0000

See registers: 0D, 10,12,13, 18,19, 1B, 1A, 1E,1F,
21,23,23, 25, 26,27, 29,2A,2B,2D, 31, 35, 39, 3C, 3F,
81, A5




More information about the Linux-audio-user mailing list