About the "limited access to HCI" with the BT API, I would like to know if it is possible to manage a complete connection between the phone and a (slave) remote device implementing only the HCI layer. This is to send and receive few ACL packet using the HCI commands and events. I know that there are only a limited set of HCI API: are they enough to open a connection with a remote slave, send some byte of request and receive few bytes of response? Or it's necessary implementing the profiles (Generic Access and Serial Port) on the remote device?
Running the "discovering devices" service of the standard menu in the phone, make the "HCI controlled" remote device accept the connection and waiting for a ACL or SCO packet: I think this is done on the phone without using the HCI command (for example, Inquiry command). So, can I use mixed API on the phone (HCI layer or upper layers) to avoid to run all the stack on the remote device?
Please have a look at the Bluetooth HCI example in the Series 60 SDK v1.0. The APIs for HCI provide methods for accessing local Bluetooth device features. For connections with remote devices, L2CAP or RFCOMM level APIs have to be used.