31 Sie

How to install Broadcom Crystal HD driver on Ubuntu 13.10/14.04+

The Broadcom Crystal HD cards (BCM70012 and BCM70015) bring 1080p HD video decoding capability to low powered media centers and netbooks. Software decoding HD video strains the CPU and many cases causes stutters and skips during video playback. In this post, I will explain how to install Broadcom Crystal HD driver on Ubuntu systems.

There is many tutorials explaining how to install Crystal HD in linux environment. However sinse kernel update in Ubuntu 13+ you have do some additional steps.

1. Do steps 1-3 described in http://www.htpcbeginner.com/install-broadcom-crystal-hd-driver-ubuntu/

2. In step 3 you’ll propably have same error as described here https://bbs.archlinux.org/viewtopic.php?pid=1253802 – read this thread carefully


Found it! This worked for me building from source on Ubuntu, after receiving the same exact set of errors, so I assume it’ll work as well on Arch.
The problem is that with the 3.8 kernel update, the __devinit and __devexit macros were removed. Those macros are used in the source, so that’s what’s causing the failures. I did some research, these macros check if hotplugging is enabled in the kernel, and if it is, they get replaced with __init and __exit respectively. Since I can’t imagine a situation where you wouldn’t want hotplugging, the solution is to replace all instances of __devinit and __devexit with __init and __exit in driver/linux/crystalhd_cmds.c and driver/linux/crystalhd_lnx.c

I’ve created a patch file that does this, but since I’m new to this forum I can’t find the upload file button, so instead I’ve hosted it on my own server, at http://m25.mooo.com/devinitFix.patch
you can apply it by going into the main crystalhd source directory and doing

then build as normal. Let me know if you have any trouble, it’s working great for me now

If you try to download path

you’ll find that devinitFix.patch doesn’t exist any more on that server

3. Download patch from this server:

4. Then build as normal (step 3… end) from http://www.htpcbeginner.com/install-broadcom-crystal-hd-driver-ubuntu/

Tested on lubuntu 14.04.

Backups of articles and files used in this tutorial:

CrystalHD indicator (tray)

– readme inside

3 thoughts on “How to install Broadcom Crystal HD driver on Ubuntu 13.10/14.04+

  1. RE:BCM70015 and installing to Linux Mint 17.3 using kernel

    Thanks for the patch – It ran nicely but I am still having difficulties.

    The make stage complains about a missing file #include

    Deleting that file in two of the source files doen’t give a fix and neither does inserting a call to the file #include

    This is the output I get after doing the patch and after deleting the two #include references.

    [email protected] ~/Downloads/crystalhd_linux_20100703/07032010/driver/linux $ make
    make -C /lib/modules/3.19.0-32-generic/build SUBDIRS=/home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux modules
    make[1]: Entering directory /usr/src/linux-headers-3.19.0-32-generic'
    CC [M] /home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux/crystalhd_lnx.o
    /home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux/crystalhd_lnx.c:356:2: error: unknown field ‘ioctl’ specified in initializer
    .ioctl = chd_dec_ioctl,
    /home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux/crystalhd_lnx.c:356:2: error: initialization from incompatible pointer type [-Werror]
    /home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux/crystalhd_lnx.c:356:2: error: (near initialization for ‘chd_dec_fops.llseek’) [-Werror]
    cc1: all warnings being treated as errors
    make[2]: *** [/home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux/crystalhd_lnx.o] Error 1
    make[1]: *** [_module_/home/don/Downloads/crystalhd_linux_20100703/07032010/driver/linux] Error 2
    make[1]: Leaving directory
    make: *** [all] Error 2

    are you able to suggest what to try next?

    By the way I can’t read Polish so I only half understand the headings

  2. Just an update – to tell you that I did manage to get the crystalhd setup going and that I don’t now need the assistance I asked for.

    The problem was that I was trying to carry out the instructions on files downloaded from the Broadcom site.

    Thanks very much for the helpful resources you’ve put out there.

    Don Burden

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *