Bluetooth stick support BCM20702 for Android X86 Pie?

462 views
Skip to first unread message

Androidonis

unread,
Aug 19, 2021, 7:40:26 AM8/19/21
to Android-x86
I struggle to enable and use bluetooth with BCM20702. Do I need to add something to the image? What can I do to analyse the problem with a terminal window?
With lsusb -v I can see:
Bus 002 Device 003: ID 0a5c:21ec
Is there anything I can configure or patch to make it work?
Are there any sticks that are known to work?
I am not a specialist in Android, so please help with detailed information.
Thanks, Andreas

Androidonis

unread,
Aug 19, 2021, 8:47:58 AM8/19/21
to Android-x86
I even found a hcd file:
I did read those files go to 'lib/firmware/' folder.
But how to do this? Folder is reported as read only filesystem.

Androidonis

unread,
Aug 19, 2021, 9:16:52 AM8/19/21
to Android-x86
I tried with another CSR stick and lsusb shows:
Bus 002 Device 003: ID 0a12:0001
I found an old post for 5.1 version of android_x86, reporting that this device works.
But not on my 9.0 system, hciconfig -a shows it with 'DOWN'.
Can I make any BT stick work?

michel Alexa

unread,
Oct 11, 2021, 3:38:55 AM10/11/21
to Android-x86
Hi, 

I work with a Broadcom adapter with AOSP 10, and it's not working on my side as well, using both the graphical interface and the command line interface (terminal).
About the filesystem problem, try using the << chmod >> command on the folder (see documentation on die.net website).
About the BT issue, I recommend to connect with BT via the terminal as instructed here on the 3rd post https://groups.google.com/g/android-x86/c/g6XkeDnATbg. You can use the << dmesg | grep Bluetooth>> command.

On my side, I successfully installed the drivers ( or placed them there), but the BT adapter only sees my phone's BT, using the << hcitool scan >> command, and running the command << dmesg | grep Bluetooth >> is prints this: 

[ timestamp ] Bluetooth hci0: RTL: rtl: examining hci_ver=0a hci_rev=000c lmp_ver=0a lmp_subver=8822/x0a
[ timestamp ] Bluetooth hci0: RTL: rtl: unknown IC info, lmp subver 8822, hci rev 000c, hci ver 000a
[ timestamp ] Bluetooth hci0: RTL: rtl: assuming no firmware upload needed/x0a

Please, If you found more information about this topic, please reply here, because I am very interested on this topic. Thank you!

Huy Minh Bùi

unread,
Oct 11, 2021, 5:34:07 AM10/11/21
to Android-x86
another thing you can try it's to restart com.android.bluetooth. I tried it with my fake CSR card (https://linux-hardware.org/index.php?id=usb:0a12-0001) which actually use an old Broadcom chip and it work.

pm disable com.android.bluetooth
pm enable com.android.bluetooth
Vào lúc 14:38:55 UTC+7 ngày Thứ Hai, 11 tháng 10, 2021, mihaimu...@gmail.com đã viết:

michel Alexa

unread,
Dec 16, 2021, 5:38:10 AM12/16/21
to Android-x86
Hi,

I have more news about the Bluetooth using Broadcom type chip. After changing the source code, on my Android 10, a USB BCM dongle works. I made the following changes:
  • in frameworks/base/core/java/android/os/ServiceManager.java , at the line 123 (at least in Android 10) is a function called getService(). I rephrased the content in order to have just one return statement instead of 3
  • in packages/apps/Bluetooth/Android.mk, at line 2, I inserted the following line "LOCAL_PATH := $(TOP)/packages/apps/Bluetooth", because I observed that the path returned is not right. I highly recommend to test if the first line returns the path to the Bluetooth app folder. If you don't know how to do that, insert after the line "LOCAL_PATH=(call my-dir)" the following line " TTEST := $(shell echo $(LOCAL_PATH) >> ~/path.txt )"
  • in packages/apps/Bluetooth/lib/mapapi, check if there are 3 java files. If exists, go to ./com/android/bluetooth/mapapi folder and check if there are the same 3 java clases. If so, delete the ones from packages/apps/Bluetooth/lib/mapapi.
  • in packages/apps/Bluetooth/res/values/config.xml, disable the profile_supported_hs_hfp, and profile_supported_hfpclient resources. If between htp and client is an underscore, delete that too.
  • after the building of the Android, it may need to insert in /lib/firmware/brcm/ a file or more files from https://github.com/winterheart/broadcom-bt-firmware . Follow the instructions on that page
I hope it helps, or, at least, guides someone on the right path.

Reply all
Reply to author
Forward
0 new messages