25. December 2013 · Comments Off on BCM4311 Mint 16 – no wireless – no Internet connection · Categories: Linux, Networking · Tags: ,

Problem – no WiFi after Fresh Install

tux wonders why wireless doesn't workUpdate 03/27/2015 – According to a recent GHacks article, the Broadcom wireless drivers exist on the Mint installation media. If correct, that would be an easier solution and certainly worth trying. If not successful, then come back and try the solution described below.

After an upgrade from Mint 13 to Mint 16 using the “fresh upgrade” method again resulted in a system without wireless connectivity, this guide was created for future reference and possibly as an aid to others experiencing the same problem. The information here applies to the B43 driver, specifically for the 4311 PCI-ID/Chip ID, but the driver/firmware solution described may be similar for other Broadcom PC-IDs also using the B43 driver (see list below) and running on Debian/Ubuntu or derivative distros; however, keep in mind that derivative doesn’t imply compatibility in all cases. For further information about B43/B43 legacy wireless devices and driver/firmware solutions see http://wireless.kernel.org/en/users/Drivers/b43.

Similar PC-IDs for B43:

Note that in most cases PCI-ID correlates to the Chip ID, but that is not always the case, so identify your device using the PCI-ID.

Regardless of the PCI-ID, always check the distro’s documentation and user forums for the most up-to-date information. Broadcom wireless solutions change constantly and often vary from distro to distro.

System used for this Guide

The system used for this guide was an Intel Pentium T2310 / 1.46 GHz ( Dual-Core ) laptop with Mint 16 (Mate) freshly installed to the hard drive. The built-in wireless device was based on the BCM 4311 chipset. No other options existed at the time for connecting to the Internet except for wireless, which wouldn’t work after the OS installation.

Broadcom Wireless Issues

In the past, wireless connectivity issues in Linux for devices using the popular Broadcom chipset were a common problem that often turned into a difficult, confusing and time-consuming task. Considerable time and effort was often spent performing multiple trial-and-error driver installations, command-line troubleshooting, reading and evaluating technical documentation, and following suggestions from other users to get wireless working.

Although some Linux distros support Broadcom wireless out-of-the-box or provide options within the OS to install the correct drivers/firmware, most do not because of a variety of ongoing development, proprietary and support issues. When users search the Web for answers, this often results in page after page of possible solutions and troubleshooting suggestions, many which may be out-of-date and therefore may no longer work. The amount of information can overwhelm and confuse users desperate for an easy and quick solution. An informative Archlinux.org Wiki entry (2013), Broadcom Wireless, describes many of these issues and illustrates why so much confusion and seemingly conflicting information exists about getting wireless to work for Broadcom devices in Linux.

Current Support Issues

Fortunately, driver/firmware support and installation options for Broadcom wireless devices have steadily improved and don’t require as much user effort or technical expertise as before; however, this doesn’t mean that problems are now a thing of the past. Many users may still need another PC to hunt the Web for the correct drivers, may find themselves the frustrating catch-22 position of needing a LAN connection in order to install the drivers, or learn that the correct drivers are not clearly specified, or when specified, are not included with the installation media.

For some Linux distros, B43 driver/firmware installation can be an automated or a semi-automated process. Some distros feature automatic installation for B43 devices by detecting and installing the appropriate driver package during the OS install from the installation media or through a LAN connection, and some may include them with the kernel image. Others, like Ubuntu/Debian and their derivatives, may even provide customized installation files (like a deb file) from their support forums or web site that can be downloaded and double-clicked to automatically install the appropriate drivers/firmware. Note that some deb files don’t include the drivers and may require a LAN connection in order to download them separately (another catch-22 situation if you don’t have a LAN connection).

When any of the previously mentioned B43 wireless driver/firmware installation options are not available or easily identified, users can still enable wireless using an extraction tool and the open source or proprietary drivers to manually install the firmware – this is the process described in this guide.

Generally, three categories of wireless driver/firmware solutions exist for Linux users with Broadcom chip-sets:

