Who ever thought that creating WCN3980 was a good idea i hate you.
So lets see the story shall we ?
Naive me jumps on the mainline tree.
Everything goes well with the phones we ported.
We have touch and all that jazz.
Now came Bluetooth.
Then the all mighty QCOM decided that downstream they will use some shitty driver to make this piece of shit work.
While the more smart people of upstream (mainline) decided that hey lets do the driver the proper way.
So they did.
Now comes the funny part.
The BT chip isnt connected to SoC normally as one would expect.
It is via UART.
Which is fine you think. Until you take a look how downstream and upstream handle it.
On upstream we have it the proper way of assigning BT node as a subnode of UART.
On downstream ? Just define the BT node as normal node. Driver will figure it the fuck out.
Now on this SoC we have 4 UARTs.
2 of which are crashing\freezing our phones when we enable them.
So lets try the other 2.
1: It boots up which is good but ultimately fails that frame reassembly failed with -84 aka illegal byte sequence.
Yea thats not good.
2: It also boots up and now doesnt throw -84 error on me.
What it does do tho is throw at me timeout error for the chip turning on sequence. (-110)

Then i figure out that 1 vreg (Voltage Regulator) is incorrect. So i fix that.
Still nothing.
I left it like this for a while.
I got back to it week or so ago.
The vreg was wrong noticed one of the other guys im working with on this.
So we implement the new regulator type.
I pass it to the driver hoping we get BT but no. Same error.
Today i made the ultimate discovery.
That vreg we set ?
Yes i know by this time its getting crazy but this is making me go nuts
The downstream didnt set VDDIO they set chip power.
I looked in one place. Found the real 10000000% correct regulator for it. Turned it on anddddddd BT still not working.
OK hmmm what if i try setting all the voltages to as the chip wants them to be to be turned on.
BT still not working.

And this is where im right now. Stuck on this piece of shit thing.
I have some ideas what can be wrong. Most of them have been proven wrong by me from testing already tho.

  • 1
    I read whole thing. And I didn't understand single sentence of it.
    What should i learn to understand this?
    Just say few word that i can Google with word tutorial and can start learning.
  • 0
    @Todo-Change-it learn ? Mainlining of android phones. Entire rant is about it
Add Comment