forked from webosose/meta-webosose
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bluez5 (refresh patches to apply on 5.59 version)
:Release Notes: :Detailed Notes: Fixes: ERROR: bluez5-5.59-r0 do_patch: Command Error: 'quilt --quiltrc /jenkins/mjansa/build/ros/webos-noetic-honister/tmp-glibc/work/raspberrypi4-webos-linux-gnueabi/bluez5/5.59-r0/recipe-sysroot-native/etc/quiltrc push' exited with 0 Output: stdout: Applying patch 0012-Support-enabling-avdtp-delayReport.patch patching file profiles/audio/a2dp.c Hunk #1 succeeded at 2195 (offset 1 line). patching file profiles/audio/a2dp.h patching file profiles/audio/avdtp.c Hunk #1 succeeded at 470 (offset 1 line). patching file profiles/audio/avdtp.h patching file profiles/audio/media.c patching file profiles/audio/media.h patching file src/adapter.c Hunk #1 succeeded at 68 (offset 1 line). Hunk #2 succeeded at 226 (offset 1 line). Hunk webosose#3 succeeded at 295 (offset 3 lines). Hunk webosose#4 succeeded at 501 (offset 3 lines). Hunk webosose#5 succeeded at 3254 (offset 11 lines). Hunk webosose#6 succeeded at 3551 (offset 11 lines). Hunk webosose#7 succeeded at 4880 (offset 12 lines). Hunk webosose#8 succeeded at 6332 (offset 12 lines). Hunk webosose#9 succeeded at 6373 (offset 12 lines). Hunk webosose#10 succeeded at 6381 (offset 12 lines). patching file src/adapter.h patching file src/btd.h Hunk #1 FAILED at 105. 1 out of 1 hunk FAILED -- rejects in file src/btd.h patching file src/main.c Hunk #1 succeeded at 77 (offset 1 line). Hunk #2 succeeded at 729 with fuzz 2 (offset 20 lines). patching file src/main.conf Patch 0012-Support-enabling-avdtp-delayReport.patch does not apply (enforce with -f) :Testing Performed: Only build tested. :QA Notes: No change to image. :Issues Addressed: [PLAT-141293] Create GPVB with Yocto 3.4 Honister
- Loading branch information
1 parent
909dc50
commit 5a8baca
Showing
28 changed files
with
155 additions
and
161 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 85c5b7e82355f00499447d9ed5fa71ae1b1e0e6b Mon Sep 17 00:00:00 2001 | ||
From 1dd0433600126f7dea30b7423a88accdbe73312f Mon Sep 17 00:00:00 2001 | ||
From: "sameer.mulla" <[email protected]> | ||
Date: Wed, 11 Apr 2018 11:03:20 +0530 | ||
Subject: [PATCH] Fix advertise time out when default is set to zero | ||
|
@@ -25,10 +25,10 @@ Change-Id: I60cb0c22991efa61a800b1483e232e42beff2da2 | |
1 file changed, 7 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/src/advertising.c b/src/advertising.c | ||
index 15a343e52..92ab25ed2 100644 | ||
index 70e60601d..e0fd2cb57 100644 | ||
--- a/src/advertising.c | ||
+++ b/src/advertising.c | ||
@@ -524,13 +524,18 @@ static bool parse_local_name(DBusMessageIter *iter, | ||
@@ -525,13 +525,18 @@ static bool parse_local_name(DBusMessageIter *iter, | ||
if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) | ||
return false; | ||
|
||
|
2 changes: 1 addition & 1 deletion
2
...-connectivity/bluez5/bluez5/0002-Send-disconnect-signal-on-remote-device-disconnect.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 13029ffccb33fc57ce7777f1d6223ed26fe70f40 Mon Sep 17 00:00:00 2001 | ||
From a893234f2aa6f5376bf71cfe85221b6dbb526e1e Mon Sep 17 00:00:00 2001 | ||
From: Vibhanshu Dhote <[email protected]> | ||
Date: Thu, 17 May 2018 18:15:48 +0530 | ||
Subject: [PATCH] Send disconnect signal on remote device disconnect | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 01a35d286d28e50e2c456dbbe9ce1f8cb9dc5000 Mon Sep 17 00:00:00 2001 | ||
From 84ea8ffa177381b070518089d41b92ba8bd7b651 Mon Sep 17 00:00:00 2001 | ||
From: "vijaya.sundaram" <[email protected]> | ||
Date: Fri, 1 Jun 2018 11:43:15 +0530 | ||
Subject: [PATCH] Fetching device type like BLE, BREDR from bluez | ||
|
@@ -24,18 +24,18 @@ Upstream-Status : Pending | |
1 file changed, 17 insertions(+) | ||
|
||
diff --git a/src/device.c b/src/device.c | ||
index af13badfc..b20906f3c 100644 | ||
index 65838f59f..229e239fb 100644 | ||
--- a/src/device.c | ||
+++ b/src/device.c | ||
@@ -205,6 +205,7 @@ struct btd_device { | ||
@@ -206,6 +206,7 @@ struct btd_device { | ||
char name[MAX_NAME_LENGTH + 1]; | ||
char *alias; | ||
uint32_t class; | ||
+ uint32_t devicetype; | ||
uint16_t vendor_src; | ||
uint16_t vendor; | ||
uint16_t product; | ||
@@ -877,6 +878,21 @@ static gboolean dev_property_get_class(const GDBusPropertyTable *property, | ||
@@ -878,6 +879,21 @@ static gboolean dev_property_get_class(const GDBusPropertyTable *property, | ||
return TRUE; | ||
} | ||
|
||
|
@@ -57,7 +57,7 @@ index af13badfc..b20906f3c 100644 | |
static gboolean get_appearance(const GDBusPropertyTable *property, void *data, | ||
uint16_t *appearance) | ||
{ | ||
@@ -2915,6 +2931,7 @@ static const GDBusMethodTable device_methods[] = { | ||
@@ -2916,6 +2932,7 @@ static const GDBusMethodTable device_methods[] = { | ||
static const GDBusPropertyTable device_properties[] = { | ||
{ "Address", "s", dev_property_get_address }, | ||
{ "AddressType", "s", property_get_address_type }, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 1d59242d83ee719042e5fb29db074c3320f7c379 Mon Sep 17 00:00:00 2001 | ||
From 43dadeab48001c678498398ca6e50065ef3f911c Mon Sep 17 00:00:00 2001 | ||
From: "sameer.mulla" <[email protected]> | ||
Date: Sun, 22 Jul 2018 18:59:45 +0530 | ||
Subject: [PATCH] Fix Gatt connect when device address type is BDADDR_LE_PUBLIC | ||
|
@@ -29,10 +29,10 @@ Upstream-Status: Pending | |
1 file changed, 28 insertions(+) | ||
|
||
diff --git a/src/device.c b/src/device.c | ||
index b20906f3c..91dc363e2 100644 | ||
index 229e239fb..0c2614fc8 100644 | ||
--- a/src/device.c | ||
+++ b/src/device.c | ||
@@ -2160,6 +2160,33 @@ static DBusMessage *dev_connect(DBusConnection *conn, DBusMessage *msg, | ||
@@ -2161,6 +2161,33 @@ static DBusMessage *dev_connect(DBusConnection *conn, DBusMessage *msg, | ||
return connect_profiles(dev, bdaddr_type, msg, NULL); | ||
} | ||
|
||
|
@@ -66,7 +66,7 @@ index b20906f3c..91dc363e2 100644 | |
static DBusMessage *connect_profile(DBusConnection *conn, DBusMessage *msg, | ||
void *user_data) | ||
{ | ||
@@ -2919,6 +2946,7 @@ static DBusMessage *cancel_pairing(DBusConnection *conn, DBusMessage *msg, | ||
@@ -2920,6 +2947,7 @@ static DBusMessage *cancel_pairing(DBusConnection *conn, DBusMessage *msg, | ||
static const GDBusMethodTable device_methods[] = { | ||
{ GDBUS_ASYNC_METHOD("Disconnect", NULL, NULL, dev_disconnect) }, | ||
{ GDBUS_ASYNC_METHOD("Connect", NULL, NULL, dev_connect) }, | ||
|
2 changes: 1 addition & 1 deletion
2
...recipes-connectivity/bluez5/bluez5/0005-Use-system-bus-instead-of-session-for-obexd.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 7a4e82c413acf7e510c20e665a92faceb7421c2f Mon Sep 17 00:00:00 2001 | ||
From 7eff0e52a3013cf5b72a3664a718d9ebca8cffff Mon Sep 17 00:00:00 2001 | ||
From: "sameer.mulla" <[email protected]> | ||
Date: Thu, 15 Nov 2018 11:08:44 +0530 | ||
Subject: [PATCH] Use system bus instead of session for obexd | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 6b33f38e65c9248a5eb8fdab0ce3162b52ea7277 Mon Sep 17 00:00:00 2001 | ||
From 8bdb0ebedc3d99016bf3d24423924701ae871293 Mon Sep 17 00:00:00 2001 | ||
From: "sameer.mulla" <[email protected]> | ||
Date: Tue, 22 Jan 2019 23:25:18 +0530 | ||
Subject: [PATCH] Implementation to get connected profiles uuids | ||
|
@@ -25,18 +25,18 @@ Change-Id: I72834cc9b4bdd8f086565dc9a2a41006f758ad39 | |
1 file changed, 49 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/src/device.c b/src/device.c | ||
index 91dc363e2..2e2ae32f7 100644 | ||
index 0c2614fc8..1a668335e 100644 | ||
--- a/src/device.c | ||
+++ b/src/device.c | ||
@@ -214,6 +214,7 @@ struct btd_device { | ||
@@ -215,6 +215,7 @@ struct btd_device { | ||
char *modalias; | ||
struct btd_adapter *adapter; | ||
GSList *uuids; | ||
+ GSList *connected_uuids; | ||
GSList *primaries; /* List of primary services */ | ||
GSList *services; /* List of btd_service */ | ||
GSList *pending; /* Pending services */ | ||
@@ -909,6 +910,28 @@ static gboolean get_appearance(const GDBusPropertyTable *property, void *data, | ||
@@ -910,6 +911,28 @@ static gboolean get_appearance(const GDBusPropertyTable *property, void *data, | ||
return FALSE; | ||
} | ||
|
||
|
@@ -65,7 +65,7 @@ index 91dc363e2..2e2ae32f7 100644 | |
static gboolean dev_property_exists_appearance( | ||
const GDBusPropertyTable *property, void *data) | ||
{ | ||
@@ -1755,8 +1778,14 @@ static void device_profile_connected(struct btd_device *dev, | ||
@@ -1756,8 +1779,14 @@ static void device_profile_connected(struct btd_device *dev, | ||
|
||
DBG("%s %s (%d)", profile->name, strerror(-err), -err); | ||
|
||
|
@@ -81,7 +81,7 @@ index 91dc363e2..2e2ae32f7 100644 | |
|
||
if (dev->pending == NULL) | ||
goto done; | ||
@@ -2209,6 +2238,14 @@ static DBusMessage *connect_profile(DBusConnection *conn, DBusMessage *msg, | ||
@@ -2210,6 +2239,14 @@ static DBusMessage *connect_profile(DBusConnection *conn, DBusMessage *msg, | ||
static void device_profile_disconnected(struct btd_device *dev, | ||
struct btd_profile *profile, int err) | ||
{ | ||
|
@@ -96,15 +96,15 @@ index 91dc363e2..2e2ae32f7 100644 | |
if (!dev->disconnect) | ||
return; | ||
|
||
@@ -2975,6 +3012,7 @@ static const GDBusPropertyTable device_properties[] = { | ||
@@ -2976,6 +3013,7 @@ static const GDBusPropertyTable device_properties[] = { | ||
{ "RSSI", "n", dev_property_get_rssi, NULL, dev_property_exists_rssi }, | ||
{ "Connected", "b", dev_property_get_connected }, | ||
{ "UUIDs", "as", dev_property_get_uuids }, | ||
+ { "ConnectedUUIDS", "as", dev_property_get_connected_uuids }, | ||
{ "Modalias", "s", dev_property_get_modalias, NULL, | ||
dev_property_exists_modalias }, | ||
{ "Adapter", "o", dev_property_get_adapter }, | ||
@@ -3053,7 +3091,17 @@ void device_remove_connection(struct btd_device *device, uint8_t bdaddr_type) | ||
@@ -3054,7 +3092,17 @@ void device_remove_connection(struct btd_device *device, uint8_t bdaddr_type) | ||
if (!state->connected) | ||
return; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 13e06fa6638811a45892d4188aa6f7220ef323d9 Mon Sep 17 00:00:00 2001 | ||
From 5d0bf8b0af49adab265e9ac8d830c17692501159 Mon Sep 17 00:00:00 2001 | ||
From: "sameer.mulla" <[email protected]> | ||
Date: Sun, 13 Jan 2019 13:35:55 +0530 | ||
Subject: [PATCH] recievePassThrough commad support required for webos | ||
|
@@ -30,18 +30,18 @@ Change-Id: I9c07aa27f242247b5c3df85e0b3605d2ba055cad | |
3 files changed, 62 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/profiles/audio/avctp.c b/profiles/audio/avctp.c | ||
index c959b4f49..aae6e7d62 100644 | ||
index 50de33618..abbee205f 100644 | ||
--- a/profiles/audio/avctp.c | ||
+++ b/profiles/audio/avctp.c | ||
@@ -403,6 +403,7 @@ static size_t handle_panel_passthrough(struct avctp *session, | ||
@@ -405,6 +405,7 @@ static size_t handle_panel_passthrough(struct avctp *session, | ||
|
||
DBG("AV/C: %s %s", key_map[i].name, status); | ||
|
||
+ recieve_passThrough_commands(session->device, key_map[i].name, status); | ||
key_quirks = session->key_quirks[key_map[i].avc]; | ||
|
||
if (key_quirks & QUIRK_NO_RELEASE) { | ||
@@ -418,9 +419,13 @@ static size_t handle_panel_passthrough(struct avctp *session, | ||
@@ -420,9 +421,13 @@ static size_t handle_panel_passthrough(struct avctp *session, | ||
} | ||
|
||
if (pressed) | ||
|
@@ -56,10 +56,10 @@ index c959b4f49..aae6e7d62 100644 | |
break; | ||
} | ||
diff --git a/src/device.c b/src/device.c | ||
index 2e2ae32f7..5c52dd616 100644 | ||
index 1a668335e..12053a306 100644 | ||
--- a/src/device.c | ||
+++ b/src/device.c | ||
@@ -170,6 +170,11 @@ enum { | ||
@@ -171,6 +171,11 @@ enum { | ||
WAKE_FLAG_DISABLED, | ||
}; | ||
|
||
|
@@ -71,15 +71,15 @@ index 2e2ae32f7..5c52dd616 100644 | |
struct btd_device { | ||
int ref_count; | ||
|
||
@@ -273,6 +278,7 @@ struct btd_device { | ||
@@ -274,6 +279,7 @@ struct btd_device { | ||
|
||
GIOChannel *att_io; | ||
guint store_id; | ||
+ struct key_code passththough_key; | ||
}; | ||
|
||
static const uint16_t uuid_list[] = { | ||
@@ -1304,6 +1310,18 @@ dev_property_manufacturer_data_exist(const GDBusPropertyTable *property, | ||
@@ -1305,6 +1311,18 @@ dev_property_manufacturer_data_exist(const GDBusPropertyTable *property, | ||
return bt_ad_has_manufacturer_data(device->ad, NULL); | ||
} | ||
|
||
|
@@ -98,7 +98,7 @@ index 2e2ae32f7..5c52dd616 100644 | |
static void append_service_data(void *data, void *user_data) | ||
{ | ||
struct bt_ad_service_data *sd = data; | ||
@@ -1322,13 +1340,13 @@ dev_property_get_service_data(const GDBusPropertyTable *property, | ||
@@ -1323,13 +1341,13 @@ dev_property_get_service_data(const GDBusPropertyTable *property, | ||
struct btd_device *device = data; | ||
DBusMessageIter dict; | ||
|
||
|
@@ -113,7 +113,7 @@ index 2e2ae32f7..5c52dd616 100644 | |
bt_ad_foreach_service_data(device->ad, append_service_data, &dict); | ||
|
||
dbus_message_iter_close_container(iter, &dict); | ||
@@ -1336,6 +1354,28 @@ dev_property_get_service_data(const GDBusPropertyTable *property, | ||
@@ -1337,6 +1355,28 @@ dev_property_get_service_data(const GDBusPropertyTable *property, | ||
return TRUE; | ||
} | ||
|
||
|
@@ -142,7 +142,7 @@ index 2e2ae32f7..5c52dd616 100644 | |
static gboolean | ||
dev_property_service_data_exist(const GDBusPropertyTable *property, | ||
void *data) | ||
@@ -1898,6 +1938,15 @@ void device_set_manufacturer_data(struct btd_device *dev, GSList *list, | ||
@@ -1899,6 +1939,15 @@ void device_set_manufacturer_data(struct btd_device *dev, GSList *list, | ||
g_slist_foreach(list, add_manufacturer_data, dev); | ||
} | ||
|
||
|
@@ -158,7 +158,7 @@ index 2e2ae32f7..5c52dd616 100644 | |
static void add_service_data(void *data, void *user_data) | ||
{ | ||
struct eir_sd *sd = data; | ||
@@ -3018,6 +3067,8 @@ static const GDBusPropertyTable device_properties[] = { | ||
@@ -3019,6 +3068,8 @@ static const GDBusPropertyTable device_properties[] = { | ||
{ "Adapter", "o", dev_property_get_adapter }, | ||
{ "ManufacturerData", "a{qv}", dev_property_get_manufacturer_data, | ||
NULL, dev_property_manufacturer_data_exist }, | ||
|
@@ -167,7 +167,7 @@ index 2e2ae32f7..5c52dd616 100644 | |
{ "ServiceData", "a{sv}", dev_property_get_service_data, | ||
NULL, dev_property_service_data_exist }, | ||
{ "TxPower", "n", dev_property_get_tx_power, NULL, | ||
@@ -4183,6 +4234,9 @@ static struct btd_device *device_new(struct btd_adapter *adapter, | ||
@@ -4184,6 +4235,9 @@ static struct btd_device *device_new(struct btd_adapter *adapter, | ||
device->adapter = adapter; | ||
device->temporary = true; | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From cf6f77f3ee075f3954dd4e986d22f65621920603 Mon Sep 17 00:00:00 2001 | ||
From ac7c56c3acb80d0998b65de38fb9e75a28ebffe1 Mon Sep 17 00:00:00 2001 | ||
From: "sameer.mulla" <[email protected]> | ||
Date: Wed, 30 Jan 2019 15:17:11 +0530 | ||
Subject: [PATCH] Added dbus signal for MediaPlayRequest | ||
|
@@ -29,18 +29,18 @@ Change-Id: Ib225395809a3b53f1c494ac4e21beabc47f7f906 | |
4 files changed, 29 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/profiles/audio/avrcp.c b/profiles/audio/avrcp.c | ||
index c093deac8..fadce3c63 100644 | ||
index ccf34b220..4b77536c5 100644 | ||
--- a/profiles/audio/avrcp.c | ||
+++ b/profiles/audio/avrcp.c | ||
@@ -1235,6 +1235,7 @@ static uint8_t avrcp_handle_get_element_attributes(struct avrcp *session, | ||
@@ -1236,6 +1236,7 @@ static uint8_t avrcp_handle_get_element_attributes(struct avrcp *session, | ||
*/ | ||
attr_ids = player_list_metadata(player); | ||
len = g_list_length(attr_ids); | ||
+ media_metadata_request(session->dev); | ||
} else { | ||
unsigned int i; | ||
for (i = 0, len = 0, attr_ids = NULL; i < nattr; i++) { | ||
@@ -1501,6 +1502,7 @@ static uint8_t avrcp_handle_get_play_status(struct avrcp *session, | ||
@@ -1502,6 +1503,7 @@ static uint8_t avrcp_handle_get_play_status(struct avrcp *session, | ||
|
||
pdu->params_len = htons(9); | ||
|
||
|
@@ -62,10 +62,10 @@ index c84bbe22d..f36f703be 100644 | |
|
||
static uint32_t get_duration(void *user_data) | ||
diff --git a/src/device.c b/src/device.c | ||
index 5c52dd616..3775d5029 100644 | ||
index 12053a306..ef8cdb988 100644 | ||
--- a/src/device.c | ||
+++ b/src/device.c | ||
@@ -1947,6 +1947,22 @@ void recieve_passThrough_commands(struct btd_device *dev, const char* code, cons | ||
@@ -1948,6 +1948,22 @@ void recieve_passThrough_commands(struct btd_device *dev, const char* code, cons | ||
DEVICE_INTERFACE, "KeyCode"); | ||
} | ||
|
||
|
@@ -88,7 +88,7 @@ index 5c52dd616..3775d5029 100644 | |
static void add_service_data(void *data, void *user_data) | ||
{ | ||
struct eir_sd *sd = data; | ||
@@ -3029,6 +3045,12 @@ static DBusMessage *cancel_pairing(DBusConnection *conn, DBusMessage *msg, | ||
@@ -3030,6 +3046,12 @@ static DBusMessage *cancel_pairing(DBusConnection *conn, DBusMessage *msg, | ||
return dbus_message_new_method_return(msg); | ||
} | ||
|
||
|
@@ -101,7 +101,7 @@ index 5c52dd616..3775d5029 100644 | |
static const GDBusMethodTable device_methods[] = { | ||
{ GDBUS_ASYNC_METHOD("Disconnect", NULL, NULL, dev_disconnect) }, | ||
{ GDBUS_ASYNC_METHOD("Connect", NULL, NULL, dev_connect) }, | ||
@@ -4223,7 +4245,7 @@ static struct btd_device *device_new(struct btd_adapter *adapter, | ||
@@ -4224,7 +4246,7 @@ static struct btd_device *device_new(struct btd_adapter *adapter, | ||
|
||
if (g_dbus_register_interface(dbus_conn, | ||
device->path, DEVICE_INTERFACE, | ||
|
Oops, something went wrong.