LegacyXperia / local_manifests

Local manifest for building CyanogenMod for Xperia 2011 devices
legacyxperia.github.io
122 stars 78 forks source link

FM Radio not working #155

Closed mikeNG closed 6 months ago

mikeNG commented 10 years ago

Reference: http://omappedia.org/wiki/Wilink_ST http://omappedia.org/wiki/Wilink_FMRadio http://www.omappedia.com/wiki/ST_migration http://www.omappedia.org/wiki/TI%27s_V4L2_based_FM_driver_Test_Procedure

http://review.cyanogenmod.org/#/c/34989/

http://forum.xda-developers.com/showthread.php?t=2047427&page=6 http://forum.xda-developers.com/showthread.php?t=1059296

Firmwares: https://github.com/richi-chen/device_ti_richi-panda_jb/tree/master/proprietary-open/bt/omap4/system/etc/firmware

http://omapzoom.org/?p=kernel/omap.git;a=history;f=drivers/media/radio/wl128x;hb=p-android-omap-3.4

The app detects stations too but no sound. We need to fix audio routing. Previous SEMC routing doesn't work.

http://omapzoom.org/?p=device/ti/common-open.git;a=history;f=audio;hb=refs/heads/d-jb-mr1-release

OMAP's audio HAL, maybe we can use some code for our audio routing

pcfighter commented 6 months ago I studied fm service code, and I think problem in audio routing is due to not properly / not configured ALSA. in

https://github.com/LegacyXperia/android_hardware_ti_wpan/blob/116a928680dd5a16b35da4aaa6ba35f78f760fcc/tools/FM/service/src/jni/JFmRxNative.h

we have

define DEFAULT_FM_ALSA_CARD "hw:CARD=0"

definition. I figured out using Alsa Mixer app from marked, that we have (in ALSA naming) "msmaudio" card. I changed in header alsa card, maybe it will fix routing ...

EDIT: damn, still no luck xd but, maybe we are closer than far

ilie321 commented 10 years ago

hey i worked a lot for fm still not done on xda i have an app that use tinymix and record audio in variant to make radio working look what my phone lg p920 (omap4 + wl12xx) says about fm if i dont change anything from ti fmrxapp : the send of intent ti.android.intent.action.FMRx_PLUG seams to trigger routing but something is wrong on the way ---- 02.12.2013 20:42:13 ----

edit i give 777 permission to /dev/snd/pcmC0D0p and /dev/snd/pcmC0D1c still nothing (is normal D0p and D1c?) anyone can understand "AudioPolicyService: AudioCommandThread() parametersCommand timeout!!" from my log?

--------- beginning of /dev/log/system

12-02 20:41:49.968 1493 1507 D JFmRxNative:

12-02 20:41:49.968 1493 1507 D JFmRxNative: ***/dev/radio0

12-02 20:41:49.968 1493 1507 D JFmRxNative: Driver : ti_fmdrv

12-02 20:41:49.968 1493 1507 D JFmRxNative: Card : TI FM Radio

12-02 20:41:49.968 1493 1507 D JFmRxNative: Bus : UART

12-02 20:41:49.968 1493 1507 D JFmRxNative: Capabilities : 0x10f0500

12-02 20:41:49.968 1493 1507 D JFmRxNative: nativeJFmRx_create:Exiting Successfully

12-02 20:41:50.054 1493 1507 D JFmRx : After nativeJFmRx_Create, status = SUCCESS, Context = -1

12-02 20:41:50.054 1493 1507 I StubFmService: FmRxEnable: FmRx create returned SUCCESS

12-02 20:41:50.054 1493 1507 D JFmRxNative: nativeJFmRx_enable(): Entered

12-02 20:41:50.109 1493 1507 D JFmRxNative: nativeJFmRx_enable: FM_RX_Enable() returned 0

12-02 20:41:50.109 1493 1507 I JFmRxNative: nativeJFmRx_Callback: Entered,

12-02 20:41:50.109 1493 1507 I StubFmService: StubFmService:fmRxCmdEnable

12-02 20:41:50.109 1493 1507 D StubFmService: fmRxCmdEnable ( command: , status: , value: )0SUCCESS0

12-02 20:41:50.109 1493 1507 D StubFmService: FM RX powered on mRxState 0

12-02 20:41:50.109 1493 1507 D StubFmService: StubFmService:sending intent FM_ENABLED_ACTION

12-02 20:41:50.109 497 511 D AudioService: AudioServiceBroadcastReceiver onReceive - ti.android.intent.action.FMRx_PLUG

12-02 20:41:50.109 497 511 I AudioService: Broadcast Receiver: Got ACTION_FMRx_PLUG, state =1

12-02 20:41:50.109 167 1234 D AudioPolicyService: [AUDIO_FWK]::setDeviceConnectionState() setDeviceConnectionState() tid 1234

12-02 20:41:50.109 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setDeviceConnectionState() setDeviceConnectionState() device: 2000000, state 1, address

12-02 20:41:50.109 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::getFMInput() getFMInput() inputSource 8, samplingRate 48000, format 1, channels c, acoustics 7

12-02 20:41:50.109 167 1234 V audio_hw_primary: adev_get_supported_devices(0x599da0)

12-02 20:41:50.109 167 1234 V audio_hw_primary: adev_open_input_stream(0x599da0, 0x2000000, 1, 0x000c, 48000, 0x0007, 0x42d8baa0)

12-02 20:41:50.109 167 1234 D audio_hw_primary: adev_open_input_stream dev:0x2000000 rate:48000

12-02 20:41:50.109 167 1234 V audio_hw_primary: check_input_parameters(48000, 1, 2)

12-02 20:41:50.109 167 1234 D AudioFlinger: [AUDIO_FWK]::openInput() openInput() openInputStream returned input 0x742130, SamplingRate 48000, Format 1, Channels c, acoustics 7, status 0

12-02 20:41:50.109 167 1234 V audio_hw_primary: in_get_buffer_size(0x742130)

12-02 20:41:50.109 167 1234 V audio_hw_primary: get_input_buffer_size(48000, 1, 2)

12-02 20:41:50.109 167 1234 V audio_hw_primary: check_input_parameters(48000, 1, 2)

12-02 20:41:50.109 167 1234 D AudioFlinger: [AUDIO_FWK]::openInput() openInput() created record thread: ID 466 thread 0x6d0e18

12-02 20:41:50.109 167 1234 V audio_hw_primary: in_standby(0x742130)

12-02 20:41:50.109 167 1234 V audio_hw_primary: do_input_standby(0x742130) mode:0, devices:4

12-02 20:41:50.109 167 1234 V AudioPolicyService: inserting command: 3 at index 0, num commands 0

12-02 20:41:50.109 167 1234 V AudioPolicyService: AudioCommandThread() adding set parameter string fm_routing=33554432;input_source=8;routing=33554432, io 466 ,delay 0

12-02 20:41:50.109 167 481 V AudioPolicyService: AudioCommandThread() waking up

12-02 20:41:50.109 167 481 V AudioPolicyService: AudioCommandThread() processing set parameters string fm_routing=33554432;input_source=8;routing=33554432, io 466

12-02 20:41:50.109 167 481 V AudioFlinger: setParameters(): io 466, keyvalue fm_routing=33554432;input_source=8;routing=33554432, tid 481, calling tid 167

12-02 20:41:50.109 167 481 V AudioFlinger: ThreadBase::setParameters() fm_routing=33554432;input_source=8;routing=33554432

12-02 20:41:50.109 1493 1507 D StubFmService: Sending restore values intent

12-02 20:41:50.117 1493 1493 D StubFmService: mFmRxIntentReceiver--->fmRxActioncom.ti.server.fmrestorecmd

12-02 20:41:50.117 1493 1493 E StubFmService: FM_RESTORE_VALUES intent received

12-02 20:41:50.117 1493 1493 I StubFmService: no volume setting in intent

12-02 20:41:50.117 1493 1493 I StubFmService: Audio Manager mVolume 11

12-02 20:41:50.117 1493 1493 I StubFmService: mVolume 12014

12-02 20:41:50.117 1493 1493 I StubFmService: StubFmService:rxSetVolume 12014

12-02 20:41:50.117 1493 1493 D JFmRxNative: nativeJFmRx_SetVolume(): Entered

12-02 20:41:50.117 1493 1493 D JFmRxNative: nativeJFmRx_SetVolume():Setting volume to 12014

12-02 20:41:50.117 1493 1493 I JFmRxNative: nativeJFmRx_Callback: Entered,

12-02 20:41:50.117 1493 1493 D StubFmService: StubFmService:fmRxCmdDone JFmRxCommand.CMD_SET_VOLUME

12-02 20:41:50.117 1493 1493 D StubFmService: fmRxCmdSetVolume ( command: , status: , value: )14SUCCESS0

12-02 20:41:50.117 1493 1493 D StubFmService: StubFmService:sending intent VOLUME_CHANGED_ACTION

12-02 20:41:50.125 1493 1507 D JFmRxNative: nativeJFmRx_Callback: Exiting, Calling DetachCurrentThread at the END

12-02 20:41:50.125 1493 1507 D JFmRxNative: nativeJFmRx_enable(): Exit

12-02 20:41:50.125 1493 1507 D JFmRx : After nativeJFmRx_Enable, status = SUCCESS

