From nobody Fri Apr 10 18:06:46 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fslB36WvNz6Y8MY for ; Fri, 10 Apr 2026 18:06:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fslB34ZYTz3y56 for ; Fri, 10 Apr 2026 18:06:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775844411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2NeUZtCpMpDFj9bX+ZLULx3/9HLIgqyYdTaXSRXyfCQ=; b=t8xFLP51MkbifUWKkGE+87mlR42MW29KgDhDGmT0QD5M7/1MvSYoObG3j1zdABiA9vfuN0 tuf1etbcbwSwsSDoE94EDKIEI2VWUePIerItHwb8tYmniMUdiuy6apQF6IPkSS0PAjTVDO dJ3CgG5KH/kQ30ONQrTdDgHnLTl65SpWF5EQSRubThpwn+Ixa7bJSqdwgY7MczFPwNOIQE w0ydpPsgHjOJnXW9TCw8M5gjn8y3B7aIJS/qvyxqpjtWYg3f0Pvp25NOJWLlcTJgXS/kpn OklMw0I5DKbOsw5//Gh7uWI0E1Pj7J35afHx2CQGelZ9BRsVNBoGvSKxnNUbug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1775844411; a=rsa-sha256; cv=none; b=ZpSNp16LZ0fJhM8LRz4Yzpx+NkhoogwOu72bBl7wCtoVqloOMajQJ5mYYfEZAw6frB/CqY hn5MLfjO6yNUChZOsAtkC1Mgpoo0Hu4XZpnOD3n1Bg69X4IMR8FzLYLe+0g1C3pnneKWpY HhO11qanqpltV6j5e7Dap/O3G8fVjZTnuVl1qEVwBqzK8fF1G2CnY41zHD4+Sa5h1Fh52L bo5A8SyjuNFbyN/cgGSNyXr2l9/vkA0FGQB56neC/VCc7qrKfLM/Fz8m29HLvngMsRZL+s EHmGtG+g60AgUx/dy11VMv9t+97wl91epbdBwHMs5tl+0FtWM8SA+tE71q0Gcg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1775844411; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2NeUZtCpMpDFj9bX+ZLULx3/9HLIgqyYdTaXSRXyfCQ=; b=BLDgTbJULJC5/OxAI9LeObMPTuwnCBgea1Czlld/SkKs2GoBq9GDkyAiyzIlssExMJ6UG4 2KeMX9VClhhqRDA+15vdD1++D6MaiAsTq8ZrXqPIU89lMOHangWtnakvISfVII9n1bLF6T 424S5CxcdlY/wosz3uVPHN0VON2s1Wx2ZHvZgBmjLkuTzX93TUQ/FJLdsxy/aWH/SIqlW+ bfV4YPmv9Vstoqv7iQgiPt//yJMUX18hYA6bH37tCPJ4VYrNZMcXwxUzBUvbnAv5UbDPS4 L8fWAcDZy/dhnqHILt3jjl9SS01ciOugqxN15pJM4EsaucXCE0lDM3dpyD49xQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fslB33MZWzvyB for ; Fri, 10 Apr 2026 18:06:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 36c9e by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 10 Apr 2026 18:06:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Cc: F. Duncanh From: Pouria Mousavizadeh Tehrani Subject: git: 2c6feab25329 - main - hccontrol: Support generic Bluetooth LE AdvData List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2c6feab253297c21d00601ceef818fcbe4da70d8 Auto-Submitted: auto-generated Date: Fri, 10 Apr 2026 18:06:46 +0000 Message-Id: <69d93c36.36c9e.64271ffc@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=2c6feab253297c21d00601ceef818fcbe4da70d8 commit 2c6feab253297c21d00601ceef818fcbe4da70d8 Author: F. Duncanh AuthorDate: 2026-03-18 05:14:26 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-10 18:06:34 +0000 hccontrol: Support generic Bluetooth LE AdvData hccontrol LE_Set_Advertising_Data does not currently allow construction of manufacturer-specific type 0xFF AdvData. Fixed by a new data-entry option -b "b1,b2,b3,...,bn" where b's are 8-bit byte strings (octets). Signed-off-by: F. Duncanh Reviewed by: takawata, pouria Pull Request: https://github.com/freebsd/freebsd-src/pull/2082 --- usr.sbin/bluetooth/hccontrol/le.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/usr.sbin/bluetooth/hccontrol/le.c b/usr.sbin/bluetooth/hccontrol/le.c index 6d5440643b45..fbcee1451b0a 100644 --- a/usr.sbin/bluetooth/hccontrol/le.c +++ b/usr.sbin/bluetooth/hccontrol/le.c @@ -182,7 +182,7 @@ parse_param(int argc, char *argv[], char *buf, int *len) uint16_t value; optreset = 1; optind = 0; - while ((ch = getopt(argc, argv , "n:f:u:")) != -1) { + while ((ch = getopt(argc, argv , "n:f:u:b:")) != -1) { switch(ch){ case 'n': datalen = strlen(optarg); @@ -218,7 +218,24 @@ parse_param(int argc, char *argv[], char *buf, int *len) curbuf += 2; *lenpos += 2; } - + break; + case 'b': + datalen = 1; + token = optarg; + while ((token = strchr(token, ',')) != NULL) { + datalen++; + token++; + } + if ((curbuf + datalen + 1) >= buflast) + goto done; + curbuf[0] = datalen; + curbuf++; + token = optarg; + while ((token = strsep(&optarg, ",")) != NULL) { + value = strtol(token, NULL, 16); + curbuf[0] = value & 0xff; + curbuf++; + } } } done: @@ -1297,7 +1314,7 @@ struct hci_command le_commands[] = { }, { "le_set_advertising_data", - "le_set_advertising_data -n $name -f $flag -u $uuid16,$uuid16 \n" + "le_set_advertising_data -n $name -f $flag -u $uuid16,$uuid16 -b $byte,$byte,...,$byte\n" "set LE device advertising packed data", &le_set_advertising_data },