[HTC 10 Questions & Answers] Captain_Throwback:
I just noticed the gpio for fm_status was commented out. I rebuilt with it uncommented and I don't see that error anymore. FM Radio still isn't starting, but I think we're getting closer, as we're past the "wait for callback" issue now:

05-23 11:55:27.786 8277 8277 D BaseFMRadioService: skuID=NA Gen Unlock
05-23 11:55:27.786 8277 8277 I BaseFMRadioService: OnCreate()
05-23 11:55:27.787 8277 8277 I BaseFMRadioService: FMTunerState.current_state= 2
05-23 11:55:27.791 8181 8204 W art : Verification of java.lang.Object com.google.w.a.a.cge.a(com.google.q.bi, java.lang.Object, java.lang.Object) took 113.263ms
05-23 11:55:27.799 8277 8277 I FMRadioService: OnCreate()
05-23 11:55:27.805 8277 8277 I FMRadioService: powerStateHelper.load() = false
05-23 11:55:27.805 8277 8277 I FMRadioService: setCallbackListeners()
05-23 11:55:27.805 8277 8277 I FMRadioService: loadFMTuner(com.htc.fmhardware.FMTuner)
05-23 11:55:27.808 8277 8277 D MR2_QCTFMTuner: Loading FM-JNI Library
05-23 11:55:27.817 8277 8277 E android_hardware_fm: FM : loading QCOMM FM-JNI
05-23 11:55:27.818 8277 8277 I BaseFMRadioService: onStartCommand(), startId =1
05-23 11:55:27.819 8277 8296 I FMRadioService: onHandleIntentMessage(startId = 1)
05-23 11:55:27.820 8277 8296 I FMRadioService: FMTunerState.current_state , state = (2)
05-23 11:55:27.820 8277 8296 I FMRadioService: FM chip is power off and command is TURN_ON, so enqueue()
05-23 11:55:27.821 8277 8296 I FMRadioService: enqueueFMCommand(command = 1), msg.arg1 = -1, isSettingVolume = false
05-23 11:55:27.821 8277 8296 I FMRadioService: ~~~~~~~ Add a FMCommand to queue:
05-23 11:55:27.821 8277 8296 I FMRadioService: After FMCommandQueue.add() -- Q size()= 1
05-23 11:55:27.822 8277 8296 I FMRadioService: processFMCommand()-ENTER
05-23 11:55:27.822 8277 8296 I FMRadioService: processFMCommand(), mActiveCommand = -1
05-23 11:55:27.822 8277 8296 I FMRadioService: handleMessage: FMRadioIntent.WHAT_TURN_ON:
05-23 11:55:27.822 8277 8296 I FMTunerState: SSSSSS---migrateToTurningOn(), current_state: 2
05-23 11:55:27.822 8277 8296 I FMTunerState: [==}=======> current_state: 1
05-23 11:55:27.823 1631 3621 D PMS : acquireWL(f847e3f): PARTIAL_WAKE_LOCK com.htc.fmservice.FMRadioService 0x1 8277 1000 null
05-23 11:55:27.823 8277 8296 I FMRadioService: ~~~~~~~ sendCommand()--WHAT_TURN_ON
05-23 11:55:27.823 8277 8296 I FMRadioService: init(0)
05-23 11:55:27.823 8277 8296 I MR2_QCTFMTuner: [FMTuner]init()
05-23 11:55:27.825 8277 8296 I MR2_QCTFMTuner: turnOn, band =0
05-23 11:55:27.826 8277 8296 V FMRadio : enable: CURRENT-STATE : FMOff ---> NEW-STATE : FMRxStarting
05-23 11:55:27.826 8277 8296 D FmTransceiver: Fail to Open -1
05-23 11:55:27.826 8277 8296 E FMRadio : enable: Error while turning FM On
05-23 11:55:27.826 8277 8296 E FMRadio : enable: CURRENT-STATE : FMRxStarting ---> NEW-STATE : FMOff
05-23 11:55:27.826 8277 8296 I MR2_QCTFMTuner: turnOn return failed, bStatus : false
05-23 11:55:27.826 8277 8296 I MR2_QCTFMTuner: [FMTuner] setMonoStereoMode(true)
05-23 11:55:27.826 8277 8296 W MR2_QCTFMTuner: failed get reference of FmReceiver==NULL
05-23 11:55:27.826 8277 8296 I FMRadioService: processFMCommand()--EXIT

I believe the issue is still "FmTransceiver: Fail to Open -1" and I don't believe the init.qcom.fm.sh (located at /system/etc) is being run, which is likely part of the problem.

EDIT: I looked again and later in the log is the failed callback. so the problem is that the software can't connect to the FM Radio hardware. If someone could point out the correct gpio numbers to use, perhaps this would actually work. They looked correct, based on what I saw, but they don't seem to be working. Maybe I should've left that one commented out :rolleyes:.