12-02 20:41:50.125 1493 1507 I StubFmService: mJFmRx.enable returned status SUCCESS

12-02 20:41:50.125 1493 1507 D StubFmService: FM RX powered on mRxState 0

12-02 20:41:50.125 1493 1507 D StubFmService: StubFmService:sending intent FM_ENABLED_ACTION

12-02 20:41:50.133 1493 1507 E StubFmService: Wake lock is already held

12-02 20:41:50.133 167 7950 D AudioFlinger: [AUDIO_FWK]::registerClient() registerClient() client 0x601050, pid 1479

12-02 20:41:50.133 167 7950 V AudioFlinger: sendConfigEvent() num events 1 event 0, param 0

12-02 20:41:50.133 167 482 D AudioFlinger: [AUDIO_FWK]::threadLoop() MixerThread 0x5a0618 TID 482 waking up

12-02 20:41:50.140 167 482 D AudioFlinger: [AUDIO_FWK]::acquireWakeLock_l() acquireWakeLock_l() AudioOut_1 status 0

12-02 20:41:50.140 167 482 V AudioFlinger: processConfigEvents() remaining events 1

12-02 20:41:50.140 167 7950 V AudioFlinger: sendConfigEvent() num events 1 event 3, param 0

12-02 20:41:50.140 167 482 V AudioFlinger: PlaybackThread::audioConfigChanged_l, thread 0x5a0618, event 0, param 0

12-02 20:41:50.140 167 482 V audio_hw_primary: out_get_latency(0x5a0580)

12-02 20:41:50.140 167 167 V audio_hw_primary: adev_get_input_buffer_size(0x599da0, 48000, 1, 2)

12-02 20:41:50.140 167 167 V audio_hw_primary: check_input_parameters(48000, 1, 2)

12-02 20:41:50.140 167 167 V audio_hw_primary: get_input_buffer_size(48000, 1, 2)

12-02 20:41:50.140 167 167 V audio_hw_primary: check_input_parameters(48000, 1, 2)

12-02 20:41:50.140 167 484 D AudioPolicyService: [AUDIO_FWK]::getOutput() getOutput() tid 484

12-02 20:41:50.140 1493 1493 D JFmRxNative: nativeJFmRx_Callback: Exiting, Calling DetachCurrentThread at the END

12-02 20:41:50.140 1493 1493 D JFmRxNative: nativeJFmRx_SetVolume(): Exit

12-02 20:41:50.140 1493 1493 D JFmRx : After nativeJFmRx_SetVolume, status = PENDING

12-02 20:41:50.140 1493 1493 I StubFmService: mJFmRx.setVolume returned status PENDING

12-02 20:41:50.140 1493 1493 I StubFmService: send intent for UI updation

12-02 20:41:50.273 167 1519 D AudioFlinger: [AUDIO_FWK]::acquireWakeLock_l() acquireWakeLock_l() AudioIn_466 status 0

12-02 20:41:50.273 167 1519 V AudioFlinger: processConfigEvents() remaining events 1

12-02 20:41:50.273 167 1519 V audio_hw_primary: in_set_parameters(0x742130, fm_routing=33554432;input_source=8;routing=33554432)

12-02 20:41:50.273 167 1519 V audio_hw_primary: routing TX device:0x2000000

12-02 20:41:50.273 167 1519 V audio_hw_primary: do_input_standby(0x742130) mode:0, devices:4

12-02 20:41:50.273 167 1519 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec66c, 1)

12-02 20:41:50.273 167 1519 E TINYALSA: mixer_ctl_set_enum_by_string - TWL Codec Power - On

12-02 20:41:50.297 167 1519 D audio_hw_primary: in_set_paramter set ramp:1 + delay~~ done

12-02 20:41:50.297 167 1519 V audio_hw_primary: in_fm_routing(0x742130)

12-02 20:41:50.304 167 1519 V audio_hw_primary: start_input_stream(0x742130) [res:0x0, new_aux:0, need_er:0, ef:0x0]

12-02 20:41:50.304 167 1519 V audio_hw_primary: start_input_stream

12-02 20:41:50.304 167 1519 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec774, 0)

12-02 20:41:50.304 167 1519 E TINYALSA: mixer_ctl_set_value - Capture Mixer Voice Capture Value:0

12-02 20:41:50.304 167 1519 V audio_hw_primary: select_input_device(mode :0 , device: 2000004)

12-02 20:41:50.304 167 1519 V audio_hw_primary: select input device START

12-02 20:41:50.304 167 1519 V audio_hw_primary: select_input_device() Before sub_mic_on:[0], headset_on:[0], main_mic_on:[0]

12-02 20:41:50.304 167 1519 V audio_hw_primary: select_input_device() After sub_mic_on:[0], headset_on:[0], main_mic_on:[0]

12-02 20:41:50.304 167 1519 V audio_hw_primary: select_input_device() active:1 ramp:1 bt_on:[0], fm_rx_on:[33554432]

12-02 20:41:50.304 167 1519 I audio_hw_primary: FM:Routing FM mixer settings dev[0x2000004](fm_rx:33554432, fm_en:0) in HAL

12-02 20:41:50.304 167 1519 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec744, 1)

12-02 20:41:50.304 167 1519 E TINYALSA: mixer_ctl_set_enum_by_string - MUX_UL10 - AMic1

12-02 20:41:50.312 167 1519 E TINYALSA: mixer_ctl_set_enum_by_string - MUX_UL11 - AMic0

12-02 20:41:50.312 167 1519 E TINYALSA: mixer_ctl_set_value - DL1 Capture Playback Volume Value:120

12-02 20:41:50.312 167 1519 E TINYALSA: mixer_ctl_set_value - DL1 Capture Playback Volume Value:0

12-02 20:41:50.312 167 1519 E TINYALSA: mixer_ctl_set_value - DL2 Capture Playback Volume Value:0

12-02 20:41:50.312 167 1519 E TINYALSA: mixer_ctl_set_enum_by_string - Analog Right Capture Route - Aux/FM Right

12-02 20:41:50.312 167 1519 E TINYALSA: mixer_ctl_set_enum_by_string - Analog Left Capture Route - Aux/FM Left

12-02 20:41:50.320 167 1519 V audio_hw_primary: set_input_volumes(0x599da0, 0, 0, 0) 7610672

12-02 20:41:50.320 167 1519 D audio_hw_gain: omap4_gain m:0, d:0x2000000, opt:0 -> omap4mode:0, _dev:4

12-02 20:41:50.320 167 1519 V audio_hw_primary: set_ul_eq_filter(0x599da0) model:10, mode:0, tty:0

12-02 20:41:50.320 167 1519 D audio_hw_primary: input_vol [m:10 mode:0, d:0x2000004] PRE_CAP:1, CAP:4 AMIC:114, DMIC:138

12-02 20:41:50.320 167 1519 E TINYALSA: mixer_ctl_set_value - Capture Preamplifier Volume Value:1

12-02 20:41:50.320 167 1519 E TINYALSA: mixer_ctl_set_value - Capture Preamplifier Volume Value:1

12-02 20:41:50.320 167 1519 E TINYALSA: mixer_ctl_set_value - Capture Volume Value:4

12-02 20:41:50.320 167 1519 E TINYALSA: mixer_ctl_set_value - Capture Volume Value:4

12-02 20:41:50.320 167 1519 E TINYALSA: mixer_ctl_set_value - AMIC UL Volume Value:114

12-02 20:41:50.320 167 1519 E TINYALSA: mixer_ctl_set_value - AMIC UL Volume Value:114

12-02 20:41:50.320 167 1519 V audio_hw_primary: start_input_stream(): config.period_size:[1920], config.period_count:[2]

12-02 20:41:50.320 167 1519 V audio_hw_primary: start_input_stream: PCM_OPEN

12-02 20:41:50.320 167 1519 I audio_hw_primary: HAL: FM Device opening ....

12-02 20:41:50.320 167 1519 E TINYPCM : pcm_open: /dev/snd/pcmC0D1c

12-02 20:41:50.328 167 1519 I audio_hw_primary: FM:FM capture path opened successfully!!

12-02 20:41:50.328 167 1519 I audio_hw_primary: FM:Triggering loopback for FM capture path

12-02 20:41:50.492 167 1234 D AudioPolicyService: AudioCommandThread() parametersCommand timeout!!

12-02 20:41:50.492 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setFmRadioOn() FM Radio Output Device = 4

12-02 20:41:50.492 167 1234 V AudioPolicyService: inserting command: 3 at index 0, num commands 0

12-02 20:41:50.492 167 1234 V AudioPolicyService: AudioCommandThread() adding set parameter string fm_routing=4, io 1 ,delay 0

12-02 20:41:50.492 167 481 V AudioPolicyService: AudioCommandThread() processing set parameters string fm_routing=4, io 1

12-02 20:41:50.492 167 481 V AudioFlinger: setParameters(): io 1, keyvalue fm_routing=4, tid 481, calling tid 167

12-02 20:41:50.492 167 481 V AudioFlinger: ThreadBase::setParameters() fm_routing=4

12-02 20:41:50.492 167 1519 V audio_hw_primary: in_standby(0x742130)

12-02 20:41:50.492 167 1519 V audio_hw_primary: do_input_standby(0x742130) mode:0, devices:2000004

12-02 20:41:50.492 167 1519 D AudioFlinger: [AUDIO_FWK]::releaseWakeLock_l() releaseWakeLock_l() AudioIn_466

12-02 20:41:50.492 167 1519 V AudioFlinger: RecordThread: loop stopping

12-02 20:41:50.508 167 482 V audio_hw_primary: out_set_parameters(0x5a0580, fm_routing=4)

12-02 20:41:50.508 167 482 I audio_hw_primary: HAL:FM routing value = 4

12-02 20:41:50.508 167 482 V audio_hw_primary: do_output_standby(0x5a0580) standby:1, fm_en:1

12-02 20:41:50.508 167 482 V audio_hw_primary: select_output_device(0x599da0) mode: 0 devices: 2000004

12-02 20:41:50.508 167 482 D audio_hw_primary: select_output hs:4 hp:0 hf:0 ep:0 bt:0 fmtx:0 dl1:4

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Mixer Multimedia Value:0

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Mixer Voice Value:0

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mixer Multimedia Value:4

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mixer Voice Value:0

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - DL1 PDM Switch Value:4

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - DL1 BT_VX Switch Value:0

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_value - Earphone Playback Switch Value:0

12-02 20:41:50.508 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec334, 4)

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Headset Left Playback - HS DAC

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Headset Right Playback - HS DAC

12-02 20:41:50.508 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec6b4, 0)

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Handsfree Left Playback - Off

12-02 20:41:50.508 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Handsfree Right Playback - Off

12-02 20:41:50.515 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec510, 1)

12-02 20:41:50.515 167 482 E TINYALSA: mixer_ctl_set_value - DL1 MM_EXT Switch Value:0

12-02 20:41:50.515 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mono Mixer Value:0

12-02 20:41:50.515 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Mono Mixer Value:0

12-02 20:41:50.515 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec3a0, 1)

12-02 20:41:50.515 167 482 E TINYALSA: mixer_ctl_set_value - Aux FM Volume Value:0

12-02 20:41:50.515 167 482 E TINYALSA: mixer_ctl_set_value - Aux FM Volume Value:0

12-02 20:41:50.515 167 482 D audio_hw_gain: omap4_gain m:0, d:0x2000004, opt:0 -> omap4mode:0, _dev:2

12-02 20:41:50.515 167 482 D audio_hw_primary: output_vol [m:10 mode:0 dev:0x2000004] DL1_MM:115, DL2_MM:120 Codec_EP:15, HF:28, HS:13

12-02 20:41:50.515 167 482 V audio_hw_primary: set_eq_filter(0x599da0) model:10, mode:0, tty:0

12-02 20:41:50.515 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - DL1 Equalizer - Flat response

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Media Playback Volume Value:115

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Media Playback Volume Value:120

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - Headset Playback Volume Value:13

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - Headset Playback Volume Value:13

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - Sidetone Mixer Capture Value:0

12-02 20:41:50.523 167 482 V audio_hw_primary: start_output_stream(0x599da0)

12-02 20:41:50.523 167 482 V audio_hw_primary: select_output_device(0x599da0) mode: 0 devices: 2000004

12-02 20:41:50.523 167 482 D audio_hw_primary: select_output hs:4 hp:0 hf:0 ep:0 bt:0 fmtx:0 dl1:4

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Mixer Multimedia Value:0

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Mixer Voice Value:0

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mixer Multimedia Value:4

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mixer Voice Value:0

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL1 PDM Switch Value:4

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - DL1 BT_VX Switch Value:0

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_value - Earphone Playback Switch Value:0

12-02 20:41:50.523 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec334, 4)

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Headset Left Playback - HS DAC

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Headset Right Playback - HS DAC

12-02 20:41:50.523 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec6b4, 0)

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Handsfree Left Playback - Off

12-02 20:41:50.523 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - Handsfree Right Playback - Off

12-02 20:41:50.531 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec510, 1)

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - DL1 MM_EXT Switch Value:0

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mono Mixer Value:0

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Mono Mixer Value:0

12-02 20:41:50.531 167 482 V audio_hw_primary: set_route_by_array(0x599f08, 0x415ec3a0, 1)

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - Aux FM Volume Value:0

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - Aux FM Volume Value:0

12-02 20:41:50.531 167 482 D audio_hw_gain: omap4_gain m:0, d:0x2000004, opt:0 -> omap4mode:0, _dev:2

12-02 20:41:50.531 167 482 D audio_hw_primary: output_vol [m:10 mode:0 dev:0x2000004] DL1_MM:115, DL2_MM:120 Codec_EP:15, HF:28, HS:13

12-02 20:41:50.531 167 482 V audio_hw_primary: set_eq_filter(0x599da0) model:10, mode:0, tty:0

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_enum_by_string - DL1 Equalizer - Flat response

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Media Playback Volume Value:115

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - DL2 Media Playback Volume Value:120

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - Headset Playback Volume Value:13

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - Headset Playback Volume Value:13

