Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

bbswitch problem - nvidia always ON #429

Closed
tkd89 opened this Issue · 18 comments

5 participants

@tkd89

Like in subject. I have Ubuntu 13.04. Kernel: 3.9.0-030900rc8-generic
Nvidia driver: 304.88

Bumblebeed status:
[ 789.976195] [INFO]Configured driver: nvidia
[ 789.978808] [INFO]Loading driver bbswitch (module bbswitch)
ERROR: could not insert 'bbswitch': Unknown symbol in module, or unknown parameter (see dmesg)
[ 789.981657] [ERROR]Module bbswitch could not be loaded (timeout?)
[ 789.981679] [INFO]Skipping switcheroo PM method because it is not explicitly selected in the configuration.
[ 789.981683] [WARN]No switching method available. The dedicated card will always be on.
[ 789.983867] [ERROR]Daemon already running, pid 1451

I try:

jck@msi:~$ sudo modprobe bbswitch
ERROR: could not insert 'bbswitch': Unknown symbol in module, or unknown parameter (see dmesg)

Dmesg output:
jck@msi:~$ dmesg | grep bb
[ 25.949214] bbswitch: module verification failed: signature and/or required key missing - tainting kernel
[ 25.949287] bbswitch: Unknown symbol mcount (err 0)
[ 120.703289] bbswitch: Unknown symbol mcount (err 0)
[ 790.664675] bbswitch: Unknown symbol mcount (err 0)
[ 1153.828998] bbswitch: Unknown symbol mcount (err 0)
[ 1156.461747] bbswitch: Unknown symbol mcount (err 0)
[ 1186.487524] bbswitch: Unknown symbol mcount (err 0)
[ 1247.586639] bbswitch: Unknown symbol mcount (err 0)

On kernel 3.8.0-21-generic the same problem.

EDIT: I found similar problem in Bumblebee-Project/bbswitch#55

but when I`m trying to compile bbswitch I have:

WARNING: "mcount" [/home/jacek/programs/bbswitch/bbswitch.ko] undefined!
yes, I know this is warning not error, but:
jck@msi:~/programs/bbswitch$ sudo make load
[sudo] password for jacek:
rmmod bbswitch
Error: Module bbswitch is not currently loaded
make: [load] Błąd 1 (zignorowany)
insmod bbswitch.ko
Error: could not insert module bbswitch.ko: Unknown symbol in module
make: *** [load] Błąd 1

@ArchangeGabriel

Could you try this on the 3.8 kernel? Also, why don't you use the PPA package for bbswitch?

@tkd89

Yes, I try this on 3.8.0 kernel - the same problem.
I didn`t mentioned this before, I use repository: ppa:bumblebee/stable.
For the second time I use git repo and try to manualy compile bbswitch.

@ArchangeGabriel

Do you have kernel headers installed?

@tkd89

Yes, for both kernels (3.8.0 and 3.9rc8).

jck@msi:~/$ dkms bbswitch status
bbswitch, 0.6, 3.8.0-22-generic, x86_64: installed
bbswitch, 0.6, 3.9.0-030900rc8-generic, x86_64: installed

@nlooije

I have been having this exact problem for a couple of months now:

May 29 17:49:17 niels-laptop kernel: [ 4.135691] bbswitch: Unknown symbol mcount (err 0)
May 29 17:49:17 niels-laptop bumblebeed[1259]: Module bbswitch could not be loaded (timeout?)
May 29 17:49:17 niels-laptop bumblebeed[1259]: No switching method available. The dedicated card will always be on.
May 29 17:49:17 niels-laptop bumblebeed[1259]: /usr/sbin/bumblebeed 3.2.1 started

The only way to fix it that i have found is to do a clean install and update to newest kernel and then install BB.
For some reason BB break during the kernel upgrade. Any idea what is causing this and more importantly how to fix it?

@rmed

I'm encountering the same issue since a couple of days ago as well. Tried reinstalling bbswitch (and bumblebee) from scratch, but the problem still remains:

Bumblebeed status:
[ 1046.771760] [INFO]Loading driver bbswitch (module bbswitch)
ERROR: could not insert 'bbswitch': Unknown symbol in module, or unknown parameter (see dmesg)
[ 1046.775704] [ERROR]Module bbswitch could not be loaded (timeout?)
[ 1046.775729] [INFO]Skipping switcheroo PM method because it is not explicitly selected in the configuration.
[ 1046.775736] [WARN]No switching method available. The dedicated card will always be on.
[ 1046.779168] [ERROR]Daemon already running, pid 2154

@Lekensteyn
Owner

@nlooije @RMed Do you also use custom kernels?

@rmed

@Lekensteyn I am using kernel 3.8.0-22-generic. I'm trying again to perform a "clean install" for all the packages related to bumblebee to see if that solves anything.

