07-07-2021, 11:57 PM
(This post was last modified: 07-08-2021, 12:01 AM by dsimic.
Edit Reason: Expanded a bit
)
While having the back cover of my first-batch ISO PineBook Pro removed, I also wanted to check the speaker connector and possibly correct the wiring. I can confirm that the order of the wires in the connector is messed up, at least in my particular PineBook Pro. This is also visible in the attached pictures, which all show the original, unmodified state of the speaker connector wiring. The correct wiring is visible on page 17 of the PineBook Pro schematic.
I do wholeheartedly agree with @KC9UDX that fixing such a wiring mistake in software is bad practice. It's really bad practice. However, the speaker wires and the connector are so tiny and delicate that I gave up on trying to pull the wires out of the connector. I couldn't see (almost quite literally ) how the wires could be pulled out of the connector without basically destroying the pins inside the connector, or destroying the wires itself.
As a note, I've been recently working on a Linux kernel patch that eliminates the crackling and popping noises, and I've expanded that patch to implement the switching between the speakers and the headphones, eliminating the need to (ab)use the acpid and to have a userspace helper script that performs the switching. I'll also try to incorporate "normal", "l-invert", "r-invert" and "l+r-invert" as the settings available through my kernel patch, which should be usable beyond the PineBook Pro, because messing up the polarity of audio channels seems to be a rather common mistake.
I do wholeheartedly agree with @KC9UDX that fixing such a wiring mistake in software is bad practice. It's really bad practice. However, the speaker wires and the connector are so tiny and delicate that I gave up on trying to pull the wires out of the connector. I couldn't see (almost quite literally ) how the wires could be pulled out of the connector without basically destroying the pins inside the connector, or destroying the wires itself.
As a note, I've been recently working on a Linux kernel patch that eliminates the crackling and popping noises, and I've expanded that patch to implement the switching between the speakers and the headphones, eliminating the need to (ab)use the acpid and to have a userspace helper script that performs the switching. I'll also try to incorporate "normal", "l-invert", "r-invert" and "l+r-invert" as the settings available through my kernel patch, which should be usable beyond the PineBook Pro, because messing up the polarity of audio channels seems to be a rather common mistake.