tfabris / BlueGigaEmpeg

Arduino module and daughter board to convert the empeg Car MP3 player to Bluetooth output.
GNU General Public License v3.0
0 stars 0 forks source link

Couldn’t change tracks on empeg after starting car and using Siri (rare) #65

Closed tfabris closed 6 years ago

tfabris commented 6 years ago

Had a rare situation where AVRCP was definitely working, audio worked, and track titles were updating, but thge empeg didn’t respond to the "next track" command or any other command for that matter.

It occurred after I had made a text message using Siri Voice Recognition on my iPhone which was also paired to bluetooth at the time. It was at the start of a drive and I needed to send a text and complete it before I started moving. I pressed the steering wheel button for Siri and the car switched over to Siri, muting/pausing the empeg in the process. After completing the text and Siri disconnected, then the Empeg was no longer responding to any of the steering wheel or touch screen controls.

The interesting part was that the track titles on the car stereo screen were still working. I could press an empeg front-panel button and the track text would change on the car stereo touchscreen. So AVRCP was working, it was receiving data from the empeg successfully still. It was only commands which should have been sent to the empeg which were not working.

Sleep/wake empeg (reboot bluetooth module by bouncing the power by sleeping/waking the empeg) fixed the issue. So it wasn’t a physically bad serial connection such as loose wires or loose plug.

Suspicion: somehow the BGE missed the line of the empeg output that told it the player was runnIng.

Possible fix: the detection of the player being awake and running needs to have more messages that it can use to perform that detection. Not just the prolux message.

tfabris commented 6 years ago

Looked at the existing code and it’s not due to the code mischaracterizing the player state. The code already has a feature for this.

My next guess is an avrcp mixup with registrations and message sequence ids. However I can’t currently imagine a scenario where this could occur.

Attempted repro of issue with Siri engagement and it didn’t repro.

tfabris commented 6 years ago

Got a second repro, though the debug cable was not connected at the time. Conditions (not sure which conditions are the required conditions for the repro):

tfabris commented 6 years ago

Sleep wake empeg (reboot Bluetooth) = worky

tfabris commented 6 years ago

Sleep wake empeg reboot Bluetooth then try Siri call = no repro, worky

tfabris commented 6 years ago

Power off car completely power on car without engine running

Same steps as before

No repro, worky

tfabris commented 6 years ago

I’ve tried several attempts to repro on the debug cable and can’t get a repro.

I don’t think I’m Heisenberging it with the debug cable. Since the repro is rare and intermittent I think it’s just coincidence. I’ve tried many repros both with and without the debug cable and I’ve only had two repros so far, both of them off-cable.

tfabris commented 6 years ago

I had a third repro. It was unfortunately without the debug connection, and was just a short time after I had attempted a repro with the debug connection connected.

My recollection of this repro was that it did NOT require engaging Siri. It was just getting in the car turning it on, cold start. All other symptoms were the same.

tfabris commented 6 years ago

I got a fourth repro of this (also not on the debug cable) but something interesting this time:

This tells me that the car stereo headunit has no problem sending commands to the BlueGigaEmpeg when it feels like it wants to do so. All the messaging and handshaking WORKS as designed. The only issue is that sometimes my car stereo boots up and it doesn't feel like sending commands to my empeg.

I think this is a Honda bug and there's nothing I can do about it. Closing bug until I think of some way that the above thing could possibly be my fault.