[Q] HD Voice AMR-WB - Service Menu

groover1964

Member
Jul 25, 2011
6
0
0
Telstra in Australia has implemented HD Voice for supported devices.

The Galaxy Nexus supports AMR-WB as a codec, but I can't find if it is activated by default.

Is anyone aware of the Galaxy Nexus code to get to the Service Menu so I can see if AMR-WB is activated or not?
 

Equinox102

Senior Member
Aug 9, 2010
76
8
0
It's definately not activated by default. The 'service menu' that the SGS2 had was a Samsung thing and isn't included on AOSP-based ROMs like what is on the Nexus.

I did manage to get WB-AMR working under Cyanogenmod on my SGS2 by adding the appropriate variable to the build.prop file. I'll give it a go on my Nexus when I have time tomorrow.

The supports however needs to be built into the modem firmware for any ROM to support it. The Nexus does use the same modem as the SGS2 (Intel X-GOLD 626) so the hardware support is there.
 
  • Like
Reactions: lap777

Equinox102

Senior Member
Aug 9, 2010
76
8
0
Yeah Orange UK and T-Mobile Germany off the top of my head.

Tried adding ro.ril.enable.amr.wideband=1 to the build.prop file and it had absolutely no effect. Quite unhappy as it's a serious downgrade from my SGS2 in this regard.
 

liam77

Member
Sep 21, 2010
14
3
0
I've also been trying to find out how to enable HD Voice on my Yakju (4.02 rooted) version.

On the Samsung (AU) site they list slightly different specs for the Telstra version (just the SAR Value). Would this mean there is a difference in the hardware of Yakju handsets and the Telstra variant?

If it's not hardware, then is there a way to tell the difference between the Telstra system image and the Yakju system image? Maybe like the linux 'diff' command.
 

jpage1977

New member
May 11, 2010
2
0
0
Reviving this thread to see if anyone has any techniques for getting the amr-wb codec working on their non-Telstra supplied gnexus.

I have sunk many hours of research into this and cannot find a solution, but my dev skills are non existent. I'm hoping someone with some knowledge of vocoders in Android might be able to shed some light on how amr-wb is implemented on Telstra Gnexus, and/or any other ways to implement it via a custom kernel or library installation?
 

jpage1977

New member
May 11, 2010
2
0
0
I have done some more analysis of the radio logs and found the following. Taken from radio log on stock JB 4.1.1 Tuna Maguro JR003C

Code:
E/RIL(s)  (10359): requestGetWB_AMR()
E/RIL(s)  (10359): TxSND_GetWBAmrReport()
E/RIL(s)  (10359): get_msg_sequence()
E/RIL(s)  (10359):  IPC_send_singleIPC ipc hdr len =7
E/RIL(s)  (10359): TX: Time: 3689190250 / 169949229
E/RIL(s)  (10359): WaitForExpectedCmd(): cur_time: 169949229, cur_req->timeout: 169954229, ph->near_timeout: 169954229
E/RIL(s)  (10359): handle_multiclient:
E/RIL(s)  (10359): handle_multiclient: fd[0]=25
E/RIL(s)  (10359): process_multiclient:
E/RIL(s)  (10359): set_multiclient_max_fd:
E/RIL(s)  (10359): set_multiclient_max_fd: maxfd=25
E/RIL(s)  (10359): set_multiclient_fd_set:
E/RIL(s)  (10359): set_multiclient_fd_set: fd=25
E/RIL(s)  (10359): handle_multiclient:
E/RIL(s)  (10359): handle_multiclient: fd[0]=25
E/RIL(s)  (10359): process_multiclient:
E/RIL(s)  (10359): processBuffer:
E/RIL(s)  (10359): processBuffer: request[59], token[2], datalen[5]
E/RIL(s)  (10359): CreateRequest(): req(0x40738aa0), id(59), tok(0x40738a90) - FUNC(0x401bcbd1)
E/RIL(s)  (10359): set_multiclient_max_fd:
E/RIL(s)  (10359): set_multiclient_max_fd: maxfd=25
E/RIL(s)  (10359): set_multiclient_fd_set:
E/RIL(s)  (10359): set_multiclient_fd_set: fd=25
E/RIL(s)  (10359): [EVT]:Req(3), RX(0)
E/RIL(s)  (10359): set_wakelock: on 1 id: secril_fmt-interface
E/RIL(s)  (10359): processIPC: plen 8, pkt_len 8
E/RIL(s)  (10359): processIPC: Got Single IPC
E/RIL(s)  (10359): [EVT]:Req(3), RX(1)
E/RIL(s)  (10359): RX: Time: 3689190251 / 169949230
E/RIL(s)  (10359): RX: (M)IPC_SND_CMD  (S)IPC_SND_WB_AMR_RPT  (T)IPC_CMD_RESP (len:0x08 mseq:0xFF aseq:0x97) [ 00 ]
E/RIL(s)  (10359): requestOEMHookRaw
E/RIL(s)  (10359): Logging Oem Func ID : 8
E/RIL(s)  (10359): Logging Oem Sub Func ID : 14
E/RIL(s)  (10359): requestOemSound()
E/RIL(s)  (10359): requestGetWB_AMR()
[COLOR="Red"]E/RIL(s)  (10359): RxSND_NotiWBAmrReport 1()
E/RIL(s)  (10359): RIL_onRequestComplete: tok(0x40738900)
E/RIL(s)  (10359): RIL_onMultiClientRequestComplete:
E/RIL(s)  (10359): RxSND_NotiWBAmrReport() WB_AMR response : 0
E/RIL(s)  (10359): COMPLETE - STATE[1] <
[/COLOR]


There seems to be some kind of negotiation for WB-AMR codec, which I know the network supports, but I can't work out from this text whether the second last line "WB_AMR response ; 0 " is the phone or the carrier. Can anyone help?

Even better, if anyone with a wb-amr enabled handset could post the relevant part of their radio log, that would be great. Or even better, if someone with a Telstra handset with confirmed working HD Voice that can access their radio log could post.

Cheers

James
 

JiggerMonk

Member
Feb 18, 2009
5
2
0
Accidental HD Voice

I swear I had an HD Voice call to a SGS2 that took me by surprise (as I wasn't aware of HD voice at the time). I was unnerved by the sound quality being that much better than I was expecting.

I'm on Three UK which have supported HD Voice for some time.

I have an imported Galaxy Nexus bought off contract. It's been flashed with plain old US Jelly bean.
 

Monk3y

Senior Member
Jan 6, 2011
973
212
73
London
I'm not sure but Yes i think, go to the thread on xda for more détails... backup your ROM and test ! Root is requiered

Last Xylon with last dummy kernel