[PlanetCCRMA] rebuilding alsa for edge kernel

Hector Centeno h.centeno@sympatico.ca
Tue Jul 26 06:44:02 2005


Fernando Lopez-Lezcano wrote:

>On Mon, 2005-07-25 at 18:06, Hector Centeno wrote:
>  
>
>>Fernando Lopez-Lezcano wrote:
>>    
>>
>>>On Sat, 2005-07-23 at 11:36, Hector Centeno wrote:
>>>      
>>>
>>>>I just successfully rebuilt the alsa-driver and alsa-kernel for the 
>>>>2.6.10-2.1.ll.rhfc3.ccrma. I had to do it in order to include a patch 
>>>>that allows me to use my USB keyboard (Miditech Midistuido-2). I 
>>>>downloaded the alsa source rpm from the CCRMA repository and everything 
>>>>worked fine (I uninstalled the default Kernel-module-alsa for installing 
>>>>the new compiled alsa-kernel). Now I'm trying to do the same for the 
>>>>last edge kernel (0.21) following the same procedure but is not working. 
>>>>Even though I recompiled the alsa-kernel, at boot it complains about 
>>>>unknown symbols. If I uninstall the rebuilt kernel 
>>>>        
>>>>
>>>You mean "kernel-module-alsa-...", right?
>>>
>>>      
>>>
>>>>and reinstall the 
>>>>official one everything works fine. Is there a different procedure to 
>>>>follow for building the alsa-kernel for the edge kernels? Do I need a 
>>>>different alsa-driver.spec file?
>>>>        
>>>>
>>>No, the same one should work for both kernels. Are you booting into the
>>>edge kernel when you rebuild the rpm? Otherwise you have to tell the
>>>spec file which kernel you are building on:
>>>
>>># kernel version:           --define "kernel_version VERSION_TO_USE"
>>>
>>>But if you are running the edge kernel the spec file should pick up the
>>>right kernel version. Are you using the right target cpu? (either
>>>"--target i686" or "--target i586", has to correspond to the
>>>architecture of the kernel you have installed. 
>>>
>>>      
>>>
>>I managed to make alsa work with the necessary patches under kernel 
>>2.6.12-0.21. Now I can get a latency as low as 11ms with no xruns at all 
>>with my USB Duo, which is very good! (with the 2.6.10 I was getting 23ms 
>>and some xruns). Now that I'm not loading the MPU401 module, and I'm 
>>using my keyboard through the USB port, the system is stable (that was 
>>the cause of my system freezing as it seems that the mpu401 port 
>>included in the intel8x0 is not very stable). In order to get alsa to 
>>work I didn't install or recompiled any kernel-module-alsa. What I did 
>>is to apply the patches to the alsa code included inside the kernel 
>>source and recompile the kernel.
>>
>>What version of alsa is included inside the 2.6.12-0.21 kernel? 
>>    
>>
>
>Whatever comes with stock 2.6.12...
>
>  
>
>>What is 
>>the difference between using the alsa modules included in the kernel and 
>>installing the kernel-module-alsa.2.6.12-0.21? 
>>    
>>
>
>kernel-module-alsa is normally more up to date than what is included in
>the kernel itself. 
>
>  
>
>>Does installing the 
>>second one overrides the alsa modules included in the kernel? I don't 
>>really understand what is the purpose of having the kernel-module-alsa 
>>as a separate rpm.
>>    
>>
>
>Yes, it does override the alsa kernel modules in the kernel. In this way
>it is possible to update alsa without having to update the kernel (which
>is more complicated). Alsa as available on the alsa-project.org, either
>latest stable release or cvs is more up to date than what makes it to
>the stable kernel tree. 
>
>-- Fernando
>
>
>_______________________________________________
>PlanetCCRMA mailing list
>PlanetCCRMA@ccrma.stanford.edu
>http://ccrma-mail.stanford.edu/mailman/listinfo/planetccrma
>
>  
>
Thank you a lot for this explanation. So now that I'm back to trying to 
recompile the kernel-module-alsa I went back to the same problem. This 
is my procedure:
1. download the source RPM alsa-driver-1.0.9b-1.src.rpm from the CCRMA 
repository and install it
2. modify the files in the tar file alsa-driver-1.0.9b located in the 
folder /usr/src/redhat/SOURCES in order to add the necessary code for my 
USB keyboard to work.
3. uninstall any alsa-driver and kernel-module-alsa using rpm -i --nodeps
4. rebuild alsa-driver using rpmbuild -bb --target i686 alsa-driver.spec
5. install the generated alsa-driver and kernel-module-alsa in 
/usr/src/redhat/RPMS/i686 using rpm -ivh --force (I have to use force 
because if not it would complain with this: file /etc/makedev.d/alsa 
from install of alsa-driver-1.0.9b-1 conflicts with file from package 
MAKEDEV-3.13-1, that I think is related to the changes I made in the 
alsa source files) Using --force I get this message after installation: 
1:alsa-driver warning: /etc/makedev.d/alsa saved as 
/etc/makedev.d/alsa.rpmsave
6. reboot the computer

This worked for the kernel 2.6.10 but not for the 2.6.12-0.21 (I 
recompiled the kernel-module-alsa while running this kernel to be sure 
to get it built for it). I get this errors at boot:

Jul 26 08:40:44 localhost modprobe: FATAL: Error inserting snd_pcm 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/acore/snd-pcm.ko): Unknown 
symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost modprobe: WARNING: Error running install 
command for snd_pcm
Jul 26 08:40:44 localhost modprobe: WARNING: Error inserting 
snd_ac97_codec 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/pci/ac97/snd-ac97-codec.ko): 
Unknown symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost modprobe: FATAL: Error inserting snd_pcm 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/acore/snd-pcm.ko): Unknown 
symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost modprobe: WARNING: Error running install 
command for snd_pcm
Jul 26 08:40:44 localhost modprobe: WARNING: Error inserting 
snd_ac97_codec 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/pci/ac97/snd-ac97-codec.ko): 
Unknown symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost modprobe: FATAL: Error inserting snd_intel8x0 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/pci/snd-intel8x0.ko): Unknown 
symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost alsasound: Starting sound driver snd-intel8x0 
succeeded
Jul 26 08:40:44 localhost modprobe: WARNING: Error inserting snd_usb_lib 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/usb/snd-usb-lib.ko): Unknown 
symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost modprobe: FATAL: Error inserting snd_pcm 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/acore/snd-pcm.ko): Unknown 
symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost modprobe: WARNING: Error running install 
command for snd_pcm
Jul 26 08:40:44 localhost modprobe: FATAL: Error inserting snd_usb_audio 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/usb/snd-usb-audio.ko): 
Unknown symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost alsasound: Starting sound driver snd-usb-audio 
failed
Jul 26 08:40:44 localhost modprobe: FATAL: Error inserting snd_seq 
(/lib/modules/2.6.12-0.21.rdt/kernel/sound/acore/seq/snd-seq.ko): 
Unknown symbol in module, or unknown parameter (see dmesg)
Jul 26 08:40:44 localhost alsasound: Starting sequencer failed
Jul 26 08:40:44 localhost alsactl: /usr/sbin/alsactl: load_state:1236:
Jul 26 08:40:44 localhost alsactl: No soundcards found...
Jul 26 08:40:44 localhost alsasound: Restoring sound driver settings faile

... and dmesg:

snd_pcm: Unknown symbol snd_verbose_printd
snd_pcm: disagrees about version of symbol snd_timer_notify
snd_pcm: Unknown symbol snd_timer_notify
snd_pcm: disagrees about version of symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_hidden_kcalloc
snd_pcm: Unknown symbol snd_hidden_kfree
snd_pcm: Unknown symbol snd_verbose_printk
snd_pcm: disagrees about version of symbol snd_timer_new
snd_pcm: Unknown symbol snd_timer_new
snd_pcm: Unknown symbol snd_hidden_kmalloc
snd_ac97_codec: Unknown symbol snd_hidden_kcalloc
snd_ac97_codec: Unknown symbol snd_interval_refine
snd_ac97_codec: Unknown symbol snd_hidden_kfree
snd_ac97_codec: Unknown symbol snd_verbose_printk
snd_ac97_codec: Unknown symbol snd_pcm_hw_rule_add
snd_pcm: Unknown symbol snd_verbose_printd
snd_pcm: disagrees about version of symbol snd_timer_notify
snd_pcm: Unknown symbol snd_timer_notify
snd_pcm: disagrees about version of symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_hidden_kcalloc
snd_pcm: Unknown symbol snd_hidden_kfree
snd_pcm: Unknown symbol snd_verbose_printk
snd_pcm: disagrees about version of symbol snd_timer_new
snd_pcm: Unknown symbol snd_timer_new
snd_pcm: Unknown symbol snd_hidden_kmalloc
snd_ac97_codec: Unknown symbol snd_hidden_kcalloc
snd_ac97_codec: Unknown symbol snd_interval_refine
snd_ac97_codec: Unknown symbol snd_hidden_kfree
snd_ac97_codec: Unknown symbol snd_verbose_printk
snd_ac97_codec: Unknown symbol snd_pcm_hw_rule_add
snd_intel8x0: Unknown symbol snd_verbose_printd
snd_intel8x0: Unknown symbol snd_ac97_pcm_close
snd_intel8x0: Unknown symbol snd_ac97_resume
snd_intel8x0: Unknown symbol snd_pcm_new
snd_intel8x0: Unknown symbol snd_pcm_limit_hw_rates
snd_intel8x0: Unknown symbol snd_pcm_lib_preallocate_pages_for_all
snd_intel8x0: Unknown symbol snd_ac97_pcm_open
snd_intel8x0: Unknown symbol snd_hidden_kcalloc
snd_intel8x0: Unknown symbol snd_ac97_set_rate
snd_intel8x0: Unknown symbol snd_ac97_update_bits
snd_intel8x0: Unknown symbol snd_hidden_kfree
snd_intel8x0: Unknown symbol snd_ac97_mixer
snd_intel8x0: Unknown symbol snd_ac97_bus
snd_intel8x0: Unknown symbol snd_verbose_printk
snd_intel8x0: Unknown symbol snd_ac97_pcm_double_rate_rules
snd_intel8x0: Unknown symbol snd_ac97_suspend
snd_intel8x0: Unknown symbol snd_pcm_lib_malloc_pages
snd_intel8x0: Unknown symbol snd_pcm_lib_ioctl
snd_intel8x0: Unknown symbol snd_pcm_lib_free_pages
snd_intel8x0: Unknown symbol snd_pcm_set_ops
snd_intel8x0: Unknown symbol snd_pcm_hw_constraint_list
snd_intel8x0: Unknown symbol snd_ac97_get_short_name
snd_intel8x0: Unknown symbol snd_pcm_suspend_all
snd_intel8x0: Unknown symbol snd_ac97_pcm_assign
snd_intel8x0: Unknown symbol snd_pcm_hw_constraint_integer
snd_intel8x0: Unknown symbol snd_pcm_hw_constraint_msbits
snd_intel8x0: Unknown symbol snd_pcm_period_elapsed
snd_intel8x0: Unknown symbol snd_ac97_tune_hardware
snd_pcm: Unknown symbol snd_verbose_printd
snd_pcm: disagrees about version of symbol snd_timer_notify
snd_pcm: Unknown symbol snd_timer_notify
snd_pcm: disagrees about version of symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_hidden_kcalloc
snd_pcm: Unknown symbol snd_hidden_kfree
snd_pcm: Unknown symbol snd_verbose_printk
snd_pcm: disagrees about version of symbol snd_timer_new
snd_pcm: Unknown symbol snd_timer_new
snd_pcm: Unknown symbol snd_hidden_kmalloc
snd_ac97_codec: Unknown symbol snd_hidden_kcalloc
snd_ac97_codec: Unknown symbol snd_interval_refine
snd_ac97_codec: Unknown symbol snd_hidden_kfree
snd_ac97_codec: Unknown symbol snd_verbose_printk
snd_ac97_codec: Unknown symbol snd_pcm_hw_rule_add
snd_pcm: Unknown symbol snd_verbose_printd
snd_pcm: disagrees about version of symbol snd_timer_notify
snd_pcm: Unknown symbol snd_timer_notify
snd_pcm: disagrees about version of symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_timer_interrupt
snd_pcm: Unknown symbol snd_hidden_kcalloc
snd_pcm: Unknown symbol snd_hidden_kfree
snd_pcm: Unknown symbol snd_verbose_printk
snd_pcm: disagrees about version of symbol snd_timer_new
snd_pcm: Unknown symbol snd_timer_new
snd_pcm: Unknown symbol snd_hidden_kmalloc
snd_ac97_codec: Unknown symbol snd_hidden_kcalloc
snd_ac97_codec: Unknown symbol snd_interval_refine
snd_ac97_codec: Unknown symbol snd_hidden_kfree
snd_ac97_codec: Unknown symbol snd_verbose_printk
snd_ac97_codec: Unknown symbol snd_pcm_hw_rule_add
... etc (goes on for long)

I would appreciate a lot any help here.

Thank you!

Hector