1. brcmsmac/brcmfmac/brcm80211 – Open source kernel driver (newest, often included with the latest kernel images)
2. B43/B43 legacy – Open source reversed-engineered kernel driver (B43 only is covered in this guide, B43 Legacy is not covered)
3. broadcom-wl – Proprietary Broadcom STA driver

The necessary driver/firmware is dependent on the chipset/PCI-ID, type of wireless device, operating system, CPU architecture, and the OS version (note that some Broadcom wireless devices are still unsupported in Linux). Regardless of the chipset/PCI-ID, the distro’s documentation and user forums should always be checked for the latest information since driver solutions and installation options vary from distro to distro and even between versions within a distro.

Identifying the Wireless Device

To identify a Broadcom wireless device in Linux, type the following command (case-sensitive) into a terminal:

lspci -vnn -d 14e4:

lspci terminal
The above is the output of the lspci command. The PCI-ID is identified within the brackets on the 2nd line by 14e4:4311, where 14e4 is the identification code for Broadcom, and 4311 is the device. In this case, 4311 also identifies the Chip ID. The <access denied> after Capabilities is displayed because the lspci command was executed without using administrator privileges (sudo or su).

Additional wireless identification and troubleshooting commands can be found at the Ubuntu Community Help Wiki.

Tested Solution – Install firmware from driver source file

The verified solution for this guide was to use another PC to download the necessary files onto a USB flash drive and then transfer those files to the user directory on the Linux Mint 16 PC with no Internet connectivity. The files needed were fwcutter (a deb file) and the Broadcom-wl proprietary driver source file. Fwcutter is a tool written for BCM43xx driver files to extract firmware from driver source files.


1. Download b43-fwcutter for your architecture (bottom of page) from http://packages.debian.org/squeeze/b43-fwcutter. In this case, b43-fwcutter_013-2_amd64.deb was used, but an older version or a 32-bit version probably would have worked as well.

2. Download the source file from http://mirror2.openwrt.org/sources/. In this case, broadcom-wl- was used. Scroll down the page to locate the broadcom files entries.

3. Transfer the files to your user directory on the Linux Mint PC and double-click the b43-fwcutter file to install it. Ignore any warnings about the version being out-of-date.

4. Run the following commands to extract and write the firmware to /lib/firmware. Ignore any warnings.

tar xfvj broadcom-wl-
sudo b43-fwcutter -w /lib/firmware broadcom-wl-

5. Reboot the PC.

6. The wireless should now work. If so, look for and install any updated B43 wireless firmware/fwcutter/drivers using the Synaptic Package Manager. Do not use B43 legacy.

Other Possible Solutions

Broadcom driver is actually on the installation media. How to install:

Ubuntu community wiki. Solutions for a number of PCI-IDs (not tested):

Deb files. Automatically installs driver/firmware for deb-compatible distros from pkgs.org. Double-click to install (not tested):


B43 wireless information page:

B43 Driver download:

Linux Mint solution:

Ubuntu Community Help Wiki:


01. January 2013 · Comments Off on Common GRUB 2 Option Tweaks for Debian, Ubuntu and Mint · Categories: Linux · Tags:
Since version 1.98, GRUB 2 began replacing GRUB version 0.9x, which is now known as GRUB legacy. GRUB 2 represents a major revision over its predecessor to make it more portable and modular. And although GRUB legacy is no longer being developed, bug fixes for it continue, and it’s still used as the default boot loader for a number of Linux distros. Over time, GRUB 2 usage has steadily increased and while still a work in progress, it’s probably the most common boot loader for Linux distros. Although GRUB 2 is officially known as GRUB, Linux distro repositories may include GRUB 2, GRUB legacy, or both versions. Repositories that include both versions may make the distinction between them as GRUB 2 and GRUB, GRUB and GRUB legacy, or GRUB 2 and GRUB legacy. The naming inconsistency between distros can be somewhat confusing, but this is to be expected during any transition.

What is covered in this guide

This is not a comprehensive guide on GRUB 2; rather, this is a quick reference covering frequently used GRUB 2 tweaks and option edits for most Linux distros; particularly those based on Debian/Ubuntu/Mint or Slackware. For detailed information about GRUB 2, see the references at the end of this guide.

