How to fix NVIDIA driver failure on Ubuntu

The Problems

  1. You installed Ubuntu on a computer with NVIDIA graphics card, but Compiz is not turned on in Unity.
  2. You installed NVIDIA drivers and now you have no desktop or X windows.
  3. You installed the drivers from NVIDIA’s website and you have no desktop or X windows.

Solution

Almost everyone who has a NVIDIA graphics card is afraid when Ubuntu updates or the driver updates. Because, you never know if the install or update will screw up your setup leaving you with no Compiz or even worse, no X windows!

There are tons of solutions for these problems online. Below is the solution which works for me consistently.

Step 1: Remove NVIDIA drivers

After booting, if you are seeing a blank display then try pressing Ctrl+Alt+F1, this should give you a terminal login.

The first step is to remove any or all of the NVIDIA drivers installed on the computer. They should not just be uninstalled, but every shred of their prior existence must be eradicated.

Purge, not just remove, all installed NVIDIA packages:

$ sudo apt-get purge nvidia-*

If you had installed a NVIDIA driver from their website, uninstall it using the shell script that it ships with. Already deleted that file? Too bad. Try with a newer version of driver that you can download.

You may still have some NVIDIA modules stuck in the kernel. First list the kernel modules:

$ dkms status

The output is of this form:

nvidia-current-updates, 304.64, 3.2.0-37-generic, x86_64: installed

Here nvidia-current-updates is the module name, 304.64 is the module version and 3.2.0-37-generic is the kernel version.

Remove all the nvidia modules. For example, to remove the above:

$ sudo dkms remove nvidia-current-updates/304.64 -k 3.2.0-37-generic

Step 2: Install NVIDIA drivers

Now install back the drivers. I highly recommend staying away from the drivers on NVIDIA’s website. For drivers that have been tested and packaged by Ubuntu volunteers, you have two options: current and current-updates.

current is what was well tested and shipped with the Ubuntu version you are using. It may be pretty old. current-updates is a package that is drawn from NVIDIA’s releases, but is tested and packaged by Ubuntu. This is pretty safe.

Depending on what you pick, the install is familiar:

$ sudo apt-get install nvidia-current-updates nvidia-settings-updates

I hope your NVIDIA drivers are working with your Ubuntu now. If not, I hope the wide web holds a solution to your problem.

Tried with: NVIDIA GeForce 9600 GT and Ubuntu 12.04 LTS

Advertisements

SD card support in Windows 8 for Dell Vostro 3300

Problem

You installed, not upgraded, a fresh copy of Windows 8 on the Dell Vostro 3300 notebook. Everything seems to be working fine except the SD card reader. If you put in a SD card into the reader, it does not appear as a drive in Windows Explorer.

Solution

The Dell Vostro 3300 uses the Realtek RTS5138 USB controller for the SD card reader. Windows 8 does not seem to ship with the driver for this controller. Go to the Support section of the Dell webpage for Vostro 3300. Find the Realtek-Driver under the Chipset section, download it and install it. Restart Windows and your SD card should work now.

Tried with: Windows 8 Pro

Wireless card not working on Dell Vostro 3300

Problem

I installed Ubuntu on a Dell Vostro 3300 notebook. (Note that I faced the exact same problem with a Dell Inspiron 1320 and solution is same as below.) After installation, I find that wireless is not working. Even the wireless notification light above the keyboard is not turned on.

I used lspci to check if the wireless card is detected:

$ sudo lspci -v

12:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
    Subsystem: Dell Wireless 1397 WLAN Mini-Card
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at fbb00000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [58] Vendor Specific Information: Len=78 <?>
    Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [d0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [13c] Virtual Channel
    Capabilities: [160] Device Serial Number xx-xx-xx-xx-xx-xx-xx-xx
    Capabilities: [16c] Power Budgeting <?>
    Kernel driver in use: b43-pci-bridge

I find that Broadcom BCM4312 chip in the Dell Wireless 1397 wireless card is detected and a b43-pci-bridge driver has been installed. This is not a WLAN driver.

Solution

Broadcom chips need the driver provided by Broadcom. This needs to be installed for the card to work.

Ubuntu 14.04

  • Connect to the internet using a LAN cable.

  • Install the Broadcom driver:

$ sudo apt-get update
$ sudo apt-get --reinstall install bcmwl-kernel-source
  • Restart Ubuntu.

My wireless card worked after this. The wireless notification light above the keyboard too was lit up.

I checked lspci again and found the correct driver now installed:

$ sudo lspci -v

12:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
    Subsystem: Dell Wireless 1397 WLAN Mini-Card
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at fbb00000 (64-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 3
    Capabilities: [58] Vendor Specific Information: Len=78 <?>
    Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
    Capabilities: [d0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [13c] Virtual Channel
    Capabilities: [160] Device Serial Number xx-xx-xx-xx-xx-xx-xx-xx
    Capabilities: [16c] Power Budgeting <?>
    Kernel driver in use: wl

Ubuntu 10.04

To enable wireless, choose System → Administration → Hardware Drivers. The system will now search for required proprietary drivers. In the list it presents, choose the Broadcom STA Wireless Driver. After it is installed, reboot and your wireless card should now work.