Kali Linux Cookbook
上QQ阅读APP看书,第一时间看更新

Installing Broadcom drivers

In the following recipe, we'll perform the installation of Broadcom's official Linux hybrid wireless driver. Using a Broadcom wireless USB adapter gives us the greatest possibility of success in terms of getting our wireless USB access point to work on Kali. For the rest of the recipes in this book, we will assume installation of the Broadcom wireless drivers.

Getting ready

An Internet connection is required to complete this recipe.

How to do it...

Let's begin the process of installing Broadcom drivers:

  1. Open a terminal window and download the appropriate Broadcom driver from http://www.broadcom.com/support/802.11/linux_sta.php:
    cd /tmp/
    wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_112.tar.gz
    
  2. Extract the downloaded driver using the following script:
    mkdir broadcom
    tar xvfz hybrid-portsrc_x86_64-v5_100_82_112.tar.gz –C /tmp/broadcom
    
  3. Modify the wl_cfg80211.c file since there's a bug in version 5.100.82.112 that prevents compiling the code under kernel version 2.6.39:
    vim /tmp/broadcom/src/wl/sys/wl_cfg80211.c
    

    Look at the following piece of code at line number 1814:

    #if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)

    Replace it with the following:

    #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)

    Save the changes.

  4. Compile the code:
    make clean
    make
    make install
    
  5. Update the dependencies:
    depmod -a
    
  6. Find loaded modules by issuing the following:
    lsmod | grep b43\|ssb\|bcma
    
  7. Remove the modules found by executing the following command:
    rmmod <module>b43
    

    Where <module> could be b43 or ssb or bcma.

  8. Blacklist the modules to prevent them from loading at system startup:
    echo "blacklist <module>" >> /etc/modprobe.d/blacklist.conf
    

    Where <module> could be b43 or ssb or bcma or wl.

  9. Finally, add the new module to the Linux Kernel to make it a part of the boot process:
    modprobe wl