Tiny Core Linux
Tiny Core Base => TCB Q&A Forum => Topic started by: jpeters on January 27, 2009, 04:16:27 PM
-
I copied a folder of sound modules that work with my dell, but get a "-1 invalid module format" if I try to insmod. (modprobe doesn't recognize the modules at all.) I copied them out of another linux distro, and was attempting to load in the ac97 and maestro3 modules. lsmod doesn't show any sound modules loaded at all. Thanks
-
Typically kernel modules from another distro are not recommended for things like this, even if they load - it's better to recompile them.
-
Typically kernel modules from another distro are not recommended for things like this, even if they load - it's better to recompile them.
OK....thanks!
-
Typically kernel modules from another distro are not recommended for things like this, even if they load - it's better to recompile them.
I can't find any download sources, just lots of info about the modules themselves.
-
I take it these sound modules are not in the standard kernel source or alsa-drivers source?
-
I take it these sound modules are not in the standard kernel source or alsa-drivers source?
Alsa provides support, but trying to compile looks for /usr/src or some other problems (looks for /include/linux/version.h, etc). I was hoping that if I could load specific maestro3, intel8x0, and ac97 modules, the microphone function on Skype would work (I can listen, just not broadcast). I know next to nothing about getting and installing modules, however. (just basic modprobe, insmod, etc). I downloaded alsa-driver-1.0.19 to /tmp and tried ./configure --with-maestro3.
-
The alsa_modules.tcem extension looks the have the maestro3, intel8x0, and ac97 modules in it - did you give it a go?
To build the alsa-modules, you need to unpack the kernel source, load the default tinycore .config with "make menuconfig" and then "make" - if I remember correctly, the alsa modules will then compile.
-
The alsa_modules.tcem extension looks the have the maestro3, intel8x0, and ac97 modules in it - did you give it a go?
modprobe soundcore loaded the module, but don't know where to go from there. (sudo snddevices??)
To build the alsa-modules, you need to unpack the kernel source, load the default tinycore .config with "make menuconfig" and then "make" - if I remember correctly, the alsa modules will then compile.
I don't have any experience with unpacking the kernel source...where to find it, or exact.y what to do with it so the modules will compile.
-
If you load the alsa and alsa_modules extensions and make sure there are no sound modules of any kind loaded (use "lsmod" & "sudo rmmod module_name" for this), then something like this should work:
$ sudo alsaconf
$ sudo udevtrigger --subsystem-match=sound
$ speaker-test -t wav
You can find the kernel source here http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/release/src/linux-2.6.26.tar.bz2 (http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/release/src/linux-2.6.26.tar.bz2) and the default tinycore config here: http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/release/src/config-2.6.26-tinycore (http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/release/src/config-2.6.26-tinycore) Strictly speaking you should also apply the tinycore kernel patch, but this will have no bearing on the alsa modules.
Edit: BTW, if you have one of those bluetooth headsets (they give them away free with mobile phones here) and your laptop does bt, you could use it with tc for skype :)
-
For those new to kernel building on TC, here is a simple and convenient example way of dealing with the kernel source. You can create a directory on one of your hard drive partitions, say /mnt/hda5, and call it src or a name of your liking. Then download the kernel source linux-2.6.26.tar.{gz,bz2} and place it in that directory. Have the compile extension loaded and do something like this:
# mkdir /mnt/hda5/src
# cp linux-2.6.26.tar.gz /mnt/hda5/src/
# cd /mnt/hda5/src
# tar xzvf linux-2.6.26.tar.gz
# ln -s linux-2.6.26 linux #personal preference
# mkdir /usr/src
# mount --bind /mnt/hda5/src /usr/src
# cd /usr/src/linux
# make mrproper # a recommended step even for a newly untarred source,
# cp /path/to/config-2.6.26-tinycore /usr/src/linux/.config # do this after any running of 'make mrproper' as 'make mrproper' will wipe your .config
# make menuconfig # Make your kernel config choices here
# make all
# make modules_install # or make modules_install INSTALL_MOD_PATH=/somewhere to install them elsewhere
If you want the kernel image itself, it resides in /usr/src/linux/arch/i386/boot/bzImage. You can copy it from there. Make modules_install installs the modules to /lib/modules/... . Find the modules in /lib/modules being sure to also get their dependencies. Be sure to run "depmod -a" before you try to use the modules on the currently running system or on later reboot unless they are part of a .tcem extension. Hope this may help those who have not built a TC kernel but would like to.
I have not applied the boot image patch slnce it does not affect modules.
After a reboot, you can make the source directory on /mnt/hda5/src part of your system again by just doing this:
# mkdir /usr/src
# mount --bind /mnt/hda5/src /usr/src
-
Thanks much for the step-by-step instructions, Jason. I'll give it a whirl!
-
I will post the above tip in the TCE tips and tricks area so any questions about kernel compiling on TC could be answered there. I don't want to hijack this thread away from the original importing modules subjuct. Kernel compiling is not in itself TC specific but there are some specifics in dealing with module extensions so maybe a thread on building and installing modules could be helpful.
-
If you load the alsa and alsa_modules extensions and make sure there are no sound modules of any kind loaded (use "lsmod" & "sudo rmmod module_name" for this), then something like this should work: $ sudo alsaconf
$ sudo udevtrigger --subsystem-match=sound
$ speaker-test -t wav
Alsa doesn't work with my PCI soundcard, and there are no legacy drivers with the extension. Alsa modules doesn't recognize the "sudo sounddevices" command."
~
-
So nothing happened with the "alsaconf" and "udev" commands? "lsmod" didn't show any modules loaded at all after issuing the commands?
-
So nothing happened with the "alsaconf" and "udev" commands? "lsmod" didn't show any modules loaded at all after issuing the commands?
alsaconf found no pnp/pci drivers, and then no legacy drivers, so no modules were installed.
I previously loaded alsa_modules without alsa and was able to install soundcore, but that's all.
(sudo snddevices command was not recognized even with alsa installed). I haven't had time to unpack tc and compile alsa-driver package yet.
-
alsaconf found no pnp/pci drivers, and then no legacy drivers, so no modules were installed...
OK, but it's "sudo udevtrigger --subsystem-match=sound" that will cause the modules to be loaded, you didn't mention this?
-
OK, but it's "sudo udevtrigger --subsystem-match=sound" that will cause the modules to be loaded, you didn't mention this?
None of that worked, because there were no modules. I was able to get the maestro3, intel8x0,oss_mixer, and ac97 modules compiled after building the kernel (thanks to Jason for the detailed how-to). Then I could run the udevtrigger and alsaconfig scripts. Maestro3 loaded right up (sudo modprobe maestro3).
The thing is, though, I didn't need it. I just needed oss_mixer, which turns on the microphone. This works after turning the OSS sound on. I don't know if this was available before (I'll have to run norestore and check). Anyway, ossmix mic.rec ON, ossmix mic 75 does it, and Skype now is fully functional. (I'd post it, but was told I need to get permission from Skype first, and they haven't responded to my email.)
Edit: yep....it was there all the time (ossmixer). Well, perhaps it wasn't a total waste of time if I learned
something in the process.
I just observed that setting the ossmix mic volume automatically
turns the mic.rec on and off.
-
I'm glad you got things working, but a little puzzled by the no modules comment - in alsa_modules.tcem there are:
ac97_bus
snd-ac97-codec
snd-intel8x0
snd-maestro3
snd-mixer-oss
By "legacy drivers" I guess you were looking for the oss versions?
-
I'm glad you got things working, but a little puzzled by the no modules comment - in alsa_modules.tcem there are:
ac97_bus
snd-ac97-codec
snd-intel8x0
snd-maestro3
snd-mixer-oss
By "legacy drivers" I guess you were looking for the oss versions?
Weird...I tried both the alsa_modules.tcem and alsa.tcel extensions, trying the example howto's exactly as included in the info files. For the modules, the modprobe soundcore loaded soundcore, and the snddevices command wasn't recognized. alsaconf produced a comment about no devices being recognized for my pnp/pci card and then searched for a legacy device which also wasn't available; so no other commands worked either...don't know why the modules weren't recognized.
-
ah, I think I see the source of the confusion:
alsa.tcel.info says: Example howto:
$ sudo alsaconf
$ sudo udevtrigger --subsystem-match=sound
$ speaker-test
and alsa_modules.tcem.info says: Example howto:
$ sudo modprobe soundcore
$ sudo snddevices
$ sudo alsaconf
$ sudo addgroup audio
$ speaker-test
The alsa.tcel.info is correct and alsa_modules.tcem.info is outdated.
My humble apologies for this oversight (info files edited)
-
a
My humble apologies for this oversight (info files edited)
What keeps me coming back to DSL/ TC is the opportunity to learn, so thanks for
not making it TOO easy. Anyway, it's us that should be thanking you.