(09-09-2020, 01:50 AM)"SwordfishII Wrote: Very interesting indeed. Very strange for UART to need to be enabled for decent audio for you.
What lead you to test on that?
The line of thinking that lead me to discover that was..
1) I figured if it was software there might be a bug hiding due to lack of having ever turned on some of the USB devices on this phone (Cameras, wifi, bt, i disabled before first boot) and running a script associated with them when they come up. (wasn't the case)
2) I got to thinking along the lines of the switch block and audio, what would be a point of failure, that still allows the audio to function internally. The wiki page for the switch block says there's a SPDT switch for the UART to swap to Audio on the headphone jack.. Its a surface mount 10 pin package with an digital input controlled by the #6 on the switch block. My mind instantly suspects a bad transistor grounding out the audio. So I flicked switch 6 to OFF, disabling the headphone jack, and it worked. I think I got lucky finding that. The more I think about it now ...
From wiki:
6 Headphone
Pulls up IN2 on analog switch BCT4717ETB
"On" enables audio input and output via the 3.5mm audio jack, "off" switches the jack to hardware UART mode.
BCT4717 is a dual single pole double throw switch.
Basically the BCT4717 has two switches inside it. Each switch has the ability to multiplex 2 signals to one output. Both are being used simultaneously to switch the headphone jack R / L to UART (RX/TX) or AUDIO (L/R) (if the wiki is to be believed which im sure it is ;-) (edit: schematic verifies this
http://files.pine64.org/doc/PinePhone/Pi...ematic.pdf )
: IN2 (the signal to change the both switch) (IN1 47Kohm to ground)
: COM1 / COM2 - The common terminals - IE the headphone socket (R/L)
: NC1 / NC2 - normally connected - UART (TX / RX)
: NO1 / NO2 - normally open - audio ( R / L )
Well if IN2 is high (switch 6 in ON position) then COM1 / COM2 (the headphone output) is connected to NO1 / NO2 : Connecting the audio to the headphone and disconnecting the UART
Conversely if IN2 is low (switch 6 in OFF position) then COM1 / COM2 is connected is connected to NC1 / NC2 - Audio disconnected and UART connected to headphone jack
If the switch is not working properly two things might be connected at the same time, or one not at all, or partially. If both are connected the audio signal might be pulled down by the UART ? Or not connected. So my logic is that BCT4717 is damaged inside and not doing what its told. However....
This is a lot of assumptions but it made sense at the time to test that somehow the headphone jack was not interfering with the signal.
So I did some more testing. Things get a bit more weird here, or perhaps they start to show a pattern.
(each time I shut down phone and cold booted with changed jumpers btw)
1) I connected wired phone headset to the headphone jack. Tested not working with UART mode on. (expected)
2) Switched UART mode off: Tested headset OK (low volume but working, note left / right channels are reversed.) (expected)
3) Made a call. The headset WORKED during the call with UART mode off. Removed Headset from headphone socket and switched to internal speaker. Now have clear audio during a call on the internal speaker instead of garbled electronic distortion. (strange!)
4) Restart phone without headset connected and try again (UART mode still off). Not working.
I then tried again steps 1 to 4. I get no Audio in calls at all anymore with the headphone jack enabled for audio whether I connect the headset or not.
So I tried this:
1) Turned back ON UART mode, (headphone output disabled), and now call audio works again.
2) Turned back OFF UART mode. Instead of garbled metallic audio now I get no audio during a call.
3) The headphone still works by itself if the UART mode is off but I get no call audio.
I figure maybe the BCT4717ETB let out its last effort when I connected the earphones for some reason. I tested the above because I thought it might be grounded in the headphone socket. Maybe it is though? I'm not an electical engineer unforunately ;-)
So after all that the conclusion is very similar.
Switch 6 ON (UART ON) I have audio in calls
Switch 6 OFF (UART OFF) I have no audio in calls (used to be garbled)
Perhaps that's of some use to know though, even if it's not the BCT4717, maybe something close to it or related in the circuit is at play.
Additional testing I might do... I don't have a serial console adapter wired up to test, (I'll make one shortly and post the result) but it would be interesting to see if it worked at all, or worked even with the headphone UART "disabled", ie the headphone connected to the audio..
(09-09-2020, 04:10 AM)KC9UDX Wrote: It sounds to me like the software is using the wrong amplifier settings when the switch is set to headphones. I wonder how it sounds with headphones, when the switch is in that position.
I think the amplifier settings could use a tweak though the headphone output is pretty quiet for system sound test, certainly not ear blasting but clearly audiable ....
Testing again...
UART off: Now my front right headphone is a very low volume outside of calls. Left headphone is a decent volume but not loud.
The left headphone now working in calls... right is not.. Very low voume.
Now the call audio is working again (clear and audiable) on the internal speaker, after pulling the headphones and switching to internal speaker during a call (with the uart switch off)
Ive rebooted a couple times the call audio seems to be working now from the internal speaker with the headphones on ...
Unplugged headphones, tried a different set (amplified speakers). Lost call audio entirely on both internal speaker and headphones. Turned external amplifer up to max.. Could hear very weakly the system audio test but not any call audio.
Rebooted phone.. removed battery. Call audio working again with switch set to headphone now.
As you can see its starting to get a bit circular and not always doing the same thing..
Currently this phone after that round of testing is has the call audio working with the headphone set to ON now. Which is new.