This guide assumes that the reader already has GRUB2 installed for a single boot or a multiboot Linux system. Note that all changes to GRUB 2 options must be done while logged in as root or by use of sudo. All commands and options described should be verified for correctness using the documentation for your particular Linux distribution.

GRUB 2 summary

Recent converts to GRUB 2 probably have noticed that the Boot menu basically looks the same as GRUB legacy. Although they appear similar, the way GRUB 2 generates its menu is very different. Also, GRUB 2 now places its files in three locations:

  • /boot/grub/grub.cfg  (GRUB 2 main configuration file, replaces menu.lst, a product of the script files in /etc/grub.d/)
  • /etc/grub.d/  (directory containing several GRUB 2 script files)
  • /etc/default/grub  (GRUB 2 customization file)

Most GRUB 2 files are updated/regenerated automatically during package updates, when new kernels are added, after installing additional OS’s on multi-boot systems, or whenever GRUB is manually updated after making changes to the GRUB options as described in this guide. Generally, editing these files is not recommended, not only because it can cause boot problems, but also because most of the files will be overwritten anyway during system updates. The single file that users can generally edit without issue is /etc/default/grub, which holds most of the settings that will be of interest to users reading this. This file contains customization settings such as the default menu entry, timeout, default boot, graphics, and more. An example GRUB file from Lubuntu 12.10 (original settings slightly modified) is shown below:

# If you change this file, run '<strong>update-grub</strong>' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

<span style="color: #000000;">GRUB_DEFAULT=0</span>
<span style="color: #000000;">#GRUB_HIDDEN_TIMEOUT=0</span>
<span style="color: #000000;">GRUB_TIMEOUT=-1</span>
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
<span style="color: #000000;">GRUB_CMDLINE_LINUX_DEFAULT=""</span>

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)

# Uncomment to disable graphical terminal (grub-pc only)

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
<span style="color: #000000;">GRUB_GFXMODE=auto</span>

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux

# Uncomment to disable generation of recovery mode menu entries

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Quick Edits for /etc/default/grub

Note: A grub file can contain many more options than those shown in the above file. For a full list of options refer to the GNU Grub Manual (link in reference section below). Note that all GRUB 2 commands or changes to its files must be done while logged in as root or by using sudo.

