Message ID | 20220922203852.494315-2-brian.gix@intel.com |
---|---|
State | New |
Headers | show |
Series | Mesh demon switched to using kernel Mesh MGMT | expand |
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=679601 ---Test result--- Test Summary: CheckPatch FAIL 6.13 seconds GitLint PASS 3.99 seconds Prep - Setup ELL PASS 27.65 seconds Build - Prep PASS 0.86 seconds Build - Configure PASS 9.01 seconds Build - Make FAIL 111.00 seconds Make Check FAIL 1136.95 seconds Make Check w/Valgrind FAIL 85.66 seconds Make Distcheck FAIL 11.62 seconds Build w/ext ELL - Configure PASS 8.98 seconds Build w/ext ELL - Make FAIL 39.83 seconds Incremental Build w/ patches FAIL 354.58 seconds Scan Build FAIL 633.10 seconds Details ############################## Test: CheckPatch - FAIL Desc: Run checkpatch.pl script with rule in .checkpatch.conf Output: [BlueZ,1/4] mgmt: Add support for Mesh in the kernel WARNING:REPEATED_WORD: Possible repeated word: 'command' #282: FILE: doc/mgmt-api.txt:5146: + the Set Mesh Receiver command command, specifying which AD Types to /github/workspace/src/12985789.patch total: 0 errors, 1 warnings, 222 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. /github/workspace/src/12985789.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. [BlueZ,3/4] mesh: Improve PB-ADV timing for reliability WARNING:TYPO_SPELLING: 'dependant' may be misspelled - perhaps 'dependent'? #66: Because provisioning is not speed dependant, Timing on outbound PB-ADV ^^^^^^^^^ /github/workspace/src/12985788.patch total: 0 errors, 1 warnings, 33 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. /github/workspace/src/12985788.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. [BlueZ,4/4] mesh: Add new kernel MGMT based IO transport WARNING:LEADING_SPACE: please, no spaces at the start of a line #698: FILE: mesh/mesh-mgmt.c:36: + 0x76, 0x6e, 0xf3, 0xe8, 0x24, 0x5f, 0x05, 0xbf, /* UUID - Mesh */$ WARNING:LEADING_SPACE: please, no spaces at the start of a line #699: FILE: mesh/mesh-mgmt.c:37: + 0x8d, 0x4d, 0x03, 0x7a, 0xd7, 0x63, 0xe4, 0x2c,$ WARNING:LEADING_SPACE: please, no spaces at the start of a line #700: FILE: mesh/mesh-mgmt.c:38: + 0x01, /* Action - enable */$ /github/workspace/src/12985790.patch total: 0 errors, 3 warnings, 806 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. /github/workspace/src/12985790.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. ############################## Test: Build - Make - FAIL Desc: Build the BlueZ source tree Output: tools/mgmt-tester.c: In function ‘main’: tools/mgmt-tester.c:12470:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 12470 | int main(int argc, char *argv[]) | ^~~~ mesh/mesh-io.c:27:10: fatal error: mesh/mesh-io-mgmt.h: No such file or directory 27 | #include "mesh/mesh-io-mgmt.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:7491: mesh/mesh-io.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:4451: all] Error 2 ############################## Test: Make Check - FAIL Desc: Run 'make check' Output: unit/test-avdtp.c: In function ‘main’: unit/test-avdtp.c:766:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 766 | int main(int argc, char *argv[]) | ^~~~ unit/test-avrcp.c: In function ‘main’: unit/test-avrcp.c:989:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 989 | int main(int argc, char *argv[]) | ^~~~ mesh/mesh-io.c:27:10: fatal error: mesh/mesh-io-mgmt.h: No such file or directory 27 | #include "mesh/mesh-io-mgmt.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:7491: mesh/mesh-io.o] Error 1 make: *** [Makefile:11588: check] Error 2 ############################## Test: Make Check w/Valgrind - FAIL Desc: Run 'make check' with Valgrind Output: tools/mgmt-tester.c: In function ‘main’: tools/mgmt-tester.c:12470:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 12470 | int main(int argc, char *argv[]) | ^~~~ mesh/mesh-io.c:27:10: fatal error: mesh/mesh-io-mgmt.h: No such file or directory 27 | #include "mesh/mesh-io-mgmt.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:7491: mesh/mesh-io.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:4451: all] Error 2 ############################## Test: Make Distcheck - FAIL Desc: Run distcheck to check the distribution Output: make[2]: *** No rule to make target 'mesh/mesh-io-mgmt.h', needed by 'distdir-am'. Stop. make[1]: *** [Makefile:11421: distdir] Error 2 make: *** [Makefile:11497: dist] Error 2 ############################## Test: Build w/ext ELL - Make - FAIL Desc: Build BlueZ source with '--enable-external-ell' configuration Output: mesh/mesh-io.c:27:10: fatal error: mesh/mesh-io-mgmt.h: No such file or directory 27 | #include "mesh/mesh-io-mgmt.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:7491: mesh/mesh-io.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:4451: all] Error 2 ############################## Test: Incremental Build w/ patches - FAIL Desc: Incremental build per patch in the series Output: mesh/mesh-io.c:27:10: fatal error: mesh/mesh-io-mgmt.h: No such file or directory 27 | #include "mesh/mesh-io-mgmt.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:7491: mesh/mesh-io.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make: *** [Makefile:4451: all] Error 2 ############################## Test: Scan Build - FAIL Desc: Run Scan Build with patches Output: tools/btpclient.c:2494:3: warning: Value stored to 'reply' is never read reply = l_dbus_message_new_error(ag.pending_req, ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. In file included from unit/test-mesh-crypto.c:20: In file included from ./mesh/crypto.c:18: In file included from ./ell/ell.h:1: ./ell/util.h:187:9: warning: 1st function call argument is an uninitialized value return L_BE32_TO_CPU(L_GET_UNALIGNED((const uint32_t *) ptr)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./ell/util.h:89:28: note: expanded from macro 'L_BE32_TO_CPU' #define L_BE32_TO_CPU(val) bswap_32(val) ^~~~~~~~~~~~~ /usr/include/byteswap.h:34:21: note: expanded from macro 'bswap_32' #define bswap_32(x) __bswap_32 (x) ^~~~~~~~~~~~~~ unit/test-mesh-crypto.c:965:11: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage key_aid |= KEY_ID_AKF; ~~~~~~~ ^ unit/test-mesh-crypto.c:1008:2: warning: 4th function call argument is an uninitialized value verify_uint8("NID", 0, keys->net_nid, nid); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ unit/test-mesh-crypto.c:1289:6: warning: Branch condition evaluates to a garbage value if (ctl) { ^~~ unit/test-mesh-crypto.c:1509:7: warning: Branch condition evaluates to a garbage value if (net_ctl) { ^~~~~~~ unit/test-mesh-crypto.c:1763:2: warning: 1st function call argument is an uninitialized value l_put_be64(cmac_tmp, cmac); ^~~~~~~~~~~~~~~~~~~~~~~~~~ 6 warnings generated. src/advertising.c:898:2: warning: Null pointer passed to 2nd parameter expecting 'nonnull' memcpy(cp->data + adv_data_len, scan_rsp, scan_rsp_len); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. mesh/mesh-io.c:27:10: fatal error: mesh/mesh-io-mgmt.h: No such file or directory 27 | #include "mesh/mesh-io-mgmt.h" | ^~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:7491: mesh/mesh-io.o] Error 1 make: *** [Makefile:4451: all] Error 2 --- Regards, Linux Bluetooth
diff --git a/doc/mgmt-api.txt b/doc/mgmt-api.txt index 23ea42228..90d612ed8 100644 --- a/doc/mgmt-api.txt +++ b/doc/mgmt-api.txt @@ -3861,45 +3861,132 @@ Add Advertisement Patterns Monitor With RSSI Threshold Command Invalid Parameters -Set Quality Report Command -========================== +Set Mesh Receiver Command +========================= Command Code: 0x0057 Controller Index: <controller id> - Command Parameters: Quality_Report (1 Octet) - Return Parameters: Current_Settings (4 Octets) + Command Parameters: Enable (1 Octets) + Window (2 Octets) + Period (2 Octets) + Num AD Types (1 Octets) + AD Types { } - This command is used to enable and disable the controller's quality - report feature. The allowed values for the Quality_Report command - parameter are 0x00 and 0x01. All other values will return Invalid - Parameters. + This command Enables or Disables Mesh Receiving. When enabled passive + scanning remains enabled for this controller. + + The Window/Period values are used to set the Scan Parameters when no + other scanning is being done. + + Num AD Types and AD Types parameter, filter Advertising and Scan + responses by AD type. Reponses that do not contain at least one of the + requested AD types will be ignored. Otherwise they will be delivered + with the Mesh Device Found event. + + Possible errors: Failed + No Resources + Invalid Parameters + + +Read Mesh Features Command +========================== + + Command Code: 0x0058 + Controller Index: <controller id> + Command Parameters: + Return Parameters: Index (2 Octets) + Max Handles (1 Octets) + Used Handles (1 Octets) + Handle { } - The value 0x00 disables the Quality Report, and the value 0x01 - enables the Quality Report feature. + This command is used to both verify that Outbound Mesh packet + support is enabled, and to indicate the number of packets that + can and are simultaneously queued. - This command is only available for the controllers that support - either AOSP Bluetooth quality report or Intel telemetry event. - It is supported if the supported_settings indicate support for it. + Index identifies the HCI Controller that this information is valid for. - This command requires to use a valid controller index. Otherwise, - an Invalid Index status will be returned. + Max Handles indicates the maximum number of packets that may be queued. - The command is sent to the controller to enable/disable the quality - report feature, and generates a Command Complete event on success. - If the controller failed to execute the action, a Failed status will - be returned. + Used Handles indicates the number of packets awaiting transmission. - The quality report state is maintained by the kernel over the adapter - power cycle. When the adapter is powered off, the quality report - feature is disabled by the kernel. When the adapter is powered on, it - is enabled again by the kernel if it was enabled before. + Handle is an array of the currently outstanding packets. Possible errors: Failed - Invalid Index + No Resources Invalid Parameters - Not Supported +Transmit Mesh Packet Command +============================ + + Command Code: 0x0059 + Controller Index: <controller id> + Command Parameters: Addr (6 octets) + Addr Type (1 Octets) + Instant (8 Octets) + Delay (2 Octets) + Count (1 Octets) + Data Length (1 Octets) + Data (variable) + + Return Parameters: Handle (1 Octets) + + This command sends a Mesh Packet as a NONCONN LE Advertisement. + + The Addr + Addr Type parameters specifify the address to use in the + outbound advertising packet. If BD_ADDR_ANY and LE_RANDOM is set, the + kernel will create a single use non-resolvable address. + + The Instant parameter is used in combination with the Delay + parameter, to finely time the sending of the Advertising packet. It + should be set to the Instant value tag of a received incoming + Mesh Device Found Event. It is only useful in POLL-RESPONSE situations + where a response must be sent within a negotiated time window. The value + of the Instant parameter should not be interpreted by the host, and + only has meaning to the controller. + + The Delay parameter, if 0x0000, will cause the packet to be sent + at the earliest opportunity. If non-Zero, and the controller supports + delayed delivery, the Instant and Delay parameters will be used + to delay the outbound packet. While the Instant is not defined, the + Delay is specified in milliseconds. + + The Count parameter must be sent to a non-Zero value indicating the + number of times this packet will be sent before transmission completes. + If the Delay parameter is non-Zero, then Count must be 1 only. + + The Data parameter is an octet array of the AD Type and Mesh Packet. + + This command will return immediately, and if it succeeds, will generate + a Mesh Packet Transmission Complete event when after the packet has been + sent. + + Possible errors: Failed + Busy + No Resources + Invalid Parameters + + +Cancel Transmit Mesh Packet Command +=================================== + + Command Code: 0x005A + Controller Index: <controller id> + Command Parameters: Handle (1 Octets) + + This command may be used to cancel an outbound transmission request. + + The Handle parameter is the returned handle from a successful Transmit + Mesh Packet request. If Zero is specified as the handle, all outstanding + send requests are canceled. + + For each mesh packet canceled, the Mesh Packet Transmission Complete + event will be generated, regardless of whether the packet was sent + successfully. + + Possible errors: Failed + Invalid Parameters + Command Complete Event ====================== @@ -5022,20 +5109,55 @@ Advertisement Monitor Device Lost Event This event will be sent to all management sockets. -Quality Report Event -==================== +Mesh Device Found Event +======================= Event code: 0x0031 Controller Index: <controller_id> - Event Parameters: Quality_Spec (1 Octet) - Report_Len (2 Octets) - Report (0-65535 Octets) + Event Parameters: Address (6 Octets) + Address_Type (1 Octet) + RSSI (1 Octet) + Instant (8 Octets) + Flags (4 Octets) + AD_Data_Length (2 Octets) + AD_Data (0-65535 Octets) - This event carries the Bluetooth quality report sent by the - controller. + This event indicates that the controller has received an Advertisement + or Scan Result containing an AD Type matching the Mesh scan set. + + The address of the sending device is returned, and must be a valid LE + Address_Type. + + Possible values for the Address_Type parameter: + 0 Reserved (not in use) + 1 LE Public + 2 LE Random + + The RSSI field is a signed octet, and is the RSSI reported by the + receiving controller. + + The Instant field is 64 bit value that represents the instant in time + the packet was received. It's value is not intended to be interpretted + by the host, and is only useful if the host wants to make a timed + response to the received packet. (i.e. a Poll/Response) + + AD_Length and AD_Data contains the Info structure of Advertising and + Scan rsults. To receive this event, AD filters must be requested with + the Set Mesh Receiver command command, specifying which AD Types to + return. All AD structures will be received in this event if any of the + filtered AD Types are present. + + This event will be sent to all management sockets. + + +Mesh Packet Transmit Complete Event +=================================== + + Event code: 0x0032 + Controller Index: <controller_id> + Event Parameters: Handle (1 Octets) - Possible values for the Quality_Spec parameter: - 0 AOSP Bluetooth Quality Report Event - 1 Intel Telemetry Event + This event indicates that a requested outbound Mesh packet has + completed and no longer occupies a transmit slot. This event will be sent to all management sockets.