12-02 20:41:50.531 167 482 E TINYALSA: mixer_ctl_set_value - Sidetone Mixer Capture Value:0

12-02 20:41:50.531 167 482 V audio_hw_primary: start_output_stream(): config.period_size:[15360], period_count:[2], stop_threshold[0]

12-02 20:41:50.531 167 482 V audio_hw_primary: start_output_stream: PCM_OPEN

12-02 20:41:50.531 167 482 E TINYPCM : pcm_open: /dev/snd/pcmC0D0p

12-02 20:41:50.539 167 482 I audio_hw_primary: FM:Triggering playback path for FM loopback

12-02 20:41:50.539 167 482 E TINYALSA: mixer_ctl_set_value - DL1 Mixer Capture Value:1

12-02 20:41:50.539 167 482 V audio_hw_primary: FM: radio period_s:[15360], period_n:[2] start_thr[3840] write_thr[30720] avail_min[15360]

12-02 20:41:50.539 167 1234 I AudioFlinger: setFMRxActive()

12-02 20:41:50.547 167 481 V AudioPolicyService: AudioCommandThread() going to sleep

12-02 20:41:50.547 167 1234 I AudioFlinger: AudioFlinger::PlaybackThread::setFMRxActive,state =1

12-02 20:41:50.547 167 1234 V AudioPolicyService: inserting command: 5 at index 0, num commands 0

12-02 20:41:50.547 167 1234 V AudioPolicyService: AudioCommandThread() adding set fm volume volume 0.733333

12-02 20:41:50.547 167 481 V AudioPolicyService: AudioCommandThread() waking up

12-02 20:41:50.547 167 481 V AudioPolicyService: AudioCommandThread() processing set fm volume volume 0.733333

12-02 20:41:50.547 167 481 V audio_hw_primary: adev_set_fm_volume(vol: 0.733333) p_gain(0x0)

12-02 20:41:50.547 167 481 V AudioPolicyService: AudioCommandThread() going to sleep

12-02 20:41:50.547 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setFmRadioVolume() FM : setFmVolume(0.733333, 0)

12-02 20:41:50.547 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setOutputDevice() setOutputDevice() output 1 device 4 delayMs 0

12-02 20:41:50.547 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setOutputDevice() preDevice 4, changeDevice 4

12-02 20:41:50.547 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setOutputDevice() setOutputDevice() setting same device 4 or null device for output 1

12-02 20:41:50.547 167 1234 D AudioPolicyManagerBase: [AUDIO_FWK]::setFmRadioOn() FM Radio on.

12-02 20:41:50.547 167 484 D AudioPolicyManagerBase: [AUDIO_FWK]::getOutput() getOutput() stream 3, samplingRate 0, format 0, channels 3, flags 0

12-02 20:41:50.547 497 511 D AudioService: AudioServiceBroadcastReceiver onReceive - ti.android.intent.action.FMRx_PLUG

12-02 20:41:50.547 497 511 I AudioService: Broadcast Receiver: Got ACTION_FMRx_PLUG, state =1 why again????

12-02 20:41:51.148 167 482 D AudioFlinger: [AUDIO_FWK]::releaseWakeLock_l() releaseWakeLock_l() AudioOut_1

12-02 20:41:51.148 167 482 D AudioFlinger: [AUDIO_FWK]::threadLoop() MixerThread 0x5a0618 TID 482 going to sleep End of routing FM

12-02 20:41:51.968 1479 1479 I FmRxApp : handleMessage init mToggleMutefalse

12-02 20:41:52.008 1479 1479 D FmRadio : FmRadio:rxSetBand_nb

12-02 20:41:52.008 1493 1506 I StubFmService: StubFmService:rxSetBand_nb band 0

12-02 20:41:52.008 1493 1506 D JFmRx : setBand: entered

12-02 20:41:52.008 1493 1506 D JFmRxNative: nativeJFmRx_setBand(): EnteredjFmBand 0

12-02 20:41:52.008 1493 1506 D JFmRxNative: nativeJFmRx_setBand(): curr_band 48 last_band 0

12-02 20:41:52.008 1493 1506 I JFmRxNative: nativeJFmRx_Callback: Entered,

12-02 20:41:52.008 1493 1506 D JFmRx : nativeCb_fmRxCmdSetBand: entered

12-02 20:41:52.008 1493 1506 I StubFmService: StubFmService:fmRxCmdSetBand

12-02 20:41:52.008 1493 1506 D StubFmService: fmRxCmdSetBand ( command: , status: , value: )2SUCCESS0

12-02 20:41:52.008 1493 1506 D StubFmService: StubFmService:FM resuming . mFmPauseResume6

