Acer Aspire V15 Nitro Linux install notes
Contents
Experiments
This page keeps track of what I've been doing on getting my laptop to work. It's not an installation guide.
Status 2015-09-11
Most of it is working quite nicely now, there are 2 problems remaining:
- Bluetooth is not working.
- The microphone input is not switched if a headset is plugged in.
Also, I think the wireless range is a bit limited compared to other devices(?), maybe the driver sets the tx power too low? (just a feeling) See: some similar issues on the acer support forum
Dual-boot problems
After messing around a bit, I just decided that it just wasn't worth the effort and I went with a Linux-only install. This has the added advantage of freeing up some more disk-space (256Gb is not *that* much).
See here: Acer Aspire VN7-591G USB boot + SSD question
Just a heads up. I found that this laptop (in UEFI mode) is one that will only boot EFI/Microsoft/Boot/bootmgfw.efi. You can install a Linux EFI img and change the boot order with something like 'efibootmgr' and it will switch the boot order back to Windows first on reboot. You can hit F-12 at boot and then select your Linux image but that's a pain. I ended up copying Window's bootmgfw.efi to EFI/Microsoft/bootmgfw.efi and installing rEFInd as bootmgfw.efi as described here.
I made a backup of the Windows restore partition to a USB flash drive that I'll keep aside just in case. (using the Acer restore utility)
Device info
#lspci -q -nn 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller [8086:0c04] (rev 06) 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller [8086:0c01] (rev 06) 00:02.0 VGA compatible controller [0300]: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller [8086:0416] (rev 06) 00:03.0 Audio device [0403]: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller [8086:0c0c] (rev 06) 00:14.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI [8086:8c31] (rev 05) 00:16.0 Communication controller [0780]: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 [8086:8c3a] (rev 04) 00:1a.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 [8086:8c2d] (rev 05) 00:1b.0 Audio device [0403]: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller [8086:8c20] (rev 05) 00:1c.0 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 [8086:8c14] (rev d5) 00:1c.3 PCI bridge [0604]: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 [8086:8c16] (rev d5) 00:1d.0 USB controller [0c03]: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 [8086:8c26] (rev 05) 00:1f.0 ISA bridge [0601]: Intel Corporation HM86 Express LPC Controller [8086:8c49] (rev 05) 00:1f.2 SATA controller [0106]: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] [8086:8c03] (rev 05) 00:1f.3 SMBus [0c05]: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller [8086:8c22] (rev 05) 01:00.0 3D controller [0302]: NVIDIA Corporation GM107M [GeForce GTX 860M] [10de:1392] (rev a2) 07:00.0 Network controller [0280]: Qualcomm Atheros Killer N1525 Wireless-AC [168c:003e] (rev 20) 08:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 0c)
Linux Installation
Mint 17.1
It's time to try out a new Linux distribution. I always tend to end up with Debian, my last excursion being Ubuntu until they started with their Unity BS. For now, I'll install Linux Mint. If I don't like it, I can always change.
Booting from USB
I just downloaded the iso and copied the file to the stick:
dd bs=4M if=linuxmint-17.1-kde-64bit-rc.iso of=/dev/sdX
Then I changed the Boot options on the portable (F2 at boot time) to Legacy mode. Guided install - full disk. Bye bye, windows.
Touchpad
See: touch-pad not detected on Acer Aspire VN7-591g
This is a bit annoying: in the live session, you can't click on the install icon. This is circumvented by pressing the context menu key on the keyboard, press 'n' to select "Run...", then start typing "install" and the installation program should be in the suggestion list.
After upgrading to kernel 3.16 the Touchpad works, but right-clicking is not recognized. I'll look into this further (information is provided in the link above), but meanwhile in the KDE settings I selected a two-finger click to be interpreted as a right-click.
Network
Wifi not recognized?
SSD wear prevention
- Added noatime to /etc/fstab root partition options
UUID=70829450-5b80-414a-8a8d-e7c58c2512c3 / ext4 noatime,errors=remount-ro 0 1
NVidia
WIP.
- NVidia drivers in Mint 17.1 do not support the 860M
- There is now some support for dual gfx cards, through bumblebee.
Some of the fiddling so far ( Most of the time I have no clue what I'm doing ;-) ):
apt-get install linux-headers-3.16.0-28 apt-get install linux-headers-3.16.0-28-generic cd /home/hans/Downloads/ chmod 755 NVIDIA-Linux-x86_64-346.22.run ./NVIDIA-Linux-x86_64-346.22.run /etc/init.d/mdm stop apt-get install bumblebee-nvidia apt-cache show primus apt-get install bumblebee-nvidia primus /etc/init.d/mdm start /etc/init.d/mdm stop ./NVIDIA-Linux-x86_64-346.22.run nvidia-xconfig /etc/init.d/mdm start vi /etc/bumblebee/xorg.conf.nvidia vi /etc/bumblebee/bumblebee.conf updatedb locate nvidia vi /etc/bumblebee/bumblebee.conf /etc/init.d/mdm start
Trying to undo the changes:
./NVIDIA-Linux-x86_64-346.22.run --uninstall apt-get remove --purge bumblebee-nvidia primus apt-get autoremove
Next, trying xorg-edgers ppa
add-apt-repository ppa:xorg-edgers/ppa apt-get update apt-get install nvidia-346 nvidia-settings
(it removed nvidia-304 which was installed too, apparently). After a reboot, I ran glxinfo to check if the NVIDIA driver was being used, but no. Then I read I needed to do an upgrade.
apt-get upgrade apt-get install bumblebee bumblebee-nvidia primus
After installing bumblebee, I can use both cards.
glxinfo optirun glxinfo
The first command shows an Intel graphics card is being used, the second command shows that the NVIDIA card is used.
Links
- NVIDIA (Arch docs)
- NVidia Optimus (Arch docs)
- Bumblebee troubleshooting
- Bumblebee on ubuntu
- NVidia drivers on Ubuntu/Mint
- Ubuntu 14.04: Hybrid Graphics
- Installing and Configuring Bumblebee on Optimus-designed laptops
GnuRadio
Installation
Quite easy using pybombs.
apt-get install git git clone git://github.com/pybombs/pybombs cd pybombs ./pybombs install gnuradio
Installing OpenCL
Fosphor requires OpenCL. Following the install instructions:
apt-get install cmake xorg-dev libglu1-mesa-dev
If you execute the next step, it will install the 331 version of the driver. Therefore, I explicitely added the nvidia-opencl-icd-346 package first
apt-get install nvidia-opencl-icd-346
If I then try the next step I get an error:
apt-get install nvidia-opencl-dev opencl-headers Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:
The following packages have unmet dependencies: nvidia-opencl-dev : Depends: nvidia-libopencl1 (>= 319.37) but it is not installable or nvidia-libopencl1-331 but it is not going to be installed or nvidia-libopencl1-331-updates but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Again, it only considers version 331. Let's install v346 manually (I wonder why it uninstalls ocl-icd-libopencl1)
apt-get install nvidia-libopencl1-346 The following packages will be REMOVED: ocl-icd-libopencl1 The following NEW packages will be installed: nvidia-libopencl1-346 0 upgraded, 1 newly installed, 1 to remove and 3 not upgraded. Need to get 20,8 kB of archives. After this operation, 39,9 kB disk space will be freed. Do you want to continue? [Y/n]
The problem persists. opencl-headers installs without problems
apt-get install opencl-headers
The only thing remaining is nvidia-opencl-dev. All the packages this metapackage depends on are already there, so it's rather useless, unless its presence is needed for other packages.
Installing Fosphor
Using pybombs, it fails:
./pybombs install gr-fosphor Settled on prefix: /usr/local Loading recipes ... Installing packages: * glfw3 * gr-fosphor PyBombs.sysutils - WARNING - deb_exists: could not find a downloadable version of libglfw3-dev Installing from source: glfw3 Cloning into 'glfw3'... remote: Counting objects: 14365, done. remote: Compressing objects: 100% (34/34), done. remote: Total 14365 (delta 13), reused 0 (delta 0) Receiving objects: 100% (14365/14365), 7.15 MiB | 1.20 MiB/s, done. Resolving deltas: 100% (8966/8966), done. Checking connectivity... done. Configuring: (100%) [==========================================================] Building: (100%) [==========================================================] Installing: (100%) [===========================================================] installation ok via: src Installing from source: gr-fosphor Cloning into 'gr-fosphor'... remote: Counting objects: 775, done. remote: Compressing objects: 100% (545/545), done. remote: Total 775 (delta 527), reused 298 (delta 200) Receiving objects: 100% (775/775), 357.35 KiB | 0 bytes/s, done. Resolving deltas: 100% (527/527), done. Checking connectivity... done. Configuring: (100%) [==========================================================] Configuration failed. Re-trying with higher verbosity. make: *** No targets specified and no makefile found. Stop. Build failed. See output above for error messages.
I don't get any wiser from that error message. Let's try installing it manually:
git clone git://git.osmocom.org/gr-fosphor cd gr-fosphor mkdir build cd build cmake .. (....) - Could NOT find OpenCL (missing: OPENCL_LIBRARIES) CMake Error at CMakeLists.txt:104 (message): OpenCL required to compile gr-fosphor
After this, I added the following line to pybombs/recipes/gr-fosphor.lwr:
var config_opt = " -DOPENCL_LIBRARY=/usr/lib/x86_64-linux-gnu/libOpenCL.so.1 "
and I can install fosphor with pybombs.
Then I installed gr-osmosdr and python-opengl
./pybombs install gr-osmosdr apt-get install python-opengl
But osmocom_fft is still complaining
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libOpenCL.so.1 optirun osmocom_fft -F linux; GNU C++ version 4.8.2; Boost_105400; UHD_003.008.001-42-g8c87a524 gr-osmosdr v0.1.4-8-g46bb1ad1 (0.1.5git) gnuradio 3.7.6git-276-gc67281b6 built-in source types: file osmosdr fcd rtl rtl_tcp uhd hackrf bladerf rfspace -- Operating over USB 3. -- Initialize CODEC control... -- Initialize Radio control... -- Performing register loopback test... pass -- Performing CODEC loopback test... pass -- Asking for clock rate 32.000000 MHz... -- Actually got clock rate 32.000000 MHz. -- Performing timer loopback test... pass -- Setting master clock rate selection to 'automatic'. -- Using subdev spec 'A:A'. [!] CL Error (-1001, /home/hans/source/pybombs/src/gr-fosphor/lib/fosphor/cl.c:275): Unable to fetch platform IDs [!] No suitable OpenCL device found
Trying to read up on OpenCL, I found this page. I downloaded the testsoftware, but it failed to compile, even after adding the path in the makefile
make gcc -L/usr/lib/x86_64-linux-gnu/ -std=gnu99 -ocl-demo cl-demo.c cl-helper.c -lrt -lOpenCL /usr/bin/ld: cannot find -lOpenCL collect2: error: ld returned 1 exit status
I had to create a symbolic link to solve this
ln -s libOpenCL.so.1 libOpenCL.so
After this, I can see the error message:
./print-devices modprobe: FATAL: Module nvidia not found. *** 'clGetPlatformIDs' in 'cl-helper.c' on line 113 failed with error 'invalid/unknown error code'. Aborted
After a reboot, the error changes to nvidia-uvm. Installing cuda doesn't help.
apt-get install libcuda1-346
There is a specific nvidia-uvm package
apt-get install nvidia-346-uvm
but after installing that, I still get the error. Time for another reboot, but that doesn't solve a thing. It turns out that the nvidia-346-uvm package contains source code, not the compiled driver, and there is a missing makefile see here. So I located and symlinked the missing file.
cd /usr/src ln -s nvidia-346-346.22/nvidia-modules-common.mk nvidia-modules-common.mk apt-get remove nvidia-346-uvm apt-get install nvidia-346-uvm
Now the install compiles the module(?), but still OpenCL isn't working
modprobe seems to fail to load nvidia-uvm. See debian bug #747336
#modprobe -v nvidia-346-uvm insmod /lib/modules/3.16.0-28-generic/kernel/drivers/char/drm/nvidia_346.ko modprobe: ERROR: could not insert 'nvidia_346_uvm': No such device
# modprobe -v --force-modversion nvidia-346-uvm insmod /lib/modules/3.16.0-28-generic/kernel/drivers/char/drm/nvidia_346.ko modprobe: ERROR: could not insert 'nvidia_346_uvm': Exec format error
Second try
Re-installed Linux mint from scratch
# apt-get install linux-image-3.16.0-29-generic linux-image-extra-3.16.0-29-generic # reboot
I was reading this, discovering the dkms command. I get a warning:
# dkms status virtualbox-guest, 4.3.18, 3.13.0-37-generic, x86_64: installed (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!) (WARNING! Diff between built and installed module!)
No further info found. Continuing..
# add-apt-repository ppa:xorg-edgers/ppa # apt-get update # apt-get upgrade # apt-get install nvidia-340 nvidia-settings bumblebee-nvidia libcuda1-340 nvidia-opencl-icd-340 nvidia-340-uvm Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: bbswitch-dkms bumblebee lib32gcc1 libc-dev-bin libc6-dev libc6-i386 linux-libc-dev ocl-icd-libopencl1 pkg-config policykit-1-gnome screen-resolution-extra Suggested packages: glibc-doc opencl-icd Recommended packages: virtualgl primus manpages-dev The following NEW packages will be installed: bbswitch-dkms bumblebee bumblebee-nvidia lib32gcc1 libc-dev-bin libc6-dev libc6-i386 libcuda1-340 linux-libc-dev nvidia-340 nvidia-340-uvm nvidia-opencl-icd-340 nvidia-settings ocl-icd-libopencl1 pkg-config policykit-1-gnome screen-resolution-extra 0 upgraded, 17 newly installed, 0 to remove and 13 not upgraded. Need to get 75,3 MB of archives. After this operation, 358 MB of additional disk space will be used. Do you want to continue? [Y/n]
apt-get install opencl-headers
Trying to compile the test software again now works without any errors!?
optirun ./printdevices [ 344.120947] [ERROR]No bridge found. Try installing primus or virtualgl.
# apt-get install primus # optirun ./print-devices [ 482.451588] [ERROR]Cannot access secondary GPU - error: Could not load GPU driver [ 482.451612] [ERROR]Aborting because fallback start is disabled. # reboot
apt-get remove nvidia-340 Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: nvidia-304 nvidia-current Recommended packages: libcuda1-304 nvidia-opencl-icd-304 The following packages will be REMOVED: nvidia-340 nvidia-340-dev nvidia-340-uvm The following NEW packages will be installed: nvidia-304 nvidia-current 0 upgraded, 2 newly installed, 3 to remove and 13 not upgraded. Need to get 35,5 MB of archives. After this operation, 98,1 MB disk space will be freed. Do you want to continue? [Y/n] Get:1 http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu/ trusty/main nvidia-current amd64 304.125-0ubuntu1~xedgers14.04.1 [8.120 B] Get:2 http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu/ trusty/main nvidia-304 amd64 304.125-0ubuntu1~xedgers14.04.1 [35,5 MB] Fetched 35,5 MB in 5s (5.963 kB/s) (Reading database ... 183557 files and directories currently installed.) Removing nvidia-340-uvm (340.65-0ubuntu1~xedgers14.04.1) ... Removing all DKMS Modules Done. Removing nvidia-340-dev (340.65-0ubuntu1~xedgers14.04.1) ... Selecting previously unselected package nvidia-current. (Reading database ... 183500 files and directories currently installed.) Preparing to unpack .../nvidia-current_304.125-0ubuntu1~xedgers14.04.1_amd64.deb ... Unpacking nvidia-current (304.125-0ubuntu1~xedgers14.04.1) ... dpkg: nvidia-340: dependency problems, but removing anyway as you requested: bumblebee-nvidia depends on nvidia-driver | nvidia-glx | nvidia-kernel-dkms | nvidia-kernel-amd64 | nvidia-kernel-686-pae | nvidia-kernel-486 | nvidia | nvidia-current | nvidia-current-updates | nvidia-driver-binary | nvidia-304 | nvidia-304-updates | nvidia-experimental-304 | nvidia-310 | nvidia-310-updates | nvidia-experimental-310 | nvidia-313 | nvidia-313-updates | nvidia-experimental-313 | nvidia-319 | nvidia-319-updates | nvidia-experimental-319 | nvidia-325 | nvidia-325-updates | nvidia-experimental-325 | nvidia-331 | nvidia-331-updates | nvidia-experimental-331 | nvidia-340 | nvidia-340-updates | nvidia-experimental-340 | nvidia-343 | nvidia-343-updates | nvidia -experimental-343; however : Package nvidia-driver is not installed. Package nvidia-glx is not installed. Package nvidia-kernel-dkms is not installed. Package nvidia-kernel-amd64 is not installed. Package nvidia-kernel-686-pae is not installed. Package nvidia-ke (Reading database ... 183502 files and directories currently installed.) Removing nvidia-340 (340.65-0ubuntu1~xedgers14.04.1) ... Removing all DKMS Modules Done. INFO:Disable nvidia-340 DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude stop: Unknown job: nvidia-persistenced update-initramfs: deferring update (trigger activated) Processing triggers for libc-bin (2.19-0ubuntu6.4) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-3.16.0-29-generic Selecting previously unselected package nvidia-304. (Reading database ... 183262 files and directories currently installed.) Preparing to unpack .../nvidia-304_304.125-0ubuntu1~xedgers14.04.1_amd64.deb ... Unpacking nvidia-304 (304.125-0ubuntu1~xedgers14.04.1) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up nvidia-304 (304.125-0ubuntu1~xedgers14.04.1) ... update-alternatives: using /usr/share/nvidia-304/glamor.conf to provide /usr/share/X11/xorg.conf.d/glamoregl.conf (glamor_conf) in auto mode INFO:Enable nvidia-304 DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude Loading new nvidia-304-304.125 DKMS files... First Installation: checking all kernels... Building only for 3.16.0-29-generic Building for architecture x86_64 Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed. Setting up nvidia-current (304.125-0ubuntu1~xedgers14.04.1) ...
# apt-get install nvidia-340 Reading package lists... Done Building dependency tree Reading state information... Done Recommended packages: nvidia-340-uvm The following packages will be REMOVED: nvidia-304 nvidia-current The following NEW packages will be installed: nvidia-340 0 upgraded, 1 newly installed, 2 to remove and 13 not upgraded. Need to get 0 B/51,5 MB of archives. After this operation, 96,9 MB of additional disk space will be used. Do you want to continue? [Y/n] (Reading database ... 183458 files and directories currently installed.) Removing nvidia-current (304.125-0ubuntu1~xedgers14.04.1) ... dpkg: nvidia-304: dependency problems, but removing anyway as you requested: bumblebee-nvidia depends on nvidia-driver | nvidia-glx | nvidia-kernel-dkms | nvidia-kernel-amd64 | nvidia-kernel-686-pae | nvidia-kernel-486 | nvidia | nvidia-current | nvidia-current-updates | nvidia-driver-binary | nvidia-304 | nvidia-304-updates | nvidia-experimental-304 | nvidia-310 | nvidia-310-updates | nvidia-experimental-310 | nvidia-313 | nvidia-313-updates | nvidia-experimental-313 | nvidia-319 | nvidia-319-updates | nvidia-experimental-319 | nvidia-325 | nvidia-325-updates | nvidia-experimental-325 | nvidia-331 | nvidia-331-updates | nvidia-experimental-331 | nvidia-340 | nvidia-340-updates | nvidia-experimental-340 | nvidia-343 | nvidia-343-updates | nvidia -experimental-343; however: Package nvidia-driver is not installed. Package nvidia-glx is not installed. Package nvidia-kernel-dkms is not installed. Package nvidia-kernel-amd64 is not installed. Package nvidia-kernel-686-pae is not installed. Package nvidia-ke Removing nvidia-304 (304.125-0ubuntu1~xedgers14.04.1) ... Removing all DKMS Modules Done. INFO:Disable nvidia-304 DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude update-initramfs: deferring update (trigger activated) Processing triggers for libc-bin (2.19-0ubuntu6.4) ... Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-3.16.0-29-generic Selecting previously unselected package nvidia-340. (Reading database ... 183260 files and directories currently installed.) Preparing to unpack .../nvidia-340_340.65-0ubuntu1~xedgers14.04.1_amd64.deb ... Unpacking nvidia-340 (340.65-0ubuntu1~xedgers14.04.1) ... Processing triggers for ureadahead (0.100.0-16) ... ureadahead will be reprofiled on next reboot Processing triggers for man-db (2.6.7.1-1ubuntu1) ... Setting up nvidia-340 (340.65-0ubuntu1~xedgers14.04.1) ... update-alternatives: using /usr/share/nvidia-340/glamor.conf to provide /usr/share/X11/xorg.conf.d/glamoregl.conf (glamor_conf) in auto mode INFO:Enable nvidia-340 DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude Adding system user `nvidia-persistenced' (UID 118) ... Adding new group `nvidia-persistenced' (GID 128) ... Adding new user `nvidia-persistenced' (UID 118) with group `nvidia-persistenced' ... Not creating home directory `/'. Loading new nvidia-340-340.65 DKMS files... Building only for 3.16.0-29-generic Building for architecture x86_64 Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed.
Notice that last message *grrrr*
# apt-get install linux-headers-3.16.0-29-generic
# apt-get remove nvidia-340 # apt-get install nvidia-340 # apt-get install nvidia-340-dev nvidia-340-uvm
Interesting discussion about bumblebee and bbswitch here. Maybe this is the problem? FUCKING HELL! One week of troubleshooting and finally the solution is to add this line to /etc/modprobe.d/bumblebee.conf
alias nvidia-uvm nvidia-340-uvm
# optirun ./print-devices ./print-devices: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1: no version information available (required by ./print-devices) platform 0: vendor 'NVIDIA Corporation' device 0: 'GeForce GTX 860M'
WiFi
AFAIK this card is not supported :-/.
07:00.0 Network controller [0280]: Qualcomm Atheros Killer N1525 Wireless-AC [168c:003e] (rev 20)
- ubuntu thread
- ubuntu bug #1383184 At the end of p2: according to a post on the ath9k developers site, the ath10k developers are working on support for these cards (November 5th)
- ath10 driver page
- Part nr. on bottom of laptop: QCNFA344
external mic
Hdanalyzer
New attempts (2015-08-25)
After a long break I'm taking a new look at the install of the laptop. Started with an apt-get update & apt-get upgrade. Now, the nvidia driver seems to unload after optirun stops (it used not to be the case). I now need to figure out how I can give optirun permission to load the driver, or I won't be able to run fosphor as a normal user.
Some links I found while researching:
- Added firmware for Atheros Qualcomm Killer N1525 Wireless-AC
- How to install ath10k driver on Linux Mint 17.2 cinnamon 64-bit?
- ath10k firmware
I may need to update the kernel, did some research on that too:
- Install Linux Kernel 4.1.1 (Stable) on Linux Mint
- nVidia driver reset after each kernel update (In case I run into problems with that).
Procedures
Update to Mint 17.2
Start update manager, Edit->Upgrade to Mint 17.2
Update kernel to 4.1.6
Followed instructions on this page. I used the manual method.
cd /tmp; wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.6-unstable/linux-headers-4.1.6-040106-generic_4.1.6-040106.201508170230_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.6-unstable/linux-headers-4.1.6-040106_4.1.6-040106.201508170230_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.1.6-unstable/linux-image-4.1.6-040106-generic_4.1.6-040106.201508170230_amd64.deb; sudo dpkg -i *.deb
Output of the command:
Selecting previously unselected package linux-headers-4.1.6-040106. (Reading database ... 238549 files and directories currently installed.) Preparing to unpack linux-headers-4.1.6-040106_4.1.6-040106.201508170230_all.deb ... Unpacking linux-headers-4.1.6-040106 (4.1.6-040106.201508170230) ... Selecting previously unselected package linux-headers-4.1.6-040106-generic. Preparing to unpack linux-headers-4.1.6-040106-generic_4.1.6-040106.201508170230_amd64.deb ... Unpacking linux-headers-4.1.6-040106-generic (4.1.6-040106.201508170230) ... Selecting previously unselected package linux-image-4.1.6-040106-generic. Preparing to unpack linux-image-4.1.6-040106-generic_4.1.6-040106.201508170230_amd64.deb ... Done. Unpacking linux-image-4.1.6-040106-generic (4.1.6-040106.201508170230) ... Setting up linux-headers-4.1.6-040106 (4.1.6-040106.201508170230) ... Setting up linux-headers-4.1.6-040106-generic (4.1.6-040106.201508170230) ... Examining /etc/kernel/header_postinst.d. run-parts: executing /etc/kernel/header_postinst.d/dkms 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic Error! Bad return status for module build on kernel: 4.1.6-040106-generic (x86_64) Consult /var/lib/dkms/nvidia-340/340.76/build/make.log for more information. Error! Bad return status for module build on kernel: 4.1.6-040106-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.18/build/make.log for more information. Setting up linux-image-4.1.6-040106-generic (4.1.6-040106.201508170230) ... Running depmod. update-initramfs: deferring update (hook will be called later) Examining /etc/kernel/postinst.d. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic run-parts: executing /etc/kernel/postinst.d/dkms 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic Error! Bad return status for module build on kernel: 4.1.6-040106-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.18/build/make.log for more information. Error! Bad return status for module build on kernel: 4.1.6-040106-generic (x86_64) Consult /var/lib/dkms/nvidia-340/340.76/build/make.log for more information. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic update-initramfs: Generating /boot/initrd.img-4.1.6-040106-generic run-parts: executing /etc/kernel/postinst.d/pm-utils 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-4.1.6-040106-generic Found initrd image: /boot/initrd.img-4.1.6-040106-generic Found linux image: /boot/vmlinuz-3.16.0-29-generic Found initrd image: /boot/initrd.img-3.16.0-29-generic Found linux image: /boot/vmlinuz-3.13.0-37-generic Found initrd image: /boot/initrd.img-3.13.0-37-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin No volume groups found done
DKMS Output of update to kernel 4.1.6
The NVidia module gives this error:
/var/lib/dkms/nvidia-340/340.76/build/nv-pat.c:38:5: error: implicit declaration of function ‘read_cr4’ [-Werror=implicit-function-declaration] *cr4 = read_cr4(); ^ /var/lib/dkms/nvidia-340/340.76/build/nv-pat.c:39:5: error: implicit declaration of function ‘write_cr4’ [-Werror=implicit-function-declaration] if (*cr4 & 0x80) write_cr4(*cr4 & ~0x80); ^ cc1: some warnings being treated as errors
See here nvidia forum.
[ 2.893729] init: failsafe main process (673) killed by TERM signal [ 2.895937] ath10k_pci 0000:07:00.0: Direct firmware load for ath10k/cal-pci-0000:07:00.0.bin failed with error -2 [ 2.895950] ath10k_pci 0000:07:00.0: Direct firmware load for ath10k/QCA6174/hw2.1/firmware-4.bin failed with error -2 [ 2.895953] ath10k_pci 0000:07:00.0: could not fetch firmware file 'ath10k/QCA6174/hw2.1/firmware-4.bin': -2 [ 2.895960] ath10k_pci 0000:07:00.0: Direct firmware load for ath10k/QCA6174/hw2.1/firmware-3.bin failed with error -2 [ 2.895961] ath10k_pci 0000:07:00.0: could not fetch firmware file 'ath10k/QCA6174/hw2.1/firmware-3.bin': -2 [ 2.895967] ath10k_pci 0000:07:00.0: Direct firmware load for ath10k/QCA6174/hw2.1/firmware-2.bin failed with error -2 [ 2.895969] ath10k_pci 0000:07:00.0: could not fetch firmware file 'ath10k/QCA6174/hw2.1/firmware-2.bin': -2 [ 2.895975] ath10k_pci 0000:07:00.0: Direct firmware load for ath10k/QCA6174/hw2.1/board.bin failed with error -2 [ 2.895977] ath10k_pci 0000:07:00.0: could not fetch board data (-2) [ 2.895979] ath10k_pci 0000:07:00.0: could not fetch firmware files (-2) [ 2.895981] ath10k_pci 0000:07:00.0: could not probe fw (-2)
See here: arch linux forum discussion (esp msg 19)
From the bug report: (msg 244)
wget http://kernel.ubuntu.com/~adamlee/lp1383184/ath10k-dkms_1.1_all.deb dpkg -i ath10k-dkms_1.1_all.deb
Selecting previously unselected package ath10k-dkms. (Reading database ... 269301 files and directories currently installed.) Preparing to unpack ath10k-dkms_1.1_all.deb ... Unpacking ath10k-dkms (1.1) ... Setting up ath10k-dkms (1.1) ... Loading new ath10k-1.1 DKMS files... First Installation: checking all kernels... Building only for 4.1.6-040106-generic Building for architecture amd64 Building initial module for 4.1.6-040106-generic Done. mac80211: Running module version sanity check. - Original module - Found /lib/modules/4.1.6-040106-generic/kernel/net/mac80211/mac80211.ko - Storing in /var/lib/dkms/ath10k/original_module/4.1.6-040106-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/4.1.6-040106-generic/updates/kernel// cfg80211.ko: Running module version sanity check. - Original module - Found /lib/modules/4.1.6-040106-generic/kernel/net/wireless/cfg80211.ko - Storing in /var/lib/dkms/ath10k/original_module/4.1.6-040106-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/4.1.6-040106-generic/updates/kernel// ath10k_pci.ko: Running module version sanity check. - Original module - Found /lib/modules/4.1.6-040106-generic/kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko - Storing in /var/lib/dkms/ath10k/original_module/4.1.6-040106-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/4.1.6-040106-generic/updates/kernel// ath10k_core.ko: Running module version sanity check. - Original module - Found /lib/modules/4.1.6-040106-generic/kernel/drivers/net/wireless/ath/ath10k/ath10k_core.ko - Storing in /var/lib/dkms/ath10k/original_module/4.1.6-040106-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/4.1.6-040106-generic/updates/kernel// ath.ko: Running module version sanity check. - Original module - Found /lib/modules/4.1.6-040106-generic/kernel/drivers/net/wireless/ath/ath.ko - Storing in /var/lib/dkms/ath10k/original_module/4.1.6-040106-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/4.1.6-040106-generic/updates/kernel// compat.ko: Running module version sanity check. - Original module - Installation - Installing to /lib/modules/4.1.6-040106-generic/updates/kernel// Running the post_install script: options ath10k_core skip_otp=1 depmod.... DKMS: install completed. Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-4.1.6-040106-generic
vi /etc/modprobe.d/ath10k.conf options ath10k_core skip_otp=y
After a reboot I don't see any ath10k messages in dmsg. modprobe reveals why:
# modprobe ath10k_pci modprobe: ERROR: could not insert 'ath10k_pci': Exec format error
Guru meditation
This doesn't seem to work. I think it was a mistake to update to kernel 4.1.6. Reading the comments in the bug report, I hear people saying that it works with 3.19. I think that was the kernel I had (darn..). On the positive side, that should make it easier to get the nvidia driver up and running again.
Reverting
apt-get remove --purge ath10k-dkms
Output:
Removing ath10k-dkms (1.1) ... -------- Uninstall Beginning -------- Module: ath10k Version: 1.1 Kernel: 4.1.6-040106-generic (amd64) ------------------------------------- Status: Before uninstall, this module version was ACTIVE on this kernel. mac80211.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/updates/kernel// - Original module - Archived original module found in the DKMS tree - Moving it to: /lib/modules/4.1.6-040106-generic/updates/kernel// cfg80211.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/updates/kernel// - Original module - Archived original module found in the DKMS tree - Moving it to: /lib/modules/4.1.6-040106-generic/updates/kernel// ath10k_pci.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/updates/kernel// - Original module - Archived original module found in the DKMS tree - Moving it to: /lib/modules/4.1.6-040106-generic/updates/kernel// ath10k_core.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/updates/kernel// - Original module - Archived original module found in the DKMS tree - Moving it to: /lib/modules/4.1.6-040106-generic/updates/kernel// ath.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/updates/kernel// - Original module - Archived original module found in the DKMS tree - Moving it to: /lib/modules/4.1.6-040106-generic/updates/kernel// compat.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/updates/kernel// - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. Running the post_remove script: depmod.... Removing original_module from DKMS tree for kernel 4.1.6-040106-generic (amd64) DKMS: uninstall completed. ------------------------------ Deleting module version: 1.1 completely from the DKMS tree. ------------------------------ Done. Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-4.1.6-040106-generic
Next, removing the kernel:
# apt-get remove --purge linux-headers-4.1.6-040106-generic linux-headers-4.1.6-040106 linux-image-4.1.6-040106-generic The following packages will be REMOVED: linux-headers-4.1.6-040106* linux-headers-4.1.6-040106-generic* linux-image-4.1.6-040106-generic* 0 upgraded, 0 newly installed, 3 to remove and 8 not upgraded. After this operation, 289 MB disk space will be freed. Do you want to continue? [Y/n] (Reading database ... 269300 files and directories currently installed.) Removing linux-headers-4.1.6-040106-generic (4.1.6-040106.201508170230) ... Removing linux-headers-4.1.6-040106 (4.1.6-040106.201508170230) ... Removing linux-image-4.1.6-040106-generic (4.1.6-040106.201508170230) ... WARN: Proceeding with removing running kernel image. Examining /etc/kernel/prerm.d. run-parts: executing /etc/kernel/prerm.d/dkms 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic dkms: removing: bbswitch 0.7 (4.1.6-040106-generic) (x86_64) -------- Uninstall Beginning -------- Module: bbswitch Version: 0.7 Kernel: 4.1.6-040106-generic (x86_64) ------------------------------------- Status: Before uninstall, this module version was ACTIVE on this kernel. bbswitch.ko: - Uninstallation - Deleting from: /lib/modules/4.1.6-040106-generic/kernel/drivers/acpi/ - Original module - No original module was found for this module on this kernel. - Use the dkms install command to reinstall any previous module version. depmod.... DKMS: uninstall completed. Examining /etc/kernel/postrm.d . run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic update-initramfs: Deleting /boot/initrd.img-4.1.6-040106-generic run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-3.16.0-29-generic Found initrd image: /boot/initrd.img-3.16.0-29-generic Found linux image: /boot/vmlinuz-3.13.0-37-generic Found initrd image: /boot/initrd.img-3.13.0-37-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin No volume groups found done The link /vmlinuz is a damaged link Removing symbolic link vmlinuz you may need to re-run your boot loader[grub] The link /initrd.img is a damaged link Removing symbolic link initrd.img you may need to re-run your boot loader[grub] Purging configuration files for linux-image-4.1.6-040106-generic (4.1.6-040106.201508170230) ... Examining /etc/kernel/postrm.d . run-parts: executing /etc/kernel/postrm.d/initramfs-tools 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic run-parts: executing /etc/kernel/postrm.d/zz-update-grub 4.1.6-040106-generic /boot/vmlinuz-4.1.6-040106-generic dpkg: warning: while removing linux-image-4.1.6-040106-generic, directory '/lib/modules/4.1.6-040106-generic' not empty so not removed
The output tells me to update grub, I'll do that:
# update-grub Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-3.16.0-29-generic Found initrd image: /boot/initrd.img-3.16.0-29-generic Found linux image: /boot/vmlinuz-3.13.0-37-generic Found initrd image: /boot/initrd.img-3.13.0-37-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin No volume groups found done #
Time for a reboot... After the reboot, the kernel is 3.16 and the nvidia driver is working.
hans@Loki:~ > uname -a Linux Loki 3.16.0-29-generic #39-Ubuntu SMP Tue Dec 16 20:54:13 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux hans@Loki:~ > sudo optirun source/tools-master/print-devices [sudo] password for hans: source/tools-master/print-devices: /usr/lib/x86_64-linux-gnu/libOpenCL.so.1: no version information available (required by source/tools-master/print-devices) platform 0: vendor 'NVIDIA Corporation' device 0: 'GeForce GTX 860M' hans@Loki:~ >
Updating the kernel to 3.19
Following msg 261:
# apt-get install linux-generic-lts-vivid Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: linux-headers-3.19.0-26 linux-headers-3.19.0-26-generic linux-headers-generic-lts-vivid linux-image-3.19.0-26-generic linux-image-extra-3.19.0-26-generic linux-image-generic-lts-vivid Suggested packages: fdutils linux-lts-vivid-tools Recommended packages: thermald The following NEW packages will be installed: linux-generic-lts-vivid linux-headers-3.19.0-26 linux-headers-3.19.0-26-generic linux-headers-generic-lts-vivid linux-image-3.19.0-26-generic linux-image-extra-3.19.0-26-generic linux-image-generic-lts-vivid 0 upgraded, 7 newly installed, 0 to remove and 8 not upgraded. Need to get 65,1 MB of archives. After this operation, 288 MB of additional disk space will be used. Do you want to continue? [Y/n] Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-image-3.19.0-26-generic amd64 3.19.0-26.28~14.04.1 [16,8 MB] Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-image-extra-3.19.0-26-generic amd64 3.19.0-26.28~14.04.1 [38,3 MB] Get:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-image-generic-lts-vivid amd64 3.19.0.26.13 [2.282 B] Get:4 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-headers-3.19.0-26 all 3.19.0-26.28~14.04.1 [9.304 kB] Get:5 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-headers-3.19.0-26-generic amd64 3.19.0-26.28~14.04.1 [757 kB] Get:6 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-headers-generic-lts-vivid amd64 3.19.0.26.13 [2.260 B] Get:7 http://archive.ubuntu.com/ubuntu/ trusty-updates/main linux-generic-lts-vivid amd64 3.19.0.26.13 [1.798 B] Fetched 65,1 MB in 8s (7.553 kB/s) Selecting previously unselected package linux-image-3.19.0-26-generic. (Reading database ... 238549 files and directories currently installed.) Preparing to unpack .../linux-image-3.19.0-26-generic_3.19.0-26.28~14.04.1_amd64.deb ... Done. Unpacking linux-image-3.19.0-26-generic (3.19.0-26.28~14.04.1) ... Selecting previously unselected package linux-image-extra-3.19.0-26-generic. Preparing to unpack .../linux-image-extra-3.19.0-26-generic_3.19.0-26.28~14.04.1_amd64.deb ... Unpacking linux-image-extra-3.19.0-26-generic (3.19.0-26.28~14.04.1) ... Selecting previously unselected package linux-image-generic-lts-vivid. Preparing to unpack .../linux-image-generic-lts-vivid_3.19.0.26.13_amd64.deb ... Unpacking linux-image-generic-lts-vivid (3.19.0.26.13) ... Selecting previously unselected package linux-headers-3.19.0-26. Preparing to unpack .../linux-headers-3.19.0-26_3.19.0-26.28~14.04.1_all.deb ... Unpacking linux-headers-3.19.0-26 (3.19.0-26.28~14.04.1) ... Selecting previously unselected package linux-headers-3.19.0-26-generic. Preparing to unpack .../linux-headers-3.19.0-26-generic_3.19.0-26.28~14.04.1_amd64.deb ... Unpacking linux-headers-3.19.0-26-generic (3.19.0-26.28~14.04.1) ... Selecting previously unselected package linux-headers-generic-lts-vivid. Preparing to unpack .../linux-headers-generic-lts-vivid_3.19.0.26.13_amd64.deb ... Unpacking linux-headers-generic-lts-vivid (3.19.0.26.13) ... Selecting previously unselected package linux-generic-lts-vivid. Preparing to unpack .../linux-generic-lts-vivid_3.19.0.26.13_amd64.deb ... Unpacking linux-generic-lts-vivid (3.19.0.26.13) ... Setting up linux-image-3.19.0-26-generic (3.19.0-26.28~14.04.1) ... Running depmod. update-initramfs: deferring update (hook will be called later) Examining /etc/kernel/postinst.d. run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic run-parts: executing /etc/kernel/postinst.d/dkms 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic Error! Bad return status for module build on kernel: 3.19.0-26-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.18/build/make.log for more information. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic update-initramfs: Generating /boot/initrd.img-3.19.0-26-generic run-parts: executing /etc/kernel/postinst.d/pm-utils 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-3.19.0-26-generic Found initrd image: /boot/initrd.img-3.19.0-26-generic Found linux image: /boot/vmlinuz-3.16.0-29-generic Found initrd image: /boot/initrd.img-3.16.0-29-generic Found linux image: /boot/vmlinuz-3.13.0-37-generic Found initrd image: /boot/initrd.img-3.13.0-37-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin No volume groups found done Setting up linux-image-extra-3.19.0-26-generic (3.19.0-26.28~14.04.1) ... run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic run-parts: executing /etc/kernel/postinst.d/dkms 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic Error! Bad return status for module build on kernel: 3.19.0-26-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.18/build/make.log for more information. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic update-initramfs: Generating /boot/initrd.img-3.19.0-26-generic run-parts: executing /etc/kernel/postinst.d/pm-utils 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-3.19.0-26-generic Found initrd image: /boot/initrd.img-3.19.0-26-generic Found linux image: /boot/vmlinuz-3.16.0-29-generic Found initrd image: /boot/initrd.img-3.16.0-29-generic Found linux image: /boot/vmlinuz-3.13.0-37-generic Found initrd image: /boot/initrd.img-3.13.0-37-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin No volume groups found done Setting up linux-image-generic-lts-vivid (3.19.0.26.13) ... Setting up linux-headers-3.19.0-26 (3.19.0-26.28~14.04.1) ... Setting up linux-headers-3.19.0-26-generic (3.19.0-26.28~14.04.1) ... Examining /etc/kernel/header_postinst.d. run-parts: executing /etc/kernel/header_postinst.d/dkms 3.19.0-26-generic /boot/vmlinuz-3.19.0-26-generic Error! Bad return status for module build on kernel: 3.19.0-26-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.18/build/make.log for more information. Setting up linux-headers-generic-lts-vivid (3.19.0.26.13) ... Setting up linux-generic-lts-vivid (3.19.0.26.13) ...
After a reboot:
# uname -a Linux Loki 3.19.0-26-generic #28~14.04.1-Ubuntu SMP Wed Aug 12 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Install the ath10k drivers again:
# dpkg -i ath10k-dkms_1.1_all.deb Selecting previously unselected package ath10k-dkms. (Reading database ... 268743 files and directories currently installed.) Preparing to unpack ath10k-dkms_1.1_all.deb ... Unpacking ath10k-dkms (1.1) ... Setting up ath10k-dkms (1.1) ... Loading new ath10k-1.1 DKMS files... First Installation: checking all kernels... Building for 3.19.0-26-generic and 4.1.6-040106-generic Building for architecture amd64 Building initial module for 3.19.0-26-generic Done. mac80211: Running module version sanity check. - Original module - Found /lib/modules/3.19.0-26-generic/kernel/net/mac80211/mac80211.ko - Storing in /var/lib/dkms/ath10k/original_module/3.19.0-26-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/3.19.0-26-generic/updates/kernel// cfg80211.ko: Running module version sanity check. - Original module - Found /lib/modules/3.19.0-26-generic/kernel/net/wireless/cfg80211.ko - Storing in /var/lib/dkms/ath10k/original_module/3.19.0-26-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/3.19.0-26-generic/updates/kernel// ath10k_pci.ko: Running module version sanity check. - Original module - Found /lib/modules/3.19.0-26-generic/kernel/drivers/net/wireless/ath/ath10k/ath10k_pci.ko - Storing in /var/lib/dkms/ath10k/original_module/3.19.0-26-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/3.19.0-26-generic/updates/kernel// ath10k_core.ko: Running module version sanity check. - Original module - Found /lib/modules/3.19.0-26-generic/kernel/drivers/net/wireless/ath/ath10k/ath10k_core.ko - Storing in /var/lib/dkms/ath10k/original_module/3.19.0-26-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/3.19.0-26-generic/updates/kernel// ath.ko: Running module version sanity check. - Original module - Found /lib/modules/3.19.0-26-generic/kernel/drivers/net/wireless/ath/ath.ko - Storing in /var/lib/dkms/ath10k/original_module/3.19.0-26-generic/amd64/ - Archiving for uninstallation purposes - Installation - Installing to /lib/modules/3.19.0-26-generic/updates/kernel// compat.ko: Running module version sanity check. - Original module - Installation - Installing to /lib/modules/3.19.0-26-generic/updates/kernel// Running the post_install script: options ath10k_core skip_otp=1 depmod.... DKMS: install completed. Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed. Processing triggers for initramfs-tools (0.103ubuntu4.2) ... update-initramfs: Generating /boot/initrd.img-3.19.0-26-generic
(Weird message about module build being skipped)
After a reboot, wifi was working.
Let's try to install sdrangelove
apt-get install qt5-default
I don't see where the cmake prefix path for qt5 is, or if it is even installed. (needed to install sdrangelove). Let's not mention it and see if we get any wiser...
git clone git://git.osmocom.org/sdrangelove.git cd sdrangelove mkdir build cd build cmake ../
-- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.8.4 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMake Error at CMakeLists.txt:16 (find_package): By not providing "FindQt5Multimedia.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Multimedia", but CMake did not find one. Could not find a package configuration file provided by "Qt5Multimedia" (requested version 5.0) with any of the following names: Qt5MultimediaConfig.cmake qt5multimedia-config.cmake Add the installation prefix of "Qt5Multimedia" to CMAKE_PREFIX_PATH or set "Qt5Multimedia_DIR" to a directory containing one of the above files. If "Qt5Multimedia" provides a separate development package or SDK, be sure it has been installed. -- Configuring incomplete, errors occurred! See also "/home/hans/source/sdrangelove/build/CMakeFiles/CMakeOutput.log".
apt-get install libqt5multimedia5
Doesn't change a thing.
On reddit I found someone with the same issue. Solves the mystery of the missing -dev packages (they are named qt*5-dev)
apt-get install qtmultimedia5-dev The following extra packages will be installed: libqgsttools-p1 libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5opengl5 libqt5qml5 libqt5quick5
# cmake ../ -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so -- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so -- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") -- checking for module 'fftw3f >= 3.0' -- found fftw3f , version 3.3.3 -- Found FFTW3F: /usr/lib/x86_64-linux-gnu/libfftw3f.so -- checking for module 'ffts' -- package 'ffts' not found -- libffts not found. -- checking for module 'libusb-1.0' -- found libusb-1.0, version 1.0.17 -- Found libusb-1.0: /usr/include/libusb-1.0, /usr/lib/x86_64-linux-gnu/libusb-1.0.so -- checking for module 'libosmosdr' -- found libosmosdr, version -- Found libosmosdr: /usr/local/include, /usr/local/lib/libosmosdr.so -- checking for module 'librtlsdr' -- found librtlsdr, version v0.5.3-12-ge3c0 -- Found librtlsdr: /usr/local/include, /usr/local/lib/librtlsdr.so -- checking for module 'gnuradio-runtime' -- found gnuradio-runtime, version 3.7.8 -- Found GNURADIO_RUNTIME: /usr/local/lib/libgnuradio-runtime.so -- checking for module 'gnuradio-osmosdr' -- found gnuradio-osmosdr, version v0.1.4-48-g86ad5842 -- Found GNURADIO_OSMOSDR: /usr/local/lib/libgnuradio-osmosdr.so -- Boost version: 1.54.0 -- Found the following Boost libraries: -- system -- Configuring done -- Generating done -- Build files have been written to: /home/hans/source/sdrangelove/build
# make [...] [ 11%] Building CXX object CMakeFiles/sdrbase.dir/sdrbase/mainwindow.cpp.o In file included from /home/hans/source/sdrangelove/build/ui_mainwindow.h:33:0, from /home/hans/source/sdrangelove/sdrbase/mainwindow.cpp:22: /home/hans/source/sdrangelove/include-gpl/gui/glspectrum.h:21:21: fatal error: QGLWidget: No such file or directory #include <QGLWidget> ^ compilation terminated. make[2]: *** [CMakeFiles/sdrbase.dir/sdrbase/mainwindow.cpp.o] Error 1 make[1]: *** [CMakeFiles/sdrbase.dir/all] Error 2 make: *** [all] Error 2
apt-get install libqt5opengl5-dev rm CMakeCache.txt cmake ../ make
This gives some errors I cant find anything about:
/home/hans/source/sdrangelove/plugins/samplesource/osmosdr/osmosdrinput.cpp:354:120: error: ‘osmosdr_set_iq_amp’ was not declared in this scope if(!osmosdr_set_iq_amp(m_dev, m_settings.m_opAmpI1, m_settings.m_opAmpI2, m_settings.m_opAmpQ1, m_settings.m_opAmpQ2)) ^ /home/hans/source/sdrangelove/plugins/samplesource/osmosdr/osmosdrinput.cpp:364:83: error: ‘osmosdr_set_tuner_dc_offset’ was not declared in this scope if(!osmosdr_set_tuner_dc_offset(m_dev, m_settings.m_dcOfsI, m_settings.m_dcOfsQ)) ^ make[2]: *** [plugins/samplesource/osmosdr/CMakeFiles/inputosmosdr.dir/osmosdrinput.cpp.o] Error 1 make[1]: *** [plugins/samplesource/osmosdr/CMakeFiles/inputosmosdr.dir/all] Error 2
These function names are indeed declared nowhere, even google has never heard of it.
Since these change some parameters on the osmosdr hardware (I guess), I just commented those out. After that, it compiles.
When I run sdrangelove, I get the error "Audio output doesn't support 16 bit samples" when I try to start the acquisition. The console shows some more info:
default format not supported - try to use nearest Audio output using samplerate -1
this audio stuff is in sdrbase/audio/audiooutput.cpp. Maybe the pulse plugin isn't installed?
apt-get install libqt5multimedia5-plugins
(much better already)
Wifi problems, disconnects
When the signal strength lowers, the wifi sometimes disconnects and when that happens, it fails to reconnect afterward. Only reloading the driver helps. This has become a problem when I want to sit outside.
I found this discussion that I want to try: Qualcomm Atheros QCA6174 Wireless adapter firmware not loading
cd /lib/firmware/ath10k mv QCA6174/ QCA6174-old cd git clone https://github.com/FireWalkerX/ath10k-firmware.git cd ath10k-firmware cp -r QCA6174 /lib/firmware/ath10k cd /lib/firmware/ath10k
ls -lR QCA6174-old/ QCA6174-old/: total 8 drwxr-xr-x 2 root root 4096 May 11 13:28 hw2.1 drwxr-xr-x 2 root root 4096 May 11 13:28 hw3.0 QCA6174-old/hw2.1: total 1036 -rw-r--r-- 1 root root 8124 Mar 21 13:27 board.bin -rw-r--r-- 1 root root 503732 Aug 26 2015 firmware-2.bin -rw-r--r-- 1 root root 499232 Mar 21 13:27 firmware-5.bin -rw-r--r-- 1 root root 46087 Mar 21 13:27 notice_ath10k_firmware-5.txt QCA6174-old/hw3.0: total 1652 -rw-r--r-- 1 root root 8124 Mar 21 13:27 board.bin -rw-r--r-- 1 root root 733784 Mar 21 13:27 firmware-4.bin -rw-r--r-- 1 root root 778512 Aug 26 2015 firmware-5.bin -rw-r--r-- 1 root root 79689 Mar 21 13:27 notice_ath10k_firmware-4.txt -rw-r--r-- 1 root root 79805 Aug 26 2015 notice_ath10k_firmware-5.txt
ls -lR QCA6174/ QCA6174/: total 8 drwxr-xr-x 2 root root 4096 May 11 13:48 hw2.1 drwxr-xr-x 2 root root 4096 May 11 13:48 hw3.0 QCA6174/hw2.1: total 804 -rw-r--r-- 1 root root 263188 May 11 13:48 board-2.bin -rw-r--r-- 1 root root 8124 May 11 13:48 board.bin -rw-r--r-- 1 root root 498172 May 11 13:48 firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 -rw-r--r-- 1 root root 46142 May 11 13:48 notice.txt_SW_RM.1.1.1-00157-QCARMSWPZ-1 QCA6174/hw3.0: total 816 -rw-r--r-- 1 root root 8124 May 11 13:48 board-2.bin -rw-r--r-- 1 root root 8124 May 11 13:48 board.bin -rw-r--r-- 1 root root 733784 May 11 13:48 firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 -rw-r--r-- 1 root root 79801 May 11 13:48 notice.txt_WLAN.RM.2.0-00180-QCARMSWPZ-1
Let's retry
I needed to rename a file before it worked:
mv firmware-5.bin_SW_RM.1.1.1-00157-QCARMSWPZ-1 firmware-5.bin
This seems to improve things, but the problem still occurred twice today (at a place where the signal isn't very strong, but other devices don't show the behaviour - it is slow but it works).
More info here: Qualcomm Atheros wireless card 168c:003e (rev 32) not supported. Maybe it's time to update the kernel. After a bit of searching, I found the meta-package linux-generic-lts-xenial which installs the latest kernel version, 4.4.0.22.12 at the time of writing (installed with the software manager of Mint).
Similar issue, but with an intel driver instead of qualcomm (might still look into this) here
Might have to move to 4.5 kernel info for upgrading to 4.5 on mint
Let's check the git logs
- commit qca6174 with wmi-tlv firmware uses offloaded beaconing scheme (i.e. templates). This requires a little different approach when implementing CSA.
- commit ath10k: configure copy engine 5 for HTT messages") introduced to use the unused CE5 for target to host message. For the device like QCA6174, CE5 already assigned for other feature. So for QCA6174, override the CE5 configuration and use the CE1 instead.
Found some more info on askubuntu
Upgrading to kernel 4.5 and Nvidia 352
Following the instructions mentioned before, I did:
cd /tmp; wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500_4.5.0-040500.201603140130_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-image-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb; sudo dpkg -i linux-headers-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb linux-headers-4.5.0-040500_4.5.0-040500.201603140130_all.deb linux-image-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb
This gave some errors:
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.5.0-040500-generic /boot/vmlinuz-4.5.0-040500-generic run-parts: executing /etc/kernel/postinst.d/dkms 4.5.0-040500-generic /boot/vmlinuz-4.5.0-040500-generic Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/bbswitch/0.7/build/make.log for more information. Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.36/build/make.log for more information. Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/ath10k/1.1/build/make.log for more information. Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/nvidia-340/340.96/build/make.log for more information. run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.5.0-040500-generic /boot/vmlinuz-4.5.0-040500-generic update-initramfs: Generating /boot/initrd.img-4.5.0-040500-generic run-parts: executing /etc/kernel/postinst.d/pm-utils 4.5.0-040500-generic /boot/vmlinuz-4.5.0-040500-generic run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.5.0-040500-generic /boot/vmlinuz-4.5.0-040500-generic Generating grub configuration file ... Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Found linux image: /boot/vmlinuz-4.5.0-040500-generic Found initrd image: /boot/initrd.img-4.5.0-040500-generic Found linux image: /boot/vmlinuz-4.4.0-22-generic Found initrd image: /boot/initrd.img-4.4.0-22-generic Found linux image: /boot/vmlinuz-3.19.0-26-generic Found initrd image: /boot/initrd.img-3.19.0-26-generic Found linux image: /boot/vmlinuz-3.16.0-29-generic Found initrd image: /boot/initrd.img-3.16.0-29-generic Found linux image: /boot/vmlinuz-3.13.0-37-generic Found initrd image: /boot/initrd.img-3.13.0-37-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin No volume groups found done Setting up linux-headers-4.5.0-040500-generic (4.5.0-040500.201603140130) ... Examining /etc/kernel/header_postinst.d. run-parts: executing /etc/kernel/header_postinst.d/dkms 4.5.0-040500-generic /boot/vmlinuz-4.5.0-040500-generic Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/bbswitch/0.7/build/make.log for more information. Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/virtualbox-guest/4.3.36/build/make.log for more information. Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/ath10k/1.1/build/make.log for more information. Error! Bad return status for module build on kernel: 4.5.0-040500-generic (x86_64) Consult /var/lib/dkms/nvidia-340/340.96/build/make.log for more information.
sudo apt-get install nvidia-352-updates nvidia-352-updates-dev nvidia-libopencl1-352-updates nvidia-opencl-icd-352-updates nvidia-prime
This worked for the 4.4 kernel, but the 4.5 kernel had an issue compiling:
cc: error: unrecognized command line option ‘-fstack-protector-strong’
To solve this, I need to upgrade gcc (this is getting a bit ridiculously far away from the goal of getting my network driver to work).
sudo add-apt-repository ppa:ubuntu-toolchain-r/test You are about to add the following PPA to your system: Toolchain test builds; see https://wiki.ubuntu.com/ToolChain
More info: https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/test
sudo apt-get install gcc-4.9 g++-4.9
gcc is still linked to the old version, and this is not managed by update-alternatives yet. But, that's easy to add:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in auto mode sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
Now, run
sudo update-alternatives --config gcc
and choose version 4.9
Let's retry installing the nvidia module again
sudo dpkg-reconfigure nvidia-352-updates
Well, that is working... On to the next problem: the ath10k driver is not compiling. I think the ath10-dkms module is not needed for 4.5, as it is included in the kernel If this is the last update I ever make, that was a stupid idea..
sudo apt-get remove --purge ath10k-dkms
It's definitely an improvement, but it still seems that the network just doesn't work in some cases (while the signal strength indicates that it should work).
Upgrading to kernel 4.6
See [1]