Failed to find module 'bbswitch'

Hi all,

Some time ago, bumblebee/bbswitch seems to have stopped working for me, and I’m trying to fix it, without success so far.

Here’s some output:

During startup, it says:

[FAILED] Failed to start Load Kernel Modules

Some more output (tell me if you need more):

baskwaadgras@mazarina:~> sudo systemctl status systemd-modules-load.service
● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2017-09-12 09:16:31 BST; 1min 57s ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 578 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 578 (code=exited, status=1/FAILURE)

Sep 12 09:16:31 mazarina systemd[1]: Starting Load Kernel Modules...
Sep 12 09:16:31 mazarina systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
Sep 12 09:16:31 mazarina systemd[1]: Failed to start Load Kernel Modules.
Sep 12 09:16:31 mazarina systemd[1]: systemd-modules-load.service: Unit entered failed state.
Sep 12 09:16:31 mazarina systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
baskwaadgras@mazarina:~> sudo journalctl -b _PID=578
-- Logs begin at Sun 2017-07-23 00:10:18 BST, end at Tue 2017-09-12 09:19:03 BST. --
Sep 12 09:16:31 mazarina systemd-modules-load[578]: Failed to find module 'bbswitch'

Indeed, the module is not present in the output of lsmod, and e.g.

baskwaadgras@mazarina:~> sudo modprobe bbswitch
modprobe: FATAL: Module bbswitch not found.

So it really seems to not be installed properly somehow, even though the packages are installed.

I tried reinstalling bbswitch and/or bumblebee from different repos, but so far without success. One thing I noticed is that the package name of bbswitch-kmp-default is ‘bbswitch-kmp-default-0.8_k4.4.27_2-9.17.x86_64’, whereas my kernel version is

baskwaadgras@mazarina:~> uname -r
4.4.85-22-default

I.e. 4.4.85 rather than 4.4.27. Is that a problem? If so, how should I get the 4.4.85 version?

Any ideas?

Hi and welcome to the openSUSE Forums! Please confirm that you are running Leap 42.2 as shown by the prefix to your post title, or maybe 42.3?
The current kernel for 42.2 is 4.4.79, while 4.4.85 is in 42.3 …
That said, a difference in build number (i.e. 4.4.27) for a kmp should not be a problem (if you are really running Leap 42.TWO of course).

Thank you! :slight_smile:

I do believe it’s 42.2, because of:

baskwaadgras@mazarina:~> cat /etc/os-release
NAME="openSUSE Leap"
VERSION="42.2"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="42.2"
PRETTY_NAME="openSUSE Leap 42.2"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:42.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

I think kernel version 4.4.79 is also an option in GRUB for me; I can try to see if bbswitch works for that kernel (EDIT: tried it, doesn’t work either).

Then please post your repo list:

zypper lr -d

And the list of installed kernels:

zypper se -si kernel

As OrsoBruno wrote, the latest kernel in 42.2 is 4.4.79, so you might have accidentally added the 42.3 update repo…

I think kernel version 4.4.79 is also an option in GRUB for me; I can try to see if bbswitch works for that kernel (EDIT: tried it, doesn’t work either).

If that 4.4.79 kernel comes from 42.3, it won’t work either, because the 42.2 and 42.3 kernels are incompatible.
I.e. you cannot use 42.2 kmp packages with a 42.3 kernel and vice-versa (even if they do have the same version number).

Looks like indeed there are some 42.3 repos in there:

baskwaadgras@mazarina:~> zypper lr -d
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                               | Name                                              | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                                   | Service
---+-------------------------------------+---------------------------------------------------+---------+-----------+---------+----------+--------+---------------------------------------------------------------------------------------+--------
 1 | Google-Chrome                       | Google-Chrome                                     | Yes     | ( p) Yes  | No      |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64                                   |        
 2 | devel_gcc                           | GNU Compiler Collection container (openSUSE_13.2) | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/repositories/devel:/gcc/openSUSE_13.2/                   |        
 3 | devel_gcc49                         | devel_gcc49                                       | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/repositories/devel:gcc/openSUSE_Leap_42.1/devel:gcc.repo |        
 4 | download.nvidia.com-leap            | nVidia Graphics Drivers                           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.nvidia.com/opensuse/leap/42.2                                         |        
 5 | google-chrome                       | google-chrome                                     | Yes     | ( p) Yes  | Yes     |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64                                   |        
 6 | http-download.opensuse.org-14199652 | devel:tools:building                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/devel:/tools:/building/openSUSE_Leap_42.3/  |        
 7 | http-download.opensuse.org-1c7d1955 | utilities                                         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/utilities/openSUSE_Leap_42.3/               |        
 8 | http-download.opensuse.org-c1f2a964 | openSUSE:Leap:42.3:Update                         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/openSUSE:/Leap:/42.3:/Update/standard/      |        
 9 | http-opensuse-guide.org-359f5e1a    | libdvdcss repository                              | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/openSUSE_Leap_42.2/                                    |        
