-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BLE Audio not heard from nRF5340 Audio DK using Zephyr Shell application. #65640
Comments
@ravitest12 Please use the bug template when reporting bugs. I currently don't see what the bug you are reporting is. Based on the title, it sounds like you are expecting audio output (via USB or AUX?), which we simply don't have. So if that is the case, then it's not a bug, but simply a missing feature. |
@Thalley Thank you for updating the issue. Yes i am expecting the audio output via AUX on the nRF5340. Is there any solution or work around to fix this ? |
Nope, and one planned unfortunately. The driver for the DAC on the nRF5340 doesn't have (to my knowledge) an open source driver that we can use with Zephyr. @larsgk have been working towards this for a while, but not sure what the state is right now. It is, however, possible to add USB audio out if that is good enough for your case? |
@Thalley ok. Got it. How to add USB Audio out on nRF5340 ? Can you please share the setup and steps ? |
Hi @ravitest12 , maybe I can help answer that. For USB out, you can take a look at the PR by @fredrikdanebjer here: #65014 If you want USB input, you can look at the broadcast audio source sample, here: https:/zephyrproject-rtos/zephyr/tree/main/samples/bluetooth/broadcast_audio_source Feel free to look me up on Discord if you have some questions around audio on the nRF5340 Audio DK (denladeside / Lars Knudsen) |
@larsgk Thanks for your support. I want the USB Audio out to work using the Shell application. what config should be enabled for this in prj.conf file ? I can see there is one type C USB port on nRF5340 board. should i connect a type C to Aux adapter to it ? how does the board get power ? |
Ok, a few things:
For the shell to support USB audio, we would need to either make a specific implementation for e.g. broadcast/unicast bap or maybe something more generic using USB audio (subsys) as one audio data path (of potentially multiple). Maybe we should have a chat on discord one of the coming days about options? |
Changed to enhancement as it requests additional functionality in the shell, rather than it being a bug. |
The linked pull requests will add USB stereo support for the shell, but it won't add AUX support (drivers are missing for that). If this is not good enough, please add a response here |
@carlescufi @Thalley - let's not close this just yet. We should add the cirrus logic drivers and config files (that is now possible, license wise) to get AUX/Jack support. Otherwise we should make a new issue specific to getting aux support in nRF5340 Audio DK |
I have flashed the Zephyr shell Test application on nRF5340 Audio DK. Gave the below commands in the shell of nRF5340.
bt init
tmap init
bap init
cap_acceptor init
mcc init
vcp_vol_rend init
bt advertise on
Pair and connect with nRF5340 from Pixel 7 Phone. BLE Audio connected successfully.
Now i played a youtube video on the Pixel 7 Phone, BLE Audio is received on nRF5340 as shown in the shell below, but audio is not heard from the headphone aux jack of nRF5340. Am i missing anything here ?
uart:
$ bt init$ tmap initBluetooth initialized
Settings Loaded
[00:00:29.657,531] fs_nvs: 6 Sectors of 4096 bytes
[00:00:29.657,531] fs_nvs: alloc wra: 2, dc0
[00:00:29.657,562] fs_nvs: data wra: 2, 53c
[00:00:29.671,691] bt_hci_core: Controller to host flow control not supported
[00:00:29.676,055] bt_hci_core: No ID address. App must call settings_load()
[00:00:29.692,840] bt_hci_core: Identity: D0:28:B4:E4:DA:37 (random)
[00:00:29.692,871] bt_hci_core: HCI: version 5.2 (0x0b) revision 0x0d41, manufacturer 0x07e8
[00:00:29.692,901] bt_hci_core: LMP: version 5.2 (0x0b) subver 0x0d41
uart:
Registering TMAS with role: 63
uart:
$ bap init$ cap_acceptor init[00:00:41.761,810] bt_pacs: bt_pacs_cap_register: cap 0x200012cc dir sink codec_cap id 0x06 codec_cap cid 0x0000 codec_cap vid 0x0000
[00:00:41.761,932] bt_pacs: bt_pacs_cap_register: cap 0x200012c4 dir source codec_cap id 0x06 codec_cap cid 0x0000 codec_cap vid 0x0000
uart:
uart:
$ mcc init$ vcp_vol_rend init[00:00:51.069,763] bt_mcc: bt_mcc_init: Object selected callback: 0x4aa51
[00:00:51.069,793] bt_mcc: bt_mcc_init: Object content callback: 0x4aab9
[00:00:51.069,793] bt_mcc: bt_mcc_init: Object metadata callback: 0x4aea9
uart:
[00:00:58.225,555] bt_vcp_vol_rend: prepare_aics_inst: AICS P 0x200018c4
uart:~$ bt advertise on
Advertising started
Connected: 79:70:C5:19:52:36 (random)
[0]: Connected to 79:70:C5:19:52:36 (random)
Member[0] connected
LE data len updated: TX (len: 251 time: 2120) RX (len: 27 time: 328)
[00:01:12.931,945] bt_has: connected: conn 0x20009448 err 0
Security changed: 79:70:C5:19:52:36 (random) level 2
Identity resolved 79:70:C5:19:52:36 (random) -> E8:D5:2B:02:89:56 (public)
Bonded with E8:D5:2B:02:89:56 (public)
[00:01:15.677,947] bt_pacs: pacs_security_changed: 79:70:C5:19:52:36 (random) changed security level to 2
[00:01:15.685,668] bt_has: security_changed: conn 0x20009448 level 2 err 0
[00:01:15.847,045] bt_pacs: pacs_auth_pairing_complete: E8:D5:2B:02:89:56 (public) paired (bonded)
[00:01:15.847,198] bt_csip_set_member: auth_pairing_complete: E8:D5:2B:02:89:56 (public) paired (bonded)
[00:01:15.857,543] bt_gatt: MTU Exchange failed (err -120)
[00:01:15.867,828] bt_gatt: MTU Exchange failed (err -120)
[00:01:15.878,082] bt_gatt: MTU Exchange failed (err -120)
[00:01:15.878,143] bt_pacs: notify_cb:
[00:01:15.878,173] bt_pacs: notify_cb:
[00:01:16.516,174] bt_csip_set_member: set_sirk_cfg_changed: value 0x0001
Client E8:D5:2B:02:89:56 (public) requested to read the sirk. Responding with Accept
[00:01:16.560,058] bt_vcp_vol_rend: volume_state_cfg_changed: value 0x0001
[00:01:16.605,133] bt_csip_set_member: set_size_cfg_changed: value 0x0001
[00:01:16.650,085] bt_vocs: offset_state_cfg_changed: value 0x0001
[00:01:16.651,397] bt_pacs: snk_cfg_changed: attr 0x95390 value 0x0001
[00:01:16.695,220] bt_csip_set_member: set_lock_cfg_changed: value 0x0001
[00:01:16.698,608] bt_vocs: read_offset_state: offset 0, counter 0
[00:01:16.740,753] bt_pacs: snk_read: conn 0x20009448 attr 0x9537c buf 0x200254dc len 63 offset 0
[00:01:16.750,152] bt_csip_set_member: read_set_sirk: Set sirk not encrypted
[00:01:16.750,183] bt_csip_set_member: read_set_sirk: Set SIRK
cd cc 72 dd 86 8c cd ce 22 fd a1 21 09 7d 7d 45 |..r..... "..!.}}E
[00:01:16.785,583] bt_vcp_vol_rend: read_vol_state: Volume 100, mute 0, counter 0
LE PHY updated: TX PHY LE 2M, RX PHY LE 2M
LE data len updated: TX (len: 251 time: 2120) RX (len: 70 time: 2120)
[00:01:16.912,017] bt_pacs: snk_loc_cfg_changed: attr 0x953cc value 0x0001
[00:01:16.912,384] bt_csip_set_member: read_set_lock: 1
[00:01:16.920,501] bt_vocs: location_cfg_changed: value 0x0001
[00:01:16.964,965] bt_pacs: snk_loc_read: conn 0x20009448 attr 0x953b8 buf 0x200255bd len 63 offset 0
[00:01:16.965,362] bt_csip_set_member: read_set_size: 2
[00:01:16.965,789] bt_vocs: read_location: 0x00000000
[00:01:17.009,979] bt_pacs: src_cfg_changed: attr 0x95408 value 0x0001
[00:01:17.010,406] bt_csip_set_member: read_rank: 1
[00:01:17.010,803] bt_vocs: output_desc_cfg_changed: value 0x0001
[00:01:17.054,962] bt_pacs: src_read: conn 0x20009448 attr 0x953f4 buf 0x200255bd len 63 offset 0
[00:01:17.055,419] bt_vocs: read_output_desc: Output 1
VCP volume 255, mute 0
[00:01:17.144,989] bt_pacs: src_loc_cfg_changed: attr 0x95444 value 0x0001
[00:01:17.145,416] bt_vcp_vol_rend: flags_cfg_changed: value 0x0001
[00:01:17.234,985] bt_pacs: src_loc_read: conn 0x20009448 attr 0x95430 buf 0x200255bd len 63 offset 0
[00:01:17.235,382] bt_vcp_vol_rend: read_flags: 0x00
[00:01:17.325,012] bt_pacs: available_context_cfg_changed: attr 0x95480 value 0x0001
[00:01:17.325,439] bt_vocs: read_offset_state: offset 0, counter 0
[00:01:17.415,435] bt_pacs: available_contexts_read: conn 0x20009448 attr 0x9546c buf 0x200255bd len 63 offset 0
[00:01:17.459,991] bt_vocs: read_output_desc: Output 1
[00:01:17.504,943] bt_pacs: supported_context_cfg_changed: attr 0x954bc value 0x0001
[00:01:17.549,987] bt_vcp_vol_rend: write_vcs_control: Opcode 4, counter 0
[00:01:17.550,018] bt_vcp_vol_rend: write_vcs_control: Set Absolute Volume (0x4): Current volume 100
[00:01:17.550,048] bt_vcp_vol_rend: write_vcs_control: New state: volume 255, mute 0, counter 1
[00:01:17.550,079] bt_vcp_vol_rend: notify_work_reschedule: state notification scheduled in 0ms
[00:01:17.553,771] bt_vcp_vol_rend: notify_work_reschedule: flags notification scheduled in 0ms
VCP flags 0x01
LE conn param updated: int 0x0028 lat 0 to 42
[00:01:17.712,188] bt_pacs: supported_context_read: conn 0x20009448 attr 0x954a8 buf 0x20025572 len 63 offset 0
[00:01:17.774,993] bt_ascs: ascs_cp_cfg_changed: attr 0x95250 value 0x0001
[00:01:17.865,020] bt_ascs: ascs_ase_cfg_changed: attr 0x9528c value 0x0001
[00:01:17.954,956] bt_ascs: ascs_ase_cfg_changed: attr 0x952c8 value 0x0001
[00:01:18.045,013] bt_ascs: ascs_ase_cfg_changed: attr 0x95304 value 0x0001
[00:01:18.135,040] bt_ascs: ascs_ase_cfg_changed: attr 0x95340 value 0x0001
[00:01:18.225,006] bt_tmap: read_role: TMAP: role 0x003F
[00:01:18.360,473] bt_ascs: ascs_ase_read: conn 0x20009448 attr 0x95278 buf 0x20025572 len 63 offset 0
[00:01:18.360,473] bt_ascs: ascs_ase_read_status_idle: conn 0x20009448 id 0x01
[00:01:18.455,017] bt_ascs: ascs_ase_read: conn 0x20009448 attr 0x952b4 buf 0x20025572 len 63 offset 0
[00:01:18.455,047] bt_ascs: ascs_ase_read_status_idle: conn 0x20009448 id 0x02
[00:01:18.555,053] bt_ascs: ascs_ase_read: conn 0x20009448 attr 0x952f0 buf 0x20025572 len 63 offset 0
[00:01:18.555,084] bt_ascs: ascs_ase_read_status_idle: conn 0x20009448 id 0x03
[00:01:18.655,029] bt_ascs: ascs_ase_read: conn 0x20009448 attr 0x9532c buf 0x20025572 len 63 offset 0
[00:01:18.655,059] bt_ascs: ascs_ase_read_status_idle: conn 0x20009448 id 0x04
[00:01:19.004,913] bt_vcp_vol_rend: write_vcs_control: Opcode 4, counter 1
[00:01:19.004,943] bt_vcp_vol_rend: write_vcs_control: Set Absolute Volume (0x4): Current volume 255
ASE Codec Config: conn 0x20009448 ep 0x2000fd0c dir 1
codec cfg id 0x06 cid 0x0000 vid 0x0000 count 19
data #0: type 0x01 value_len 1
00000000: 08 |. |
data #1: type 0x02 value_len 1
00000000: 01 |. |
data #2: type 0x03 value_len 4
00000000: 01 00 00 00 |.... |
data #3: type 0x04 value_len 2
00000000: 78 00 |x. |
data #4: type 0x05 value_len 1
00000000: 01 |. |
ASE Codec Config stream 0x2000c230
Default stream: 1
[00:01:31.255,401] bt_ascs: ascs_cp_write: conn 0x20009448 attr 0x9523c buf 0x20025574 len 30 op Config Codec (0x01)
[00:01:31.255,432] bt_ascs: ascs_config: num_ases 1
[00:01:31.255,462] bt_ascs: ascs_config: ase 0x01 cc_len 19
[00:01:31.255,523] bt_ascs: ascs_ep_init: ep 0x2000fd0c id 0x01
[00:01:31.255,645] bt_ascs: ase_new: conn 0x20009448 new ase 0x2000fd08 id 0x01
[00:01:31.255,645] bt_ascs: ase_config: ase 0x2000fd08 latency 0x03 phy 0x02 codec 0x06 cid 0x0000 vid 0x0000 codec config len 0x13
[00:01:31.255,706] bt_ascs: ascs_ep_set_codec: ep 0x2000fd0c dir sink codec id 0x06 cid 0x0000 vid 0x0000 len 19
[00:01:31.746,612] bt_ascs: ascs_cp_rsp_add: id 0x01 code Success (0x00) reason None (0x00)
[00:01:31.746,612] bt_bap_stream: bt_bap_stream_attach: conn 0x20009448 stream 0x2000c230 ep 0x2000fd0c codec_cfg 0x2000fd18
[00:01:31.747,039] bt_ascs: ase_status_changed: ase 0x2000fd08 id 0x01 idle -> codec-configured
[00:01:31.747,100] bt_ascs: ascs_ep_get_status: ep 0x2000fd0c id 0x01 state codec-configured
[00:01:31.747,131] bt_ascs: ascs_ep_get_status_config: dir sink unframed_supported 0x01 phy 0x02 rtn 0 latency 60 pd_min 20000 pd_max 40000 pref_pd_min 20000 pref_pd_max 40000 codec id 0x06
QoS: stream 0x2000c230 0x200201e0
QoS: interval 10000 framing 0x00 phy 0x02 sdu 120 rtn 0 latency 60 pd 20000
[00:01:31.805,511] bt_ascs: ascs_cp_write: conn 0x20009448 attr 0x9523c buf 0x20025574 len 18 op Config QoS (0x02)
[00:01:31.805,541] bt_ascs: ascs_qos: num_ases 1
[00:01:31.805,572] bt_ascs: ascs_qos: ase 0x01
[00:01:31.805,572] bt_ascs: ase_qos: ase 0x2000fd08 cig 0x01 cis 0x00 interval 10000 framing 0x00 phy 0x02 sdu 120 rtn 0 latency 60 pd 20000
[00:01:31.805,603] bt_ascs: ase_stream_qos: stream 0x2000c230 ep 0x2000fd0c qos 0x200201e0
[00:01:31.915,008] bt_bap_iso: bt_bap_iso_get_ep: iso 0x20017368 dir sink
[00:01:31.915,039] bt_bap_iso: bt_bap_iso_bind_ep: iso 0x20017368 ep 0x2000fd0c dir sink
[00:01:31.915,100] bt_ascs: ascs_cp_rsp_add: id 0x01 code Success (0x00) reason None (0x00)
[00:01:31.915,496] bt_ascs: ase_status_changed: ase 0x2000fd08 id 0x01 codec-configured -> qos-configured
[00:01:31.915,557] bt_ascs: ascs_ep_get_status: ep 0x2000fd0c id 0x01 state qos-configured
[00:01:31.915,618] bt_ascs: ascs_ep_get_status_qos: dir sink codec id 0x06 interval 10000 framing 0x00 phy 0x02 rtn 0 latency 60 pd 20000
Enable: stream 0x2000c230 meta_len 7
Stream 0x2000c230 enabled
[00:01:32.005,462] bt_ascs: ascs_cp_write: conn 0x20009448 attr 0x9523c buf 0x20025574 len 11 op Enable (0x03)
[00:01:32.005,493] bt_ascs: ascs_enable: num_ases 1
[00:01:32.005,554] bt_ascs: ase_enable: ase 0x2000fd08 meta->len 7
[00:01:32.005,554] bt_ascs: ascs_parse_metadata: type 0x02 len 2
[00:01:32.005,584] bt_ascs: ascs_parse_metadata: type 0x05 len 1
[00:01:32.005,584] bt_ascs: CCID 2 is unknown
[00:01:32.052,978] bt_ascs: ascs_cp_rsp_add: id 0x01 code Success (0x00) reason None (0x00)
[00:01:32.053,375] bt_ascs: ase_status_changed: ase 0x2000fd08 id 0x01 qos-configured -> enabling
[00:01:32.053,436] bt_ascs: ascs_ep_get_status: ep 0x2000fd0c id 0x01 state enabling
[00:01:32.053,466] bt_ascs: ascs_ep_get_status_enable: dir sink cig 0x01 cis 0x00
LE conn param req: int (0x0020, 0x0020) lat 0 to 42
LE conn param updated: int 0x0020 lat 0 to 42
[00:01:32.059,997] bt_bap_stream: bt_bap_stream_start: stream 0x2000c230 ep 0x2000fd0c
[00:01:32.655,609] bt_ascs: ascs_iso_accept: conn 0x20009448
[00:01:32.655,609] bt_ascs: ascs_iso_accept: iso_chan 0x20017368
[00:01:32.791,656] bt_ascs: ascs_ep_iso_connected: stream 0x2000c230 ep 0x2000fd0c dir sink
[00:01:32.791,748] bt_ascs: ase_status_changed: ase 0x2000fd08 id 0x01 enabling -> streaming
[00:01:32.791,809] bt_ascs: ascs_ep_get_status: ep 0x2000fd0c id 0x01 state streaming
[00:01:32.791,809] bt_ascs: ascs_ep_get_status_enable: dir sink cig 0x01 cis 0x00
Stream 0x2000c230 started
[100]: Incoming audio on stream 0x2000c230 len 120 ts 93607338 seq_num 100 flags 9 (dup ts 50; dup psn 0, err_pkts 0, lost_pkts 0)
[200]: Incoming audio on stream 0x2000c230 len 120 ts 94607326 seq_num 200 flags 9 (dup ts 100; dup psn 0, err_pkts 0, lost_pkts 0)
[300]: Incoming audio on stream 0x2000c230 len 120 ts 95607315 seq_num 300 flags 9 (dup ts 150; dup psn 0, err_pkts 0, lost_pkts 0)
[400]: Incoming audio on stream 0x2000c230 len 120 ts 96627293 seq_num 401 flags 9 (dup ts 200; dup psn 0, err_pkts 0, lost_pkts 0)
[500]: Incoming audio on stream 0x2000c230 len 120 ts 97627272 seq_num 501 flags 9 (dup ts 250; dup psn 0, err_pkts 0, lost_pkts 0)
[600]: Incoming audio on stream 0x2000c230 len 120 ts 98627265 seq_num 601 flags 9 (dup ts 300; dup psn 0, err_pkts 0, lost_pkts 0)
[700]: Incoming audio on stream 0x2000c230 len 120 ts 99627247 seq_num 701 flags 9 (dup ts 350; dup psn 0, err_pkts 0, lost_pkts 0)
[800]: Incoming audio on stream 0x2000c230 len 120 ts 100627238 seq_num 801 flags 9 (dup ts 400; dup psn 0, err_pkts 0, lost_pkts 0)
[900]: Incoming audio on stream 0x2000c230 len 120 ts 101627220 seq_num 901 flags 9 (dup ts 450; dup psn 0, err_pkts 0, lost_pkts 0)
[1000]: Incoming audio on stream 0x2000c230 len 120 ts 102627205 seq_num 1001 flags 9 (dup ts 500; dup psn 0, err_pkts 0, lost_pkts 0)
[1100]: Incoming audio on stream 0x2000c230 len 120 ts 103647196 seq_num 1101 flags 9 (dup ts 549; dup psn 0, err_pkts 0, lost_pkts 0)
[1200]: Incoming audio on stream 0x2000c230 len 120 ts 1046471 seq_num 1201 flags 9 (dup ts 599; dup psn 0, err_pkts 0, lost_pkts 0)
[1300]: Incoming audio on stream 0x2000c230 len 120 ts 105647171 seq_num 1301 flags 9 (dup ts 649; dup psn 0, err_pkts 0, lost_pkts 0)
[1400]: Incoming audio on stream 0x2000c230 len 120 ts 106647164 seq_num 1401 flags 9 (dup ts 699; dup psn 0, err_pkts 0, lost_pkts 0)
[1500]: Incoming audio on stream 0x2000c230 len 120 ts 107647161 seq_num 1501 flags 9 (dup ts 749; dup psn 0, err_pkts 0, lost_pkts 0)
[1600]: Incoming audio on stream 0x2000c230 len 120 ts 108647161 seq_num 1601 flags 9 (dup ts 799; dup psn 0, err_pkts 0, lost_pkts 0)
[1700]: Incoming audio on stream 0x2000c230 len 120 ts 109647167 seq_num 1701 flags 9 (dup ts 849; dup psn 0, err_pkts 0, lost_pkts 0)
[1800]: Incoming audio on stream 0x2000c230 len 120 ts 110647166 seq_num 1801 flags 9 (dup ts 899; dup psn 0, err_pkts 0, lost_pkts 0)
[1900]: Incoming audio on stream 0x2000c230 len 120 ts 111647171 seq_num 1901 flags 9 (dup ts 949; dup psn 0, err_pkts 0, lost_pkts 0)
The text was updated successfully, but these errors were encountered: