From patchwork Mon Apr 21 21:06:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 882885 Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D3DF19CC36 for ; Mon, 21 Apr 2025 21:06:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745269567; cv=none; b=BZ7ex9twQt7somm900Rc0lvx6Y8PwhRNXEWuMrqYh9ehkGDapYFLO6OQPa3QFZSQXPolxsAxgjbN+DI0TlJsBASYGaGzL51q007fst7Wrzu5/Lojp9KR6q7clvK2eIyvFE3R21xPGkQptvioNh7q+ocCA9Pe5pU5dzHZL7X0JuI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745269567; c=relaxed/simple; bh=ZCSmiPzEAUSAsmfZl4uTWvGcipnto2zAkCCQPUtNlQY=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=CDr8S27z3MjaV/yLj1gO24hcIO67jTee45cxHdjJouMiq2iQyCVIrGVMX3YI2zjLuPbLPTC/GYiRwjOMZxzQq0eNXn7yguv8m/HxA2pg+AQTP/y5ZYZJD92V5LBnSIuyysUzy5pbhLrGed08S6fp7QpRxVAHp/AQFYOQzPrKGjY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=TF5oPUxY; arc=none smtp.client-ip=209.85.222.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TF5oPUxY" Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-7c55500d08cso450309685a.0 for ; Mon, 21 Apr 2025 14:06:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745269564; x=1745874364; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=WHbp79XcqbpqcSijFOafabMaxWPkDgv2upaYW04r9QA=; b=TF5oPUxYKoAlVnTvI7iZYL97G/zP2a1BkGYyHfX3zlgyJSbHW4saBU37IqEr7By229 hFS/cVUsuluB84RKFcZ0HQHrRkAcbeB4WoGGXPHCiALd8/1Vw434X7pfvhFwZeUNqvCw HEGEXt1d4R3KCrueub6r2CKoEf+vToUvqHKOlQWAcKCgH/Jg/Jk69Bhz3SFBLovicI9O shaXiWGQo57hm9f9RSH0XHx7/mH6hp4+Ar2hkTUO7BQ+8Lps1K0/mrFc4S5vF3er1tCf H1c77IOWt714xJUg/S7gjDkDpb+Z66/yUBAxoDNHw0SfrtLbKaeNPhMjQg2aFT2j/nhd bD1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745269564; x=1745874364; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WHbp79XcqbpqcSijFOafabMaxWPkDgv2upaYW04r9QA=; b=JztqvnPqr25GjzM38nIa+z3IeMi9VIIPEHPfmJrbbRQvvSGpmPD/ljMdlSLezBDyDP ShL4qtayTtxJhG8EmLdv4N4y3KVvIZwmZRcNFjp1asl8W0UlG9TFipi2XwRXz6HMth4u bjjSZfVDt0n57VvwaH1pHMl70ixmO0m/T0Ydvo3Tz/TXb6Pk3um1JfjtskQ+A7YRUHzr YUyhexh1SBG57CMnkSZXJEpgCDXtQVfTt14IWbgoZLX9IHrxP6roefrAxulr4pkQk9d0 Z9UphhPw7/drC8hO7EXw59wv9QU3khIDGVL4sPDmV/VH3AcXG/MPsOe8I62qW57ytT2x V04Q== X-Gm-Message-State: AOJu0YwpabUG00ilBwW+BshIYowa2au/6rkAL3+oUS7fLoZx3PP2xbHs h8ETIMu4nH6qLBw3IkIh6Kasjrwbhxzs1ODvsVXLu8MwIVfaRfaigH3/kHO9iys= X-Gm-Gg: ASbGncvuJj9eBm9/fi3tXA0hUJp8mogC7V5r+dsMwGxm1ecZMwE8y9Oky7aCkDUeZ/c OvMqerb5O5a5tFSkjbgk0ioiXh8D4pOzx0FgN7q8BtkJ8QB0IEZBKuRU1RfUOOUX/qwSw934YhN V45qw7nGqSJQ4VDX3nnCYhb3x9KRtFAIbKV1z7pvRZcIhjx4eBSxUeZP6dYtCqkhVu0RIdJPzbh SGE4LYi8npNzNMEgWvN4b5fFSICP7ulOJPpN2IQkpS/+8bRx+Gt/cwYnsDZ9GrZdmR+RIFr3dNo FvNKlNiYA8EgpzzWgIFiZpwoSnOSYPIvQdhwfyOukO8pD2LZQQ6ifAnqGjY3ou0TqL4SCfzw6Od wP8OOp5c0TA== X-Google-Smtp-Source: AGHT+IEZS/nGIKJjPjxW/36GIu3H+jSN84Jc+rERTz9vX6MPx19894wNuMSA2oNv8wf+zqrYKO8hBA== X-Received: by 2002:a05:620a:28d0:b0:7c7:a5b7:b288 with SMTP id af79cd13be357-7c927f9ae43mr2169329585a.19.1745269564575; Mon, 21 Apr 2025 14:06:04 -0700 (PDT) Received: from lvondent-mobl5.. (syn-050-089-067-214.res.spectrum.com. [50.89.67.214]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-87764654c5csm1913958241.5.2025.04.21.14.06.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Apr 2025 14:06:03 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ v1 1/2] btmon: Decode Broadcast Name Date: Mon, 21 Apr 2025 17:06:01 -0400 Message-ID: <20250421210602.746957-1-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Luiz Augusto von Dentz This adds support for decoding Broadcast Name: > HCI Event: LE Meta Event (0x3e) plen 57 LE Extended Advertising Report (0x0d) Num reports: 1 Entry 0 Event type: 0x0000 Props: 0x0000 Data status: Complete Address type: Random (0x01) Address: XX:XX:XX:XX:XX:XX (Non-Resolvable) Primary PHY: LE 1M Secondary PHY: LE 2M SID: 0x02 TX power: 127 dBm RSSI: -67 dBm (0xbd) Periodic advertising interval: 180.00 msec (0x0090) Direct address type: Public (0x00) Direct address: 00:00:00:00:00:00 (OUI 00-00-00) Data length: 0x1f 06 16 52 18 2f 92 f3 05 16 56 18 04 00 11 30 4c ..R./....V....0L 75 69 7a 27 73 20 53 32 33 20 55 6c 74 72 61 uiz's S23 Ultra Service Data: Broadcast Audio Announcement (0x1852) Broadcast ID: 15962671 (0xf3922f) Service Data: Public Broadcast Announcement (0x1856) Data[2]: 0400 Broadcast Name: Luiz's S23 Ultra --- monitor/packet.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/monitor/packet.c b/monitor/packet.c index 15f741c61489..ebd095ab9056 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -3213,6 +3213,7 @@ static void print_fec(uint8_t fec) #define BT_EIR_MESH_DATA 0x2a #define BT_EIR_MESH_BEACON 0x2b #define BT_EIR_CSIP_RSI 0x2e +#define BT_EIR_BC_NAME 0x30 #define BT_EIR_3D_INFO_DATA 0x3d #define BT_EIR_MANUFACTURER_DATA 0xff @@ -4058,6 +4059,12 @@ static void print_eir(const uint8_t *eir, uint8_t eir_len, bool le) print_field(" Random: 0x%6x", get_le24(data + 3)); break; + case BT_EIR_BC_NAME: + memset(name, 0, sizeof(name)); + memcpy(name, data, data_len); + print_field("Broadcast Name: %s", name); + break; + case BT_EIR_MANUFACTURER_DATA: if (data_len < 2) break; From patchwork Mon Apr 21 21:06:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luiz Augusto von Dentz X-Patchwork-Id: 883235 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E75E20E03C for ; Mon, 21 Apr 2025 21:06:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745269570; cv=none; b=FuF2iLPlk9Sw6L22/4QgQmv5g4WDKpZYM+l3u7pc0kXFMRX/q268dVVfHzgWGvHGrh6EyUFOmqf6CoNhZ+/jUhQG0uH1p493RL+YFRFkxx6BpImOrNEwy6E/o9ri79rbjKMP/VyRjUE9r54D8SIa9hdzSztMyrv2BPdMvb8pta8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745269570; c=relaxed/simple; bh=WYBeKD+zcZNnUz63L3ujhK4F3KC6HCuglN5U2eXY7I4=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p1WgY2YYaL1MtLKuiWbefwxmQbaMaUIUzY6v2F+3bJ+Wi7+vUo2coXwvuAufKW9mR52DtpCZQanU2lBX4UxHmTGLyICFN3M/T7/PrtzzOMHH8yKVxOYk5HZT6CIaUohIJTfJLt7ererrNMx/Z5C7wpYJHGJT+5IDGIuD0D2WB7Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Br/wT5XQ; arc=none smtp.client-ip=209.85.222.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Br/wT5XQ" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7c546334bdeso304382685a.2 for ; Mon, 21 Apr 2025 14:06:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745269567; x=1745874367; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=LL7Tzq1YFE76lG1+vg1wRjKJohByhgz8Z/Gg0ylwKho=; b=Br/wT5XQ0UETtPe1QgHkhjdDzLzZckQu/8hNfuTBseB+CqAUEZa5pSa6c1x6kwgrLc NMYZgoCMfaPE6yvt3diPuea7ifVNl0tpC14T+wvutwUy+HJ9N/Xz0Dsmdy2ufR3e6OiG 9Xg48MA8wlDs+IQIaLJ77VDHU1YlrrtJnncNjTpiSCoAN7hnQVo96e1uxQB9ijZPEmrb umxP+Jfrp0claiL7qS57aQtS6PyPGAbaJ2I46D6CK+7GZd47lOLEs/XMxVI3qQiSkxQ4 uYR4UOEOsrRgLGnbqooMz55TVP+aBFocNLJF6yMXobB5U7Nt4mtRH7qn9S39BIcCkavg COqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745269567; x=1745874367; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=LL7Tzq1YFE76lG1+vg1wRjKJohByhgz8Z/Gg0ylwKho=; b=okHJOxwqBINXQPswT2kWFftqH3vx5D83N/s+xGTqOb1+jE4Vc2X0R8rsq2IgdqhWzY BcUjMhhJbFc5sttxp6bwA4YHNcHwN9iHnpm5hnO1yiEpfMrF3Mx4GVVeslhxY3xgN7UQ FPryNUnxD1XI3Uk2mSVHWx1QIM8jFiodhr6PMvglwF+N4Y2ZzyxRohGJs0ZX2GCnXhMa RutJm7CNdR77BDvl/sOt/t/0AGkpM/QO4pNRHVNo+bhAMg2Uwe2gdn02i46UqyZwr4oc yyW1xd4NRxIUZo4dh/m+ofJapETCPisElf8zZHoUhIv1Mbi3Wbvy4AiKh3DnuiuI2MPW /W7Q== X-Gm-Message-State: AOJu0YzRuhUgtONVAhcL03xei6dK/Q8+OYTQlePBCK9ud8jmjeSZxNqm lg5NYbrJGvLYuznFnZzhZT8nUP/ykRNPOxETTWWqz2a6qCE0l/DVE4MqWVfEqck= X-Gm-Gg: ASbGncsznwlwuI00mEETKI7qE1wYoaVPokHAlY9whTPnHoDghzsxPKZ+6PABBZ0+UEL Pew/GBjJg3miTzqVHUIvKasVGzkWc7QNuI/1em8jCikugRvtxu6PhkGrflHaegD9lGwRYAhMByW w8z2zLn88Y6ZxcQuSSnmRPlo0dhyjlIkguLnkviJ2QRfOUo+t+xNwyCpMutJxmSZXGC29gNtNOC m0ap6Sml3ZuXgs6y9n8VieQ6PDQ1h4wGzUtG4Qmyd5XudlMGcarPW+Kv1+iBZ+OCBpNCqKyTmhA PmTvT2MiNV2xKaqJVaWsxoLd055sVoY1KWgVVpkb5hOqqTJ7p0juKUO1aA/2jQltJXAzgfLL7z5 caJ7WIqVBDA== X-Google-Smtp-Source: AGHT+IF+y4qkiP27yyD5qsCMA0fqCDhYAzBYNDwItLj8SlVSKVrt5WJTkTj3Uc6o7vN15dBskt3QuQ== X-Received: by 2002:a05:620a:394e:b0:7c5:4caa:21a4 with SMTP id af79cd13be357-7c92804d47amr2518573485a.55.1745269566617; Mon, 21 Apr 2025 14:06:06 -0700 (PDT) Received: from lvondent-mobl5.. (syn-050-089-067-214.res.spectrum.com. [50.89.67.214]) by smtp.gmail.com with ESMTPSA id a1e0cc1a2514c-87764654c5csm1913958241.5.2025.04.21.14.06.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 21 Apr 2025 14:06:05 -0700 (PDT) From: Luiz Augusto von Dentz To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ v1 2/2] eir: Use Broadcast Name as Device.Name Date: Mon, 21 Apr 2025 17:06:02 -0400 Message-ID: <20250421210602.746957-2-luiz.dentz@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250421210602.746957-1-luiz.dentz@gmail.com> References: <20250421210602.746957-1-luiz.dentz@gmail.com> Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Luiz Augusto von Dentz This makes use of Broadcast Name advertising data field as device name so it can be identified by upper layer. --- src/eir.c | 3 ++- src/eir.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/eir.c b/src/eir.c index 3e3ee2863058..28b09653cbae 100644 --- a/src/eir.c +++ b/src/eir.c @@ -293,6 +293,7 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len) case EIR_NAME_SHORT: case EIR_NAME_COMPLETE: + case EIR_BC_NAME: /* Some vendors put a NUL byte terminator into * the name */ while (data_len > 0 && data[data_len - 1] == '\0') @@ -301,7 +302,7 @@ void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len) g_free(eir->name); eir->name = name2utf8(data, data_len); - eir->name_complete = eir_data[1] == EIR_NAME_COMPLETE; + eir->name_complete = eir_data[1] != EIR_NAME_SHORT; break; case EIR_TX_POWER: diff --git a/src/eir.h b/src/eir.h index f34291952823..2fe8cddf783d 100644 --- a/src/eir.h +++ b/src/eir.h @@ -39,6 +39,7 @@ #define EIR_SVC_DATA128 0x21 /* LE: Service data, 128-bit UUID */ #define EIR_TRANSPORT_DISCOVERY 0x26 /* Transport Discovery Service */ #define EIR_CSIP_RSI 0x2e /* Resolvable Set Identifier */ +#define EIR_BC_NAME 0x30 /* Broadcast Name */ #define EIR_MANUFACTURER_DATA 0xFF /* Manufacturer Specific Data */ /* Flags Descriptions */