Driver Booster is a free driver updater program for Windows that can automatically check for outdated drivers for your hardware on a routine basis, and even download and update all the drivers with one click!

Every driver package is downloaded directly through the program and batch downloading makes it easy to download multiple device driver updates with one click.

This review is of Driver Booster version 6.4.0. Please let me know if there's a newer version I need to review.

More About Driver Booster

Driver Booster pulls off almost everything I'd want a driver updater that I was designing myself to do:

Snappy Driver Installer is an application for installing/updating drivers on PCs running Microsoft Windows using driverpacks or included folders with drivers. It can be used to install drivers on newly assembled PCs at places where Internet isn't available. USB to Ethernet LAN Wired Network Adapter, CH9200 Chipset thumbnail. USB to Ethernet. Compatible with Windows 10, 8, 7, Vista, and XP Add an Ethernet. DriverMax is the free computer driver update tool. No matter what PC configuration you might have, no matter if you have a brand new PC or an old one, DriverMax will find the right driver for your hardware.

  • Works with Windows 10, Windows 8, Window 7, Windows Vista, and Windows XP
  • Millions of device drivers are supported through Driver Booster
  • Definitions for those devices update automatically and frequently, meaning there's no need to manually update the program every time a new driver is added to the database
  • A driver's version number, size, and release date are clearly displayed next to each driver that needs to be updated (in the Driver Details window), helping to identify the size and age of a new driver before it gets updated
  • The list of outdated drivers can be exported to a TXT file, which includes the device name, class, vendor, current and available version, hardware ID, and compatible ID
  • Installation windows and other pop-ups are hidden to make installation as easy and quick as possible
  • The list of drivers found in Driver Booster are labeled according to the severity of the update, two examples being Extremely Old and Old
  • The computer can be set up to automatically reboot or shut down when the installation is finished
  • Drivers that are already up to date are also shown, but in a separate section from the outdated ones
  • The number of days since you last scanned with Driver Booster is shown on the main screen
  • Driver Booster also scans for outdated game components, like Adobe Flash Player and Microsoft DirectX Runtime
  • An option in the settings lets you have Driver Booster auto-delete driver packages after they've been used for an installation, which is an easy way to make sure it's not collecting useless junk files
  • Tools is a section of Driver Booster that includes some tools for fixing sound errors, correcting network failures, cleaning up data related to unplugged devices, and fixing resolution issues by cleaning up driver data. There's also a 'system information' area that shows details about the computer and operating system

Driver Booster Pros & Cons

As you can probably already tell by the size of the Pro section below, there's little not to like about Driver Booster:

Pros:

  • Installs quickly
  • Lists updated drivers as well as outdated ones
  • Supports batch driver downloads and installs
  • Can automatically create a restore point before a driver is updated
  • Able to ignore a device so no updates are shown
  • Includes an option to remove installation data after an update so the hard drive can remain free of clutter
  • Can automatically scan for new updates on a daily, weekly, biweekly, or monthly basis
  • Option to only show drivers that pass WHQL testing
  • Downloads are performed from directly inside the program and not through a browser
  • No limit on the number of drivers that can be downloaded and updated
  • Can uninstall and roll back drivers

Cons:

  • Must have an internet connection even to properly scan for driver updates
  • Installer attempts to add another program to your computer

My Thoughts on Driver Booster

If you're looking for an easy to use driver updater, Driver Booster is likely your best bet. In our testing, we didn't have any issues with downloads, and installs have never caused problems like BSOD errors or bricked hardware.

The updates found in Driver Booster aren't launched in a web browser, so you don't have to download these drivers manually like you might have to with other driver updater tools. That's far too much of a hassle that might even deter some from updating their drivers, and it can sometimes lead to clicking the incorrect download link.

