bluez/mesh
2019-05-17 13:14:40 -07:00
..
agent.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
agent.h mesh: Implement Provisioning Agent D-Bus interface 2019-01-08 08:26:22 -08:00
appkey.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
appkey.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
bluetooth-mesh.conf mesh: Add D-Bus policy for Bluetooth mesh daemon 2019-02-04 12:04:42 -08:00
cfgmod-server.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
cfgmod.h mesh: Add multi-node support to Config Server model 2019-01-08 08:26:22 -08:00
crypto.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
crypto.h mesh: Shared private meshd interfaces 2018-08-20 12:48:14 -07:00
dbus.c mesh: Add skeleton for org.bluez.mesh.Management1 interface 2019-05-15 09:12:38 -07:00
dbus.h mesh: Add utilities for DBus support 2019-01-08 08:26:04 -08:00
error.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
friend.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
friend.h mesh: Refactor friend.c and net.c for central key DB 2018-10-03 13:42:52 -07:00
keyring.c mesh: Fix file open error checking and permissions 2019-05-15 09:36:42 -07:00
keyring.h mesh: Add key storage 2019-05-13 12:12:20 -07:00
main.c mesh: Update init for D-Bus and multi-node support 2019-01-08 08:26:22 -08:00
manager.c mesh: Add skeleton for org.bluez.mesh.Management1 interface 2019-05-15 09:12:38 -07:00
manager.h mesh: Add skeleton for org.bluez.mesh.Management1 interface 2019-05-15 09:12:38 -07:00
mesh-db.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
mesh-db.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
mesh-defs.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
mesh-io-api.h mesh: Set unchanging variables to const 2019-01-08 08:26:22 -08:00
mesh-io-generic.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
mesh-io-generic.h mesh: Shared private meshd interfaces 2018-08-20 12:48:14 -07:00
mesh-io.c mesh: Restructure I/O for multiple controllers 2019-01-08 08:26:22 -08:00
mesh-io.h mesh: Restructure I/O for multiple controllers 2019-01-08 08:26:22 -08:00
mesh.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
mesh.h mesh: Add skeleton for org.bluez.mesh.Management1 interface 2019-05-15 09:12:38 -07:00
model.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
model.h mesh: Restructure model services for multiple nodes 2019-01-08 08:26:22 -08:00
net-keys.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
net-keys.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
net.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
net.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
node.c mesh: Save generated Net and Dev keys in KeyRing 2019-05-15 09:36:42 -07:00
node.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
pb-adv.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
pb-adv.h mesh: Add direction agnostic PB-ADV implementation 2019-01-08 08:26:22 -08:00
prov-acceptor.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
prov-initiator.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
prov.h mesh: Re-arrange provisioning for DBus API 2019-01-08 08:26:22 -08:00
provision.h mesh: Re-arrange provisioning for DBus API 2019-01-08 08:26:22 -08:00
README mesh: Reconfigure node storage tree 2019-05-13 12:12:20 -07:00
storage.c mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
storage.h mesh: Update copyright dates 2019-05-17 13:14:40 -07:00
util.c mesh: Add hex string and debug logging utilities 2019-01-08 08:26:22 -08:00
util.h mesh: Add hex string and debug logging utilities 2019-01-08 08:26:22 -08:00

Bluetooth Mesh Daemon
*********************

Copyright (C) 2019  Intel Corporation. All rights reserved.

Compilation and installation
============================

In addition to main BlueZ requirements, MeshCtl needs the following:
	- json-c library

Configuration and options
=========================

	--enable-mesh

		Build mesh daemon and other Bluetooth Mesh based tools

Current implementation of the mesh daemon requires exclusive access to
a Bluetooth controller.
The AutoEnable option in the installed main.conf should be set to "false".

Storage
=======

Default storage directory is /var/lib/bluetooth/mesh.

The directory contains the provisioned nodes configurations.
Each node has its own subdirectory, named after node's Device UUID (32-digit
hexadecimal string) that is generated by the application that created a node.

Each subdirectory contains the following files:
	- node.json:
		node configuration and is populated by the
		daemon based on the configuration commands from a
		provisioner/configuration client
	- node.json.bak:
		a backup that the last known good node configuration.
	- seq_num:
		File containing next sequence number to use
	- seq_num.bak:
		Backup of the sequence number. This may be larger than the
		actual sequence number being used at runtime, to prevent re-use
		of sequence numbers in the event of an unexpected restart.
	- ./rpl/:
		Directory to store the sequence numbers of remote nodes, as
		required by Replay Protection List (RPL) parameters.
		- xxxx:
			Files named for remote Unicast addresses, and contain
			last received iv_index + seq_num from each SRC address.
	- ./dev_keys/:
		Directory to store remote Device keys. This is only created/used
		by Configuration Client (Network administration) nodes.
		- xxxx:
			Files named for remote Unicast addresses, and contains
			16 octet key.
	- ./net_keys/:
		Directory to store network subnet keys. This is only
		created/used by Configuration Client (Network administration)
		nodes.
		- xxx:
			Files named for subnet index, and contains key refresh
			phase, and old/new versions of the key.
	- ./app_keys/:
		Directory to store application keys. This is only created/used
		by Configuration Client (Network administration) nodes.
		- xxx:
			Files named for application index, and contains bound
			subnet index, and old/new versions of the key.

The node.json and node.json.bak are in JSON format. All other files are stored
in little endian binary format.

Information
===========

Mailing lists:
	linux-bluetooth@vger.kernel.org

For additional information about the project visit BlueZ web site:
	http://www.bluez.org