Hi Michael,
I remember Jussi had a patch for that already when he found out such
issue. We may have missed it.
Verify anyway in wpa_supplicant, afaik the dbus part does not use
wps_dev_type_str2bin()
Tomasz
category and sub_category must be big-endian in the device-type string.
---
I could not find a explicit endianess for this in the spec, however
wpa_supplicant (see wps_dev_type_str2bin()), wireshark and various devices
all use big-endian here, so I'm pretty sure that this is correct.
plugins/wifi.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/plugins/wifi.c b/plugins/wifi.c
index 1f90a311a2a1..8246c45f974b 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -2446,24 +2446,24 @@ static void interface_removed(GSupplicantInterface
*interface)
static void set_device_type(const char *type, char dev_type[17])
{
const char *oui = "0050F204";
- const char *category = "0100";
+ const char *category = "0001";
const char *sub_category = "0000";
if (!g_strcmp0(type, "handset")) {
- category = "0A00";
- sub_category = "0500";
+ category = "000A";
+ sub_category = "0005";
} else if (!g_strcmp0(type, "vm") || !g_strcmp0(type, "container"))
- sub_category = "0100";
+ sub_category = "0001";
else if (!g_strcmp0(type, "server"))
- sub_category = "0200";
+ sub_category = "0002";
else if (!g_strcmp0(type, "laptop"))
- sub_category = "0500";
+ sub_category = "0005";
else if (!g_strcmp0(type, "desktop"))
- sub_category = "0600";
+ sub_category = "0006";
else if (!g_strcmp0(type, "tablet"))
- sub_category = "0900";
+ sub_category = "0009";
else if (!g_strcmp0(type, "watch"))
- category = "FF00";
+ category = "00FF";
snprintf(dev_type, 17, "%s%s%s", category, oui, sub_category);
}
_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman