In this post I inform you of the publication of a fix I made for the CyanogenMod rom for the above mentioned device.

In questo post vi informo della pubblicazione di una correzione che ho fatto alla rom CyanogenMod per il dispositivo sopra menzionato.

LG-E510 CyanogenMod headphone call bug fix

Hello folks, today I add something completely new to the things I usually do.
Today I will talk about a fix I made on the CyanogenMod rom for my Android device, the LG Optimus Hub (also known as LG-E510 or Univa).

As other people, I showed interest in this custom rom to improve my device with new features, but unfortunately I found something that ruined my experience.
You see, I have the habit to use my cellphone as a music player, as a consequence, most of the times that people call me, I wear headphones.
My natural instinct instructs me to simply answer the call, but the problem is exactly here: I could hear everything from the caller, but the caller couldn't hear anything from me!
I figured it was a problem with the rom because after removing the headphones, the caller could hear me perfectly.

I wanted the headphones to work, so I started testing every headphone I had at hand in the moment, all of them gave the same result.
In the end I tried one last pair of headphones, the ones that came with the cellphone which had an attached microphone.
Contrary to the other ones, this last pair worked, my voice could be heard from the other side.

At this point I had a suspicion, what if Android expected all headphones TO HAVE a microphone?
This would explain why people could not hear me when I wore the headphones, but they could as soon as I removed them...
At the time I didn't know if my suspicion was true or there was some problem with the settings, in the end I decided to take a look at the actual CyanogenMod code, in order to investigate.
After lots of tests (=money spent), incomprehensions and code reviews, my suspicion turned out to be true, I'm finally able to solve the problem.
I sent the change and it was accepted.

In this post I offer you a compiled version of the libaudio (the Android's kernel driver where I located the bug).
If something is not clear do not hesitate to contact me.
See you soon guys.

Commit link

Update 03/29/2015:
This project is not available anymore.

Go back to the top, Share, Look at the comments or Comment yourself!

Correzione errore chiamata da auricolare su CyanogenMod per LG-E510

Salve gente, oggi aggiungo una cosa completamente nuova alle cose che faccio di solito.
Oggi vi parlerò di una correzione che ho fatto alla rom CyanogenMod per il mio dispositivo Android, l'LG Optimus Hub (conosciuto anche come LG-E510 o Univa).

Come per altre persone, mi sono interessato a questa rom personalizzata per aggiungere nuove caratteristiche al mio dispositivo, ma sfortunatamente ho trovato una cosa che mi ha rovinato l'esperienza.
Vedete, io ho l'abitudine di usare il cellulare come lettore musicale, di conseguenza, gran parte delle volte in cui mi chiamano, indosso gli auricolari.
Il mio istinto mi dice semplicemente di rispondere alla chiamata, ma il problema è proprio qui: Io riuscivo a sentire tutto da chi mi chiamava, ma chi mi chiamava non riusciva a sentire niente da me!
Ho capito che doveva essere un problema con la rom perché dopo aver rimosso gli auricolari, il tizio mi sentiva perfettamente.

Volevo far funzionare gli auricolari, così ho iniziato a testare ogni paia di auricolari che avevo a disposizione al momento, tutti mi hanno dato lo stesso risultato.
Alla fine ho provato un ultimo paia di auricolari, quelli in dotazione col cellulare con microfono incorporato.
Contrariamente agli altri, quest'ultimo paio ha funzionato, la mia voce si riusciva a sentire.

A questo punto ho avuto un sospetto, non è che per caso Android si aspetta che tutti gli auricolari ABBIANO il microfono?
Questo spiegherebbe perché la gente non poteva sentirmi con gli auricolari indosso, ma ci riusciva non appena li rimuovevo...
In quel momento non sapevo se il mio sospetto fosse vero o se c'era qualche problema di impostazioni, quindi decisi di dare un'occhiata al codice di CyanogenMod, per investigare.
Dopo molti test (=soldi spesi), incomprensioni, e revisitazioni del codice, il mio sospetto era fondato, sono riuscito così a risolvere il problema.
Ho mandato il cambiamento (di codice) ed è stato accettato.

In questo post vi offro la versione compilata della libaudio (il driver del kernel di Android dove ho localizzato l'errore).
Se qualcosa non è chiaro non esitate a contattarmi.
Ci si vede presto ragazzi.

Link al commit

Aggiornamento 29/03/2015:
Questo progetto non è più disponibile.

Torna in cima, Condividi, Guarda i commenti o Commenta tu stesso!