Forbackground I had an Xonar card in the machine but have removed this as I had even greater problems having Suse install this.
It is now removed. And because of that history I removed all configurations and conf files for sound that I could, incl alsa, pulseaudio and jack.
Only alsa, and then later pulseaudio have been reinstalled now.
Update:
Suggestions above did not work.
I would still like to resolve this to enable successful manual configure without yast, as yast seems to create too many problems for me with sound configuring.
However, after trying the above, there was a LOT (>3000) Tumbleweed updates for my system.
Since the update, sound works without a restart. Although zypper dup automatically installed modules I had removed, at least
Also I would still like to blacklist the radeon graphics HDMI audio that uses the same snd_hda_intel module as the mainboard audio, the later of which is the only one I am using.
Any ideas on how to blacklist by card/pci/vendor:device etc rather than module name?
Thanks Kerijan2003. I had presumed grub2-mkconfig would also use dracut to mkinitrd.
grub2-mkconfig not doing it would fit with my experience as part of the updates was a new kernel, which would have been built with snd-hda-intel removed already from the yast.conf file.
I will look at testing it directly.
But if reading the above two links does not sufficiently explain to you how to create a file (outside of yast) to ensure sound devices appropriately assigned, then post here, and I can walk you though this. Its 4.5+ years since I last helped someone do this, but I am confident I can do so again.
.
Thanks for confirming it a problem, and your earlier advice which helped resolve the restart problem. It is working subsequent to removing snd_hda_intel from yast.conf file as you directed in the link you provided earlier, and subsequent to new kernel / initrd.
When yast created the yast.conf file, the 50-sound.conf file was correct, and still is.
Indeed back in the year 2012 (?) timeframe, when I had a PC with two devices that used snd_hda_intel module, sometimes when I rebooted the PC, the device that was sound card-0 would switch to be sound card-1 and the device that was sound card-1 would switch to be sound-card-0. Now I had no speakers connected to one of these two devices so on occasion I would lose sound.
I would like to ask you how can I delete some kernel module completely? I mean really delete, not unload or prevent to load. I tried to use rmmod, but it just unloaded module, same as modprobe -r. So I got list of all modules using modprobe -n -v and deleted them manually.
Linux loadable modules are ko files located in /lib/modules/$(uname -r)/, sorted into sub-folders. A few files in this folder helps handling them all, especially modules.dep[.bin] and modules.order[.bin]. modprobe read those files to get full path of a module and its dependencies.
On most Linux distributions, module files are installed by packages of your package manager. A core set of them is installed by a quite generic package named kernel-modules for example, and on some distributions extra less-used modules can be installed by specific packages (modules are split into several packages). You can find which packages provides unwanted modules and uninstall them.
You may be tempted to edit text files to remove references of unwanted modules, but editing binary files counterparts is likely tedious and those files will be recovered every time their package gets updated.
Small embedded systems can still rely on loadable modules, but may not provide any package managers.You may need to rebuild your embedded system entirely to alter it since some embedded systems use read-only root file systems.
You can save a bit of disk space by building your own kernel that has the module configured out. The kernel will be a very tiny bit faster using the relevant functionality if you build a kernel that includes (not as modules, builtin) whatever you need. But that is a huge hit in flexibility and hassle.
If a kernel module is not loaded, it's the same as if it doesn't exist, unless it was built into the kernel (I'll explain that below), the only exception is you typically can later reload it with an insmod command.
The reason why you get the path in the error message with modprobe is because modprobe is hardcoded to check standard locations for modules (reference). There's no configuration file or anything telling modprobe to do that. (If your module is not in the standard paths and you want to insert it you can always use insmod).
Modules are loaded by some mechanism outside of the kernel after the kernel starts. systemd can load modules, so can udev. You have to find out what mechanism your system uses and blacklist a module from that.
The proc virtual filesystem is not mounted. Things like chroot, SELinux, and kernel capabilities can prevent you from accessing or mounting /proc even as root. Check if you can ls /proc and get something like that looks like a list of directories for each PID on your system. If you are running this in a chroot you have to bind mount /proc into your chroot.
It's possible to build a module into a kernel. This makes it part of the kernel. It's no longer a module at that point so rmmod and other things won't work. I am not sure what will happen if you try to insmod a module that is part of the kernel (it will probably give you a cryptic "file in use" error referring to kernel resources already in use).
The Linux kernel has a modular design. Functionality is extendible with modules or drivers. Use the modprobe command to add or remove modules on Linux. The command works intelligently and adds any dependent modules automatically.
in most linux distros it is possible to generate /etc/modprobe.d/blacklist.conf which prevents listed kernel modules from being loaded at boot time and thus not having to resort to the drastic measure of removing the module entirely.
Because often people ask about a specific "how" because they believe this "how" to be necessary to solve their real problem. Often enough, the real problem has solutions that do not require to solve the specific "how". Been there, witnessed that from both sides. Also on the internet nobody needs to answer anything so a person asking questions should be friendly towards all responders, even if unhelpful, they are spending their time on your problem, at least acknowledge that. (That does not mean that you need to agree, but IMHO calls to "stay on topic" are not merited, as you can simply ignore answers you deem unhelpful; if an answer is rude, that is a different issue meriting calling it out)
There is no mentioning of a "problem" and I do not comprehend why this lingual characteristic is being introduced/utilized/argued by either of you? It is a straightforward question which has been exhaustively responded to - making it clear what can and what cannot be done.
Not sure what you are getting exited about and unnecessary heating the thread with such statements? Your telling of what one should do or not could be easily mistaken as patronizing. And I am afraid that is not the first time such mannerism is on display.
-f, --force This option can be extremely dangerous: it has no effect unless CONFIG_MODULE_FORCE_UNLOAD was set when the kernel was compiled. With this option, you can remove modules which are being used, or which are not designed to be removed, or have been marked as unsafe (see lsmod(8)).
Yes, this is part of the issue, people in this forum are quite happy to help solve problems, so if you have a problem come forward. If however you have no acute problem, why waste everybody's time?
Most folks here know, that OpenWrt being a linux distribution tailored to low-end devices does not offer everything big Linux distributions offer, so enumerating all differences seems moot unless such a difference causes real problems ;), but then it helps if the problem is stated along with the difference that makes solutions for "normal" linux distributions inapplicable for OpenWrt.
The why is missing, someone less conscious of the dangers of removing a piece of kernel code where other parts of the same kernel might still hold references to than you, might get wrong ideas about when calling rmmod --force my_module is reasonable. (I admit that modprobe -r seems less dangerous in that it tries to also remove the reference holding modules, but that is subtle).
Look, I am not the forum admin, just a user voicing my own opinion, so I try not to talk about can and shall, but rather could and should. IMHO asking a specific question is fine, but even better if accompanied by a description of why the question is relevant. If you have no problem, maybe do not ask a question in the first place?
Sure, that certainly helps, (except all answers are comments even the off-topic ones ). But this is an open forum, as long as the tone stays friendly you can post almost every question, it is just that people will be better to help if they understand the scope of the question better.
I have different lxc containers running on my machine and a webcam is also attached. I want all of the lxc containers to access this camera. I came across 'v4l2-loopback' devices and found a way to add devices using;
And I directed the stream from /dev/video0 to the desired virtual video devices.My question is how to add and remove these v4l2loopback devices at runtime? I want to add/remove a device whenever any lxc container is launched/deleted. Any ideas?
If you are running the full up to date v4l2loopback driver from , then you can use the v4l2loopback-ctl utility to add and remove devices while the module is installed using the command v4l2loopback-ctl add /dev/video2 and v4l2loopback-ctl delete /dev/video2.
3a8082e126