12-02 20:41:52.008 1493 1506 D StubFmService: StubFmService:sending intent BAND_CHANGE_ACTION

12-02 20:41:52.015 1493 1506 D JFmRxNative: nativeJFmRx_Callback: Exiting, Calling DetachCurrentThread at the END

12-02 20:41:52.015 1493 1506 D JFmRxNative: nativeJFmRx_setBand(): Exit

12-02 20:41:52.015 1493 1506 D JFmRx : After nativeJFmRx_SetBand, status = PENDING

12-02 20:41:52.015 1493 1506 D JFmRx : setBand: exiting

12-02 20:41:52.015 1493 1506 I StubFmService: mJFmRx.setBand returned status PENDING

12-02 20:41:52.101 1479 1479 I FmRxApp : handleMessage init mToggleMutefalse

12-02 20:41:52.101 1479 1479 D FmRadio : FmRadio:rxSetBand_nb

12-02 20:41:52.101 1493 1514 I StubFmService: StubFmService:rxSetBand_nb band 0

12-02 20:41:52.101 1493 1514 D JFmRx : setBand: entered

12-02 20:41:52.101 1493 1514 D JFmRxNative: nativeJFmRx_setBand(): EnteredjFmBand 0

12-02 20:41:52.101 1493 1514 D JFmRxNative: nativeJFmRx_setBand(): curr_band 48 last_band 0

12-02 20:41:52.101 1493 1514 I JFmRxNative: nativeJFmRx_Callback: Entered,

12-02 20:41:52.101 1493 1514 D JFmRx : nativeCb_fmRxCmdSetBand: entered

12-02 20:41:52.101 1493 1514 I StubFmService: StubFmService:fmRxCmdSetBand

12-02 20:41:52.101 1493 1514 D StubFmService: fmRxCmdSetBand ( command: , status: , value: )2SUCCESS0

12-02 20:41:52.101 1493 1514 D StubFmService: StubFmService:FM resuming . mFmPauseResume6

12-02 20:41:52.101 1493 1514 D StubFmService: StubFmService:sending intent BAND_CHANGE_ACTION

12-02 20:41:52.109 1493 1514 D JFmRxNative: nativeJFmRx_Callback: Exiting, Calling DetachCurrentThread at the END

12-02 20:41:52.109 1493 1514 D JFmRxNative: nativeJFmRx_setBand(): Exit

12-02 20:41:52.109 1493 1514 D JFmRx : After nativeJFmRx_SetBand, status = PENDING

12-02 20:41:52.109 1493 1514 D JFmRx : setBand: exiting

12-02 20:41:52.109 1493 1514 I StubFmService: mJFmRx.setBand returned status PENDING

12-02 20:41:52.164 1505 1505 D su : 10071 com.ti.fmrxapp executing 0 /system/bin/sh using shell /system/bin/sh : sh

12-02 20:41:52.187 1510 1510 D su : 10071 com.ti.fmrxapp executing 0 /system/bin/sh using shell /system/bin/sh : sh

12-02 20:41:52.242 589 591 D dalvikvm: GC_CONCURRENT freed 1045K, 42% free 12683K/21767K, paused 2ms+3ms

12-02 20:41:52.320 1479 1479 D FmRadio : FmRadio:rxTune_nb

12-02 20:41:52.320 1493 1507 I StubFmService: StubFmService: rxTune_nb 105700

12-02 20:41:52.320 1493 1507 D StubFmService: StubFmService: rxTune_nb com.ti.jfm.core.JFmRx$JFmRxFreq@4157e4c8

12-02 20:41:52.320 1493 1507 D JFmRxNative: nativeJFmRx_tune(): Entered

12-02 20:41:52.484 1493 1507 D JFmRxNative: Tuned to frequency 0.0 MHz

12-02 20:41:52.484 1493 1507 I JFmRxNative: nativeJFmRx_Callback: Entered,

12-02 20:41:52.484 1493 1507 I StubFmService: StubFmService:fmRxCmdTune

12-02 20:41:52.484 1493 1507 D StubFmService: fmRxCmdTune ( command: , status: , value: )16SUCCESS105700

12-02 20:41:52.484 1493 1507 D StubFmService: StubFmService:sending intent TUNE_COMPLETE_ACTION

12-02 20:41:52.484 1493 1507 D JFmRxNative: nativeJFmRx_Callback: Exiting, Calling DetachCurrentThread at the END

12-02 20:41:52.484 1493 1507 D JFmRxNative: nativeJFmRx_Tune(): Exit

12-02 20:41:52.484 1493 1507 D JFmRx : After nativeJFmRx_Tune, status = PENDING

12-02 20:41:52.484 1493 1507 I StubFmService: mJFmRx.tune returned status PENDING

