.TH HCIDUMP 8 "Nov 12 2002" BlueZ "Linux System Administration"
.SH NAME
hcidump \- Parse HCI data
.SH SYNOPSIS
.B hcidump [-h]
.br
.B hcidump [option [option...]] [filter]

.SH DESCRIPTION
.LP
.B
hcidump
reads raw HCI data coming from and going to a Bluetooth device (which can be
specified with the option
.BR -i ,
default is the first available one) and prints to screen commands, events and
data in a human-readable form. Optionally, the dump can be written to a file
rather than parsed, and the dump file can be parsed in a subsequent moment.
.SH OPTIONS
.TP
.BI -h
Prints usage info and exits
.TP
.BI -i " <hciX>"
Data is read from
.IR hciX ,
which must be the name of an installed Bluetooth device. If not specified,
and if
.B
-r
option is not set, data is read from the first available Bluetooth device.
.TP
.BI -l " <len>" "\fR,\fP \-\^\-snap-len=" "<len>"
Sets max length of processed packets to
.IR len .
.TP
.BI -p " <psm>" "\fR,\fP \-\^\-psm=" "<psm>"
Sets default Protocol Service Multiplexer to
.IR psm .
.TP
.BI -m " <compid>" "\fR,\fP \-\^\-manufacturer=" "<compid>"
Sets default company id for manufacturer to
.IR compid .
.TP
.BI -w " <file>" "\fR,\fP \-\^\-save-dump=" "<file>"
Parse output is not printed to screen, instead data read from device is saved in file
.IR file .
The saved dump file can be subsequently parsed with option
.BR -r .
.TP
.BI -r " <file>" "\fR,\fP \-\^\-read-dump=" "<file>"
Data is not read from a Bluetooth device, but from file
.IR file .
.I
file
is created with option
.BR -w .
.TP 
.BI -s " <host>" "\fR,\fP \-\^\-send-dump=" "<host>"
Parse output is not printed to screen, instead data read from device is sent to host
.IR host .
.TP 
.BI -n " <host>" "\fR,\fP \-\^\-recv-dump=" "<host>"
Data is not read from a Bluetooth device, but from host
.IR host .
.TP
.BI -d " <host>" "\fR,\fP \-\^\-wait-dump=" "<host>"
Data is read from a Bluetooth device, but then send to
.IR host
for processing. No data is read if no host is connected.
.TP
.BR -t ", " "\-\^\-timestamp"
Prepend a time stamp to every packet.
.TP
.BR -a ", " "\-\^\-ascii"
For every packet, not only is the packet type displayed, but also all data in ASCII.
.TP
.BR -x ", " "\-\^\-hex"
For every packet, not only is the packet type displayed, but also all data in hex.
.TP
.BR -X ", " "\-\^\-ext"
For every packet, not only is the packet type displayed, but also all data in hex and ASCII.
.TP
.BR -R ", " "\-\^\-raw"
For every packet, only the raw data is displayed.
.TP
.BR -C ", " "\-\^\-cmtp=" "<psm>"
Sets the PSM value for the CAPI Message Transport Protocol.
.TP
.BR -H ", " "\-\^\-hcrp=" "<psm>"
Sets the PSM value for the Hardcopy Control Channel.
.TP
.BR -O ", " "\-\^\-obex=" "<channel>"
Sets the RFCOMM channel value for the Object Exchange Protocol.
.TP
.BR -P ", " "\-\^\-ppp=" "<channel>"
Sets the RFCOMM channel value for the Point-to-Point Protocol.
.TP
.BR -D ", " "\-\^\-pppdump=" "<file>"
Extract PPP traffic with pppdump format.
.TP
.BR -A ", " "\-\^\-audio=" "<file>"
Extract SCO audio data.
.TP
.BR -Y ", " "\-\^\-novendor"
Don't display any vendor commands or events and don't show any pin code or link key in plain text.
.TP
.BR -4 ", " "\-\^\-ipv4"
Use IPv4 when sending information over the network
.TP
.BR -6 ", " "\-\^\-ipv6"
Use IPv6 when sending information over the network
.SH FILTERS
.B
filter
is a space-separated list of packet categories: available categories are
.IR lmp ,
.IR hci ,
.IR sco ,
.IR l2cap ,
.IR rfcomm ,
.IR sdp ,
.IR bnep ,
.IR cmtp ,
.IR hidp ,
.IR hcrp ,
.IR avdtp ,
.IR avctp ,
.IR obex ,
.IR capi
and
.IR ppp .
If filters are used, only packets belonging to the specified categories are
dumped. By default, all packets are dumped.
.SH AUTHORS
Written by Maxim Krasnyansky <maxk@qualcomm.com>
and Marcel Holtmann <marcel@holtmann.org>
.PP
man page by Fabrizio Gennari <fabrizio.gennari@philips.com>