[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linrad] problem setting up "non-standard" AD hardware



Leif,
 
I?ve done the change you suggested in setad.c and works! But the problems persist.
 
In the U option:
=cut=====================================
Checking device drivers
00:/dev/sound/dsp   44100 Hz    2 Chan.    16 bit
02:/dev/sound/dsp1   32000 Hz    2 Chan    16 bit
03:/dev/sound/dsp2   448000 Hz    2 Chan    16 bit
Select device for input by line number  _
=cut=====================================
Now I can select 03 without problem.
Linrad asks:
=cut=====================================
1: One RX channel (?)
2: One RX channel I/Q (?)
3: Two RX channels (?)
=cut=====================================
 
I answer: 1 (the Bt chip is mono) and then:
=cut=====================================
INTERNAL ERROR: 1027 (errno=2)
routine:set_analog_io    file:setad.c
Failed to set no of channels (should never happen)
PRESS ENTER!
=cut=====================================
 
My conclusions:
- Now the SNDCTL_DSP_GETISPACE call works (as you supposed).
- Reading the btaudio debug log (the Bt878a audio module) I can see how it answer ?2 channels? when Linrad asks and this is wrong. The chip is mono.
- Reading the soundboard_init.log I can see how Linrad detects the board as RDONLY ?and? WRONLY and I think this is wrong because this board is just an ADC, never a DAC.
 
The audio module it?s not answering correctly the questions from the OSS, so I should look into another direction. Actually the btaudio module is obsolete and no longer supported.I should check the new one that ALSA has for this hardware and stop bugging around :)
 
I?ll keep you informed, thanks!
 
Juan
 
----- Original Message -----
Sent: Wednesday, April 14, 2004 5:37 PM
Subject: RE: [linrad] problem setting up "non-standard" AD hardware

Hi Juan,
The second audio board is a Bt878a TV card. It can be used as ADC up to 448000 samples per second and 16 bits. I know this can be a bit strange but you can read the setup process here: http://www.domenech.org/bt878a-adc/index-e.htm
 
In the U option Linrad says:
 
=cut=====================================
Checking device drivers
00:/dev/sound/dsp   44100 Hz    2 Chan.    16 bit
02:/dev/sound/dsp1   32000 Hz    2 Chan    16 bit
03:/dev/sound/dsp2   448000 Hz    2 Chan    16 bit
Select device for input by line number  _
=cut=====================================
 
If I select ?00? it works but if I select ?03? (the Bt878 ADC) it says ?ERROR (press any key)?. Doesn?t matter if I try ?03?,?3?, ?02?, ?2?, always the same message.  
 
I forgot to write the modes in the list you see when pressing U.
As you can see in the log file dsp1 and dsp2 fail in read modes
so they can not be used for input.
 
Try this in setad.c:
Insert a new line between 435 and 436.
Copy it from line 445: read(audio_out.............
 
Maybe this driver wants a first read before it will respond
to ioctl(GETISPACE)
 
If it does not help, there is nothing I know I could do. Linrad needs
the ioctl(GETISPACE) to synchronize boards.
 
If the above fixes the problem I will make some changes to incorporate it.
The system might hang on the read call and something has to be placed
on screen for the user to know;)
 
73
 
Leif / SM5BSZ
 
LINRADDARNIL
a