12-02 20:41:52.492 1479 1479 D FmRadio : FmRadio:rxTune_nb

12-02 20:41:52.492 1493 1506 I StubFmService: StubFmService: rxTune_nb 105700

12-02 20:41:52.492 1493 1506 D StubFmService: StubFmService: rxTune_nb com.ti.jfm.core.JFmRx$JFmRxFreq@4157f670

12-02 20:41:52.492 1493 1506 D JFmRxNative: nativeJFmRx_tune(): Entered

12-02 20:41:52.640 1493 1506 D JFmRxNative: Tuned to frequency 0.0 MHz

12-02 20:41:52.640 1493 1506 I JFmRxNative: nativeJFmRx_Callback: Entered,

12-02 20:41:52.640 1493 1506 I StubFmService: StubFmService:fmRxCmdTune

12-02 20:41:52.640 1493 1506 D StubFmService: fmRxCmdTune ( command: , status: , value: )16SUCCESS105700

12-02 20:41:52.640 1493 1506 D StubFmService: StubFmService:sending intent TUNE_COMPLETE_ACTION

12-02 20:41:52.640 1493 1506 D JFmRxNative: nativeJFmRx_Callback: Exiting, Calling DetachCurrentThread at the END

12-02 20:41:52.640 1493 1506 D JFmRxNative: nativeJFmRx_Tune(): Exit

12-02 20:41:52.640 1493 1506 D JFmRx : After nativeJFmRx_Tune, status = PENDING

12-02 20:41:52.640 1493 1506 I StubFmService: mJFmRx.tune returned status PENDING

12-02 20:41:52.703 497 696 I AudioService: Remote Control registerMediaButtonIntent() for PendingIntent{41c58a60: PendingIntentRecord{418460c0 com.ti.fmrxapp broadcastIntent}}

………………………………………………………………fm work

12-02 20:41:53.742 1479 1479 D AudioManager: DEBUG > setParameters : audio_rx_enable=true

12-02 20:41:53.742 167 483 V AudioFlinger: setParameters(): io 0, keyvalue audio_rx_enable=true, tid 483, calling tid 1479

12-02 20:41:53.742 167 483 V audio_hw_primary: adev_set_parameters(0x599da0, audio_rx_enable=true) My tests with audiomanager setparameters keypairs 12-02 20:41:53.750 1479 1479 D AudioManager: DEBUG > setParameters : fm_audio=active

12-02 20:41:53.750 1479 1479 D AudioManager: setFMRadioOn( true, 0 )

12-02 20:41:53.750 1479 1479 D AudioManager: DEBUG > setParameters : fm_mute=loud

12-02 20:41:53.750 1479 1479 D AudioManager: setFmMute(false)

12-02 20:41:53.750 1479 1479 D AudioManager: DEBUG > setParameters : fm_speakerphone=off

12-02 20:41:53.750 1479 1479 D AudioManager: setFMRadioSpeakerMode....

12-02 20:41:53.750 497 580 D AudioService: setFMRadioSpeakerModeOn(false)

12-02 20:41:53.750 1479 1479 D FmRxApp : aaaaaaaaaaaaaaaaaaaaaaaaaaaaa

fm ............................................................. ---- 02.12.2013 20:42:15 ----

ghost commented 10 years ago

One more link for reference: http://developer.sonymobile.com/2012/03/07/fm-radio-module-released-as-open-source-and-sensor-hal-updated/

mikeNG commented 10 years ago

http://forum.xda-developers.com/showpost.php?p=15832492&postcount=764

MardonHH commented 10 years ago

I quote @ilie321 "....says about fm if i dont change anything from ti fmrxapp : the send of intent ti.android.intent.action.FMRx_PLUG seams to trigger routing but something is wrong on the way..." ti.android.intent.action.FMRx_PLUG is not implemented in https://github.com/CyanogenMod/android_frameworks_base/blob/cm-11.0/media/java/android/media/AudioService.java

FM Rx: Added FM Radio support in Android Framework: Change-Id: I3e9d426a211f2cf49493770f14d694ebe64735e2 Signed-off-by: Sergii Iegorov x0155539@ti.com https://www.gitorious.org/rf4ceandroid/frameworks_base/commit/b29231646a53c846ea127a4c7ed566566355994e

thierry3000 commented 8 years ago

I am struggling for quite a while with having no fm radio support on this gorgeous ROM. At the moment I am running a free xperia build based on cm 10.2 with an working FM radio app from Pedro Veloso. https://github.com/pedronveloso/FM_RADIO_CM https://github.com/pedronveloso/fm_mock_framework Unfortunately my android programming skills are quite basic. Therefore the question goes to the experts: why is it not possible to include this bunch of code into the LegancyXperia project???