mirror of
				https://git.kernel.org/pub/scm/network/wireless/iwd.git
				synced 2025-10-31 04:57:25 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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.
 | |
| 
 | |
| 
 | |
| Kernel dependencies
 | |
| ===================
 | |
| 
 | |
| In order to use this daemon and control utility the kdbus kernel module
 | |
| is required. The development repositories can be found here:
 | |
| 
 | |
| 	https://github.com/gregkh/kdbus
 | |
| 	https://code.google.com/p/d-bus/
 | |
| 
 | |
| The daemon will start its own private bus that is located at the /dev/kdbus
 | |
| device hierarchy:
 | |
| 
 | |
| 	/dev/kdbus
 | |
| 	|--- control
 | |
| 	`--- 0-iwd
 | |
| 	     `--- bus
 | |
| 
 | |
| When started as root, the new private bus will be /dev/kdbus/0-iwd/bus
 | |
| and it can be verified with the busctl utility from systemd:
 | |
| 
 | |
| 	# busctl --address=kernel:path=/dev/kdbus/0-iwd/bus
 | |
| 	NAME       PID  PROCESS     USER      CONNECTION    CONNECTION-NAME
 | |
| 	:1.1     62151  iwd         root      :1.1          iwd
 | |
| 	:1.2     62153  busctl      root      :1.2          sd-busctl
 | |
| 
 | |
| Clients talking to the daemon must specifiy the private bus address.
 | |
| 
 | |
| 
 | |
| 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.
 | |
| 
 | |
| In order to use iwmon to create traces, the nlmon network interface
 | |
| needs to be created:
 | |
| 
 | |
| 	ip link add name nlmon type nlmon
 | |
| 	ip link set dev nlmon up
 | |
| 
 | |
| For now it is important that the netlink monitor interace is actually
 | |
| named nlmon. Future version might relax this requirement.
 | 
