Wednesday, May 21, 2014

Dell Precision M4800 with Ubuntu Linux 14.04 (15.04 all the way down)

I would like to share in this blog my experience with laptop Dell Precision M4800. As you might know Dell is offering several variations of this product. My configuration is here:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 04)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d4)
00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d4)
00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d4)
00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d4)
00:1c.6 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #7 (rev d4)
00:1c.7 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #8 (rev d4)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation QM87 Express LPC Controller (rev 04)
00:1f.2 IDE interface: Intel Corporation 8 Series Chipset Family 4-port SATA Controller 1 [IDE mode] - Mobile (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 04)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1)
03:00.0 Network controller: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter (rev 03)
11:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)

Note especially wireless adapter type:
03:00.0 Network controller [0280]: Broadcom Corporation BCM4352 802.11ac Wireless Network Adapter [14e4:43b1] (rev 03)

Quick summary of the challanges:
  1. Broadcom wireless card
  2. NVIDIA Optimus system with two graphic adapters
1. I have spent quite a bit if time on the broadcom wireless card. I have basically tried all possible "advices" found on internet with various drivers and methods e.g. ndiswrapper, STA driver, pre-compiled from repositories and also I tried to compile myself. Currently, the version of STA driver is 6.30.223.141.
  • ndiswrapper found the driver, but WiFi was not active, even though the driver says that device is found
  • pre-compiled driver in repositories broadcom-sta-dkms ver. 6.30.223.141-1 discovered all networks and hardware but it was not able to connect to any network - authentication window was popping up over and over again
  • my own compilation of the driver directly from broadcom web page http://www.broadcom.com/support/802.11/linux_sta.php was not working due to some errors in the code (note, that I'm 100% sure, that all necessary packages for compilation was installed). I have used this page as a guideline: http://forum.osxlatitude.com/index.php?/topic/6339-ubuntudebian-14e443b1-broadcom-corporation-device-43b1-rev-03/

Finally, you wouldn't believe what was the solution - installation of older driver release. I have downloaded from here:
https://launchpad.net/ubuntu/saucy/amd64/bcmwl-kernel-source/6.30.223.30+bdcom-0ubuntu3
After installation and restart of comupter everything was working like a charm!

2. At the beginning I was afraid, that NVIDIA Optimus Quadro K1100M and Intel Internal card arrangement will be an issue. After I have just downloaded NVIDIA proprietary driver and install it via command line my screen didn't turn on! My mistake! I should first google!
Than I re-installed the system and installed following packages:
  • nvidia-prime (latest revision 0.6.2) from Ubuntu repositories
  • nvidia binary driver (version 331.38) from Ubuntu repositories
Note, that there has been quite some dependencies selected automatically during the installation. After restart everything was running perfectly.
All other hardware is running out of box e.g. sound system incl. microphone, web camera, card reader etc.
I have to admit, that I haven't still tested bluetooth functionality. Once I do it, I'll update the post. Enjoy!

Just a recent update on Ubuntu 15.04:
I have installed right now fresh install of Ubuntu 15.04. As I can see from Synaptic manager there is this version of wireless driver 6.30.223.248+bdcom-0ubuntu2. The wireless is now working out of box and no need of downgrade is necessary. Similarly to graphics. I have just installed recommended proprietary drivers and all is working like a charm. Good job Ubuntu!

10 comments:

  1. I run the same config and I have noticed that the Nvidia card doesn't perform as well as the Intel card when using Virtualbox. I am using the newest 330 driver from the Nvidia website so I am curious if the older driver you are using works better. Also did the Bluetooth functionality work for you? When I try to add a Bluetooth device it can see the device but it fails to connect every time and wifi behaves the same way I can see the AP but it won't connect.

    ReplyDelete
  2. Hi, Can you be more specific how did you test the performance of Nvidia driver and Intel card on Virtual box? So, I can do the same procedure and check it as well. You have mentioned, that you are using Nvidia driver 330, but I'm using 331.38, which is newer than yours. I have checked the latest drivers on Nvidia web page and there is currently 340.24 driver available. Do you have that once installed?

    As I mentioned in my post above the Wi-Fi is 100% working with driver bcmwl-kernel-source/6.30.223.30+bdcom-0ubuntu3. There is one thing you should be careful about - if automatic updates are ran, always tick off the news Boradcom driver, because it would re-install your older (but working) driver.

    I haven't spent time on the bluetooth yet. I can confirm that I can not turn it on in system settings - all options are grey. Seems like the system is not recognizing the bluetooth at all.

    ReplyDelete
  3. Older driver release - you're a genius. It worked, where everything else found on the internet failed. Thanks!

    ReplyDelete
  4. Can you please change your blog's background? Hurts when I trying to read.

    ReplyDelete
    Replies
    1. Sorry buddy, it doesn't hurt me. I like it. Just don't read in total darkness from close distance .... maybe... :)

      Delete
  5. This comment has been removed by the author.

    ReplyDelete
  6. Have you tried the Bluetooth yet?

    Have you tried the USB 3.0 ports?

    ReplyDelete
    Replies
    1. Wireless doesn't work for me. Bluetooth doesn't work for me. Suspend doesn't work for me. USB 3.0 doesn't work for me.

      Returning the machine next week

      Delete
    2. Wireless is working for me, USB3.0 is also working, I have trouble to get working Bluetooth. Suspend is also causing troubles.
      For wireless in Ubuntu go to System settings->Software and updates->Additional drivers-> enable BCM4352 driver. But you should alse check if you have this type of WiFi.

      Delete
    3. Tried all of that. Machine now won't even boot. Turns out USB 3.0 is broken on A LOT of hardware with Linux. Sending the machine back, hugely disappointing. Supposed to be "Ubuntu Certified" - completely not. Never will buy another Dell again.

      Delete