LinuxCommandLibrary

bccmd

Configure and control Broadcom Bluetooth devices

SYNOPSIS

Given that bccmd is a hardware-specific utility and not a standard Linux command, its exact syntax can vary significantly depending on the Broadcom chipset and the version of the utility. However, a common pattern involves subcommands and options for device selection.

bccmd [options] <subcommand> [subcommand_arguments]

Common subcommand examples include:
bccmd update <firmware_file>
bccmd diag <test_type>
bccmd status
bccmd -d <device_index> <command>

PARAMETERS

-d
    Specifies the network device to operate on, usually by its numerical index (e.g., 0, 1).

-f
    Used with subcommands like `update` to provide the path to a firmware or configuration file.

-v
    Enables verbose output, providing more detailed information about the operation.

-h
    Displays the help message, detailing available commands and options for that specific `bccmd` version.

update
    A common subcommand to flash or update the device's firmware.

diag
    A common subcommand to run diagnostic tests on the hardware.

status
    A common subcommand to query the operational status or hardware information of the device.

DESCRIPTION

The bccmd command is not a standard, universally available Linux utility. Instead, it typically refers to a specialized tool provided by Broadcom, or by device driver packages (like `tg3`, `bnx2`) for managing and diagnosing Broadcom network interface cards (NICs).

Its primary function revolves around hardware-level operations on these Broadcom NICs. Common uses include updating network adapter firmware, reading or writing to the device's EEPROM or NVRAM, dumping internal registers for diagnostic purposes, and retrieving hardware status information. Because it interacts directly with hardware, its exact functionality, syntax, and availability depend heavily on the specific Broadcom chipset it's designed for, and the version of the utility provided by the manufacturer or driver package. It's often found within `bcm_utils` packages or as part of a kernel module's helper tools. Misuse can lead to irreversible hardware damage.

CAVEATS

bccmd is not part of the standard Linux distribution. Its availability is tied to systems with Broadcom network adapters and the installation of specific utility packages or drivers.

Using bccmd often requires root privileges due to its direct hardware interaction.

Improper use, especially with firmware updates, can lead to irreversible damage to the network adapter, rendering it unusable (bricking).

The exact options and subcommands can differ significantly between different Broadcom chipsets and utility versions, requiring users to consult specific hardware documentation or the utility's built-in help (`-h`).

AVAILABILITY

Because bccmd is not standard, it typically needs to be obtained from Broadcom's official driver packages, system vendor support sites (e.g., Dell, HP for server NICs), or sometimes it's bundled within the kernel module source for specific Broadcom drivers. It is not usually found in standard distribution repositories.

DRIVER CONTEXT

On Linux systems, bccmd often works in conjunction with Broadcom kernel modules like `tg3` (for Broadcom Tigon3 Gigabit Ethernet controllers) or `bnx2` (for Broadcom NetXtreme II 10/100/1000/10000 Mbit Ethernet controllers). These modules provide the necessary interface for bccmd to interact with the underlying hardware.

HISTORY

The development and usage of `bccmd` are inextricably linked to Broadcom Corporation's long history in producing Ethernet controllers and other networking silicon. As Broadcom NICs became prevalent in servers and workstations, specialized tools were developed to manage their hardware-specific features, including firmware updates and diagnostics, which are not covered by generic network utilities like `ethtool`. Thus, `bccmd` evolved as an internal or driver-bundled utility to support these specific Broadcom hardware functionalities, often provided by kernel modules such as `tg3` or `bnx2` or through dedicated Broadcom utility packages.

SEE ALSO

ethtool(8), ip(8), ifconfig(8), firmware-update utilities (general class)

Copied to clipboard