rust - 网络管理器抛出 D-Bus 故障:变体类型不匹配匹配:变体(Iter(UInt32))
问题描述
当我尝试使用 Rust 中的network-manager crate在 dbus 上枚举 WiFi 连接时,在带有 Raspbian Stretch 9.4 和 network-manager v1.6.2 的 Raspberry Pi 3B+ 上编译和运行时,NetworkManager::get_connections
抛出D-Bus failure: Variant type does not match match: Variant(Iter(UInt32))
.
nmcli
通过命令行工作正常,所以我怀疑网络管理器版本和 dbus 之间不兼容,所以我尝试通过手动克隆 repos 升级到最新的dbus="0.5.4"
和 `network-manager="0.11.2" crates,但同样的错误。也许我需要降级其中一些组件?
这是我的全部代码:
extern crate network_manager;
use network_manager::{
AccessPoint, AccessPointCredentials, Connection, ConnectionState, Connectivity, Device,
DeviceType, NetworkManager, Security, ServiceState,
};
fn main() {
let manager = NetworkManager::new();
let connections = manager.get_connections().unwrap();
}
解决方案
推荐阅读
- php - 如何按日期限制查询
- r - 如何为闪亮的网页制作箱线图
- python - 在 Python 中使用 os.rename() 时出现 FileNotFoundError
- webpack - Webpacker 资产包大小
- python-3.x - 如何在 Pony 实体上执行代码合同
- .net - 使用多个 ML .net 模型
- html - 使用 window.print() 打印时背景颜色消失
- angular - Angular - 如何配置 scss 文件以便您不需要包含完整路径?
- javascript - 如何对 pdf2json(pdfParser) 中的事件使用异步等待
- java - 如何使用 Thread run() 实现 Trie 迭代器