<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Bluedroid_4.2_battle</id>
	<title>Bluedroid 4.2 battle - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=Bluedroid_4.2_battle"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Bluedroid_4.2_battle&amp;action=history"/>
	<updated>2026-05-02T11:50:47Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=Bluedroid_4.2_battle&amp;diff=244&amp;oldid=prev</id>
		<title>Unknown user в 08:15, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=Bluedroid_4.2_battle&amp;diff=244&amp;oldid=prev"/>
		<updated>2014-10-15T08:15:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Make 4.2+ Android Bluedroid work with USB HCI =&lt;br /&gt;
&lt;br /&gt;
* Current status&lt;br /&gt;
* Now Android Bluedroid have USB Hci support, thanks to intel, here cm patches:&lt;br /&gt;
http://review.cyanogenmod.org/#/c/45535/&lt;br /&gt;
http://review.cyanogenmod.org/#/c/45536/&lt;br /&gt;
http://review.cyanogenmod.org/#/c/45537/&lt;br /&gt;
http://review.cyanogenmod.org/#/c/45538/&lt;br /&gt;
&lt;br /&gt;
** Bluedroid fail to identify our usb device as bt device&lt;br /&gt;
*** Fixed &lt;br /&gt;
**** Disable all kernel bluetooth drivers or remove modules on system start (bluetooth.ko &amp;amp; btusb.ko)&lt;br /&gt;
**** Compile bluedroid without rfkill support, as without btusb module no rfkill created for usb bt device&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Bluetooth&lt;br /&gt;
BOARD_HAVE_BLUETOOTH                    := true&lt;br /&gt;
BLUETOOTH_HCI_USE_USB                   := true&lt;br /&gt;
BOARD_HAVE_BLUETOOTH_BCM                := true&lt;br /&gt;
BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/toshiba/paz00-common/bluetooth&lt;br /&gt;
BOARD_BLUETOOTH_DOES_NOT_USE_RFKILL     := true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''''' Add system property to disable rfkill for bt_upio, do ween this?&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#disable rfkill for upio&lt;br /&gt;
ro.rfkilldisabled=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''''' Set correct permissions (bluetooth:bluetooth) on devices on '''/dev/uhid''' and '''/dev/bus/usb/001/004''' in ueventd.rc&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# for bluetooth nodes&lt;br /&gt;
#/dev/uhid                      0660    bluetooth bluetooth&lt;br /&gt;
&lt;br /&gt;
# bt device&lt;br /&gt;
/dev/bus/usb/001/004            0660    bluetooth bluetooth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
'''* Bt turns on, can scan devices, pair and even data transfer happen in log, but it seems no uinput device created &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Yongbing helped to get rid of last problem with no input device created, here in comments http://yongbingchen.github.io/blog/2013/05/25/bluedroid-bug-fix/&lt;br /&gt;
*** Final patch which fix input device creation here http://review.cyanogenmod.org/#/c/51931/&lt;br /&gt;
**** Probably will not land into mainline cm, no one reviews it.&lt;br /&gt;
&lt;br /&gt;
== Add debug to LibUsb (the one cm-10.1 use) ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff --git a/config.h b/config.h&lt;br /&gt;
index e251d64..29aba07 100644&lt;br /&gt;
--- a/config.h&lt;br /&gt;
+++ b/config.h&lt;br /&gt;
@@ -4,7 +4,7 @@&lt;br /&gt;
 #define API_EXPORTED __attribute__((visibility(&amp;quot;default&amp;quot;)))&lt;br /&gt;
 &lt;br /&gt;
 /* Debug message logging */&lt;br /&gt;
-/* #undef ENABLE_DEBUG_LOGGING */&lt;br /&gt;
+#define ENABLE_DEBUG_LOGGING 1&lt;br /&gt;
 &lt;br /&gt;
 /* Message logging */&lt;br /&gt;
 #define ENABLE_LOGGING 1&lt;br /&gt;
diff --git a/libusb/Android.mk b/libusb/Android.mk&lt;br /&gt;
index c437a87..9e0c1c7 100644&lt;br /&gt;
--- a/libusb/Android.mk&lt;br /&gt;
+++ b/libusb/Android.mk&lt;br /&gt;
@@ -14,7 +14,8 @@ LOCAL_C_INCLUDES += \&lt;br /&gt;
  external/libusb/libusb/ \&lt;br /&gt;
  external/libusb/libusb/os&lt;br /&gt;
 &lt;br /&gt;
-LOCAL_CFLAGS := -D_SHARED_LIBRARY_&lt;br /&gt;
+LOCAL_CFLAGS := -D_SHARED_LIBRARY_ &lt;br /&gt;
+LOCAL_SHARED_LIBRARIES := liblog&lt;br /&gt;
 LOCAL_MODULE_TAGS:= optional&lt;br /&gt;
 LOCAL_MODULE:= libusb&lt;br /&gt;
 include $(BUILD_SHARED_LIBRARY)&lt;br /&gt;
diff --git a/libusb/core.c b/libusb/core.c&lt;br /&gt;
index 7e4fd24..e22c6ad 100644&lt;br /&gt;
--- a/libusb/core.c&lt;br /&gt;
+++ b/libusb/core.c&lt;br /&gt;
@@ -29,6 +29,10 @@&lt;br /&gt;
 #include &amp;lt;sys/types.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
+#if defined(__ANDROID__)&lt;br /&gt;
+#include &amp;lt;android/log.h&amp;gt;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 #include &amp;quot;libusb.h&amp;quot;&lt;br /&gt;
 #include &amp;quot;libusbi.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
@@ -1538,7 +1542,12 @@ void usbi_log(struct libusb_context *ctx, enum usbi_log_level level,&lt;br /&gt;
 {&lt;br /&gt;
        va_list args;&lt;br /&gt;
        FILE *stream = stdout;&lt;br /&gt;
+#if defined(__ANDROID__)&lt;br /&gt;
+       int prio;&lt;br /&gt;
+#else&lt;br /&gt;
        const char *prefix;&lt;br /&gt;
+#endif&lt;br /&gt;
+&lt;br /&gt;
 &lt;br /&gt;
 #ifndef ENABLE_DEBUG_LOGGING&lt;br /&gt;
        USBI_GET_CONTEXT(ctx);&lt;br /&gt;
@@ -1550,6 +1559,29 @@ void usbi_log(struct libusb_context *ctx, enum usbi_log_level level,&lt;br /&gt;
                return;&lt;br /&gt;
 #endif&lt;br /&gt;
 &lt;br /&gt;
+#if defined(__ANDROID__)&lt;br /&gt;
+       switch (level) {&lt;br /&gt;
+               case LOG_LEVEL_INFO:&lt;br /&gt;
+                       prio = ANDROID_LOG_INFO;&lt;br /&gt;
+                       break;&lt;br /&gt;
+               case LOG_LEVEL_WARNING:&lt;br /&gt;
+                       prio = ANDROID_LOG_WARN;&lt;br /&gt;
+                       break;&lt;br /&gt;
+               case LOG_LEVEL_ERROR:&lt;br /&gt;
+                       prio = ANDROID_LOG_ERROR;&lt;br /&gt;
+                       break;&lt;br /&gt;
+               case LOG_LEVEL_DEBUG:&lt;br /&gt;
+                       prio = ANDROID_LOG_DEBUG;&lt;br /&gt;
+                       break;&lt;br /&gt;
+               default:&lt;br /&gt;
+                       prio = ANDROID_LOG_UNKNOWN;&lt;br /&gt;
+                       break;&lt;br /&gt;
+       }&lt;br /&gt;
+&lt;br /&gt;
+       va_start (args, format);&lt;br /&gt;
+       __android_log_vprint(prio, &amp;quot;LibUsb&amp;quot;, format, args);&lt;br /&gt;
+       va_end (args);&lt;br /&gt;
+#else&lt;br /&gt;
        switch (level) {&lt;br /&gt;
        case LOG_LEVEL_INFO:&lt;br /&gt;
                prefix = &amp;quot;info&amp;quot;;&lt;br /&gt;
@@ -1579,5 +1611,6 @@ void usbi_log(struct libusb_context *ctx, enum usbi_log_level level,&lt;br /&gt;
        va_end (args);&lt;br /&gt;
 &lt;br /&gt;
        fprintf(stream, &amp;quot;\n&amp;quot;);&lt;br /&gt;
+#endif&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Find the reason of ev.u.create.bus mystic==&lt;br /&gt;
Everybody lucky with BUS_BLUETOOTH but why? Maybe they have some extra patch or config option?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./kernel/toshiba/ac100/samples/uhid/uhid-example.c:124: ev.u.create.bus = BUS_USB;&lt;br /&gt;
./external/bluetooth/bluedroid/btif/co/bta_hh_co.c:423:    ev.u.create.bus = BUS_BLUETOOTH;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>