Closed GoogleCodeExporter closed 9 years ago
Arg... a samsung device that has a crappy audio driver :S
The audio hack I found for Galaxy S is based on a "relative" "bug" on the
Samsung driver...
In fact the Hack for Galaxy S (that I hope already activated on your config),
is based on the fact Mode_in_call route correctly things (to earpiece), and
mode_normal retrieve the micro source (in fact unplug it from direct connection
to GSM chipset).
Unfortunately, if they change that it may break my hack :S
Normally there is another very very cleaner way to do things... but samsung
just do awful things with their audio drivers. And that's always a fight to get
voice working on their device (there is two hacks just for this manufacturer!).
Normally on Galaxy S what helps is :
* Use Galaxy Hack => Activated
* Use Mode API => Deactivated
* Use Routing API => Deactivated
* Mode for SIP calls => Normal
* Micro source => default
If you can just check with these exact settings and let me know how it goes.
(Be careful that for example activating Mode API will break everything else...
in fact activating something is not "better" and combination of hacks may make
sense)
Unfortunately if it does not help there is few things I can do :(. Maybe if you
collect logs (see HowToCollectLogs wiki page, I could find some clue from logs
raised by the audio driver)
Original comment by r3gis...@gmail.com
on 31 May 2011 at 9:19
using your settings I get audio from the mic but sound is output through the
speakerphone.
Here is a log from the phone. it contains 2 calls where I switched the speaker
on and off. in the second call I turned the speaker on and off more than once.
from all the options and combinations of options I've tried I can only get
audio from the earpiece if I use "Use Mode audio API" but that prevents audio
from the mic.
Based on the GPL CSipSimple version : 0.02-01 r841
Here are important informations about Device :
android.os.Build.BOARD : SPH-M910
android.os.Build.BRAND : VirginMobile
android.os.Build.DEVICE : SPH-M910
android.os.Build.ID : FROYO
android.os.Build.MODEL : SPH-M910
android.os.Build.PRODUCT : SPH-M910
android.os.Build.TAGS : release-keys
android.os.Build.VERSION.INCREMENTAL : EC07
android.os.Build.VERSION.RELEASE : 2.2.2
android.os.Build.VERSION.SDK : 8
Original comment by goofee...@gmail.com
on 31 May 2011 at 9:54
Attachments:
Ok,
Just quick note (for info): actually "Use Mode API" do Mode_in_call for
earpiece routing and mode_normal for speaker routing.
So if you turn option off and instead use mode for sip calls "mode_in_call" you
should get the same thing (for earpiece routing -- it will probably do nothing
when you try to activate speaker however) ;).
Well, sounds the ROM you are using "fixes" the thing that made possible to have
the hack I found for this family of samsung devices... at least that's what I
suppose regarding the fact with "Use Samsung Galaxy Hack" you have routing to
the speaker.
I guess these logs are not with the hack activated cause I do not see the try
to route earpiece (mode_in_call) and then retrieve the micro by using
mode_normal.
Is there other sip apps you tried that succeed in routing things correctly?
Original comment by r3gis...@gmail.com
on 31 May 2011 at 10:42
I can try to use the stock rom+kernel tomorrow. I just tried to make a log with
the options you supplied but ended up crashing csipsimple when I tired to send
them. I'm going to do a data reset on it and try again.
This is the first app I have even gotten the audio to come from the earpiece.
Original comment by goofee...@gmail.com
on 31 May 2011 at 10:53
got the log file.
Original comment by goofee...@gmail.com
on 31 May 2011 at 11:03
Attachments:
I introduced two new hack settings in latest revision :
http://nightlies.csipsimple.com/trunk/
One is to get the WebRTC implementation instead of mine that I found by an
empiric way testing on many devices.
WebRTC is a project from Google, and I guess developpers has a better idea
about how manufacturer (specially samsung did things). In fact their
implementation do an exception just for Samsung :)... So there is a little hope
it helps (main difference with my hacks is the order of method call).
So worth to try :
* Use WebRTC impl : ON
* Use mode API : OFF (does not really matter with WebRTC impl ON)
* Use routing API : OFF (does not really matter with WebRTC impl ON)
* Micro source : default
* mode for sip calls : Normal (does not really matter with WebRTC impl ON)
There is another setting I introduced to let you try it too, it's "Focus
audio". By disabling it you'll disable the try to focus audio only on voice
call stream.
It's done to stop any currently playing music. However, if manufacturer did
weird things it could interfere and mute micro too. So if WebRTC does not help,
you can try :
* Use WebRTC impl : OFF
* Use mode API : ON
* Use routing API : OFF
* Micro source : default
* Mode for SIP calls : Normal (does not really matter with Mode API ON)
* Focus : OFF
I know that there is also some secret codes on Samsung devices. Particularily :
*#9072641*# (on stock dialpad) that allow to configure deeply how the device
behaves with audio. I don't know if it's available on roms you are using, but
could also be an interesting thing to look at.
Original comment by r3gis...@gmail.com
on 2 Jun 2011 at 12:10
OK I tested out everything on a fully stock sprint rom with stock kernel since
for some reason I could not get the virginmobile stockrom to run.
in every test audio only came out the speakerphone
I am going to attempt to get the virginmobile stockrom running again as the
sprint one breaks my GPS
Based on the GPL CSipSimple version : 0.02-02 r901
Here are important informations about Device :
android.os.Build.BOARD : SPH-M910
android.os.Build.BRAND : sprint
android.os.Build.DEVICE : SPH-M910
android.os.Build.ID : FROYO
android.os.Build.MODEL : SPH-M910
android.os.Build.PRODUCT : SPH-M910
android.os.Build.TAGS : release-keys
android.os.Build.VERSION.INCREMENTAL : DL05
android.os.Build.VERSION.RELEASE : 2.2.1
android.os.Build.VERSION.SDK : 8
Original comment by goofee...@gmail.com
on 2 Jun 2011 at 4:54
Attachments:
Thx a lot for logs,
There is maybe some very interesting clue. I see some log that I've already
seen on another Samsung device (codecOn and codecOff).
Could be interesting to activate the "Tone Hack". It was very helpful on the
device where I had these logs about codecOn/codecOff, even if problem was a
little bit different cause I had no sound at all in earpiece mode.
(Tone Hack ON + Samsung Hack ON + Mode API OFF).
Original comment by r3gis...@gmail.com
on 3 Jun 2011 at 9:09
Tried that, also tried everything else since I'm now on a full stock
virginmobile rom with stock kernel.
I think for the sake of trying to get this working I am going to downgrade to
android 2.1 with the squealjoy kernel which has a supposed VOIP fix.
I linked my thread on the SDX developers forum to here so hopefully someone
else can continue trying to get 2.2 working. I'll report back with my findings
with android 2.1
Based on the GPL CSipSimple version : 0.02-02 r901
Here are important informations about Device :
android.os.Build.BOARD : SPH-M910
android.os.Build.BRAND : VirginMobile
android.os.Build.DEVICE : SPH-M910
android.os.Build.ID : FROYO
android.os.Build.MODEL : SPH-M910
android.os.Build.PRODUCT : SPH-M910
android.os.Build.TAGS : release-keys
android.os.Build.VERSION.INCREMENTAL : EC07
android.os.Build.VERSION.RELEASE : 2.2.2
android.os.Build.VERSION.SDK : 8
Original comment by goofee...@gmail.com
on 3 Jun 2011 at 2:23
Attachments:
Ok so I got squealjoy2.2 running with andoid 2.1 and it is working, would it be
helpful to have a log of that?
without squealjoy I was unable to get the audio to route to the earpiece
Original comment by goofee...@gmail.com
on 3 Jun 2011 at 10:45
I think log will be more helpful for those how make 2.2 ROM.
I think that the problem is unfortunately linked to the way the driver setup
sound routings :S and unfortunately the app can't workaround it in this case :(.
Hopefully SDX developpers will find a way to port the hack of the previous
kernel in more recent ones.
If they need me to give some infos about the way the SIP app do things
(actually all sip apps do more or less the same thing), just let me know, I'll
be pleased to help.
In android 2.3.3 things will be more obvious (even for samsung ;) ). The
android API has something more clear about a specific VoIP mode that they also
use for the stock SIP application. Hopefully when samsung will upgrade their
device to 2.3 they will provide a clean kernel that allow to change routing as
define in android SDK.
Original comment by r3gis...@gmail.com
on 4 Jun 2011 at 5:09
unfortunately android 2.3 will not hit this device from what I've read. I hope
that a kernel will come out for 2.2
Original comment by goofee...@gmail.com
on 4 Jun 2011 at 6:52
Issue 1174 has been merged into this issue.
Original comment by r3gis...@gmail.com
on 26 Jul 2011 at 8:49
So I can add that the kernel hack has been ported to android 2.2 but
unfortunately I am getting the same results as with 2.1
you can get audio from the earpiece but the microphone wont work but once you
turn on the loudspeaker the mic works
Original comment by goofee...@gmail.com
on 26 Jul 2011 at 11:51
I am using the kernel referenced in comment 14
(http://forum.sdx-developers.com/index.php?topic=16144.0), which is a froyo
kernel with the same hack as squealjoy kernel for eclair) but the results don't
seem any different from the stock froyo kernel (audio comes from the back
speaker, and if I enable mode audio API, audio comes from the earpiece but the
microphone doesn't work). Has anyone else tried that kernel and gotten it to
work?
Original comment by tlin...@gmail.com
on 29 Jul 2011 at 7:30
The audio layer compatibility has been significantly improved recently. Maybe
this issue is already fixed with the next nightly builds (that will be produced
in about one hour here :
http://nightlies.csipsimple.com/trunk/CSipSimple-latest-trunk.apk )
Original comment by r3gis...@gmail.com
on 18 Sep 2012 at 9:35
Original issue reported on code.google.com by
goofee...@gmail.com
on 31 May 2011 at 9:07