Hello,
Let me point out in advance that my problem is pretty trivial compared to
most of the postings on that list. If a journey in sound engineering on
Linux is 1000 steps, I'm at step 1 here. I basically tried configuring sound
into the kernel but it didn't seem to work. If you think you can help,
please read on. Otherwise, stop here.
And thanks to all who continue from here...
I want to build sound support into my embedded Linux platform (2.6.28); the
CPU supports I2S in silicon, but I haven't got a driver for that yet. My
plan is to build the kernel with SOUND/SND configurations enabled and start
working on the driver later. In my configurations, I've left all the sound
card-specific options out, keeping just the CONFIG_SND_SOC. I thought it
would be sufficient to install snd-dummy so that any cross-compiled audio
applications could be fooled into working. l rebuilt the kernel after *make
clean* and noted several new SND files being compiled. So far so good. The
final zImage was only a little larger. Overall, the configuration and build
seemed to be going through all the right motions, but when I loaded zImage
onto the target I didn't see any bootup logging that suggested audio was now
working. As an experiment, I tried to insmod snd_dummy.ko but got a long
list of errors. I guess I'm missing something basic.
Here's my configuration choices:
CONFIG_SOUND=m
CONFIG_SOUND_OSS_CORE=y
CONFIG_SND=m
CONFIG_SND_TIMER=m
CONFIG_SND_PCM=m
# CONFIG_SND_SEQUENCER is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_PCM_OSS_PLUGINS=y
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_VERBOSE_PROCFS=y
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set
CONFIG_SND_DRIVERS=y
# CONFIG_SND_PCSP is not set
CONFIG_SND_DUMMY=m
# CONFIG_SND_MTPAV is not set
# CONFIG_SND_MTS64 is not set
# CONFIG_SND_SERIAL_U16550 is not set
# CONFIG_SND_MPU401 is not set
# CONFIG_SND_PORTMAN2X4 is not set
# CONFIG_SND_ISA is not set
# CONFIG_SND_PCI is not set
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
# CONFIG_SND_PCMCIA is not set
CONFIG_SND_SOC=m
CONFIG_SND_SOC_ALL_CODECS=m
CONFIG_SND_SOC_AD73311=m
CONFIG_SND_SOC_AK4535=m
CONFIG_SND_SOC_CS4270=m
CONFIG_SND_SOC_SSM2602=m
CONFIG_SND_SOC_TLV320AIC23=m
CONFIG_SND_SOC_TLV320AIC26=m
CONFIG_SND_SOC_TLV320AIC3X=m
CONFIG_SND_SOC_UDA1380=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8580=m
CONFIG_SND_SOC_WM8731=m
CONFIG_SND_SOC_WM8750=m
CONFIG_SND_SOC_WM8753=m
CONFIG_SND_SOC_WM8900=m
CONFIG_SND_SOC_WM8903=m
CONFIG_SND_SOC_WM8971=m
CONFIG_SND_SOC_WM8990=m
# CONFIG_SOUND_PRIME is not set
And here is the list of errors from installing snd-dummy.ko
[root@127 drivers]#insmod snd-dummy.ko
Using snd-dummy.ko
snd_dummy: Unknown symbol snd_pcm_lib_free_pages
snd_dummy: Unknown symbol snd_pcm_set_ops
snd_dummy: Unknown symbol snd_ctl_boolean_stereo_info
snd_dummy: Unknown symbol snd_card_new
snd_dummy: Unknown symbol snd_pcm_lib_ioctl
snd_dummy: Unknown symbol snd_pcm_lib_malloc_pages
snd_dummy: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
snd_dummy: Unknown symbol snd_card_free
snd_dummy: Unknown symbol snd_ctl_add
snd_dummy: Unknown symbol snd_pcm_new
snd_dummy: Unknown symbol snd_pcm_suspend_all
snd_dummy: Unknown symbol snd_pcm_period_elapsed
snd_dummy: Unknown symbol snd_card_register
snd_dummy: Unknown symbol snd_pcm_format_set_silence
snd_dummy: Unknown symbol snd_pcm_format_width
snd_dummy: Unknown symbol snd_ctl_new1
insmod: cannot insert `snd-dummy.ko': Unknown symbol in module (-1): No such
fil
e or directory
Best Regards,
Rory
Hi Rory,
You're not missing a library but some other kernel modules which provide
those symbols.
IIRC the snd-dummy modules requires 'snd_pcm' and 'snd'.
After installing the kernel, run 'depmod' and try to load the module
with 'modprobe snd-dummy' instead of 'insmod snd-dummy.ko'.
See the man-page for modprobe and depmod for details.
HTH,
robin