diff --git a/docs/crucial_change/2026-07-23-fastdds-164-network-change.md b/docs/crucial_change/2026-07-23-fastdds-164-network-change.md index f3354f5..e7743d0 100644 --- a/docs/crucial_change/2026-07-23-fastdds-164-network-change.md +++ b/docs/crucial_change/2026-07-23-fastdds-164-network-change.md @@ -865,3 +865,97 @@ unset _rdk_dds_profile - Fast DDS/RMW participant 实际创建:通过,输出 `RMW participant created`。 - 环境摘要:Domain `22`、RMW `rmw_fastrtps_cpp`、本地 DDS 地址 `.164`。 - 首次从 PowerShell 直接拼接远端 `python3 -c` 时,引号在 SSH 边界被破坏,Python 在读取 XML 前即报 `SyntaxError`。该失败与 XML 内容无关,未修改配置;改为通过 WSL Bash 和 stdin 传入验证程序后,相同验证完整通过。 + +### WSL 配置实施结果 + +- 新增目录:`/home/hikos/Yiliao2026/config/dds/` +- `/home/hikos/Yiliao2026/config/dds/fastdds_wsl_151.xml` + - 权限:`0644` + - SHA-256:`bcf9c6e8e8b724cda1c6d83f02491ae0ad9ad7faec5be5dc01b8d60ea826d7ba` +- `/home/hikos/Yiliao2026/config/dds/use_wsl_dds_164_link.sh` + - 权限:`0755` + - SHA-256:`7fe539eab3ddaa5b79a32145cd1d10834468ae47a73de239944b34c61be61f52` +- WSL Git commit:`b8840ec94bca8668f7d56d80b75c9db0298d18a3`,该提交只包含上述两个文件。 + +XML 完整内容: + +```xml + + + + + wsl_udp_151 + UDPv4 + +
192.168.10.151
+
+
+ + wsl_shm + SHM + +
+ + + + + + + +
192.168.10.164
+
+
+
+
+ + wsl_udp_151 + wsl_shm + + false +
+
+
+``` + +环境脚本完整内容: + +```bash +#!/usr/bin/env bash + +if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then + echo "ERROR: source this file instead of executing it" >&2 + exit 64 +fi + +_wsl_dds_profile="/home/hikos/Yiliao2026/config/dds/fastdds_wsl_151.xml" + +if ! ip -4 addr show dev eth4 2>/dev/null | grep -q 'inet 192\.168\.10\.151/'; then + echo "ERROR: eth4 does not own 192.168.10.151" >&2 + unset _wsl_dds_profile + return 1 +fi + +if [[ ! -r "${_wsl_dds_profile}" ]]; then + echo "ERROR: unreadable Fast DDS profile: ${_wsl_dds_profile}" >&2 + unset _wsl_dds_profile + return 1 +fi + +export ROS_DOMAIN_ID=22 +export RMW_IMPLEMENTATION=rmw_fastrtps_cpp +export ROS_LOCALHOST_ONLY=0 +export FASTRTPS_DEFAULT_PROFILES_FILE="${_wsl_dds_profile}" +export FASTDDS_DEFAULT_PROFILES_FILE="${_wsl_dds_profile}" + +printf 'DDS link enabled: domain=%s rmw=%s local=192.168.10.151 peer=192.168.10.164 profile=%s\n' \ + "${ROS_DOMAIN_ID}" "${RMW_IMPLEMENTATION}" "${_wsl_dds_profile}" +unset _wsl_dds_profile +``` + +验证结果: + +- `bash -n`:通过。 +- XML well-formed:通过。 +- Fast DDS/RMW participant 实际创建:通过,输出 `RMW participant created`。 +- 环境摘要:Domain `22`、RMW `rmw_fastrtps_cpp`、本地 DDS 地址 `.151`、peer `.164`。 +- WSL 提交命令在工具等待窗口内没有返回,但后台提交随后正常完成;复核 commit `b8840ec9` 只包含两个批准的配置文件,原有 `.vscode` 暂存内容未进入该提交。