Open oddlama opened 4 months ago
I can offer a reproducible environment leading to this error in my fork, in case you are willing to install Nix. You can then enter a shell with the full environment by running nix --extra-experimental-features 'nix-command flakes' develop
when you are in the main directory of my fork.
One more question: when compiling for one of the targets which are part of the CI - like riscv32imc-esp-espidf
- does it compile OK?
Yes, riscv32imc-esp-espidf works
Ok. Then it is not *nix specific and I'll look into it. Might take a day or two though.
You'll need this PR to be merged in esp-idf-svc
.
As it turns out, we currently don't actually support proper Bluedroid initialization on anything but esp32/esp32s3/esp32c3.
In the meantime, I've added the branch supporting this PR to esp-idf-matter
.
I can't test the project with the esp32c6 right now, as I'm not at home and don't have a c6 chip with me. If you can try it out on the c6, I would appreciate it!
Thanks a ton for the quick fix! Works flawlessly on my C6 now!
Thanks a ton for the quick fix! Works flawlessly on my C6 now!
The question is if esp-idf-matter
examples work for you.
Sorry I only had time to test it thoroughly today. I tested the "light" example now.
There are no obvious errors reported by the device from what I can tell, everything looks like it is working. I just cannot get the device to actually finish commissioning in Home Assistant. But I can see that the Wifi credentials are correctly sent to the device, and it acquires an IP address. The phone just fails to find it afterwards, but this may very well be due to the HA matter addon being experimental.
I think you can probably directly tell whether this is device related or HA related issue from the logs:
There are no obvious errors reported by the device from what I can tell, everything looks like it is working. I just cannot get the device to actually finish commissioning in Home Assistant. But I can see that the Wifi credentials are correctly sent to the device, and it acquires an IP address.
What happens is that the first part of the commissioning process, which is running over BLE completes successfully. The second part of the commissioning, which is running over IPv6 however fails, as we are never contacted on the Matter UDP port.
99% this is due to some sort of mDNS issue, because:
I would check the following:
The reason for the above is that Matter runs over Ipv6. Moreover, more often than not it runs over link-local ipv6 addresses (again, google it, but these are - roughly speaking - something like the 169.254.0.0/16 range that Macs sometimes use when they can't find a DHCP server, except ipv6 link-local addresses are (a) much more popular - basically there is no DHCP in the ipv6 world (b) should almost always be present on your ipv6 NIC even if there are no other ipv6 addresses because - say - your internet provider does not offer ipv6 connectivity). But as I said, link-local only works on a single (or L2/bridged) LAN, as there is no routing involved.
The phone just fails to find it afterwards, but this may very well be due to the HA matter addon being experimental.
I would not sit on this. HA likely uses the C++ Matter SDK which is the most stable one and is used by basically all the big players (Apple/Samsung/Google/AWS) in production, as they basically created it. With other companies like Espressif participating too.
Would it be possible to paste the HA Matter logs here? Also your phone logs? This would:
Another option: Can you try the light_eth
example too? It only goes via mDNS + ipv6 so if there is an mDNS discoverability issue, we'll know right away...
Are ALL of the esp/your phone/HA connected to the same LAN? (Wirelessly or wired), but it is key that it is the same 192.168.0.X network you are using, which is under the same L2 bridge in your router (i.e. all of esp/your phone/HA can "pingv6" each other without the need to route packets across separate ipv6 networks?
Yes. All devices in my home network have a working link local address and also ULAs that I commission via IPv6 Router Advertisements from my main gateway server. Pinging either of them works fine from any device. While testing this I just noticed that the phone I used yesterday apparently doesn't resolve mDNS addresses (some 6 year old huawei phone). So I repeated the commissioning with a Google Pixel where I tested mDNS resolution beforehand. Still after a while it shows "Unknown Error" while commissioning, pretty much the same as yesterday.
Is your HA having a link-local Ipv6 address? (You can google what this is); I'm pretty sure your phone has one, in theory HA should as well, but...
Yes. All devices can reach the HA instance via its IPv6 LLA.
> ping -6 fe80::a84d:ebff:fe58:9059%lan1 # HA-instance
PING fe80::a84d:ebff:fe58:9059%lan1 (fe80::a84d:ebff:fe58:9059%lan1) 56 data bytes
64 bytes from fe80::a84d:ebff:fe58:9059%lan1: icmp_seq=1 ttl=64 time=0.393 ms
64 bytes from fe80::a84d:ebff:fe58:9059%lan1: icmp_seq=2 ttl=64 time=0.372 ms
[...]
While testing I noticed something odd though, I cannot reach the ESPC6 via it's LLA until I ping it once via IPv4:
> I (164577) rs_matter_stack: Got IP network: IPv4: 192.168.1.86, IPv6: fe80::424c:caff:fe50:912c, Interface: 2, MAC: 40:4C:CA:50:91:2C
> ping -6 fe80::424c:caff:fe50:912c%lan1 # ESP
PING fe80::424c:caff:fe50:912c%lan1 (fe80::424c:caff:fe50:912c%lan1) 56 data bytes
From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=1 Destination unreachable: Address unreachable
From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=2 Destination unreachable: Address unreachable
From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=3 Destination unreachable: Address unreachable
From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=4 Destination unreachable: Address unreachable
ping: sendmsg: No route to host
From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=5 Destination unreachable: Address unreachable
From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=6 Destination unreachable: Address unreachable
[...]
> ping -4 192.168.1.86
PING 192.168.1.86 (192.168.1.86) 56(84) bytes of data.
64 bytes from 192.168.1.86: icmp_seq=1 ttl=64 time=665 ms
64 bytes from 192.168.1.86: icmp_seq=2 ttl=64 time=187 ms
[...]
> ping -6 fe80::424c:caff:fe50:912c%lan1 # ESP
PING fe80::424c:caff:fe50:912c%lan1 (fe80::424c:caff:fe50:912c%lan1) 56 data bytes
64 bytes from fe80::424c:caff:fe50:912c%lan1: icmp_seq=1 ttl=255 time=155 ms
64 bytes from fe80::424c:caff:fe50:912c%lan1: icmp_seq=2 ttl=255 time=485 ms
[...]
But as I said, link-local only works on a single (or L2/bridged) LAN, as there is no routing involved.
All devices are physically connected to the same switch, and I would hope that the wifi AP isn't doing any shenanigans. I can at least ping other wifi devices via their LLA without pre-pinging ipv4.
I would not sit on this. HA likely uses the C++ Matter SDK which is the most stable one and is used by basically all the big players (Apple/Samsung/Google/AWS) in production, as they basically created it. With other companies like Espressif participating too.
Would it be possible to paste the HA Matter logs here? Also your phone logs?
I just repeated the commissioning today, so ignore anything in the logs after yesterday. The attempt from yesterday was at 20:47.
I could not find any relevant logs on the mobile phone. There are the companion app logs, but they show nothing about the matter commissioning process just about 50 lines of Android UI framework stuff.
Another option: Can you try the
light_eth
example too? It only goes via mDNS + ipv6 so if there is an mDNS discoverability issue, we'll know right away...
I'll check if I have a supported ethernet module lying around somewhere.
Interestingly, I was just able to get the device to commission now, by repeating the process 5 times (actually on the old mDNS-unaware phone). Nothing else has changed, same setup as yesterday. I actually just wanted to get one session of coherent logs to check if the android system logs would contain anything (they didn't), restarted the ESP as usual and this time it worked for whatever reason.
I can see ACL errors regularly when the light state changes, but I cannot spot anything that isn't working. Here are the logs:
The switch state updates are properly sent to Home Assistant and the light can be toggled from there. So except for the commissioning issues, everything seems to be functional.
Although after restarting the ESP device it want's to be commissioned again, but to be honest I'm not sure whether persistence is actually implemented in this project.
While testing I noticed something odd though, I cannot reach the ESPC6 via it's LLA until I ping it once via IPv4:
> I (164577) rs_matter_stack: Got IP network: IPv4: 192.168.1.86, IPv6: fe80::424c:caff:fe50:912c, Interface: 2, MAC: 40:4C:CA:50:91:2C
> ping -6 fe80::424c:caff:fe50:912c%lan1 # ESP PING fe80::424c:caff:fe50:912c%lan1 (fe80::424c:caff:fe50:912c%lan1) 56 data bytes From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=1 Destination unreachable: Address unreachable From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=2 Destination unreachable: Address unreachable From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=3 Destination unreachable: Address unreachable From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=4 Destination unreachable: Address unreachable ping: sendmsg: No route to host From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=5 Destination unreachable: Address unreachable From fe80::264b:feff:fe5c:bc59%lan1 icmp_seq=6 Destination unreachable: Address unreachable [...] > ping -4 192.168.1.86 PING 192.168.1.86 (192.168.1.86) 56(84) bytes of data. 64 bytes from 192.168.1.86: icmp_seq=1 ttl=64 time=665 ms 64 bytes from 192.168.1.86: icmp_seq=2 ttl=64 time=187 ms [...] > ping -6 fe80::424c:caff:fe50:912c%lan1 # ESP PING fe80::424c:caff:fe50:912c%lan1 (fe80::424c:caff:fe50:912c%lan1) 56 data bytes 64 bytes from fe80::424c:caff:fe50:912c%lan1: icmp_seq=1 ttl=255 time=155 ms 64 bytes from fe80::424c:caff:fe50:912c%lan1: icmp_seq=2 ttl=255 time=485 ms [...]
This sounds weird! Unfortunately I'm not sure whether it is just a glitch in ESP-IDF's ICMPv6 implementation, or an indication of a bigger issue...
Will try it out myself.
Another option: Can you try the
light_eth
example too? It only goes via mDNS + ipv6 so if there is an mDNS discoverability issue, we'll know right away...I'll check if I have a supported ethernet module lying around somewhere.
No - if you look at the light_eth.rs
file - it is abusing Wifi, not really using ethernet (from the POV of Matter it is all the same). "Ethernet" just implies that the device is already connected to the network. You just have to export WIFI_SSID
+ export WIFI_PASS
prior to running the example.
I can see ACL errors regularly when the light state changes, but I cannot spot anything that isn't working. Here are the logs:
That's "ok". We have to remove the error logs from AclMgr, as they are confusing (and are not really errors).
Although after restarting the ESP device it want's to be commissioned again, but to be honest I'm not sure whether persistence is actually implemented in this project.
Persistence is currently commented out. It was supposed to be implemented (tested actually) more than a month ago, but there is something more important constantly popping up.
Transfer of esp-rs/esp-idf-svc#442; Summary:
When I'm trying to compile this for the esp32c6 using riscv32imc-esp-espidf, I run into the following issue:
It happens on esp-idf v5.2 and v5.2.2. EDIT: As we found out later it seems to be related to the architecture.
Full cargo build error
``` Compiling esp-idf-svc v0.49.0 error[E0425]: cannot find value `ESP_BT_CTRL_CONFIG_MAGIC_VAL` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:497:32 | 497 | magic: crate::sys::ESP_BT_CTRL_CONFIG_MAGIC_VAL, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `ESP_BT_CTRL_CONFIG_VERSION` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:498:34 | 498 | version: crate::sys::ESP_BT_CTRL_CONFIG_VERSION, | ^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_PINNED_TO_CORE` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:501:50 | 501 | controller_task_run_cpu: crate::sys::CONFIG_BT_CTRL_PINNED_TO_CORE as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `CONFIG_BLUEDROID_PINNED_TO_CORE` | ::: /home/nixuser/projects/embedded/esp-idf-matter/target/riscv32imac-esp-espidf/debug/build/esp-idf-sys-c8d14348dff4d490/out/bindings.rs:1167:1 | 1167 | pub const CONFIG_BLUEDROID_PINNED_TO_CORE: u32 = 0; | ---------------------------------------------- similarly named constant `CONFIG_BLUEDROID_PINNED_TO_CORE` defined here error[E0425]: cannot find value `CONFIG_BT_CTRL_MODE_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:502:41 | 502 | bluetooth_mode: crate::sys::CONFIG_BT_CTRL_MODE_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_BLE_MAX_ACT_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:503:38 | 503 | ble_max_act: crate::sys::CONFIG_BT_CTRL_BLE_MAX_ACT_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_SLEEP_MODE_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:504:37 | 504 | sleep_mode: crate::sys::CONFIG_BT_CTRL_SLEEP_MODE_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_SLEEP_CLOCK_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:505:38 | 505 | sleep_clock: crate::sys::CONFIG_BT_CTRL_SLEEP_CLOCK_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:506:47 | 506 | ble_st_acl_tx_buf_nb: crate::sys::CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_HW_CCA_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:507:43 | 507 | ble_hw_cca_check: crate::sys::CONFIG_BT_CTRL_HW_CCA_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_ADV_DUP_FILT_MAX` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:508:47 | 508 | ble_adv_dup_filt_max: crate::sys::CONFIG_BT_CTRL_ADV_DUP_FILT_MAX as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:509:38 | 509 | ce_len_type: crate::sys::CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_HCI_TL_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:510:38 | 510 | hci_tl_type: crate::sys::CONFIG_BT_CTRL_HCI_TL_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:512:36 | 512 | txant_dft: crate::sys::CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:513:36 | 513 | rxant_dft: crate::sys::CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:514:36 | 514 | txpwr_dft: crate::sys::CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CFG_MASK` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:515:35 | 515 | cfg_mask: crate::sys::CFG_MASK, | ^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `SCAN_DUPLICATE_MODE` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:516:46 | 516 | scan_duplicate_mode: crate::sys::SCAN_DUPLICATE_MODE as _, | ^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `SCAN_DUPLICATE_TYPE_VALUE` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:517:46 | 517 | scan_duplicate_type: crate::sys::SCAN_DUPLICATE_TYPE_VALUE as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `NORMAL_SCAN_DUPLICATE_CACHE_SIZE` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:518:42 | 518 | normal_adv_size: crate::sys::NORMAL_SCAN_DUPLICATE_CACHE_SIZE as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `MESH_DUPLICATE_SCAN_CACHE_SIZE` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:519:40 | 519 | mesh_adv_size: crate::sys::MESH_DUPLICATE_SCAN_CACHE_SIZE as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:521:29 | 521 | crate::sys::CONFIG_BT_CTRL_COEX_PHY_CODED_TX_RX_TLIM_EFF as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF` | ::: /home/nixuser/projects/embedded/esp-idf-matter/target/riscv32imac-esp-espidf/debug/build/esp-idf-sys-c8d14348dff4d490/out/bindings.rs:754:1 | 754 | pub const CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF: u32 = 0; | --------------------------------------------------------- similarly named constant `CONFIG_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF` defined here error[E0425]: cannot find value `BLE_HW_TARGET_CODE_CHIP_ECO0` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:522:41 | 522 | hw_target_code: crate::sys::BLE_HW_TARGET_CODE_CHIP_ECO0 as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `SLAVE_CE_LEN_MIN_DEFAULT` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:523:43 | 523 | slave_ce_len_min: crate::sys::SLAVE_CE_LEN_MIN_DEFAULT as _, | ^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `AGC_RECORRECT_EN` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:524:42 | 524 | hw_recorrect_en: crate::sys::AGC_RECORRECT_EN as _, | ^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `CONFIG_BT_CTRL_HW_CCA_VAL` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:525:37 | 525 | cca_thresh: crate::sys::CONFIG_BT_CTRL_HW_CCA_VAL as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `BT_CTRL_50_FEATURE_SUPPORT` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:528:43 | 528 | ble_50_feat_supp: crate::sys::BT_CTRL_50_FEATURE_SUPPORT != 0, | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `EXT_CSD_SEC_FEATURE_SUPPORT` | ::: /home/nixuser/projects/embedded/esp-idf-matter/target/riscv32imac-esp-espidf/debug/build/esp-idf-sys-c8d14348dff4d490/out/bindings.rs:4935:1 | 4935 | pub const EXT_CSD_SEC_FEATURE_SUPPORT: u32 = 231; | ------------------------------------------ similarly named constant `EXT_CSD_SEC_FEATURE_SUPPORT` defined here error[E0425]: cannot find value `DUPL_SCAN_CACHE_REFRESH_PERIOD` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:529:50 | 529 | dup_list_refresh_period: crate::sys::DUPL_SCAN_CACHE_REFRESH_PERIOD as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0425]: cannot find value `BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX` in module `crate::sys` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:530:53 | 530 | scan_backoff_upperlimitmax: crate::sys::BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in `crate::sys` error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `magic` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:497:13 | 497 | magic: crate::sys::ESP_BT_CTRL_CONFIG_MAGIC_VAL, | ^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `version` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:498:13 | 498 | version: crate::sys::ESP_BT_CTRL_CONFIG_VERSION, | ^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `controller_task_run_cpu` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:501:13 | 501 | controller_task_run_cpu: crate::sys::CONFIG_BT_CTRL_PINNED_TO_CORE as _, | ^^^^^^^^^^^^^^^^^^^^^^^ unknown field | help: a field with a similar name exists | 501 | controller_run_cpu: crate::sys::CONFIG_BT_CTRL_PINNED_TO_CORE as _, | ~~~~~~~~~~~~~~~~~~ error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `bluetooth_mode` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:502:13 | 502 | bluetooth_mode: crate::sys::CONFIG_BT_CTRL_MODE_EFF as _, | ^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `ble_max_act` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:503:13 | 503 | ble_max_act: crate::sys::CONFIG_BT_CTRL_BLE_MAX_ACT_EFF as _, | ^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `sleep_mode` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:504:13 | 504 | sleep_mode: crate::sys::CONFIG_BT_CTRL_SLEEP_MODE_EFF as _, | ^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `sleep_clock` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:505:13 | 505 | sleep_clock: crate::sys::CONFIG_BT_CTRL_SLEEP_CLOCK_EFF as _, | ^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `ble_st_acl_tx_buf_nb` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:506:13 | 506 | ble_st_acl_tx_buf_nb: crate::sys::CONFIG_BT_CTRL_BLE_STATIC_ACL_TX_BUF_NB as _, | ^^^^^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `ble_hw_cca_check` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:507:13 | 507 | ble_hw_cca_check: crate::sys::CONFIG_BT_CTRL_HW_CCA_EFF as _, | ^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `ble_adv_dup_filt_max` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:508:13 | 508 | ble_adv_dup_filt_max: crate::sys::CONFIG_BT_CTRL_ADV_DUP_FILT_MAX as _, | ^^^^^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `ce_len_type` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:509:13 | 509 | ce_len_type: crate::sys::CONFIG_BT_CTRL_CE_LENGTH_TYPE_EFF as _, | ^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `hci_tl_type` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:510:13 | 510 | hci_tl_type: crate::sys::CONFIG_BT_CTRL_HCI_TL_EFF as _, | ^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `hci_tl_funcs` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:511:13 | 511 | hci_tl_funcs: core::ptr::null_mut(), | ^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `txant_dft` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:512:13 | 512 | txant_dft: crate::sys::CONFIG_BT_CTRL_TX_ANTENNA_INDEX_EFF as _, | ^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `rxant_dft` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:513:13 | 513 | rxant_dft: crate::sys::CONFIG_BT_CTRL_RX_ANTENNA_INDEX_EFF as _, | ^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `txpwr_dft` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:514:13 | 514 | txpwr_dft: crate::sys::CONFIG_BT_CTRL_DFT_TX_POWER_LEVEL_EFF as _, | ^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `cfg_mask` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:515:13 | 515 | cfg_mask: crate::sys::CFG_MASK, | ^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `scan_duplicate_mode` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:516:13 | 516 | scan_duplicate_mode: crate::sys::SCAN_DUPLICATE_MODE as _, | ^^^^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `scan_duplicate_type` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:517:13 | 517 | scan_duplicate_type: crate::sys::SCAN_DUPLICATE_TYPE_VALUE as _, | ^^^^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `normal_adv_size` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:518:13 | 518 | normal_adv_size: crate::sys::NORMAL_SCAN_DUPLICATE_CACHE_SIZE as _, | ^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `mesh_adv_size` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:519:13 | 519 | mesh_adv_size: crate::sys::MESH_DUPLICATE_SCAN_CACHE_SIZE as _, | ^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `hw_target_code` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:522:13 | 522 | hw_target_code: crate::sys::BLE_HW_TARGET_CODE_CHIP_ECO0 as _, | ^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `slave_ce_len_min` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:523:13 | 523 | slave_ce_len_min: crate::sys::SLAVE_CE_LEN_MIN_DEFAULT as _, | ^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `hw_recorrect_en` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:524:13 | 524 | hw_recorrect_en: crate::sys::AGC_RECORRECT_EN as _, | ^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `cca_thresh` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:525:13 | 525 | cca_thresh: crate::sys::CONFIG_BT_CTRL_HW_CCA_VAL as _, | ^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `coex_param_en` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:526:13 | 526 | coex_param_en: false, | ^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `coex_use_hooks` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:527:13 | 527 | coex_use_hooks: false, | ^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `ble_50_feat_supp` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:528:13 | 528 | ble_50_feat_supp: crate::sys::BT_CTRL_50_FEATURE_SUPPORT != 0, | ^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `dup_list_refresh_period` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:529:13 | 529 | dup_list_refresh_period: crate::sys::DUPL_SCAN_CACHE_REFRESH_PERIOD as _, | ^^^^^^^^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others error[E0560]: struct `esp_idf_hal::sys::esp_bt_controller_config_t` has no field named `scan_backoff_upperlimitmax` --> /home/nixuser/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/esp-idf-svc-0.49.0/src/bt.rs:530:13 | 530 | scan_backoff_upperlimitmax: crate::sys::BT_CTRL_SCAN_BACKOFF_UPPERLIMITMAX as _, | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `esp_idf_hal::sys::esp_bt_controller_config_t` does not have this field | = note: available fields are: `config_version`, `ble_ll_resolv_list_size`, `ble_hci_evt_hi_buf_count`, `ble_hci_evt_lo_buf_count`, `ble_ll_sync_list_cnt` ... and 46 others Some errors have detailed explanations: E0425, E0560. For more information about an error, try `rustc --explain E0425`. error: could not compile `esp-idf-svc` (lib) due to 58 previous errors ```