[Android Development on Bada] hunktb:
Bluetooth S8530

Thanks chemosum for sharing. After this post I discovered this previous one http://xdaforums.com/showpost.php?p=35166310&postcount=408 where you managed to make wifi work on S8530

I have just S8500, but I share my findings about bluetooth not working in wave II (thanks to Volk204 for his explanations)

I have been comparing files and making some tests (just with S8500), just trying to identify why four files in bada and why differences

4 files in bada (/SystemFS/Drivers): Wlan_bcm4329_mfg.txt, Wlan_bcm4329_rte.txt, Wlan_SWB-B23_mfg.txt, Wlan_SWB-B23_rte.txt

(I see and modify these files with Stune+WinXP+Virtualbox: sometimes it doesn't work, I just have ubuntu :)

-(Bada) Deleting /SystemFS/Drivers/Wlan_bcm4329_mfg.txt and Wlan_bcm4329_rte.txt: wifi and bluetooth still working in bada

-(Badadroid) Changing nvram_net.txt by most similar bada file(adb push Wlan_SWB-B23_rte.txt /system/vendor/firmware/nvram_net.txt): wifi and bluetooth still working

-(Badadroid) Deleting /system/vendor/firmware/nvram_net.txt, wifi doesn't work in badadroid, but bluetooth works!

My first guess: S8500 just uses Wlan_SWB-B23*, and Wlan_bcm4329_* are not necessary at all in S8500, so Wlan_bcm4329_* are for S8530. Somehow S8500 does not need any configuration for bluetooth

By now it seems sensible for me why 2 files, but why four (mfg and rte version for each one)?

First guess verified comparing nvram_net.txt files in badadroid (/system/vendor/firmware) and associated files in /SystemFS/Drivers

Ignoring not important differences; comments, blank lines

* nvram_net_s8500.txt vs Wlan_SWB-B23_mfg.txt -> almost identical

diff nvram_net_s8500.txt Wlan_SWB-B23_mfg.txt

<pa0maxpwr=68

>pa0maxpwr=74

<macaddr=00:90:4c:c5:00:34

>#macaddr=00:90:4c:c5:00:34

<sd_gpout=0

* nvram_net_s8500.txt vs Wlan_SWB-B23_rte.txt -> almost identical

Same differences that Wlan_SWB-B23_mfg.txt, and some more

diff nvram_net_s8500.txt Wlan_SWB-B23_rte.txt

< ccode=ALL

> ccode=EU

> # for btcoex

> btc_params80=0

> btc_params6=10

>

> # for Host Wakeup

> # GPIO[0] High Active

> sd_gpout=0

> sd_gpval=1

> #sd_gpdc=0

* nvram_net_s8530.txt vs Wlan_bcm4329_mfg.txt -> 100% identical

* nvram_net_s8530.txt vs Wlan_bcm4329_rte.txt (almost identical)

diff nvram_net_s8530.txt Wlan_bcm4329_rte.txt

< ccode=ALL

> ccode=EU

> # for btcoex

> btc_params80=0

> btc_params6=10

>

> # for Host Wakeup

> # GPIO[0] High Active

> sd_gpout=0

> sd_gpval=1

> #sd_gpdc=0

I guess: bt=Bluetooth, mfg = Manufacturer?, rte = Retailer?, ccdode=Country code.

It seems rte version is more specific (EU=Europe instead of ALL), and it is the only one has bt* and sd_gp* parameters

My second guess: rte version with bt* parameters is necessary for bluetooth in S8530, as S8500 bluetooth works without nvram file.

As SWB-B23 and BCM4329 are different chips, but first one is from samsung and includes internally the second one, maybe they have different ways to be mounted and they need different configuration. sd_gp* may be related to give power to BT circuits, just in *rte* config files?

Googling a bit, found bt* and sd_gp* parameters in other threads:

http://xdaforums.com/showthread.php?p=19888985 config file also contains "bcm94329sdagb board" like wave, says "

#BT co-exist"

http://xdaforums.com/showthread.php?p=28067748 config file named bcmhdhd.cal, says "#for BT-coexistence"

http://xdaforums.com/showthread.php?p=28180158 "BT Choppy issue fixed"

I don't have a S8530 to test with these parameters, but I so will try to put file with bt* parameters in S8530:

Steps to do it if someone with S8530 wants to try:

1. Extract Wlan_bcm4329_rte.txt from Drivers.zip in previous chemosum post

2. adb push Wlan_bcm4329_rte.txt /system/vendor/firmware/nvram_net.txt

Steps to revert previous situation:

1. Open adb shell

2. cp /system/vendor/firmware/nvram_net_s8530.txt /system/vendor/firmware/nvram_net.txt

BTW: bt coexistence with what? related with bcm4329 being at the same time wifi, bt and fm chip ?

Any information about undestanding nvram parameters will be useful, but seems broadcom propietary ... just found this reference, it is for other chip and not sure if related

http://www.broadcom.com/collateral/pg/5756M-PG101-R.pdf

Programmer’s Guide BCM5756M

Section 4: NVRAM Configuration

...Details relating to the NVRAM can be found in NetXtreme/NetLink NVRAM Access Broadcom application note (Netxtreme-AN50X-R).