mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-26 09:32:34 +01:00
The iNet Wireless Daemon (iwd) project aims to provide a comprehensive Wi-Fi connectivity solution for Linux based devices. The core goal of the project is to optimize resource utilization: storage, runtime memory and link-time costs.
https://iwd.wiki.kernel.org/
6be0f55d85
If the sm object (or the handshake object) is NULL, don't call the corresponding function. 0 0x7fb6cd37da80 in /lib64/libc.so.6 1 0x414764 in eapol_sm_destroy() at eapol.c:673 2 0x42e402 in ap_sta_free() at ap.c:97 3 0x439dbe in l_queue_clear() at /home/parallels/wrk/iwd/ell/queue.c:109 4 0x439e09 in l_queue_destroy() at /home/parallels/wrk/iwd/ell/queue.c:83 5 0x42e4bf in ap_reset() at ap.c:132 6 0x42e519 in ap_free() at ap.c:147 7 0x447456 in interface_instance_free() at /home/parallels/wrk/iwd/ell/dbus-service.c:513 8 0x449be0 in _dbus_object_tree_remove_interface() at /home/parallels/wrk/iwd/ell/dbus-service.c:1595 9 0x449ced in _dbus_object_tree_object_destroy() at /home/parallels/wrk/iwd/ell/dbus-service.c:787 10 0x40fb8c in device_free() at device.c:2717 11 0x405cdb in netdev_free() at netdev.c:605 12 0x439dbe in l_queue_clear() at /home/parallels/wrk/iwd/ell/queue.c:109 13 0x439e09 in l_queue_destroy() at /home/parallels/wrk/iwd/ell/queue.c:83 14 0x40aac2 in netdev_shutdown() at netdev.c:4483 15 0x403b75 in iwd_shutdown() at main.c:80 16 0x43d9f3 in signal_callback() at /home/parallels/wrk/iwd/ell/signal.c:83 17 0x43d4ee in l_main_iterate() at /home/parallels/wrk/iwd/ell/main.c:376 18 0x43d5ac in l_main_run() at /home/parallels/wrk/iwd/ell/main.c:419 19 0x40379b in main() at main.c:454 20 0x7fb6cd36788a in /lib64/libc.so.6 |
||
---|---|---|
autotests | ||
client | ||
doc | ||
linux | ||
monitor | ||
plugins | ||
src | ||
test | ||
tools | ||
unit | ||
.gitignore | ||
acinclude.m4 | ||
AUTHORS | ||
bootstrap | ||
bootstrap-configure | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
HACKING | ||
INSTALL | ||
Makefile.am | ||
README | ||
TODO |
Wireless daemon for Linux ************************* Copyright (C) 2013-2014 Intel Corporation. All rights reserved. Compilation and installation ============================ In order to compile the source code you need following software packages: - GCC compiler - GNU C library - Embedded Linux library To configure run: ./configure --prefix=/usr Configure automatically searches for all required components and packages. To compile and install run: make && make install Embedded Linux library ====================== In order to compile the daemon and control utility the development version of Embedded Linux library is required to be present. The development repositories can be found here: git://git.kernel.org/pub/scm/libs/ell/ell.git https://kernel.googlesource.com/pub/scm/libs/ell/ell.git The build systems requires that the Embedded Linux library source code is available on the same top level directory as the Wireless daemon source code: . |--- ell | |--- ell | `--- unit `--- iwd |--- src `--- client It is not required to build or install Embedded Linux library. The build will happen when building the Wireless daemon and it will then be linked internally. Netlink monitoring ================== The included iwmon utility can be used to monitor the 802.11 subsystem generic netlink commands and events. It uses the nlmon kernel driver from Linux 3.10 and later. On startup network monitor interface named named 'nlmon' is created unless another interface name is given on the command line. If the monitor interface was created by the iwmon utility, it will be removed on program exit. Manually the monitor interface can be created using the following commands: ip link add name nlmon type nlmon ip link set dev nlmon allmulticast on ip link set dev nlmon up It is possible to create netlink traces in PCAP format using tcpdump and then read them via iwmon utility: tcpdump -i nlmon -w trace-file.pcap The resulting PCAP files will use Linux cooked packet format containing packets with ARPHRD_NETLINK type. They can be read using iwmon: iwmon -r trace-file.pcap At this time iwmon is not able to write PCAP files by itself. This might change in future versions. When also the authentication protocol traffic on port 0x888e (ETH_P_PAE) is needed, then a second capture is required: tcpdump -i any 'ether proto 0x888e' -w trace-pae.pcap It is possible to combine these two PCAP files using the mergecap utility and create a combined trace file: mergecap -F pcap -w trace.pcap trace-file.pcap trace-pae.pcap This will create a trace.pcap file that includes the complete picture of nl80211 netlink traffic and authentication messages. All packets are merged in chronological order based on timestamps. Unfortunately it is not possible to instruct tcpdump filtering to do this in a single capture. Post-processing of the PCAP files is required at the moment. Simulating devices ================== The Linux driver mac80211_hwsim provides the functionality to simulate Wireless devices using fake virtual air. Just load the module. modprobe mac80211_hwsim radios=0 Providing the radios=0 is important since otherwise it starts out with two new Wireless radios by default. With the provided hwsim utility it is now possible to add and remove virtual radio devices. hwsim --create --keep hwsim --destroy=<radio-id> The radio id assigned to each virtual device is its internal id used by the Wireless device. Information =========== Mailing list: https://lists.01.org/mailman/listinfo/iwd IRC: irc://irc.freenode.net/#iwd Wiki: https://iwd.wiki.kernel.org/