0

I am trying to get my bcm43xx chip initialized on my Galaxy note 2 running Kitkat.

I have backported my bluetooth subsystem and added hciattach, hciconfig, and others from Bluez (which I have ported into my rom to replace Bluedroid)

Upon a reboot I run the following

modprobe bluetooth //Load the backported subsystem
modprobe hci_uart
modprobe hci_smd
echo "1" > /sys/class/rfkill/rfkill0/state
hciattach /dev/ttySAC0 bcm43xx 3000000 flow 79:59:5E:**:**:** //The bt addr is loaded from /efs/bluetooth/bt_addr in which the ** are real hex
hciconfig hci0 up

Anyway I have modded hciattach as I was having issues having it find my bcm4334.hcd firmware file which in my rom is /system/bin I hard-coded it into the source and all seems find as I get

In '/system/bin': Success
In '/system/bin': Success
In '/system/bin/.ext': Success
Broke in '/system/bin/.ext': Success
Flash firmware /system/bin/bcm4334_semcosh.hcd
Set Controller UART speed to 3000000 bit/s
Device setup complete

Where the first 4 lines are my debug code to try to get the function that searches recursively are.

Yay, it works.. not... I can ping, scan etc using tools in the shell but look at my hciconfig -a

hci0:   Type: BR/EDR  Bus: UART
        BD Address: 43:34:B0:00:00:00  ACL MTU: 1021:8  SCO MTU: 64:1
        DOWN
        RX bytes:579 acl:0 sco:0 events:27 errors:0
        TX bytes:379 acl:0 sco:0 commands:27 errors:0
        Features: 0xbf 0xfe 0xcf 0xfe 0xdb 0xff 0x7b 0x87
        Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
        Link policy: RSWITCH SNIFF
        Link mode: SLAVE ACCEPT

Look at my BD Address. Its the default, no address given address. The issue I face now is Bluez checks my hardware address and sees that it does not match thus it fails and does not start.

I am getting to a point where I do not know where to turn to. Any help would be great

I am using Bluez 5.18, backported 3.14 drivers, 4.4.2 base.

Thanks in advance

Brian
  • 41
  • 5
  • Presumably you should search through the code and see where the erroneous/unset address is coming from, then devise a way to fix it. If you really don't know where to start, look at the code which displays it, look at where it obtains the information to display, and then once you have some potential internal variable/field names, start doing recursive grep on the entire tree and making sense of what you find. That is, of course, assuming you find nothing helpful in the documentation. – Chris Stratton Apr 28 '14 at 17:02
  • I manged to "Fix it" by hard coding it it. I will have to go back once I get it up and working to maybe read the file containing the address but for now I will keep it to allow me to work with bluez. Thanks – Brian Apr 28 '14 at 21:17

0 Answers0