summaryrefslogtreecommitdiffstats
path: root/Documentation/sound/AD1816
blob: b43d13be870e5db044768706d8a982ded78926b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Documentation for the AD1816(A) sound driver
============================================

NOTE: This driver is still EXPERIMENTAL, so don't use it on production
systems!


Installation:
-------------

To get your AD1816(A) based sound card work, you'll have to enable
module support ("Enable loadable module support") and support for
experimental code ("Prompt for development and/or incomplete
code/drivers") during kernel configuration. Enable "Sound card
support", "OSS modules support" and "Support for AD1816(A) based cards
(EXPERIMENTAL)" in the sound configuration menu, too. Be sure, that
you build "Support for AD1816(A) based cards (EXPERIMENTAL)" as a MODULE,
otherwise you may run into problems later.
Now build, install and reboot the new kernel as usual.

Since the AD1816(A) is a P'n'P sound chip you'll usually have to
configure it using the isapnptools. See isapnptools documentation for
details on configuring P'n'P cards.

After you have successfully configured the card using isapnp, you may
load the AD1816 driver using modprobe. A typical modprobe call should
look like this:

  modprobe ad1816 io=0x530 irq=5 dma=1 dma2=3 ad1816_clockfreq=33000

if your isapnp.conf file looks like this (relevant lines only):

 (INT 0 (IRQ 5 (MODE +E)))
 (DMA 0 (CHANNEL 1))
 (DMA 1 (CHANNEL 3))
 (IO 0 (BASE 0x0220))
 (IO 1 (BASE 0x0388))
 (IO 2 (BASE 0x0530))

NOTE: Be sure, that you use the address IO 2 (in our example 0x530) when
loading the module!

If your setup was correct, you should see the following messages in  
/var/log/messages (numbers may be different):

Nov  6 17:07:26 tek01 kernel: ad1816_detect(530)
Nov  6 17:07:26 tek01 kernel: ad1816_detect() - Detected OK
Nov  6 17:07:26 tek01 kernel: AD1816 Version: 3


Features:
---------

List of features supported by this driver:
- full-duplex support
- supported audio formats: unsigned 8bit, signed 16bit little endian, 
                           signed 16bit big endian, µ-law, A-law
- supported channels: mono and stereo
- supported recording sources: Master, CD, Line, Line1, Line2, Mic
- supports phat 3d stereo circuit (Line 3)


Supported cards:
----------------

The following cards are known to work with this driver:
- Terratec Base 1 
- Terratec Base 64 
- HP Kayak 
- Acer FX-3D
- SY-1816 
- Highscreen Sound-Boostar 32 Wave 3D
- Highscreen Sound-Boostar 16 
- AVM Apex Pro card 
- (Aztech SC-16 3D) 
- (Newcom SC-16 3D) 
- (Terratec EWS64S) 

Cards listed in brackets are not supported reliable. If you have such a card 
you should add the extra parameter:
  options=1
when loading the ad1816 module via modprobe. 


Troubleshooting:
----------------

First of all you should check, if the driver has been loaded
properly. If you get the following message in your /var/log/messages:

Nov  6 17:06:31 tek01 kernel: ad1816_detect(530)
Nov  6 17:06:31 tek01 kernel: Chip is not an AD1816 or chip is not active 

you either used the wrong address for loading the driver, your chip is
not an AD1816 or you forgot to initialize the card with isapnp.

If loading of the driver succeeds, but playback/capture fails, check
if you used the correct values for irq, dma and dma2 when loading the module.
If one of them is wrong you usually get the following error message:

Nov  6 17:06:13 tek01 kernel: Sound: DMA (output) timed out - IRQ/DRQ config error?

If playback/capture is too fast or to slow, you should have a look at
the clock chip of your sound card. The AD1816 was designed for a 33MHz
oscillator, however most sound card manufacturer use slightly
different oscillators as they are cheaper than 33MHz oscillators. If
you have such a card you have to adjust the ad1816_clockfreq parameter
above. For example: For a card using a 32.875MHz oscillator use
ad1816_clockfreq=32875 instead of ad1816_clockfreq=33000.


Updates, bugfixes and bugreports:
--------------------------------

As the driver is still experimental and under development, you should
watch out for updates.  Updates of the driver are available on the
Internet from one of my home pages:
  http://www.student.informatik.tu-darmstadt.de/~tek/projects/linux.html
or:
  http://www.tu-darmstadt.de/~tek01/projects/linux.html

Bugreports, bugfixes and related questions should be sent via E-Mail to:
  tek@rbg.informatik.tu-darmstadt.de


Thorsten Knabe <tek@rbg.informatik.tu-darmstadt.de>
          Last modified: 1999/05/02