Linux provides support for Bluetooth, and the core code is located in Net/bluetooth
1. Initialization
Mainly by Subsys_initcall call function Bt_init () to complete
Bt_init (), Bt_sysfs_init (), Sock_register (&bt_sock_family_ops), Hci_sock_init (), L2cap_init ()- > Sco_init ()
Bt_sock_family_ops contains the Bluetooth socket creation function bt_sock_create ()
Hci_sock_initl (), 2cap_init (), Sco_init () complete the initialization of the Hci/l2cap/sco type Transfer Protocol, respectively
After that, the Module_init function (down shows) initializes initialization of the RFCOMM/BNEP/CMTP/HIDP Type Transport protocol (AVDTP not implemented)
Rfcomm_init (), Bnep_init (), Cmtp_init (), Hidp_init ()
2. HCI section
HCI, host controller Interface, is an important part of the Bluetooth protocol stack, the corresponding specification is located in the core Version 4.1 of the parts E
HCI provides a unified command interface to the controller that communicates the host and module (Control), where it is more specific, as shown in