* [PATCH] [BlueZ] adapter: Fix airpod device pair fail
@ 2024-01-03 10:13 clancy_shang
2024-01-03 11:29 ` bluez.test.bot
2024-01-03 15:43 ` [PATCH] " Luiz Augusto von Dentz
0 siblings, 2 replies; 6+ messages in thread
From: clancy_shang @ 2024-01-03 10:13 UTC (permalink / raw)
To: linux-bluetooth; +Cc: zhongjun.yu, Clancy Shang
From: Clancy Shang <clancy.shang@quectel.com>
Airpod is performing inquiry scans in BR/EDR and advertising in an
unconnectable mode with the same public address at the same time.
with this feature, when found airpod device, set the bredr support,
fix it pairs fail bug.
Signed-off-by: Clancy Shang <clancy.shang@quectel.com>
---
src/adapter.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/src/adapter.c b/src/adapter.c
index 022390f0d..71f7ed86d 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -7066,6 +7066,24 @@ static void adapter_msd_notify(struct btd_adapter *adapter,
}
}
+#define APPLE_INC_VENDOR_ID 0x004c
+
+static bool eir_msd_is_apple_inc(GSList *msd_list)
+{
+ GSList *msd_l, *msd_next;
+
+ for (msd_l = msd_list; msd_l != NULL; msd_l = msd_next) {
+ const struct eir_msd *msd = msd_l->data;
+
+ msd_next = g_slist_next(msd_l);
+
+ if (msd->company == APPLE_INC_VENDOR_ID)
+ return true;
+ }
+
+ return false;
+}
+
static bool is_filter_match(GSList *discovery_filter, struct eir_data *eir_data,
int8_t rssi)
{
@@ -7281,6 +7299,13 @@ void btd_adapter_device_found(struct btd_adapter *adapter,
device_update_last_seen(dev, BDADDR_BREDR, !not_connectable);
}
+ if (eir_msd_is_apple_inc(eir_data.msd_list) &&
+ (not_connectable == true) &&
+ (bdaddr_type == BDADDR_LE_PUBLIC)) {
+ device_set_bredr_support(dev);
+ device_update_last_seen(dev, BDADDR_BREDR, true);
+ }
+
if (eir_data.name != NULL && eir_data.name_complete)
device_store_cached_name(dev, eir_data.name);
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* RE: [BlueZ] adapter: Fix airpod device pair fail
2024-01-03 10:13 [PATCH] [BlueZ] adapter: Fix airpod device pair fail clancy_shang
@ 2024-01-03 11:29 ` bluez.test.bot
2024-01-03 15:43 ` [PATCH] " Luiz Augusto von Dentz
1 sibling, 0 replies; 6+ messages in thread
From: bluez.test.bot @ 2024-01-03 11:29 UTC (permalink / raw)
To: linux-bluetooth, clancy_shang
[-- Attachment #1: Type: text/plain, Size: 946 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=814046
---Test result---
Test Summary:
CheckPatch PASS 0.50 seconds
GitLint PASS 0.33 seconds
BuildEll PASS 23.76 seconds
BluezMake PASS 687.48 seconds
MakeCheck PASS 12.14 seconds
MakeDistcheck PASS 158.97 seconds
CheckValgrind PASS 221.26 seconds
CheckSmatch PASS 325.52 seconds
bluezmakeextell PASS 105.98 seconds
IncrementalBuild PASS 643.72 seconds
ScanBuild PASS 933.53 seconds
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] [BlueZ] adapter: Fix airpod device pair fail
2024-01-03 10:13 [PATCH] [BlueZ] adapter: Fix airpod device pair fail clancy_shang
2024-01-03 11:29 ` bluez.test.bot
@ 2024-01-03 15:43 ` Luiz Augusto von Dentz
1 sibling, 0 replies; 6+ messages in thread
From: Luiz Augusto von Dentz @ 2024-01-03 15:43 UTC (permalink / raw)
To: clancy_shang; +Cc: linux-bluetooth, zhongjun.yu, Clancy Shang
Hi,
On Wed, Jan 3, 2024 at 5:14 AM <clancy_shang@163.com> wrote:
>
> From: Clancy Shang <clancy.shang@quectel.com>
>
> Airpod is performing inquiry scans in BR/EDR and advertising in an
> unconnectable mode with the same public address at the same time.
> with this feature, when found airpod device, set the bredr support,
> fix it pairs fail bug.
>
> Signed-off-by: Clancy Shang <clancy.shang@quectel.com>
> ---
> src/adapter.c | 25 +++++++++++++++++++++++++
> 1 file changed, 25 insertions(+)
>
> diff --git a/src/adapter.c b/src/adapter.c
> index 022390f0d..71f7ed86d 100644
> --- a/src/adapter.c
> +++ b/src/adapter.c
> @@ -7066,6 +7066,24 @@ static void adapter_msd_notify(struct btd_adapter *adapter,
> }
> }
>
> +#define APPLE_INC_VENDOR_ID 0x004c
> +
> +static bool eir_msd_is_apple_inc(GSList *msd_list)
> +{
> + GSList *msd_l, *msd_next;
> +
> + for (msd_l = msd_list; msd_l != NULL; msd_l = msd_next) {
> + const struct eir_msd *msd = msd_l->data;
> +
> + msd_next = g_slist_next(msd_l);
> +
> + if (msd->company == APPLE_INC_VENDOR_ID)
> + return true;
> + }
> +
> + return false;
> +}
> +
> static bool is_filter_match(GSList *discovery_filter, struct eir_data *eir_data,
> int8_t rssi)
> {
> @@ -7281,6 +7299,13 @@ void btd_adapter_device_found(struct btd_adapter *adapter,
> device_update_last_seen(dev, BDADDR_BREDR, !not_connectable);
> }
>
> + if (eir_msd_is_apple_inc(eir_data.msd_list) &&
> + (not_connectable == true) &&
> + (bdaddr_type == BDADDR_LE_PUBLIC)) {
> + device_set_bredr_support(dev);
> + device_update_last_seen(dev, BDADDR_BREDR, true);
> + }
NAK, we are not going to introduce device specific policy hardcoded in
the code like this, if you really want to update last seen then you
either need a dedicated driver that handles Apple UUID on its own
plugin, or make the policy plugin register a driver for it, that said
there is a flag for that indicates BR/EDR is supported not sure why
apple it no advertising using it?
> if (eir_data.name != NULL && eir_data.name_complete)
> device_store_cached_name(dev, eir_data.name);
>
> --
> 2.25.1
>
>
--
Luiz Augusto von Dentz
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] [BlueZ] adapter: Fix airpod device pair fail
@ 2023-12-26 6:30 clancy_shang
2023-12-26 7:31 ` bluez.test.bot
0 siblings, 1 reply; 6+ messages in thread
From: clancy_shang @ 2023-12-26 6:30 UTC (permalink / raw)
To: linux-bluetooth; +Cc: zhongjun.yu, Clancy Shang
From: Clancy Shang <clancy.shang@quectel.com>
Airpod is performing inquiry scans in BR/EDR and advertising in an
unconnectable mode with the same public address at the same time.
with this feature, when found airpod device, set the bredr support,
fix it pairs fail bug.
Signed-off-by: Clancy Shang <clancy.shang@quectel.com>
---
src/adapter.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/src/adapter.c b/src/adapter.c
index 022390f0d..71f7ed86d 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -7066,6 +7066,24 @@ static void adapter_msd_notify(struct btd_adapter *adapter,
}
}
+#define APPLE_INC_VENDOR_ID 0x004c
+
+static bool eir_msd_is_apple_inc(GSList *msd_list)
+{
+ GSList *msd_l, *msd_next;
+
+ for (msd_l = msd_list; msd_l != NULL; msd_l = msd_next) {
+ const struct eir_msd *msd = msd_l->data;
+
+ msd_next = g_slist_next(msd_l);
+
+ if (msd->company == APPLE_INC_VENDOR_ID)
+ return true;
+ }
+
+ return false;
+}
+
static bool is_filter_match(GSList *discovery_filter, struct eir_data *eir_data,
int8_t rssi)
{
@@ -7281,6 +7299,13 @@ void btd_adapter_device_found(struct btd_adapter *adapter,
device_update_last_seen(dev, BDADDR_BREDR, !not_connectable);
}
+ if (eir_msd_is_apple_inc(eir_data.msd_list) &&
+ (not_connectable == true) &&
+ (bdaddr_type == BDADDR_LE_PUBLIC)) {
+ device_set_bredr_support(dev);
+ device_update_last_seen(dev, BDADDR_BREDR, true);
+ }
+
if (eir_data.name != NULL && eir_data.name_complete)
device_store_cached_name(dev, eir_data.name);
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH] [BlueZ] adapter: Fix airpod device pair fail
@ 2023-12-22 5:45 15013537245
2023-12-22 7:11 ` bluez.test.bot
0 siblings, 1 reply; 6+ messages in thread
From: 15013537245 @ 2023-12-22 5:45 UTC (permalink / raw)
To: linux-bluetooth; +Cc: zhongjun.yu, Clancy Shang
From: Clancy Shang <clancy.shang@quectel.com>
Airpod is performing inquiry scans in BR/EDR and advertising in a
unconnectabl mode whit the same public address at the same time.
with this featrue, when found airpod device, set the bredr support,
fix it pair fail bug.
Signed-off-by: Clancy Shang <clancy.shang@quectel.com>
---
src/adapter.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/src/adapter.c b/src/adapter.c
index 022390f0d..488355e9c 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -7066,6 +7066,25 @@ static void adapter_msd_notify(struct btd_adapter *adapter,
}
}
+#define APPLE_INC_VENDOR_ID 0x004c
+
+static bool eir_msd_is_apple_inc(GSList *msd_list)
+{
+ GSList *msd_l, *msd_next;
+
+ for (msd_l = msd_list; msd_l != NULL; msd_l = msd_next) {
+
+ const struct eir_msd *msd = msd_l->data;
+
+ msd_next = g_slist_next(msd_l);
+
+ if (msd->company == APPLE_INC_VENDOR_ID)
+ return true;
+ }
+
+ return false;
+}
+
static bool is_filter_match(GSList *discovery_filter, struct eir_data *eir_data,
int8_t rssi)
{
@@ -7281,6 +7300,12 @@ void btd_adapter_device_found(struct btd_adapter *adapter,
device_update_last_seen(dev, BDADDR_BREDR, !not_connectable);
}
+ if (eir_msd_is_apple_inc(eir_data.msd_list) && (not_connectable == true)
+ && (bdaddr_type == BDADDR_LE_PUBLIC)) {
+ device_set_bredr_support(dev);
+ device_update_last_seen(dev, BDADDR_BREDR, true);
+ }
+
if (eir_data.name != NULL && eir_data.name_complete)
device_store_cached_name(dev, eir_data.name);
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH] [BlueZ] adapter: Fix airpod device pair fail
@ 2023-12-22 3:10 15013537245
2023-12-22 4:06 ` bluez.test.bot
0 siblings, 1 reply; 6+ messages in thread
From: 15013537245 @ 2023-12-22 3:10 UTC (permalink / raw)
To: linux-bluetooth; +Cc: zhongjun.yu, clancy shang
From: clancy shang <clancy.shang@quectel.com>
Airpod is performing inquiry scans in BR/EDR and advertising in a unconnectabl
mode whit the same public address at the same time. with this featrue, when
found airpod device, set the bredr support, fix it pair fail bug.
Signed-off-by: clancy shang <clancy.shang@quectel.com>
---
src/adapter.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/src/adapter.c b/src/adapter.c
index 022390f0d..79ca75315 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -7066,6 +7066,24 @@ static void adapter_msd_notify(struct btd_adapter *adapter,
}
}
+#define APPLE_INC_VENDOR_ID 0x004c
+static bool eir_msd_is_apple_inc(GSList *msd_list)
+{
+ GSList *msd_l, *msd_next;
+
+ for (msd_l = msd_list; msd_l != NULL; msd_l = msd_next)
+ {
+ const struct eir_msd *msd = msd_l->data;
+
+ msd_next = g_slist_next(msd_l);
+
+ if(msd->company == APPLE_INC_VENDOR_ID)
+ return true;
+ }
+
+ return false;
+}
+
static bool is_filter_match(GSList *discovery_filter, struct eir_data *eir_data,
int8_t rssi)
{
@@ -7281,6 +7299,12 @@ void btd_adapter_device_found(struct btd_adapter *adapter,
device_update_last_seen(dev, BDADDR_BREDR, !not_connectable);
}
+ if(eir_msd_is_apple_inc(eir_data.msd_list) &&
+ (not_connectable == true) && (bdaddr_type == BDADDR_LE_PUBLIC)){
+ device_set_bredr_support(dev);
+ device_update_last_seen(dev, BDADDR_BREDR, true);
+ }
+
if (eir_data.name != NULL && eir_data.name_complete)
device_store_cached_name(dev, eir_data.name);
--
2.25.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* RE: [BlueZ] adapter: Fix airpod device pair fail
2023-12-22 3:10 [PATCH] " 15013537245
@ 2023-12-22 4:06 ` bluez.test.bot
0 siblings, 0 replies; 6+ messages in thread
From: bluez.test.bot @ 2023-12-22 4:06 UTC (permalink / raw)
To: linux-bluetooth, 15013537245
[-- Attachment #1: Type: text/plain, Size: 3043 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=812362
---Test result---
Test Summary:
CheckPatch FAIL 0.70 seconds
GitLint PASS 0.32 seconds
BuildEll PASS 23.81 seconds
BluezMake PASS 692.73 seconds
MakeCheck PASS 11.60 seconds
MakeDistcheck PASS 159.04 seconds
CheckValgrind PASS 221.20 seconds
CheckSmatch PASS 325.12 seconds
bluezmakeextell PASS 105.74 seconds
IncrementalBuild PASS 652.81 seconds
ScanBuild PASS 917.36 seconds
Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[BlueZ] adapter: Fix airpod device pair fail
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#50:
Airpod is performing inquiry scans in BR/EDR and advertising in a unconnectabl
ERROR:SPACING: need consistent spacing around '*' (ctx:WxV)
#68: FILE: src/adapter.c:7070:
+static bool eir_msd_is_apple_inc(GSList *msd_list)
^
ERROR:TRAILING_WHITESPACE: trailing whitespace
#72: FILE: src/adapter.c:7074:
+^Ifor (msd_l = msd_list; msd_l != NULL; msd_l = msd_next) $
ERROR:OPEN_BRACE: that open brace { should be on the previous line
#72: FILE: src/adapter.c:7074:
+ for (msd_l = msd_list; msd_l != NULL; msd_l = msd_next)
+ {
ERROR:SPACING: space required before the open parenthesis '('
#78: FILE: src/adapter.c:7080:
+ if(msd->company == APPLE_INC_VENDOR_ID)
ERROR:TRAILING_WHITESPACE: trailing whitespace
#92: FILE: src/adapter.c:7302:
+^Iif(eir_msd_is_apple_inc(eir_data.msd_list) && $
ERROR:SPACING: space required before the open parenthesis '('
#92: FILE: src/adapter.c:7302:
+ if(eir_msd_is_apple_inc(eir_data.msd_list) &&
ERROR:SPACING: space required before the open brace '{'
#93: FILE: src/adapter.c:7303:
+ (not_connectable == true) && (bdaddr_type == BDADDR_LE_PUBLIC)){
/github/workspace/src/src/13502864.patch total: 7 errors, 1 warnings, 36 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
NOTE: Whitespace errors detected.
You may wish to use scripts/cleanpatch or scripts/cleanfile
/github/workspace/src/src/13502864.patch has style problems, please review.
NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-01-03 15:44 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-03 10:13 [PATCH] [BlueZ] adapter: Fix airpod device pair fail clancy_shang
2024-01-03 11:29 ` bluez.test.bot
2024-01-03 15:43 ` [PATCH] " Luiz Augusto von Dentz
-- strict thread matches above, loose matches on Subject: below --
2023-12-26 6:30 clancy_shang
2023-12-26 7:31 ` bluez.test.bot
2023-12-22 5:45 [PATCH] " 15013537245
2023-12-22 7:11 ` bluez.test.bot
2023-12-22 3:10 [PATCH] " 15013537245
2023-12-22 4:06 ` bluez.test.bot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.