EDIT:
Now I cannot run anything using optirun:

$ optirun glxspheres

[ 256.717118] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver
[ 256.717215] [ERROR]Aborting because fallback start is disabled.

@nlooije

I am also using kernel 3.8.0-22-generic. no custom kernel. However, this problem occurs for me from upgrading to any new kernel.

As mentioned the only "workaround" I found to get bumblebee working again is to do clean install of ubuntu, upgrade to newest kernel provided in sources then install bumblebee. Once there is a new kernel update, bumblebee breaks again and need to do clean install of ubuntu again. Far from efficient.

to summarize:
1. install ubuntu, update to newest kernel, install bumblebee -> works
2. install ubuntu, install bumblebee, update to newest kernel -> broken

This suggest to me that it is not a problem of the kernel (since method 1 works fine) as much as the kernel update process (since method 2 breaks). I could be wrong of course...

@Lekensteyn
Owner

Reinstalling bbswitch should be sufficient. Also, ensure that kernel headers are installed and try dkms autoinstall.

@rmed

Reinstalled bumblebee/bbswitch, still no luck. I even changed the configuration file to match the nvidia-304 driver, as the nvidia-current is not present even though it should be the one being installed.

In dmesg I see:

[ 66.724405] nvidia: module license 'NVIDIA' taints kernel.
[ 66.730274] nvidia: Unknown symbol mcount (err 0)

And I remember getting the mcount error with bbswitch as well.

@nlooije

@Lekensteyn

dpkg -l 'linux-headers*' shows:

un linux-headers (no description available)
un linux-headers- (no description available)
ii linux-headers- 3.8.0-19.30 all Header files related to Linux ker
ii linux-headers- 3.8.0-19.30 amd64 Linux kernel headers for version
ii linux-headers- 3.8.0-21.32 all Header files related to Linux ker
ii linux-headers- 3.8.0-21.32 amd64 Linux kernel headers for version
ii linux-headers- 3.8.0-22.33 all Header files related to Linux ker
ii linux-headers- 3.8.0-22.33 amd64 Linux kernel headers for version
ii linux-headers- 3.8.0.22.38 amd64 Generic Linux kernel headers

For some reason these dont show the generic versions of 19, 21 and 22 but the are there.
I checked all linux-headers-generic related to kernels installed on the comp and reinstalled just in case.
Then reinstalled bumblebee: sudo apt-get install --reinstall bumblebee virtualgl linux-headers-generic
rebooted and still giving the same error: bbswitch: Unknown symbol mcount (err 0)

@nlooije

I am trying to understand this mcount error but there isnt a lot of info about it...
apparently its a compiler flag set for profiling information.

I downgraded the gcc version from 4.7 (default) to 4.4 for use with cuda.

@RMed: what version of gcc do you use?
@Lekensteyn: could it be problem with gcc?

@Lekensteyn
Owner

I am using GCC 4.8 without issues. It could be one of Debian/Ubuntu's patches.

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc-multilib/src/gcc-4.8-20130502/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --enable-gnu-unique-object --enable-linker-build-id --enable-cloog-backend=isl --disable-cloog-version-check --enable-lto --enable-gold --enable-ld=default --enable-plugin --with-plugin-ld=ld.gold --with-linker-hash-style=gnu --disable-install-libiberty --enable-multilib --disable-libssp --disable-werror --enable-checking=release
Thread model: posix
gcc version 4.8.0 20130502 (prerelease) (GCC)
@nlooije

@Lekensteyn: I should have phrased my post better. What i meant was: After a clean install of ubuntu and bumblebee (which then works), I then downgrade to gcc 4.4 from the default 4.7 installation for use with cuda. Could it be that during an update of bumblebee it breaks because its compiled under 4.4 rather than 4.7 (or newer)?

I would test myself but my laptop's power supply decided to break yesterday.

@rmed

I just happened to be using gcc 4.4 due to work needs. Changed the gcc version to 4.7, uninstalled the bbswitch and nvidia kernel modules:

$ sudo dkms remove nvidia-304/304.88 --all 
$ sudo  dkms remove bbswitch/0.7 --all

And then reinstalled them:

$ sudo dkms add bbswitch/0.7
$ sudo dkms add nvidia-304/304.88
$ sudo dkms autoinstall

Now everything is working fine, so I guess that it was indeed problem of gcc 4.4

@nlooije

@RMed: Thats great news! I hope this is the fix for me as well.

@tkd89

above solution works well !
After I installed bumblebee I install nvidia cuda, I have to back to gcc-4.4, the problem appears when the kernel was upgraded (new dkms install in kernel with gcc 4.4 << --- this is the problem )

SOLUTION: use gcc version 4.7.x and reinstall dkms as said @RMed

thank`s you all for your help :)

[SOLVED]

@tkd89 tkd89 closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.