HCCONTROL(8)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ¦‹ HCCONTROL(8) πŸ¦‹

Okay so you opened the System Manager's Manual page for hccontrol(8) β€” the Bluetooth HCI configuration utility β€” and bestie, it's giving β€œdirect line to your Bluetooth controller.” Let's break it down. πŸ’–

✨ NAME ✨

hccontrol β€” Bluetooth HCI configuration utility

πŸŽ€ SYNOPSIS πŸŽ€

hccontrol [-hN] [-n HCI_node_name] command [parameters ...]

πŸ’… DESCRIPTION πŸ’…

The hccontrol utility connects to the specified Netgraph node of type HCI β€” or the first one found if none is specified β€” and attempts to send the specified command to the HCI Netgraph node or to the associated Bluetooth device. It prints results to standard output and error messages to standard error. That's the whole vibe. ✨

The options are as follows:

  • -h β€” display usage message and exit. 🫢
  • -N β€” show Bluetooth addresses as numbers. Normally hccontrol attempts to resolve Bluetooth addresses, and display them symbolically. So -N is the β€œno name games, just numbers” flag.
  • -n HCI_node_name β€” connect to the specified HCI Netgraph node. πŸŽ€
  • command β€” one of the supported commands (see below). The special command help can be used to obtain the list of all supported commands. To get more information about a specific command use help command. πŸ‘‘
  • parameters β€” one or more optional space separated command parameters. Many commands require a remote device address as one of the parameters. The remote device address can be specified as BD_ADDR or a name. If a name was specified then the hccontrol utility will attempt to resolve the name via bt_gethostbyname(3). 🌈

πŸ”₯ COMMANDS πŸ”₯

The currently supported HCI commands in hccontrol are:

  • Inquiry
  • Create_Connection
  • Disconnect
  • Add_SCO_Connection
  • Change_Connection_Packet_Type
  • Remote_Name_Request
  • Read_Remote_Supported_Features
  • Read_Remote_Version_Information
  • Read_Clock_Offset
  • Role_Discovery
  • Switch_Role
  • Read_Link_Policy_Settings
  • Write_Link_Policy_Settings
  • Reset
  • Read_Pin_Type
  • Write_Pin_Type
  • Read_Stored_Link_Key
  • Write_Stored_Link_Key
  • Delete_Stored_Link_Key
  • Change_Local_Name
  • Read_Local_Name
  • Read_Connection_Accept_Timeout
  • Write_Connection_Accept_Timeout
  • Read_Page_Timeout
  • Write_Page_Timeout
  • Read_Scan_Enable
  • Write_Scan_Enable
  • Read_Page_Scan_Activity
  • Write_Page_Scan_Activity
  • Read_Inquiry_Scan_Activity
  • Write_Inquiry_Scan_Activity
  • Read_Authentication_Enable
  • Write_Authentication_Enable
  • Read_Encryption_Mode
  • Write_Encryption_Mode
  • Read_Class_Of_Device
  • Write_Class_Of_Device
  • Read_Voice_Settings
  • Write_Voice_Settings
  • Read_Number_Broadcast_Retransmissions
  • Write_Number_Broadcast_Retransmissions
  • Read_Hold_Mode_Activity
  • Write_Hold_Mode_Activity
  • Read_SCO_Flow_Control_Enable
  • Write_SCO_Flow_Control_Enable
  • Read_Link_Supervision_Timeout
  • Write_Link_Supervision_Timeout
  • Read_Page_Scan_Period_Mode
  • Write_Page_Scan_Period_Mode
  • Read_Page_Scan_Mode
  • Write_Page_Scan_Mode
  • Read_LE_Host_Support
  • Write_LE_Host_Support
  • Read_Local_Version_Information
  • Read_Local_Supported_Commands
  • Read_Local_Supported_Features
  • Read_Buffer_Size
  • Read_Country_Code
  • Read_BD_ADDR
  • Read_Failed_Contact_Counter
  • Reset_Failed_Contact_Counter
  • Get_Link_Quality
  • Read_RSSI
  • LE_Enable
  • LE_Read_Local_Supported_Features
  • LE_Set_Advertising_Parameters
  • LE_Read_Advertising_Physical_Channel_Tx_Power
  • LE_Set_Advertising_Data
  • LE_Set_Scan_Response_Data
  • LE_Set_Advertising_Enable
  • LE_Set_Scan_Parameters
  • LE_Set_Scan_Enable
  • LE_Read_Supported_States
  • LE_Read_Buffer_Size
  • LE_Scan
  • LE_Read_White_List_Size
  • LE_Clear_White_List
  • LE_Add_Device_To_White_List
  • LE_Remove_Device_From_White_List
  • LE_Connect
  • LE_Read_Channel_Map
  • LE_Read_Remote_Features
  • LE_Rand

The currently supported node commands in hccontrol are:

  • Read_Node_State
  • Initialize
  • Read_Debug_Level
  • Write_Debug_Level
  • Read_Node_Buffer_Size
  • Read_Node_BD_ADDR
  • Read_Node_Features
  • Read_Node_Stat
  • Reset_Node_Stat
  • Flush_Neighbor_Cache
  • Read_Neighbor_Cache
  • Read_Connection_List
  • Read_Node_Link_Policy_Settings_Mask
  • Write_Node_Link_Policy_Settings_Mask
  • Read_Node_Packet_Mask
  • Write_Node_Packet_Mask
  • Read_Node_Role_Switch
  • Write_Node_Role_Switch
  • Read_Node_List

🌸 EXIT STATUS 🌸

The hccontrol utility exits 0 on success, and >0 if an error occurs. So 0 is the slay outcome, and anything >0 means something went off. πŸ’€

🧚 EXAMPLES 🧚

Make the blutooth LE host, ubt0hci, scannable through hccontrol(8) commands:

hccontrol -n ubt0hci le_set_advertising_enable disable
hccontrol -n ubt0hci le_set_advertising_param
hccontrol -n ubt0hci le_read_advertising_channel_tx_power
hccontrol -n ubt0hci le_set_advertising_data
hccontrol -n ubt0hci le_set_scan_response -n FBSD_Host
hccontrol -n ubt0hci le_set_advertising_enable enable

πŸ’œ SEE ALSO πŸ’œ

πŸ‘‘ AUTHORS πŸ‘‘

Maksim Yevmenkin <m_evmenkin@yahoo.com>

πŸ™ˆ BUGS πŸ™ˆ

Most likely. πŸ’€ Please report if found.


This page is from Debian, dated May 3, 2020, and it's section HCCONTROL(8) β€” bye bestie, go configure some Bluetooth. πŸŽ€πŸ’œ

πŸ“¦ where this page comes from