New Bluetooth
We're working on replacing the proprietary Palm bluetooth engine, etc. with BlueZ. Here is where you will find the progress. It is likely to be just scribble for a few weeks.
1. mv /usr/bin/PmBtStart /usr/bin/PmBtStart.old
2. ps aux | grep PmBt
3. kill -9 <PmBtStack PID>
4. The bluetooth stack and engine should be stopped, soon.
Palm modifications to pulseaudio to remove BlueZ support (not all listed yet):
<source lang="text"> -#### BlueZ support (optional) #### - -# Check whether --enable-bluez was given. -if test "${enable_bluez+set}" = set; then - enableval=$enable_bluez; - case "${enableval}" in - yes) bluez=yes ;; - no) bluez=no ;; - *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --disable-bluez" >&5 -$as_echo "$as_me: error: bad value ${enableval} for --disable-bluez" >&2;} - { (exit 1); exit 1; }; } ;; - esac - -else - bluez=auto -fi - -if test "x${bluez}" != xno ; then - -pkg_failed=no -{ $as_echo "$as_me:$LINENO: checking for BLUEZ" >&5 -$as_echo_n "checking for BLUEZ... " >&6; } - -if test -n "$PKG_CONFIG"; then - if test -n "$BLUEZ_CFLAGS"; then - pkg_cv_BLUEZ_CFLAGS="$BLUEZ_CFLAGS" - else - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \" bluez >= 3.0 \"") >&5 - ($PKG_CONFIG --exists --print-errors " bluez >= 3.0 ") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_BLUEZ_CFLAGS=`$PKG_CONFIG --cflags " bluez >= 3.0 " 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi -if test -n "$PKG_CONFIG"; then - if test -n "$BLUEZ_LIBS"; then - pkg_cv_BLUEZ_LIBS="$BLUEZ_LIBS" - else - if test -n "$PKG_CONFIG" && \ - { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \" bluez >= 3.0 \"") >&5 - ($PKG_CONFIG --exists --print-errors " bluez >= 3.0 ") 2>&5 - ac_status=$? - $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; then - pkg_cv_BLUEZ_LIBS=`$PKG_CONFIG --libs " bluez >= 3.0 " 2>/dev/null` -else - pkg_failed=yes -fi - fi -else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - BLUEZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors " bluez >= 3.0 "` - else - BLUEZ_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors " bluez >= 3.0 "` - fi - # Put the nasty error message in config.log where it belongs - echo "$BLUEZ_PKG_ERRORS" >&5 - - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } - - HAVE_BLUEZ=0 - if test "x$bluez" = xyes ; then - { { $as_echo "$as_me:$LINENO: error: *** BLUEZ support not found" >&5 -$as_echo "$as_me: error: *** BLUEZ support not found" >&2;} - { (exit 1); exit 1; }; } - fi - -elif test $pkg_failed = untried; then - - HAVE_BLUEZ=0 - if test "x$bluez" = xyes ; then - { { $as_echo "$as_me:$LINENO: error: *** BLUEZ support not found" >&5 -$as_echo "$as_me: error: *** BLUEZ support not found" >&2;} - { (exit 1); exit 1; }; } - fi - -else - BLUEZ_CFLAGS=$pkg_cv_BLUEZ_CFLAGS - BLUEZ_LIBS=$pkg_cv_BLUEZ_LIBS - { $as_echo "$as_me:$LINENO: result: yes" >&5 -$as_echo "yes" >&6; } - HAVE_BLUEZ=1 -fi -else - HAVE_BLUEZ=0 -fi - - - - - if test "x$HAVE_BLUEZ" = x1; then - HAVE_BLUEZ_TRUE= - HAVE_BLUEZ_FALSE='#' -else - HAVE_BLUEZ_TRUE='#' - HAVE_BLUEZ_FALSE= -fi </source>
Not that it's anything to do with BlueZ... This is what happens when PmBtEngine is started with the flag "-t" (Start with test functions enabled)
<source lang="text"> root@castle:/usr/bin# ./PmBtEngine -t Starting PmBtEngine daemon... (process:3626): Powerd-DEBUG: IdlerShm already exists... reusing
- (process:3626): DEBUG: _powerd_server_up connected was true (powerd is already running)
Initializing BtEngine components [PWR]: Initializing Power [ MEM ] Initializing [ MEM ] Initializing - list 0x40099dd0 [ MEM ] Starting [CFG]: BtConfigInit: Initializing BT configuration module [Core]: In PmBtEngineEventHandlerInitialize [Core]: BtEngineEventHandler created successfully [BSF]: calling init_pmalloc
- ERROR: PmBtOsLogInit: Logs are already initialized
[BSF]: calling init_sched [BSF]: calling init_bchs_msg_converter [BSF]: calling SPP_init_converter [BSF]: calling HFG_init_converter [BSF]: calling BSL_init_converter [BSF]: calling SC_init_converter [BSF]: calling CM_init_converter [BSF]: calling SD_init_converter [BSF]: calling AV_init_converter [BSF]: calling AVRCP_init_converter [BSF]: calling PAS_init_converter [BSF]: calling OPC_init_converter [BSF]: calling peer_register_converter [BSF]: calling peer_com_init sched: external send registered peer_com: connection to server established... peer_com: performing peer_com version 2 handshake... peer_com: server has replied to handshake, code 0x0001... [BSF]: SchedulerThreadFn: Sched started: CSR 16.3.9 [BSF]: Bluetooth--> init_test [BSF]: init_test: Signalling sched [BSF]: Bluetooth <== init_test [Core]: Find profile - unable to find profile 0xff02 [Core]: Successfully registered profile -- GAP [TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0 [Core]: Find profile - unable to find profile 0xff04 [Core]: Successfully registered profile -- BT Co-Existance Profile [COEX]: CoExProfMgrRegisterInit:CoEx Profile registration status 0x0 [COEX]: CoExProfMgrRegisterInit:CoEx Profile Set IPC Registration func, err= 0x0 [Core]: Find profile - unable to find profile 0x111f [Core]: Successfully registered profile -- hfp/hsp [HFG]: BtHfgProfMgrRegisterInit:HFG Profile registration status 0x0 [HFG]: BtHfgProfMgrRegisterInit:HFG Profile Set IPC Registration func, err= 0x0 [Core]: Find profile - unable to find profile 0x110d [Core]: Successfully registered profile -- a2dp [Core]: Find profile - unable to find profile 0x112f [Core]: Successfully registered profile -- pbap [Core]: Find profile - unable to find profile 0x1115 [Core]: Successfully registered profile -- pan [Core]: Find profile - unable to find profile 0x110e [Core]: Successfully registered profile -- avrcp [Core]: Find profile - unable to find profile 0xf001 [Core]: Successfully registered profile -- BT Test Mode [TM]: TmProfMgrRegisterInit:Tm Profile registration status 0x0 [Core]: Find profile - unable to find profile 0x1105 [Core]: Successfully registered profile -- opp [Core]: BtProfMgrStartupProfiles: Entered [Core]: Initializing profile GAP [Core]: Initializing profile BT Co-Existance Profile [Core]: Initializing profile hfp/hsp [BSF]: SC_SET_SECURITY_MODE_CFM: Status = 0x0 [Core]: Initializing profile a2dp [Core]: Initializing profile pbap [Core]: Initializing profile pan [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0x10
- ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03
[PAN]: PanActivate: Entered [Core]: Initializing profile avrcp [Core]: Initializing profile BT Test Mode [Core]: Initializing profile opp [OPP]: PmBtBsaifHandleOppPrim: Security mode successfully set [Core]: BtProfMgr: unhandled event Profile = avrcp event = 0x10
- ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03
[HFG]: Battery Level Change 5 [BSF]: ####### default in CmPrim handler 0x8035, [COEX]: CoExIpcInit: Initializing [HFG] PmBtMsgHfgInit: Initializing [Core]: BtProfMgr: unhandled event Profile = pan event = 0x10
- ERROR:[IPC]: PmBtMsgLunaSendNotification: Cannot find Category for given profile uuid=0xff03
[PAN]: PanStatusHandler: PAN activated [A2DP]: PmBtMsgA2dpInit: Initializing [AVRCP]: PmBtMsgAvrcpInit: Initializing [OPP]: PmBtMsgOppInit: Initializing [COEX] PmBtWifiStatusNotification: 1 [HFG] PmBtTelephonySrvCallback: 1 [HFG] Querying for current calls [HFG] PmBtAudioSrvCallback: 1 [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"requested","scenario":"phone_front_speaker","volume":50,"active":false,"ringer switch":true,"muted":false,"slider":true,"subscribed":true} [HFG]: PmBtVoiceStatusNotification: {"returnValue":true,"action":"requested","scenario":"voice_dialing_front_speaker","volume":50,"active":false,"ringer switch":true,"muted":false,"slider":true,"subscribed":true} [HFG]: PmBtCallStatusNotification: {"returnValue":true,"errorText":"","errorCode":0} [HFG]: PmBtPowerStatusNotification: Failed to find string response [HFG]: Operator is Sprint [PHONEBOOK]: PmBtContactsStatusCallback: 0 [HFG]: PbMonitor Started [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"requested","scenario":"media_back_speaker","volume":50,"active":true,"ringer switch":true,"muted":false,"slider":true,"subscribed":true} [COEX] WifiDisabled [HFG]: PmBtCallStatusNotification: {"returnValue":true,"errorText":"","errorCode":0} [HFG]: PmBtPowerStatusNotification: Failed to find string response [HFG] QueryPlatformCallback: {"returnValue":true,"extended":{"meid":"HI,THERE","platformType":"cdma"}} [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"requested","scenario":"phone_front_speaker","volume":50,"active":false,"ringer switch":true,"muted":false,"slider":true,"subscribed":true} [HFG]: PmBtVoiceStatusNotification: {"returnValue":true,"action":"requested","scenario":"voice_dialing_front_speaker","volume":50,"active":false,"ringer switch":true,"muted":false,"slider":true,"subscribed":true}
- (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg
[HFG] PhoneNumberCallback: {"returnValue":true,"errorCode":0,"extended":{"number":"1112223456"},"subscribed":false} [HFG] IMSICallback: {"returnValue":false,"errorText":"Carrier network returned failure","errorCode":102} [HFG] QueryPlatformCallback: {"returnValue":true,"extended":{"meid":"HI,THERE","platformType":"cdma"}} [HFG] PhoneNumberCallback: {"returnValue":true,"errorCode":0,"extended":{"number":"1112223456"},"subscribed":false} [HFG] IMSICallback: {"returnValue":false,"errorText":"Carrier network returned failure","errorCode":102} [HFG]:GetCurrentNetType - failed to find type [HFG]: SendSignalStrength - couldn't find network type [COEX]: CoExEventHandler [COEX]: Enabling all BT channels for use [BSF]: Setting afh channel map [HFG]:GetCurrentNetType - failed to find type [HFG]: SendSignalStrength - couldn't find network type [HFG]:GetCurrentNetType - failed to find type [HFG]: SendSignalStrength - couldn't find network type [HFG]: Network Status Indication: [HFG]: Network Name: Sprint [HFG]: Indicator Service: 0x1 [HFG]: Indicator Roaming: 0x0 [HFG]:GetCurrentNetType - failed to find type [HFG]: SendSignalStrength - couldn't find network type [HFG]: IMSI Setting [HFG]: Data Status Indication: [HFG]: Command assigning subscriber info: 1112223456 129 [BSF]:CM_SET_AFH_CHANNEL_CLASS_CFM [HFG]: IMSI Setting [HFG]: Data Status Indication: [HFG]: HFG already activated [HFG]: Command assigning subscriber info: 1112223456 129 [HFG]: PbMonitor Ended [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [Core]: BtProfMgrCallAllProfEventHandlers: Entered
- ERROR:[GAP]: Gap Event 0x3 Not Found
[COEX]: CoExEventHandler [Core]: BtProfMgr: profile a2dp associate req [CFG]: BtConfigFindProfile: found profile 0x110d [Core]: BtProfMgr: profile a2dp Connect req [Core]: BtProfMgr: profile hfp/hsp associate req [HFG]: HfgAssociate [CFG]: BtConfigFindProfile: found profile 0x111f [Core]: BtProfMgr: profile hfp/hsp Connect req [HFG]: HfgConnect [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xb [Core]: BtProfMgr: profile a2dp Connecting [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0xb [Core]: BtProfMgr: profile hfp/hsp Connecting [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xa [Core]: BtProfMgr: profile a2dp Connected, error=0x11b [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xa [Core]: BtProfMgr: profile a2dp Connected, error=0x0 [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"enabled","scenario":"media_a2dp"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"media_a2dp","volume":89,"active":true,"ringer switch":true,"muted":false,"slider":true} [AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0 [Core]: BtProfMgr: unhandled event Profile = avrcp event = 0xa [Core]: BtProfMgr: profile avrcp Connected, error=0x0 [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [A2DP]: Received Media Play Event in invalid state, 8 [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"maxVolume"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":89,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":78,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":67,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":56,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":45,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":34,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":23,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":12,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":0,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":0,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"minVolume"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":0,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"minVolume"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":11,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":22,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":33,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":44,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":55,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":66,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":77,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":88,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"maxVolume"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":89,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":78,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":67,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":56,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":45,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":34,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":23,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":12,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":0,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":0,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"minVolume"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":0,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"minVolume"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":11,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":22,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":33,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":44,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":55,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":66,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":77,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":88,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["volume"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":true} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["event"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":true,"event":"maxVolume"} [HFG]: Operator is Sprint [HFG]: Network Status Indication: [HFG]: Network Name: Sprint [HFG]: Indicator Service: 0x1 [HFG]: Indicator Roaming: 0x0 [HFG]: Operator is Sprint [HFG]: Network Status Indication: [HFG]: Network Name: Sprint [HFG]: Indicator Service: 0x1 [HFG]: Indicator Roaming: 0x0 [HFG]: Operator is Sprint [HFG]: Network Status Indication: [HFG]: Network Name: Sprint [HFG]: Indicator Service: 0x1 [HFG]: Indicator Roaming: 0x0 [HFG]: Operator is Sprint [HFG]: Network Status Indication: [HFG]: Network Name: Sprint [HFG]: Indicator Service: 0x1 [HFG]: Indicator Roaming: 0x0
</source>
This is what happens when PmBtEngine is started:
<source lang="text">
[SIG]: Received SIGINT, Stopping BT Engine [SIG]: Received Signal to stop, Stopping BT Engine Tearing down components [Core]: Shutting down profile GAP [Core]: Shutting down profile BT Co-Existance Profile [Core]: Shutting down profile hfp/hsp [HFG]: HfgDisconnect [HFG]: HfgDisconnect [HFG]: Canceling connection request [HFG]: Canceling connection request [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0xc [Core]: BtProfMgr: profile hfp/hsp Disconnecting [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0xc [Core]: BtProfMgr: profile hfp/hsp Disconnecting
- ERROR:[HFG]: HfgShutdown: Error in waiting to disconnect Hfg
[HFG]: Waiting for deactivation [HFG]: Deactivated [Core]: Shutting down profile a2dp [A2DP]: Rx Events : 48299 [A2DP]: Rx maxPollCount : 27495 [A2DP]: Rx notStreaming : 1 [A2DP]: Rx pollFailed : 0 [A2DP]: Rx dataOverrun : 0 [A2DP]: Rx shortRead : 0 [A2DP]: Rx readFail : 0 [A2DP]: Rx writeSuccess : 0 [A2DP]: Rx writeFail : 0 [A2DP]: Tx Events : 48299 [A2DP]: Tx dataReady : 48299 [A2DP]: Tx dataNotReady : 0 [A2DP]: Tx dataSent : 48299 [A2DP]: Tx dataNotStreaming : 0 [A2DP]: Tx encodeFail : 0 [A2DP]: Tx pollFailed : 0 [A2DP]: Tx pollSucces : 48299 [A2DP]: Exiting PmBtA2dpEncodeAudio ..... [A2DP]: A2dpShutdown: Waiting to deactivate [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xc [Core]: BtProfMgr: profile a2dp Disconnecting [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xc [Core]: BtProfMgr: profile a2dp Disconnecting [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0x9 [Core]: BtProfMgr: profile a2dp BtProfDisConnected [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0x11 [Core]: BtProfMgr: profile a2dp Deactivated [Core]: Shutting down profile pbap [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0x9 [Core]: BtProfMgr: profile a2dp BtProfDisConnected [AVRCP]: *** AVRCP_DISCONNECT_IND: **** [Core]: BtProfMgr: unhandled event Profile = avrcp event = 0x9 [Core]: BtProfMgr: profile avrcp BtProfDisConnected
- ERROR:[PBAP]: PbapWaitForDeactivate: Error in waiting to deactivate PBAP
[Core]: Shutting down profile pan [PAN]: PanShutdown: Waiting to deactivate [Core]: BtProfMgr: unhandled event Profile = pan event = 0x11 [Core]: BtProfMgr: profile pan Deactivated [PAN]: PanStatusHandler: PAN deactivated
- (process:3626): DEBUG: Registered object path: Client com.palm.netcfg /com/palm/netcfg
[Core]: Shutting down profile avrcp [Core]: Shutting down profile BT Test Mode [Core]: Shutting down profile opp [BSF]:sched_task_deinit [BSF]: SchedulerThreadFn: Sched is closed [BSF]: Bluetooth--> deinit_test [BSF]:peer_com_deinit peer_com: rx-thread cancel error [BSF]:deinit_sched [BSF]:deinit_pmalloc
- ERROR:[STACK]: OUTSTANDING MEMORY ALLOCS IN STACK************
- ERROR:[STACK]: maxAllocatedMemory=5543 bytes
- ERROR:[STACK]: maxNumberOfConcurrentAllocations=90
- ERROR:[STACK]: Memory allocated:
- ERROR:[STACK]: 00 - (null) : 0 bytes
- ERROR:[STACK]: 01 - (null) : 0 bytes
- ERROR:[STACK]: 02 - (null) : 0 bytes
- ERROR:[STACK]: 03 - (null) : 0 bytes
- ERROR:[STACK]: 04 - (null) : 0 bytes
- ERROR:[STACK]: Memory: task id=5, serialize_sd_prim.c, Deserialize_SdUnregisterServiceRecordCfm, 1123, 0xeae80, size=8
- ERROR:[STACK]: Memory: task id=5, sched/sched.c, do_put_message, 682, 0xe6ee0, size=16
- ERROR:[STACK]: 05 - (null) : 24 bytes
- ERROR:[STACK]: 06 - (null) : 0 bytes
- ERROR:[STACK]: 07 - (null) : 0 bytes
- ERROR:[STACK]: 08 - (null) : 0 bytes
- ERROR:[STACK]: 09 - (null) : 0 bytes
- ERROR:[STACK]: 10 - (null) : 0 bytes
- ERROR:[STACK]: 11 - (null) : 0 bytes
- ERROR:[STACK]: 12 - (null) : 0 bytes
- ERROR:[STACK]: 13 - (null) : 0 bytes
- ERROR:[STACK]: 14 - (null) : 0 bytes
- ERROR:[STACK]: 15 - (null) : 0 bytes
- ERROR:[STACK]: 16 - (null) : 0 bytes
- ERROR:[STACK]: 17 - (null) : 0 bytes
- ERROR:[STACK]: 18 - (null) : 0 bytes
- ERROR:[STACK]: 19 - (null) : 0 bytes
- ERROR:[STACK]: 20 - (null) : 0 bytes
- ERROR:[STACK]: 21 - (null) : 0 bytes
- ERROR:[STACK]: 22 - (null) : 0 bytes
- ERROR:[STACK]: 23 - (null) : 0 bytes
- ERROR:[STACK]: 24 - (null) : 0 bytes
- ERROR:[STACK]: 25 - (null) : 0 bytes
- ERROR:[STACK]: 26 - (null) : 0 bytes
- ERROR:[STACK]: 27 - (null) : 0 bytes
- ERROR:[STACK]: 28 - (null) : 0 bytes
- ERROR:[STACK]: 29 - (null) : 0 bytes
- ERROR:[STACK]: 30 - (null) : 0 bytes
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf400, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4f8, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdb980, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb10, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdeb20, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbe98, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbea8, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdbeb8, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4d8, size=12
- ERROR:[STACK]: Memory: task id=65535, bchs_msg_conv.c, coal_msg_profile_insert, 131, 0xdf4e8, size=12
- ERROR:[STACK]: ** - ENVIRONMENT : 120 bytes
- ERROR:*******************************144
</source>
This is what happens when you disable and re-enable a bluetooth headset:
<source lang="text">
[Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=GAP [Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=BT Co-Existance Profile [Core]: BtProfMgrGetConnectedDev: GetConnectedDev function not implemented, profile=BT Test Mode [Core]: BtProfMgr: profile hfp/hsp Disconnect req [HFG]: HfgDisconnect [HFG]: Disconnecting HFG [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0xc [Core]: BtProfMgr: profile hfp/hsp Disconnecting [Core]: BtProfMgr: profile a2dp Disconnect req [A2DP]: Rx Events : 19377 [A2DP]: Rx maxPollCount : 8 [A2DP]: Rx notStreaming : 1 [A2DP]: Rx pollFailed : 0 [A2DP]: Rx dataOverrun : 0 [A2DP]: Rx shortRead : 0 [A2DP]: Rx readFail : 0 [A2DP]: Rx writeSuccess : 0 [A2DP]: Rx writeFail : 0 [A2DP]: Tx Events : 19377 [A2DP]: Tx dataReady : 19377 [A2DP]: Tx dataNotReady : 0 [A2DP]: Tx dataSent : 19377 [A2DP]: Tx dataNotStreaming : 0 [A2DP]: Tx encodeFail : 0 [A2DP]: Tx pollFailed : 0 [A2DP]: Tx pollSucces : 19377 [A2DP]: Exiting PmBtA2dpEncodeAudio ..... [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xc [Core]: BtProfMgr: profile a2dp Disconnecting [HFG]: HandleHfgPrim: HFG_DISCONNECT_IND set disconnected 0x0 [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0x9 [Core]: BtProfMgr: profile hfp/hsp BtProfDisConnected [HFG]: BtHfgStackDisconnectInd: [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"phone_front_speaker","volume":50,"active":false,"ringer switch":true,"muted":false,"slider":false} [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"phone_front_speaker","volume":50,"active":false,"ringer switch":true,"muted":false,"slider":false} [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"disabled","scenario":"phone_bluetooth_sco"} [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"disabled","scenario":"phone_bluetooth_sco"} [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0x9 [Core]: BtProfMgr: profile a2dp BtProfDisConnected [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"media_back_speaker","volume":50,"active":true,"ringer switch":true,"muted":false,"slider":false} [AVRCP]: *** AVRCP_DISCONNECT_IND: **** [Core]: BtProfMgr: unhandled event Profile = avrcp event = 0x9 [Core]: BtProfMgr: profile avrcp BtProfDisConnected [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"disabled","scenario":"media_a2dp"} [Core]: BtProfMgr: profile hfp/hsp associate req [HFG]: HfgAssociate [CFG]: BtConfigFindProfile: found profile 0x111f [Core]: BtProfMgr: profile hfp/hsp Connect req [HFG]: HfgConnect [Core]: BtProfMgr: profile a2dp associate req [CFG]: BtConfigFindProfile: found profile 0x110d [Core]: BtProfMgr: profile a2dp Connect req [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0xb [Core]: BtProfMgr: profile hfp/hsp Connecting [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xb [Core]: BtProfMgr: profile a2dp Connecting [Core]: BtProfMgr: unhandled event Profile = a2dp event = 0xa [Core]: BtProfMgr: profile a2dp Connected, error=0x0 [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"enabled","scenario":"media_a2dp"} [A2DP]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"media_a2dp","volume":100,"active":true,"ringer switch":true,"muted":false,"slider":false} [HFG]: HandleHfgPrim: HFG_SUPPORTED_FEATURES_IND: 0x18 [HFG]: Remote Device Supports - Voice Recognition [HFG]: Remote Device Supports - Remote Volume Control [HFG]: HFG_SERVICE_CONNECT_IND set connected 0x0 [Core]: BtProfMgr: unhandled event Profile = hfp/hsp event = 0xa [Core]: BtProfMgr: profile hfp/hsp Connected, error=0x0 [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"enabled","scenario":"phone_bluetooth_sco"} [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"enabled","scenario":"phone_bluetooth_sco"} [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"phone_bluetooth_sco","volume":51,"active":false,"ringer switch":true,"muted":false,"slider":false} [HFG]: HandleVolumeChange: volume 51 [HFG]: PmBtAudioStatusNotification: {"returnValue":true,"action":"changed","changed":["scenario","volume"],"scenario":"phone_bluetooth_sco","volume":51,"active":false,"ringer switch":true,"muted":false,"slider":false} [HFG]: HandleVolumeChange: volume 51 [HFG]: BtHfgConnectingIndHandler [HFG]: Connected to AA:BB:CC:DD:EE:FF [HFG]: Passing Noise Reduction to telephony: {"carkit":false,"echocancellation":true} [HFG]: Indicator Service: 0x1 [HFG]: Indicator Roaming: 0x0 [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [HFG]: ESCO Support enabled [HFG]: BtHfgConnectingIndHandler - no calls [HFG]: Sco routing request [HFG]: push audio to HFG [HFG]: Adjust Speaker Volume Cmd: 8 [HFG]: Setting Speaker Volume: 0x8 [HFG]: Sco routing request [HFG]: push audio to HFG [HFG]: Adjust Speaker Volume Cmd: 8 [HFG]: Setting Speaker Volume: 0x8 [AVRCP]: *** AVRCP_CONNECT_IND: **** , conn id=0 [Core]: BtProfMgr: unhandled event Profile = avrcp event = 0xa [Core]: BtProfMgr: profile avrcp Connected, error=0x0 [Core]: BtProfMgrGetConnState: GetConnState function not implemented, profile=GAP [HFG]: HFG_SPEAKER_GAIN_IND [HFG]: BtHfgStackSpeakerGainIndHandler: 8 [HFG]: passing kBtStackSpeakerGainInd on to Prim [HFG]: HFG_STATUS_IND [HFG]: HFG_STATUS_IND </source>