wimax: documentation for the stack
wimax documentation Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
5e07878787
commit
0d695913b0
|
@ -0,0 +1,81 @@
|
||||||
|
|
||||||
|
Linux kernel WiMAX stack
|
||||||
|
|
||||||
|
(C) 2008 Intel Corporation < linux-wimax@intel.com >
|
||||||
|
|
||||||
|
This provides a basic Linux kernel WiMAX stack to provide a common
|
||||||
|
control API for WiMAX devices, usable from kernel and user space.
|
||||||
|
|
||||||
|
1. Design
|
||||||
|
|
||||||
|
The WiMAX stack is designed to provide for common WiMAX control
|
||||||
|
services to current and future WiMAX devices from any vendor.
|
||||||
|
|
||||||
|
Because currently there is only one and we don't know what would be the
|
||||||
|
common services, the APIs it currently provides are very minimal.
|
||||||
|
However, it is done in such a way that it is easily extensible to
|
||||||
|
accommodate future requirements.
|
||||||
|
|
||||||
|
The stack works by embedding a struct wimax_dev in your device's
|
||||||
|
control structures. This provides a set of callbacks that the WiMAX
|
||||||
|
stack will call in order to implement control operations requested by
|
||||||
|
the user. As well, the stack provides API functions that the driver
|
||||||
|
calls to notify about changes of state in the device.
|
||||||
|
|
||||||
|
The stack exports the API calls needed to control the device to user
|
||||||
|
space using generic netlink as a marshalling mechanism. You can access
|
||||||
|
them using your own code or use the wrappers provided for your
|
||||||
|
convenience in libwimax (in the wimax-tools package).
|
||||||
|
|
||||||
|
For detailed information on the stack, please see
|
||||||
|
include/linux/wimax.h.
|
||||||
|
|
||||||
|
2. Usage
|
||||||
|
|
||||||
|
For usage in a driver (registration, API, etc) please refer to the
|
||||||
|
instructions in the header file include/linux/wimax.h.
|
||||||
|
|
||||||
|
When a device is registered with the WiMAX stack, a set of debugfs
|
||||||
|
files will appear in /sys/kernel/debug/wimax:wmxX can tweak for
|
||||||
|
control.
|
||||||
|
|
||||||
|
2.1. Obtaining debug information: debugfs entries
|
||||||
|
|
||||||
|
The WiMAX stack is compiled, by default, with debug messages that can
|
||||||
|
be used to diagnose issues. By default, said messages are disabled.
|
||||||
|
|
||||||
|
The drivers will register debugfs entries that allow the user to tweak
|
||||||
|
debug settings.
|
||||||
|
|
||||||
|
Each driver, when registering with the stack, will cause a debugfs
|
||||||
|
directory named wimax:DEVICENAME to be created; optionally, it might
|
||||||
|
create more subentries below it.
|
||||||
|
|
||||||
|
2.1.1. Increasing debug output
|
||||||
|
|
||||||
|
The files named *dl_* indicate knobs for controlling the debug output
|
||||||
|
of different submodules of the WiMAX stack:
|
||||||
|
*
|
||||||
|
# find /sys/kernel/debug/wimax\:wmx0 -name \*dl_\*
|
||||||
|
/sys/kernel/debug/wimax:wmx0/wimax_dl_stack
|
||||||
|
/sys/kernel/debug/wimax:wmx0/wimax_dl_op_rfkill
|
||||||
|
/sys/kernel/debug/wimax:wmx0/wimax_dl_op_reset
|
||||||
|
/sys/kernel/debug/wimax:wmx0/wimax_dl_op_msg
|
||||||
|
/sys/kernel/debug/wimax:wmx0/wimax_dl_id_table
|
||||||
|
/sys/kernel/debug/wimax:wmx0/wimax_dl_debugfs
|
||||||
|
/sys/kernel/debug/wimax:wmx0/.... # other driver specific files
|
||||||
|
|
||||||
|
NOTE: Of course, if debugfs is mounted in a directory other than
|
||||||
|
/sys/kernel/debug, those paths will change.
|
||||||
|
|
||||||
|
By reading the file you can obtain the current value of said debug
|
||||||
|
level; by writing to it, you can set it.
|
||||||
|
|
||||||
|
To increase the debug level of, for example, the id-table submodule,
|
||||||
|
just write:
|
||||||
|
|
||||||
|
$ echo 3 > /sys/kernel/debug/wimax:wmx0/wimax_dl_id_table
|
||||||
|
|
||||||
|
Increasing numbers yield increasing debug information; for details of
|
||||||
|
what is printed and the available levels, check the source. The code
|
||||||
|
uses 0 for disabled and increasing values until 8.
|
Loading…
Reference in New Issue