As previously mentioned, the above sample GRUB 2 file is essentially the same as the default file for Lubuntu ver. 12.10. Note that the option entries listed in the above file may differ for other Linux distributions and/or versions. In most cases, users will want to make minor changes to the option entries that are common to all distributions and/or versions, such as timeout, default boot OS, displayed boot information (quiet splash), or the display resolution. To enable a listed option, remove the comment (#) in front of the option entry and change its value as appropriate. If a desired option is unlisted, it may be added to the end of the file. Also notice that the above file contains comments that provide information for enabling/disabling many of the listed options. After making any change to this file, it must be saved and GRUB updated in order for the changes to take effect on the next boot (see saving and updating section below). A few common option entries are described as follows:

Default option setting is 0.
This is the default menu entry to be booted. Zero (0) is the first boot option listed in /boot/grub/grub.cfg.

Default option setting is 5.
Sets the time in seconds that the boot menu displays before it automatically boots the default boot entry. If a key is pressed before that time, the timeout is cancelled, allowing manual selection of the entry with no time limit. The value “-1” causes the menu to be displayed indefinitely.

Default setting is distro dependent.
Passes arguments to the end of the boot command line for the kernel of the menu’s default entry. Added in addition to any arguments specified in GRUB_CMDLINE_LINUX below. This option is often set to “quiet splash” to suppress boot information and display the splash screen. Note that “quiet” and “splash” are separate values. Remove “quiet splash” between the parentheses to display all boot information without a splash screen.

Default setting as above.
Passes arguments to the end of the boot command line for the kernels of all the menu entries.

Default setting is “auto”.
Sets the graphical terminal resolution. Only modes supported by the graphics card VESA BIOS Extensions (VBE) can be used. To determine the available screen resolutions, type “c” for a command line at the GRUB 2 boot menu and then enter “vbeinfo.” The syntax for the option value is widthxheight[xdepth]. Some common option values are 1400x900x32, 1024×768, and 800×600.

Recovery mode entries are generated by default.
Enable by removing #, which will disable generation of the recovery mode entries; otherwise, for each Linux kernel, at least two menu entries will be generated – the default entry and a recovery mode entry.

Saving and updating the edited /etc/default/grub file

After editing and saving the /etc/default/grub file the following command must be executed for the changes to take effect:

sudo update-grub

To restore the default settings for GRUB 2, reinstall GRUB 2 by executing the following command:

sudo grub-install /<target>

Where <target> /dev/sda, /dev/hda

GRUB 2 tools

Graphical tools for configuring Grub 2 have become more common as Grub 2 matures. One GUI tool available on many repositories is grub-customizer. See this How-to-Geek article for a description of this tool.

Changing the GRUB 2 background image


Good tutorials describing how to change the GRUB 2 background image:

The Geek Stuff – How to Change GRUB Splash Image, Background, Font Color on Your Linux



GNU GRUB Manual 2.00~rc1

openSUSE® – Chapter 10. The Boot Loader GRUB2

GRUB 2 bootloader – Full tutorial by Dedoimedo

Official Ubuntu Community Documentation – Grub 2

Grub 2 Basics by DRS305 – Ubuntu Forums


01. May 2011 · Comments Off on Using the CLI and other Linux Tips · Categories: Linux · Tags:
Joshua Price regularly contributes useful, easy-to-understand information on Linux at MakeTechEasier.com. His articles should be of interest to all Linux users, regardless of experience level. Below are the links to some of his useful and interesting Linux-related articles at MakeTechEasier.com. Be sure to check out his other Linux-related articles there as well.

Bash command-line

Become an APT guru

Beginner’s Guide to Git

Mastering the Bash History

8 Useful and Interesting Bash Prompts

More Useful and Interesting Bash Prompts 

The Beginner Guide to Writing Linux Shell Scripts

Making The Linux Command Line A Little Friendlier

From Noob to Ninja – Your Guide to Mastering Linux

How to Multitask at the Linux Command Line with Screen


27. April 2011 · Comments Off on Using the Lynx Web browser · Categories: Linux, TechBits · Tags: , ,
Lynx is a text-only web browser originally designed to run on UNIX, but today it also runs on Linux, VMS, MacOS, Windows and other platforms. It was initially developed by a team of University of Kansas students in 1992 for distributing information on a campus-wide information system and as a Gopher client, but it quickly became popular with visually impaired users because of its text-to-speech friendly interface. Although less used today as part of text-to-speech translating systems due to the technological improvements in screen readers, Lynx is still developed, useful, and it’s included as part of many Linux and UNIX distributions, including Cygwin. Lynx is licensed under the GNU General Public License.

lynx window no color

Release built with curses (not color-style)

Uses for Lynx:

  • Reading documentation or downloading files in a text-based environment
  • To access websites without graphical displays
  • For use on low bandwidth Internet connections
  • For use on older and slower computer hardware
  • For fast, safe browsing of text-based web sites
  • Search Engine View Emulation
  • Incorporating into scripts and to automate tasks

Advantages of Lynx:

  • Fast, free, and safe
  • Handles cookies
  • Has many options
  • Multilingual
  • No ads


lynx color

Release built with curses (color-style)

lynx slang

Release built with slang

Using Lynx:

Browsing with Shortcuts:

To start browsing, press “g” on the keyboard, enter a website URL and press enter.

Use the “Right Arrow” or “Enter” key to open links.

Press the “Left Arrow” key to go back to the previous page.

Use the “Up” and “Down” arrow keys to scroll up or down.

Use the “Control + Z” keys to toggle max screen mode.

Use the “Control + B” keys to go back to the previous page.

Use the “Control + F” keys to go to the next page.

Use the “Control + A”  keys to jump to the beginning of the current page.

Use the “Control + E”  keys to jump to the end of the current page.

Use the “Control + L” keys to refresh the document of garbled text.

Use the “Control + R” keys to reload the document.

Use the “Control + K” keys to display a list of currently set cookies.

“h” or “?” keys for help.

“k” key to display key mappings.

“o” key for user options.

“d” key to download from a link.

“L” key displays all URLs on the page.

“p” key for print options.

“\” key to display the web page source code.

“/” or “s” keys to search within the displayed web page, use “n” for next occurrence.

“a” key adds the current document to bookmarks.

“v” key displays bookmarks.

“r” key removes a bookmark when positioned over that link.

“V” key displays visited links for the current session.

“u” key goes back to previous document.

“m” key jumps to home page.

“!” key spawns a command shell.

“=” key provides information about the current URL and current link, such as owner, size, mod date, and server type.

“backspace” key displays browser history.

“q” key quits the browser.

“Q” key quits the browser unconditionally.

Click here for a full list of keyboard commands.

Command-line Options:

On startup, Lynx supports a number of command-line options. See the following pages for more info:

lynx(1) – Linux man page



Additional Help:

LYNX – The Text Web-Browser (what it is, how to use it, where to get it)

Free Text Based Browser For Windows: Lynx (browsing, downloading, ftp browsing and more)

Lynx Browser (quick info about Lynx)

Lynx Help for Beginners (quick start info for newbies)

Lynx Users Guide v2.8.7 (full manual)


Lynx Downloads:

Latest W32 Installers: http://invisible-island.net/lynx/#installers

Lynx PortableApps Version: http://portableapps.com/apps/internet/lynx-portable




Other Text-based Browsers:


If you ever accidentally formatted an external drive on a PC with several plugged-in USB devices, you probably remember seeing them listed in the formatting tool’s selection box. The (C:) and (D:) drives may be listed, which are usually the boot drive and the backup drive. If an (E:) is displayed, it’s probably the optical drive. However, distinguishing between the other drives or devices may not be as apparent, especially when information beyond the drive letter assignment isn’t shown. This is particularly true for drives or other USB  devices that don’t have identifying information on them. Under these conditions, it’s easy to become careless or impatient and select the wrong drive; especially if its letter assignment appears to be correct. If you are unlucky, you may notice a flashing light on the device confirming that the wrong drive is being formatted.

mystica_USB_Flash_Drive (public domain clip art www.clker.com)

I did this recently when in a hurry and chose the wrong drive letter. Instead of formatting the flash drive, the external 250GB backup drive was formatting. Panicking, I immediately realized the error and stopped the formatting process – but it was too late. Checking the hard drive, I found it couldn’t be accessed. The drive letter was still visible in Windows, but no files or folders were displayed and nothing could be written to or read from the drive.

Fearful of losing the data, I tried several file recovery tools with no success until using TestDisk. TestDisk is a free (open source) data recovery tool available from CGSecurity. With TestDisk, I was able to successfully restore the drive’s partition and it worked normally.

Luckily, all of the data was still intact. That’s because during a high-level format (quick format), only the external drive’s partition table information or boot sector are erased. According to Windows Help Central, even a full format can be recovered pretty easily as long as the original files are not overwritten with new data. That’s because the spaces containing file information on the disk drive are not really wiped clean, but instead, the areas where files are stored are marked as available for new data. As long as no new data is written to the drive, chances are excellent that the data is 100% recoverable using simple freeware data recovery tools. That’s because if you hosed the partition table or MBR (Master Boot Record) during the format process, the drive isn’t likely to be writable anyway.

TestDisk is a utility that can be used to restore corrupted and missing MBRs, partition tables, and data. TestDisk works on most operating systems including Windows, Linux, BSD, SunOS, and Mac OSX and it’s included with many Linux LiveCD distros such as PartedMagic and many others. It’s a very useful and sophisticated tool in the hands of experienced users. Unfortunately, because data recovery can be a complex issue, inexperienced users may find it “user unfriendly”. However, documentation for the program is thorough and one can find many examples, technical notes, and step by step instructions in the documentation section on TestDisk’s Wiki. Also, the TestDisk Step by Step guide contains plenty of screen-shots which greatly helps in the data recovery process.

The following screen-shots show what to expect after starting TestDisk for recovering a deleted partition (note: the screens below show the results for a working hard drive that doesn’t have any problems).

Above is the first screen. For most cases,  select the default option – Create a new log file.

Next, select your media device with the problem. In the screen above, the main hard drive is selected.

Select Intel if using a Windows or Linux machine.

In most cases “analyse” should be selected.

FYI, “Advanced” provides options to restore the boot sector or to create images for partitions.

Analyses displays a preliminary list of the current partitions for the drive selected. Next, select Quick Search to continue searching for additional partitions.

“Yes” should be selected for most situations.

TestDisk displays the structure analysis results and displays the partitions. Healthy partitions will be highlighted in green. Here, you can use the up/down arrow keys to select a partition to further analyze or recover, then hit ENTER. 

Pressing “P” will list the files in the partition, which can provide some assurance that the data is still intact. Do not use the left/right keys – they are used to change the partition’s characteristics!


If the partition you want to restore is listed, select “Write” and then Enter to restore it and that should be it. If TestDisk didn’t find your partition, you have the option to perform a deeper search by selecting “Deeper Search”. In the screenshot above, the results show that no problems were found (the screenshots are for a working hard drive).

For more information, the TestDisk Wiki’s Step by Step instructions explain the recovery procedure well enough so that even novices shouldn’t have a problem.


Other TestDisk how-tos:

The How-to-Geek explains recovering partitions with TestDisk using an Ubuntu LiveCD (ver 9.10):

Recover Data Like a Forensics Expert Using an Ubuntu Live CD

A MakeTechEasier how-to for data and partition recovery using TestDisk:

How to Recover Data and Partitions for Free with TestDisk

Other Data Recovery Utilities

If the drive is still accessible or if only a few files are missing, you may want to try one of the easier-to-use file recovery programs listed below before trying TestDisk. Some that I’ve successfully used in the past to recover lost data are:




Install or Recover MBR or Boot Sector

If you know the problem is a damaged or missing MBR (Master Boot Record), a number of tools can be used to repair or restore it – including TestDisk.

MBR Recovery:

Write a new MBR with TestDisk:
  1. Start TestDisk
  2. Create a new logfile
  3. Select a media
  4. Select partition table type (Intel, Mac, Sun, etc)
  5. MBR code (this writes a new MBR)

Below are are other tools and resources that can be used to install, repair or restore the MBR. Note that some of the tools listed require that a backup of the MBR was previously saved:

Bootice (restores a saved MBR only)

How to fix MBR in Windows XP and Vista

5 Free Tools to Backup and Restore Master Boot Record (MBR)

MBR, Partition Table and Boot Record Tools

Boot Sector Recovery:

A Sourceforge article describes the procedure for recovering a Boot sector using TestDisk to successfully fix a dual-boot PC (WinXP & Ubuntu) that wouldn’t boot. The procedure is as follows:

Boot Problems:Boot Sector (follow the steps in the either case section for TestDisk as shown below)

  • 1st screen: select No Log and then press ENTER
  • 2nd screen: select the drive to restore and select Proceed
  • 3rd screen: select Intel
  • 4th screen: select Advanced
  • 5th screen: select the partition and select Boot
  • 6th screen: select Rebuild BS
  • 7th screen: type “Y” to confirm

If using the Grub bootloader for a dual-boot system, make sure to update Grub (it may be necessary to use a LiveCD of your Linux distribution to do this).


If the easier-to-use tools above don’t work for whatever reason, give TestDisk a try to recover the partition, MBR or boot sector, but follow the directions carefully. Although fairly simple, it’s still possible to mess things up so thoroughly that the only way to recover the data would be to send the drive to a very expensive professional data recovery service.

Remember, if you accidentally format or erase files from your external USB drive, don’t panic. Get to work on recovering your data because chances are that it can be accomplished more easily than you think.



Bad Behavior has blocked 471 access attempts in the last 7 days.