Above, we mentioned that Driver Booster is unable to scan correctly unless an active internet connection is established (some driver updaters don't need a network connection to scan). It will look like it's working, but without a network connection, it will simply scan without using any factual update information, which unfortunately results in displaying an incorrect set of updates (or none at all).

Because there's also a professional version of Driver Booster, some features are limited in the free version. For example, more driver updates are found in the professional program and features like automatically downloading and backing up drivers, and automatic program updates, are not options in the free edition.

English is not my native language so please be patient.

I'm using a Rasp and the Ethernet port is already taken, so we bought a USB2.0 to Fast Ethernet Adapter, like this one: https://www.jacobsparts.com/items/USB-LAN-04

The RasPi detect the QingHeng Electronics device as is show in the following screenshot. The Chipset is suposed to be the CH9200.

Installing the drivers in a laptop with Ubuntu 14.04 was easy, but same steps for the Rasp didn't work. Aparently the issue is the Kernel, the CD with the drivers bring a 'readme', which claims:

sudo Note:

  1. Please run as root

  2. Supported linux kernel range from 2.6.x to 3.8.x

  3. CH9x00 module depends on mii and usbnet modules
  4. If you want complied this module in kernel, refer to followed

    a. # cp ch9x00.c ~/2.6.25/driver/net/usb/

    b. # cd> ~/2.6.25/driver/net/usb/

    c. modified Makefile and Kconfig for ch9x00.c

Install: # make # make load

Uninstall: # make unload

So i verify the kernel version of the rasp using uname -a, gives the following:

I copy the files from the CD driver to home/pi/linux, the command sudo make returns the following:

the output of ls -l acording to Diederik comment. This is before I used the linux-headers method.

In the Raspberry forums there is a posible solution in the seventh post that lead to install the 'linux-headers-3.10-3-rpi' and then link the modules:

This let me compile the files, once there I tried to run sudo make load, but this time the answer was:

Also tried with 'linux-headers-3.18.0-trunk-rpi2' because those are made for the RasPi2, but that didn't work either.

Thanks to Diederik de Haas for his response and the updates, i just followed his detailed steps, in the Step 1 choosed the 'Commit' published on Nov 18th with the '2a329e0', using the Module7.symvers and the git_hash from that date.

Step 2 and 3 went just ok, compilation too, but when the time for waking up the module come, got the following result:

Also tried with --force, finally post the dmesg tail for clues.

Update Dic 16

When I start this question already have a working web server in the RasPi (raspbian wheezy) using tomcat7, which was quite difficult to setup, so i made an RasPi_14_12_16.img for safety, in this image i have the following setup that can differs from a standard '.img'

1 - Got network with static ip runing on a wifi usb module.

2 - Change some rules (rules.d - udev) to auto-mount usb with full permissions.

3 - Internationalisation Options was changed to es_CO. UTF-8 UTF-8 and SPI Interface was disabled.

Just uploaded the '.img' once again and the detailed info for the procedure acording to my kernel,is the next:

1 - uname -a got the following Linux raspberrypi 4.1.7-v7+ #817 SMP PREEMPT Sat Sep 19 15:32:00 BST 2015 armv7l GNU/Linux

2 - Installed gcc (i have previously removed) sudo apt-get install gcc (works fine install other packages along)

3 - sudo apt-get update && sudo apt-get upgrade, Then uname -r ---> still 4.1.7-v7+

4 - Then I get the git_hash from my Pi : zgrep '* firmware as of' /usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz head -1

* firmware as of 960832a6c2590635216c296b6ee0bebf67b2****

5 - Like the Step 1 on Diederik's answer: download (raw --> right click --> save link as...) the Module7.symvers from https://github.com/raspberrypi/firmware/tree/2a329e0c7d8ea19c085bac5633aa4fccee0f21be/extra

6 - Like the Step 2 on Diederik's answer: Got the kernel sources and put them into the rpf-linux-kernel folder:~ $ git clone https://github.com/raspberrypi/linux rpf-linux-kernel

also:

git checkout -b rpi-bootloader-4.1.7 960832a6c2590635216c296b6ee0bebf67b2****make mrpropermake bcm2709_defconfigmake modules_prepare

7 - Like the Step 3 on Diederik's answer: I made the virtual links using: sudo ln -s /home/pi/rpf-linux-kernel/ /lib/modules/$(uname -r)/build

@DiederikdeHaas Upload the ch9200.ko (https://drive.google.com/file/d/0BxmrihUj-8tSa2YxUDAzY1NyNkU/view?usp=sharing) and detailed the following steps to install the module:

1 - To install it, do: sudo install -p -m 644 ch9200.ko /lib/modules/4.1.7-v7+/kernel/drivers/net/usb2 - Then: sudo /sbin/depmod -a 4.1.7-v7+3 - After that you can load the module with: sudo modprobe ch9200

Elber CM
Elber CMElber CM

1 Answer

Important: Follow these instructions meticulously

Note: The OP is using Wheezy and the latest kernel version from raspberrypi-bootloader then is 4.1.7-v7+, while on jessie that version is 4.1.13-v7+ and that's a critical difference!
If you're going to apply these steps to your own situation, adjust the values accordingly.

Step 1: Get the git_hash from the firmware
Get the firmware-commit-id: zgrep '* firmware as of' /usr/share/doc/raspberrypi-bootloader/changelog.Debian.gz head -1 which returns 960832a6c2590635216c296b6ee0bebf67b21d50 or 960832a for short.
On https://github.com/raspberrypi/firmware/commits/master you look for that firmware-commit-id (960832a on 23 Sep 2015 (the date is only as extra helper, the only relevant thing is the firmware-commit-id)) and click on Browse the repository at this point in the history and switch to the extra directory. When you're there, download Module7.symvers and save it in your home directory (for the Pi 1, you'd download Module.symvers).
In the extra directory you'll also find a file git_hash which you should open and write down the id (59e76bb7e2936acd74938bb385f0884e34b91d72) you see there. This is the kernel-commit-id.

Step 2: Prepare the kernel for module compilation
Get the kernel sources and put them into the rpf-linux-kernel folder:
git clone https://github.com/raspberrypi/linux rpf-linux-kernel
This will download more then 1GB of data and then process it, which will take a while.

To prepare the sources for kernel module compilation there are some other steps to do.
First you need to checkout the kernel code at the exact kernel-commit-id you found earlier. I always do my 'work' in a separate branch instead of in 'master' as that makes it easier to start over in case things go wrong and it is considered best practice. Then you clean everything up (mrproper), load the default configuration for the Pi 2 (bcm2709_defconfig) and prepare the sources for module compilation (modules_prepare):

For the Pi 1 you should replace bcm2709_defconfig with bcmrpi_defconfig.

Now copy the Module7.symvers file you downloaded earlier into the kernel tree and rename it to Module.symvers: cp ../Module7.symvers Module.symvers
(for the Pi 1, just copy the Module.symvers into the kernel tree).

Step 3: Set up your system for kernel module compilation
When you're compiling a kernel module, the build system looks in the /lib/modules/<kernel-version>/build directory for the kernel headers/sources. So make the link from that build directory to our current directory:
sudo ln -s /home/pi/rpf-linux-kernel/ /lib/modules/$(uname -r)/build

When you now do ls -l /lib/modules/4.1.7-v7+/build you should get the following:
lrwxrwxrwx 1 root root 32 dec 15 21:38 /lib/modules/4.1.7-v7+/build -> /home/pi/rpf-linux-kernel/

And now you're ready to compile a kernel module.

Step 4: Compiling the kernel module
You're lucky as someone has posted the source file and a Makefile to compile the module.
To compile it, go back to your home directory, clone the git repository and make/install the driver:

And then to load it, do sudo modprobe ch9200.
As the USB ID is part of the driver code, when you plug the device in it should detect it automatically and load the driver.

Diederik de HaasDiederik de Haas

Not the answer you're looking for? Browse other questions tagged usbethernetdrivercross-compilationmake or ask your own question.