Tiny Core Linux

Tiny Core Extensions => TCE Q&A Forum => Topic started by: s3704ssv on May 18, 2010, 04:59:17 PM

Title: Sound on AMD Geode LX800
Post by: s3704ssv on May 18, 2010, 04:59:17 PM
hello to all!,

I am having problems with getting alsa working on my AMD Geode Device!, no audio output at all  ???.

alsamixer displays:
Card: CS5535 Audio
Chip: 0x800f800f P¦P  <-- not properly detected???

I'm seeing plenty of error like [in dmesg]:
May 19 04:17:25 (none) user.err kernel: Failure writing to cs5535 codec
May 19 04:17:25 (none) user.err kernel: Failure reading codec reg 0x7c,Last value=0x2680800f

Please see attached files

I hope someone can help out! :)
Title: Re: alsa on AMD Geode LX800
Post by: wohlstandpenner on May 18, 2010, 06:17:43 PM
isapnp off

and you can test it with the sb16 driver...

Perhabs.. there are lot of problems with the Geode moduls..

Title: Re: alsa on AMD Geode LX800
Post by: s3704ssv on May 18, 2010, 07:29:11 PM
@wohlstandpenner

I have tried out the boot code isapnp=off and tried to load alsa.tcz and still no avail :(

how to load these sound blaster modules? like 'sudo modprobe sb16'

note: I have tried this unit of mine on windows xp and ubuntu 8.10 and the sound works!
Title: Re: alsa on AMD Geode LX800
Post by: wohlstandpenner on May 19, 2010, 12:31:32 AM
looks on ubuntu whats configure you have..for sound..

I have some geode clients from the geode gx to geode lx..
It was very diificult to run sound on this device with tinycore.. But i have bring it to work..
Oss run often better on this devices.. I searched when i come home, for the modprobe modules parameters

Title: Re: alsa on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 12:47:25 AM
@^thehatsrule^

My apologies, I thought it was the right section to post. Anyways, Thank You.

@wohlstandpenner

ubuntu 8,10 loading on an AMD Geode LX800 is too slow too boot  :D and I don't know what to search for in order to import/note its settings.

@all

Any info would be appreciated!  :D
Title: Re: alsa on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 01:48:29 AM
I have tried using OSS and it works out of the box  :D

Can somebody tell the difference or enlighten me about OSS and ALSA? I'll be just playing wav, mp3, ogg or other audio files [maybe 2 to 3 players running the same time].

Will OSS be enough for my needs as indicated above?
Title: Re: alsa on AMD Geode LX800
Post by: curaga on May 19, 2010, 04:37:19 AM
Different sound systems, both with pros and cons, that's all. For a bit OSS-biased history see
http://insanecoding.blogspot.com/2007/05/sorry-state-of-sound-in-linux.html

OSS can handle your use case just fine.
Title: Re: alsa on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 08:01:18 AM
ok, but I seem to be deviating to my topic titile :(

anyways, lets say I'll use OSS instead.

I've already loaded OSS.tcz and tested it with osstest and there was sound output!

[loaded up mpg321.tcz, ogg-vorbis.tcz and oggz.tcz as well]
I have 3 audio samples: 1 wav, 1 ogg and 1 mp3

played them in ossplay and only the wav file is played

played them in mpg321 and only the mp3 file is played [the wav file seems garbage and the ogg file did not play]

what audio plugins that I'm missing?

AND I seem can't do simultaneous playing :(

these are what ossdevlinks says:
1 audio devices
/dev/dsp2 is the next free legacy device
/dev/dsp0: symlink -> /dev/oss/oss_allegro0/pcm0 (should be /dev/oss/oss_geode0/pcm0)
   Already linked to /dev/dsp1
2 legacy dsp device files
Adev 0 (/dev/oss/oss_geode0/pcm0) is legacy device file /dev/dsp1
/dev/oss/oss_geode0/pcm0 is the default /dev/dsp device
/dev/oss/oss_geode0/pcm0 is the default dsp_out device
/dev/oss/oss_geode0/pcm0 is the default dsp_in device
/dev/oss/oss_geode0/pcm0 is the default mmap output device
1 mixer devices
/dev/mixer2 is the next free legacy device
/dev/mixer0: symlink -> /dev/oss/oss_allegro0/mix0 (should be /dev/oss/oss_geode0/mix0)
   Already linked to /dev/mixer1
2 legacy mixer device files
Mixdev 0 is legacy device file /dev/mixer1
/usr/lib/oss/etc/legacy_devices: Read-only file system

also, I tried: sudo vmixctl attach /dev/mixer1
error is: SNDCTL_ENGINEINFO: Invalid argument
Title: Re: alsa on AMD Geode LX800
Post by: lucky13 on May 19, 2010, 08:13:49 AM
[loaded up mpg321.tcz, ogg-vorbis.tcz and oggz.tcz as well]
I have 3 audio samples: 1 wav, 1 ogg and 1 mp3

played them in ossplay and only the wav file is played

played them in mpg321 and only the mp3 file is played [the wav file seems garbage and the ogg file did not play]

what audio plugins that I'm missing?

mpg321 only plays mpg/mp3 files; ossplay only plays raw files (like wav). Did you try the ogg with ogg123, xmms, mocp, or any other player?
Title: Re: alsa on AMD Geode LX800
Post by: curaga on May 19, 2010, 08:15:21 AM
Quote
played them in ossplay and only the wav file is played

played them in mpg321 and only the mp3 file is played [the wav file seems garbage and the ogg file did not play]

I recommend mplayer.

Quote
/usr/lib/oss/etc/legacy_devices: Read-only file system

That's a bug in the extension, thanks for reporting.

Quote
also, I tried: sudo vmixctl attach /dev/mixer1
error is: SNDCTL_ENGINEINFO: Invalid argument
This shouldn't be necessary, things should be automatic.
Title: Re: alsa on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 10:00:28 AM
@lucky13

I thought that they could cater other formats but thanks for the info!

@curaga

I'll try mplayer then.

also, is there a way for me to help out to fix this 'bug'? or how can I enable mixing with my audio device as currently only 1 app can access the audio device?
Title: Re: alsa on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 10:05:43 AM
to Moderators:

can we change the title to 'ALSA or OSS on AMD Geode LX800'

I don't know how to change it.
Title: Re: Sound on AMD Geode LX800
Post by: curaga on May 19, 2010, 10:08:08 AM
Fixed already. Try the updated extension, hopefully you'll have automatic vmix with that.
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 10:47:56 AM
@curaga

wow! very fast!, so..., I'll just download back OSS.tcz? and use it?

I'll try it after my work! and give feedback tomorrow then

Thanks!  :D
Title: Re: Sound on AMD Geode LX800
Post by: curaga on May 19, 2010, 10:52:36 AM
You can also do a delta update using appsaudit, saves time & bandwidth.
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 19, 2010, 07:11:58 PM
@curaga

I have updated OSS.tcz but still can't seem to use 2 sound programs to access the audio device at the same time.

sudo ossdevlinks -v gives:
1 audio devices
/dev/dsp1 is the next free legacy device
/dev/dsp0: symlink -> /dev/oss/oss_geode0/pcm0 OK
1 legacy dsp device files
/dev/oss/oss_geode0/pcm0 is the default /dev/dsp device
/dev/oss/oss_geode0/pcm0 is the default dsp_out device
/dev/oss/oss_geode0/pcm0 is the default dsp_in device
/dev/oss/oss_geode0/pcm0 is the default mmap output device
1 mixer devices
/dev/mixer1 is the next free legacy device
/dev/mixer0: symlink -> /dev/oss/oss_geode0/mix0 OK
1 legacy mixer device files


and ossinfo gives:
Version info: OSS 4.1 (b 1052/200904111036) (0x00040100) GPL
Platform: Linux/i586 2.6.29.1-tinycore #1337 SMP Fri Apr 10 19:12:39 EEST 2009 (slow-poke)

Number of audio devices:   1
Number of audio engines:   2
Number of mixer devices:   1


Device objects
 0: osscore0 OSS core services
 1: oss_geode0 AMD CS5536 AC97 Controller interrupts=2378 (4550)
 2: oss_usb0 USB audio core services


Mixer devices
 0: AC97 Mixer (ALC203) (Mixer 0 of device object 1)

Audio devices
AMD CS5536 AC97 Controller        /dev/oss/oss_geode0/pcm0  (device index 0)



finally..., dmesg gives:
osscore: This processor architecture is not compatible with vmix (info=-1) - Not enabled.
oss_geode 0000:00:0f.3: PCI INT B -> Link[LNKB] -> GSI 11 (level, low) -> IRQ 11
usbcore: registered new interface driver oss_usb


do I have an alternative on this?  ???
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 20, 2010, 03:55:09 AM
and also, according to OSS Wiki [Building OSSv4 from source] it states:
http://www.opensound.com/wiki/index.php/Building_OSSv4_from_source#The_Open_Sound_System_on_Linux.2Fgeode
Quote
The Open Sound System on Linux/geode

geode processors don't have the necessary floating point support for floating point arithmetic used by vmix FLOAT mode. The parameter --config-vmix=FIXEDPOINT should be used to make vmix use integer fixed point arithmetic.

should recompiling OSS be the answer to my vmix problem?

I would like to hear inputs before I try to compile OSS
Title: Re: Sound on AMD Geode LX800
Post by: curaga on May 20, 2010, 04:40:33 AM
Oh, that explains everything. Vmix by default uses floating point for better sound quality.

If you haven't compiled much before, I think you should try with alsa one more time. Try the module parameters, like "modprobe snd-sb16 isapnp=off"
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 20, 2010, 05:45:42 AM
@curaga

thanks for the reply.

anyways, I have done what you suggested above and then changed mixer levels then test sound but alsa does not 'emit' sound from the device  ???

the step was: load alsa.tcz, then modprobe you suggested, then alsaconf, then alsamixer, then play a sound file. [is this correct?]


I'll maybe try to compile it then, its been a while that I have compiled
Title: Re: Sound on AMD Geode LX800
Post by: mavrothal on May 20, 2010, 07:56:56 AM
I'm not sure if it will help but in the OLPC XO-1 that is also using LX800/cs5535audio, all I had to do was to commend out the udev rules in /usr/local/tce.installed/alsa of alsa.tcz
eg the
Code: [Select]
#[ -e /etc/udev/rules.d/25-alsa.rules ] || sudo ln -s /usr/local/etc/udev/rules.d/25-alsa.rules /etc/udev/rules.d/25-alsa.rules > /dev/null 2>&1

# udevadm control --reload-rules 2> /dev/null
# udevadm trigger 2> /dev/null
lines.
Then ALSA was file.
[^thehatsrule^: removed, extensions policy]

BTW I have a similar problem to yours with ALSA and LX800/cs5535audio and similar error messages but in puppylinux. cs5535audio is really strange...
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 20, 2010, 09:02:55 AM
@mavrothal

great!, I'll try these tomorrow then, thanks!  :D


@all

I have compiled OSS and I have vmix now! and I'm able to run 2 audio programs simultaneously! [or more?]

Although that there were a few warnings and some oddities..., it seems fine..., but I'll post tomorrow the 'quirks' that I had when compiling.

I seem to have a good lead with my Audio on my AMD Geode Device!  :D

More Power and Thanks to the Tinycore Community!  :D
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 24, 2010, 09:17:09 PM
hello all,

I'm back :)

anyways,

I can compile OSS and make it work but I can't seem to make a package out of it :(

also..., here are some messages that I have seen when I compiled it
Quote
in: configure script

Directory depends on the ALSA package which is not available
Directory depends on the SADA package which is not available

Cannot locate <stdarg.h>
Cannot locate <stddef.h>
Cannot locate <stdarg.h>
Cannot locate <stdarg.h>
Cannot locate <vorbis/vorbisfile.h>

/bin/sh: cd: line 1: can't cd to noregparm
make: *** [dep_subdirs] Error 1


in: make build

Check devices for oss_geode
cp: cannot stat `lib/libsalsa/.libs/libsalsa.so.2.0.0': No such file or directory
Warning: No libsalsa library compiled


also..., the '--prefix=/usr/local' does not work in oss 4.2?

since the '--prefix=/usr/local' did'nt work for me., what I did was issue 'make tarball' and followed the 'alternate' way of making the module.

when I load my OSS module/extension. this is what is generated:

Quote
tc@slow-poke:/mnt/hda1/data$ sudo soundon
Relinking OSS kernel modules for "2.6.29.1-tinycore SMP mod_unload 486 "
This may take few moments - please stand by...

OSS build environment set up for REGPARM kernels

    gcc
    make
    binutils
    C library headers (glibc-devel or build-essential)

Error: The above Linux package(s) seem to be missing from your system.
       Please install them and then try to install OSS again.

Please refer to the documentation of your Linux distribution if you
have problems with installing the packages.


Relinking the OSS kernel modules failed

 :-[ ???
help!
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 26, 2010, 11:44:58 AM
this is the steps I've made
=> 1st
loaded up extensions: compiletc, coreutils, tar, squashfs, linux headers, gtk-dev, etc

=> 2nd
export CFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe"
export LDFLAGS="-Wl,-O1"

=> 3rd
extracted oss source then created a separate build directory for oss [with read/write access]

=> 4th
cd to build directory and issued: /path/to/configure/script/configure --only-drv=oss_geode --config-vmix=FIXEDPOINT

=> 5th
make build

=> 6th
make tarball

=> 7th
mkdir /tmp/pkg
cd /tmp/pkg
tar -xf /tmp/OSS-tarball.bz2
cd /tmp
mksquashfs pkg/ OSS-Geode.tcz

=> 8th
saved OSS-Geode.tcz into some persistent folder and then rebooted with base only

=> 9th
loaded OSS-Geode.tcz and excuted 'soundon' and the error appears what I've added above



I know that I missed something :(..., could someone outline for me 'the' proper way compiling OSS?
Title: Re: Sound on AMD Geode LX800
Post by: curaga on May 26, 2010, 12:09:18 PM
After "make tarball", do a "make install", and then copy built modules from /lib/modules/... to /tmp/pkg.
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 26, 2010, 02:11:55 PM
After "make tarball", do a "make install", and then copy built modules from /lib/modules/... to /tmp/pkg.

I see..., this is what I missed :(

anyways..., the directory '/lib/modules' seems to be infested with a gazillion of files/folders :)..., how do I copy "only" 'oss geode' modules?

I'm still at work and away from my AMD Geode/Microcore unit :(

will this work finding the modules?
# make tarball
# make install
# touch /tmp/mark
# find /lib/modules -newer /tmp/mark -not -type d > /tmp/list

then copy the what is in /tmp/list to /tmp/pkg?
Title: Re: Sound on AMD Geode LX800
Post by: curaga on May 26, 2010, 02:58:54 PM
Yeah, a list should work; but the modules are all in a oss/ subdir, I just can't remember exactly how deep.
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on May 26, 2010, 04:29:17 PM
@curaga

ok, thanks! :)

I'll try the 'list' approach and this of copying the oss/ directory and sub directories.

I'll report the results when I'm able to get back to my AMD Geode unit!
Title: Re: Sound on AMD Geode LX800
Post by: Juanito on May 26, 2010, 11:29:59 PM
will this work finding the modules?
# make tarball
# make install
# touch /tmp/mark
# find /lib/modules -newer /tmp/mark -not -type d > /tmp/list

I think:
Code: [Select]
# touch /tmp/mark
# make install
# find /lib/modules -newer /tmp/mark -not -type d > /tmp/list

..might work better
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on June 01, 2010, 10:12:12 PM
Hello to All!,

Just a little more question(s) :)

I have successfully compiled OSS for my AMD Geode Unit! :)

but I need to do 'depmod -a' and 'soundon' to activate it but its not a problem I believe.

only these below bothers me:
ossmix reports:
Quote
Selected mixer 0/W
Known controls are:
Unknown mixer extension type 10551382 (Y1) (Read-only)
Unknown mixer extension type 10879063 (X1)
Unknown mixer extension type 10747994 (Y) (Read-only)
Unknown mixer extension type 10813528 (X2) (Read-only)
Unknown mixer extension type 10682454 (W) (Read-only)
Unknown mixer extension type 10616919 (X1)
Unknown mixer extension type 10485848 (Y) (Read-only)
Unknown mixer extension type 10879065 (V) (Read-only)
line [<leftvol>:<rightvol>] (currently 32:32)
line.rec ON|OFF (currently ON)
mic <monovol> (currently 0)
mic.rec ON|OFF (currently OFF)
igain [<leftvol>:<rightvol>] (currently 75:75)
aux1 [<leftvol>:<rightvol>] (currently 32:32)
aux1.rec ON|OFF (currently OFF)
spdout.enable ON|OFF (currently OFF)
spdout.adc/dac ON|OFF (currently OFF)
spdout.pro <Consumer|Professional> (currently Consumer)
spdout.audio <AUDIO|DATA> (currently AUDIO)
spdout.copy ON|OFF (currently OFF)
spdout.pre-emph ON|OFF (currently OFF)
spdout.rate <48000|44100|32000> (currently 48000)
spdout.vbit ON|OFF (currently OFF)
vmix0-enable ON|OFF (currently ON)
vmix0-rate <decimal value> (currently 48000) (Read-only)
vmix0-src <High|OFF> (currently Fast)
vmix0-outvol <monovol> (currently 24.7 dB)
vmix0-invol <monovol> (currently 25.0 dB)
vmix0.pcm1 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm2 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm3 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm4 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)

ossinfo reports:
Quote
Version info: OSS 4.2 (b 2002/201006020807) (0x00040100) GPL
Platform: Linux/i586 2.6.29.1-tinycore #1337 SMP Fri Apr 10 19:12:39 EEST 2009 (slow-poke)

Number of audio devices:   1
Number of audio engines:   6
Number of MIDI devices:      0
Number of mixer devices:   1


Device objects
 0: osscore0 OSS core services
 1: oss_geode0 AMD CS5536 AC97 Controller interrupts=4769 (7818)

MIDI devices (/dev/midi*)

Mixer devices
 0: AC97 Mixer (ALC203) (Mixer 0 of device object 1)

Audio devices
AMD CS5536 AC97 Controller        /dev/oss/oss_geode0/pcm0  (device index 0)

Nodes
  /dev/dsp -> /dev/oss/oss_geode0/pcm0
  /dev/dsp_in -> /dev/oss/oss_geode0/pcm0
  /dev/dsp_out -> /dev/oss/oss_geode0/pcm0
  /dev/dsp_mmap -> /dev/oss/oss_geode0/pcm0

ossdetect and ossdevlinks gives blank outputs

and attached is the 'soundon.log'
Title: Re: Sound on AMD Geode LX800
Post by: curaga on June 02, 2010, 07:41:21 AM
Log looks fine, ossdetect is silent unless used with -v. If you have sound, you're free to ignore the mixer errors.
Title: Re: Sound on AMD Geode LX800
Post by: s3704ssv on June 02, 2010, 07:45:26 PM
@curaga

there is this difference which I see from the stock OSS.tcz which came from our tinycore repository and that of what I've made
ossmix result [stock OSS.tcz in repository]:
Quote
Selected mixer 0/AC97 Mixer (ALC203)
Known controls are:
vol [<leftvol>:<rightvol>] (currently 50:50)
vol.rec ON|OFF (currently OFF)
pcm [<leftvol>:<rightvol>] (currently 50:50)
speaker <monovol> (currently 0)
line [<leftvol>:<rightvol>] (currently 32:32)
line.rec ON|OFF (currently ON)
mic <monovol> (currently 0)
mic.rec ON|OFF (currently OFF)
igain [<leftvol>:<rightvol>] (currently 50:50)
aux1 [<leftvol>:<rightvol>] (currently 32:32)
aux1.rec ON|OFF (currently OFF)
spdout.enable ON|OFF (currently OFF)
spdout.adc/dac ON|OFF (currently OFF)
spdout.pro <Consumer|Professional> (currently Consumer)
spdout.audio <AUDIO|DATA> (currently AUDIO)
spdout.copy ON|OFF (currently OFF)
spdout.pre-emph ON|OFF (currently OFF)
spdout.rate <48000|44100|32000> (currently 48000)
spdout.vbit ON|OFF (currently OFF)

ossmix result [stock OSS-Geode.tcz of what I've made]:
Quote
Selected mixer 0/W
Known controls are:
Unknown mixer extension type 10551382 (Y1) (Read-only)
Unknown mixer extension type 10879063 (X1)
Unknown mixer extension type 10747994 (Y) (Read-only)
Unknown mixer extension type 10813528 (X2) (Read-only)
Unknown mixer extension type 10682454 (W) (Read-only)
Unknown mixer extension type 10616919 (X1)
Unknown mixer extension type 10485848 (Y) (Read-only)
Unknown mixer extension type 10879065 (V) (Read-only)
line [<leftvol>:<rightvol>] (currently 32:32)
line.rec ON|OFF (currently ON)
mic <monovol> (currently 0)
mic.rec ON|OFF (currently OFF)
igain [<leftvol>:<rightvol>] (currently 75:75)
aux1 [<leftvol>:<rightvol>] (currently 32:32)
aux1.rec ON|OFF (currently OFF)
spdout.enable ON|OFF (currently OFF)
spdout.adc/dac ON|OFF (currently OFF)
spdout.pro <Consumer|Professional> (currently Consumer)
spdout.audio <AUDIO|DATA> (currently AUDIO)
spdout.copy ON|OFF (currently OFF)
spdout.pre-emph ON|OFF (currently OFF)
spdout.rate <48000|44100|32000> (currently 48000)
spdout.vbit ON|OFF (currently OFF)
vmix0-enable ON|OFF (currently ON)
vmix0-rate <decimal value> (currently 48000) (Read-only)
vmix0-src <High|OFF> (currently Fast)
vmix0-outvol <monovol> (currently 24.7 dB)
vmix0-invol <monovol> (currently 25.0 dB)
vmix0.pcm1 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm2 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm3 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)
vmix0.pcm4 [<leftvol>:<rightvol>] (currently 25.0:25.0 dB)

The current OSS that I have built is ok, yet those difference gives me to think..., any insights for this?
Title: Re: Sound on AMD Geode LX800
Post by: aus9 on August 21, 2010, 02:54:25 AM
hi

I am not a sound expert nor do I have your hardware.

If (and ONLY if) you decide to re-look at alsa can you post some results if interested.

1) allegedly...your sound module is .....snd-cs5535audio for alsa.

so run and post results for
Code: [Select]
lsmod | grep snd
cat /proc/interrupts


the request for interrupts is because I have read there are some bios issues.

2) In your first post you say you have the 5535......can you confirm by running  
Code: [Select]
lspci | grep Audio please?...no need to post results unless different from 5535.

3) In your first post you say no sound.....if you run alsamixer....did a mixer window appear in your terminal?

if so can you show a snapshot of it pls?

good luck