Message ID | 20240816131145.Bluez.v1.1.I6eb6574a1f0abd21e735618d5e8936fd230a4fa3@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | 29d4540828a10148881dbb5c09acaebf1469dfb2 |
Headers | show |
Series | [Bluez,v1] Monitor: Complete missing fields in ESco Connection | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/BuildEll | success | Build ELL PASS |
tedd_an/BluezMake | success | Bluez Make PASS |
tedd_an/MakeCheck | fail | BlueZ Make Check FAIL: |
tedd_an/MakeDistcheck | fail | Make Distcheck FAIL: Package cups was not found in the pkg-config search path. Perhaps you should add the directory containing `cups.pc' to the PKG_CONFIG_PATH environment variable No package 'cups' found make[4]: *** [Makefile:11764: test-suite.log] Error 1 make[3]: *** [Makefile:11872: check-TESTS] Error 2 make[2]: *** [Makefile:12301: check-am] Error 2 make[1]: *** [Makefile:12303: check] Error 2 make: *** [Makefile:12224: distcheck] Error 1 |
tedd_an/CheckValgrind | fail | Check Valgrind FAIL: tools/mgmt-tester.c: In function ‘main’: tools/mgmt-tester.c:12725:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 12725 | int main(int argc, char *argv[]) | ^~~~ make[3]: *** [Makefile:11764: test-suite.log] Error 1 make[2]: *** [Makefile:11872: check-TESTS] Error 2 make[1]: *** [Makefile:12301: check-am] Error 2 make: *** [Makefile:12303: check] Error 2 |
tedd_an/CheckSmatch | warning | CheckSparse WARNING monitor/packet.c: note: in included file:monitor/display.h:82:26: warning: Variable length array is used.monitor/packet.c:1867:26: warning: Variable length array is used.monitor/packet.c: note: in included file:monitor/bt.h:3606:52: warning: array of flexible structuresmonitor/bt.h:3594:40: warning: array of flexible structures |
tedd_an/bluezmakeextell | success | Make External ELL PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
tedd_an/ScanBuild | success | Scan Build PASS |
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=880185 ---Test result--- Test Summary: CheckPatch PASS 0.56 seconds GitLint PASS 0.36 seconds BuildEll PASS 25.00 seconds BluezMake PASS 1620.80 seconds MakeCheck PENDING 74.03 seconds MakeDistcheck FAIL 163.56 seconds CheckValgrind FAIL 256.72 seconds CheckSmatch PENDING 405.30 seconds bluezmakeextell PASS 121.49 seconds IncrementalBuild PASS 1604.74 seconds ScanBuild PASS 1007.71 seconds Details ############################## Test: MakeCheck - PENDING Desc: Run Bluez Make Check Output: ############################## Test: MakeDistcheck - FAIL Desc: Run Bluez Make Distcheck Output: Package cups was not found in the pkg-config search path. Perhaps you should add the directory containing `cups.pc' to the PKG_CONFIG_PATH environment variable No package 'cups' found make[4]: *** [Makefile:11764: test-suite.log] Error 1 make[3]: *** [Makefile:11872: check-TESTS] Error 2 make[2]: *** [Makefile:12301: check-am] Error 2 make[1]: *** [Makefile:12303: check] Error 2 make: *** [Makefile:12224: distcheck] Error 1 ############################## Test: CheckValgrind - FAIL Desc: Run Bluez Make Check with Valgrind Output: tools/mgmt-tester.c: In function ‘main’: tools/mgmt-tester.c:12725:5: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 12725 | int main(int argc, char *argv[]) | ^~~~ make[3]: *** [Makefile:11764: test-suite.log] Error 1 make[2]: *** [Makefile:11872: check-TESTS] Error 2 make[1]: *** [Makefile:12301: check-am] Error 2 make: *** [Makefile:12303: check] Error 2 ############################## Test: CheckSmatch - PENDING Desc: Run smatch tool with source Output: --- Regards, Linux Bluetooth
Hello: This patch was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Fri, 16 Aug 2024 13:11:45 +0800 you wrote: > From: Yun-Hao Chung <howardchung@google.com> > > This implements the missing fields in the ESCO connection setup and > accept commands. > --- > An example of output looks like below: > < HCI Command: Enhanced Setup Synchronous Connection (0x01|0x003d) plen 59 > Handle: 256 Address: 00:11:22:33:44:55 (Google, Inc.) > Transmit bandwidth: 8000 > Receive bandwidth: 8000 > Transmit Coding Format: > Codec: Transparent (0x03) > Receive Coding Format: > Codec: Transparent (0x03) > Transmit Codec Frame Size: 60 > Receive Codec Frame Size: 60 > Input Coding Format: > Codec: Transparent (0x03) > Output Coding Format: > Codec: Transparent (0x03) > Input Coded Data Size: 16 > Output Coded Data Size: 16 > Input PCM Data Format: 2's complement > Output PCM Data Format: 2's complement > Input PCM Sample Payload MSB Position: 0 > Output PCM Sample Payload MSB Position: 0 > Input Data Path: HCI > Output Data Path: HCI > Input Transport Unit Size: 0 > Output Transport Unit Size: 0 > Max latency: 13 > Packet type: 0x0380 > 3-EV3 may not be used > 2-EV5 may not be used > 3-EV5 may not be used > Retransmission effort: Optimize for link quality (0x02) > > [...] Here is the summary with links: - [Bluez,v1] Monitor: Complete missing fields in ESco Connection https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=29d4540828a1 You are awesome, thank you!
diff --git a/monitor/packet.c b/monitor/packet.c index 5abf164eb..c2599fe68 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -4845,6 +4845,50 @@ static void flow_spec_modify_cmd(uint16_t index, const void *data, uint8_t size) print_flow_spec("RX", cmd->rx_flow_spec); } +static void print_coding_format(const char *label, + const uint8_t coding_format[5]) +{ + print_field("%s:", label); + packet_print_codec_id(" Codec", coding_format[0]); + if (coding_format[0] == 0xff) { + print_field(" Company: %s", + bt_compidtostr(get_le16(coding_format + 1))); + print_field(" Vendor Specific Codec: 0x%4.4x", + get_le16(coding_format + 3)); + } +} + +static void print_pcm_data_format(const char *label, uint8_t pcm) +{ + switch (pcm) { + case 0: + print_field("%s: NA", label); + break; + case 1: + print_field("%s: 1's complement", label); + break; + case 2: + print_field("%s: 2's complement", label); + break; + case 3: + print_field("%s: Sign-magnitude", label); + break; + case 4: + print_field("%s: Unsigned", label); + break; + default: + print_field("%s: Unknown (0x%2.2x)", label, pcm); + } +} + +static void print_data_path(const char *label, uint8_t data_path) +{ + if (data_path == 0) + print_field("%s: HCI", label); + else + print_field("%s: Vendor Specific (0x%2.2x)", label, data_path); +} + static void enhanced_setup_sync_conn_cmd(uint16_t index, const void *data, uint8_t size) { @@ -4853,9 +4897,30 @@ static void enhanced_setup_sync_conn_cmd(uint16_t index, const void *data, print_handle(cmd->handle); print_field("Transmit bandwidth: %d", le32_to_cpu(cmd->tx_bandwidth)); print_field("Receive bandwidth: %d", le32_to_cpu(cmd->rx_bandwidth)); - - /* TODO */ - + print_coding_format("Transmit Coding Format", cmd->tx_coding_format); + print_coding_format("Receive Coding Format", cmd->rx_coding_format); + print_field("Transmit Codec Frame Size: %d", + le16_to_cpu(cmd->tx_codec_frame_size)); + print_field("Receive Codec Frame Size: %d", + le16_to_cpu(cmd->rx_codec_frame_size)); + print_coding_format("Input Coding Format", cmd->input_coding_format); + print_coding_format("Output Coding Format", cmd->output_coding_format); + print_field("Input Coded Data Size: %d", + le16_to_cpu(cmd->input_coded_data_size)); + print_field("Output Coded Data Size: %d", + le16_to_cpu(cmd->output_coded_data_size)); + print_pcm_data_format("Input PCM Data Format", + cmd->input_pcm_data_format); + print_pcm_data_format("Output PCM Data Format", + cmd->output_pcm_data_format); + print_field("Input PCM Sample Payload MSB Position: %d", + cmd->input_pcm_msb_position); + print_field("Output PCM Sample Payload MSB Position: %d", + cmd->output_pcm_msb_position); + print_data_path("Input Data Path", cmd->input_data_path); + print_data_path("Output Data Path", cmd->output_data_path); + print_field("Input Transport Unit Size: %d", cmd->input_unit_size); + print_field("Output Transport Unit Size: %d", cmd->output_unit_size); print_field("Max latency: %d", le16_to_cpu(cmd->max_latency)); print_pkt_type_sco(cmd->pkt_type); print_retransmission_effort(cmd->retrans_effort); @@ -4870,9 +4935,30 @@ static void enhanced_accept_sync_conn_request_cmd(uint16_t index, print_bdaddr(cmd->bdaddr); print_field("Transmit bandwidth: %d", le32_to_cpu(cmd->tx_bandwidth)); print_field("Receive bandwidth: %d", le32_to_cpu(cmd->rx_bandwidth)); - - /* TODO */ - + print_coding_format("Transmit Coding Format", cmd->tx_coding_format); + print_coding_format("Receive Coding Format", cmd->rx_coding_format); + print_field("Transmit Codec Frame Size: %d", + le16_to_cpu(cmd->tx_codec_frame_size)); + print_field("Receive Codec Frame Size: %d", + le16_to_cpu(cmd->rx_codec_frame_size)); + print_coding_format("Input Coding Format", cmd->input_coding_format); + print_coding_format("Output Coding Format", cmd->output_coding_format); + print_field("Input Coded Data Size: %d", + le16_to_cpu(cmd->input_coded_data_size)); + print_field("Output Coded Data Size: %d", + le16_to_cpu(cmd->output_coded_data_size)); + print_pcm_data_format("Input PCM Data Format", + cmd->input_pcm_data_format); + print_pcm_data_format("Output PCM Data Format", + cmd->output_pcm_data_format); + print_field("Input PCM Sample Payload MSB Position: %d", + cmd->input_pcm_msb_position); + print_field("Output PCM Sample Payload MSB Position: %d", + cmd->output_pcm_msb_position); + print_data_path("Input Data Path", cmd->input_data_path); + print_data_path("Output Data Path", cmd->output_data_path); + print_field("Input Transport Unit Size: %d", cmd->input_unit_size); + print_field("Output Transport Unit Size: %d", cmd->output_unit_size); print_field("Max latency: %d", le16_to_cpu(cmd->max_latency)); print_pkt_type_sco(cmd->pkt_type); print_retransmission_effort(cmd->retrans_effort);
From: Yun-Hao Chung <howardchung@google.com> This implements the missing fields in the ESCO connection setup and accept commands. --- An example of output looks like below: < HCI Command: Enhanced Setup Synchronous Connection (0x01|0x003d) plen 59 Handle: 256 Address: 00:11:22:33:44:55 (Google, Inc.) Transmit bandwidth: 8000 Receive bandwidth: 8000 Transmit Coding Format: Codec: Transparent (0x03) Receive Coding Format: Codec: Transparent (0x03) Transmit Codec Frame Size: 60 Receive Codec Frame Size: 60 Input Coding Format: Codec: Transparent (0x03) Output Coding Format: Codec: Transparent (0x03) Input Coded Data Size: 16 Output Coded Data Size: 16 Input PCM Data Format: 2's complement Output PCM Data Format: 2's complement Input PCM Sample Payload MSB Position: 0 Output PCM Sample Payload MSB Position: 0 Input Data Path: HCI Output Data Path: HCI Input Transport Unit Size: 0 Output Transport Unit Size: 0 Max latency: 13 Packet type: 0x0380 3-EV3 may not be used 2-EV5 may not be used 3-EV5 may not be used Retransmission effort: Optimize for link quality (0x02) monitor/packet.c | 98 +++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 92 insertions(+), 6 deletions(-)