10 | http-packman.inode.at-dc94ae06      | Packman Repository                                | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_Leap_42.2/                                      |        
11 | openSUSE-42.2-0                     | openSUSE-42.2-0                                   | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/oss/                         |        
12 | repo-debug                          | openSUSE-Leap-42.2-Debug                          | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/oss/                   |        
13 | repo-debug-non-oss                  | openSUSE-Leap-42.2-Debug-Non-Oss                  | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/non-oss/               |        
14 | repo-debug-update                   | openSUSE-Leap-42.2-Update-Debug                   | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/oss/                              |        
15 | repo-debug-update-non-oss           | openSUSE-Leap-42.2-Update-Debug-Non-Oss           | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/non-oss/                          |        
16 | repo-non-oss                        | openSUSE-Leap-42.2-Non-Oss                        | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/non-oss/                     |        
17 | repo-source                         | openSUSE-Leap-42.2-Source                         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.2/repo/oss/                  |        
18 | repo-source-non-oss                 | openSUSE-Leap-42.2-Source-Non-Oss                 | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.2/repo/non-oss/              |        
19 | repo-update                         | openSUSE-Leap-42.2-Update                         | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/oss/                                    |        
20 | repo-update-non-oss                 | openSUSE-Leap-42.2-Update-Non-Oss                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/non-oss/                                |        
baskwaadgras@mazarina:~> zypper se -si kernel
Loading repository data...
Reading installed packages...

S  | Name                 | Type    | Version        | Arch   | Repository               
---+----------------------+---------+----------------+--------+--------------------------
i+ | kernel-default       | package | 4.4.85-22.1    | x86_64 | openSUSE:Leap:42.3:Update
i+ | kernel-default       | package | 4.4.79-19.1    | x86_64 | openSUSE:Leap:42.3:Update
i+ | kernel-default       | package | 4.4.79-4.2     | x86_64 | openSUSE:Leap:42.3:Update
i+ | kernel-default       | package | 4.4.74-18.20.1 | x86_64 | openSUSE-Leap-42.2-Update
i+ | kernel-default-devel | package | 4.4.85-22.1    | x86_64 | openSUSE:Leap:42.3:Update
i+ | kernel-default-devel | package | 4.4.79-19.1    | x86_64 | openSUSE:Leap:42.3:Update
i+ | kernel-default-devel | package | 4.4.79-4.2     | x86_64 | openSUSE:Leap:42.3:Update
i+ | kernel-devel         | package | 4.4.85-22.1    | noarch | openSUSE:Leap:42.3:Update
i+ | kernel-devel         | package | 4.4.79-19.1    | noarch | openSUSE:Leap:42.3:Update
i+ | kernel-devel         | package | 4.4.79-4.2     | noarch | openSUSE:Leap:42.3:Update
i+ | kernel-devel         | package | 4.4.27-2.1     | noarch | openSUSE-42.2-0          
i+ | kernel-firmware      | package | 20170530-7.6.1 | noarch | openSUSE-Leap-42.2-Update
i+ | kernel-macros        | package | 4.4.85-22.1    | noarch | openSUSE:Leap:42.3:Update

Woops.

What’s the best way to fix this?

OK, so you have a mix of incompatible packages installed.
Basically, you have to uninstall all kernel related packages coming from the 42.3 update repo.
Then you have to delete repositories #8 #7 #6 (and possibly also #3 #2 #1 which appear to be disabled or duplicate anyway): be careful, do it in that reverse order from #8 to #1 if you plan on doing it by zypper.
Then update your system from the remaining repos.

All that can be done rather easily by YaST Software Management if you are used to it; ask for detailed instructions if that is not the case.
Updating the system via


zypper dup --from repo-update

should fix at least the kernel problem, then you might reinstall needed kmp packages if needed and check for other “orphaned” packages possibly coming from deleted repositories.

Not really.
As openSUSE enables multi-version kernels by default (i.e. there can be more than one kernel installed), the 42.3 kernels won’t get removed, and so 4.4.85 will still be booted because it is the highest version.

You need to remove them manually in any case, either by using YaST (select the kernel-default package and click on “Versions” below the package list), or by specifying the exact version to rpm or zypper:

sudo rpm -e kernel-default-4.4.85-22.1 kernel-default-devel-4.4.85-22.1 kernel-devel-4.4.85-22.1

or

sudo zypper rm kernel-default-4.4.85-22.1

(zypper should remove kernel-devel and kernel-default-devel automatically too because of the dependencies)

And similar with the other ones (4.4.79-19.1 and 4.4.79-4.2).

I agree with the rest though. :wink:

Some advice: Never do this to your system(s) again. Meaning, do not mix repos from different versions of openSUSE. From what it looks now a repair may be possible, but the consequences could have been worse, much worse.

Thanks a lot! I used zypper to first remove the offending repositories, then to remove the kernel-default, kernel-devel, etc. packages for versions 4.4.85-22.1, 4.4.79-19.1, and 4.4.79-4.2. Then I installed kernel-default again, which gave me kernel version 4.4.79-18.26. Then I did the ‘zypper dup --from repo-update’ command which resulted in a large number of package updates.

I then had to follow the /etc/bumblebee/bumblebee.conf editing step (in the bumblebee tutorial) again, presumably because previous shenanigans had reverted that file to its unedited state.

And now it seems to be working. Woohoo!

Again, many thanks for both of your help!

Thanks :shame:. TBH I can’t even remember adding these repos, nor what I was thinking when doing so :?. But I will certainly be more careful in the future.