Differences between revisions 2 and 3
Revision 2 as of 2006-06-19 01:18:08
Size: 2519
Editor: n57
Comment: name fix
Revision 3 as of 2008-04-12 17:51:45
Size: 2529
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
ACL frames are used to transfer non-realtime data between nodes in a ["Bluetooth"] network. ACL frames are used to transfer non-realtime data between nodes in a [[Bluetooth]] network.
Line 12: Line 12:
 * ["HCI_H4"]: BTHCI_ACL is one of 4 ["Bluetooth"] frame types and are always encapsulated inside ["HCI_H4"]  * [[HCI_H4]]: BTHCI_ACL is one of 4 [[Bluetooth]] frame types and are always encapsulated inside [[HCI_H4]]
Line 14: Line 14:
 * ["BTL2CAP"]: The only protocol running ontop of BTHCI_ACL is L2CAP.  * [[BTL2CAP]]: The only protocol running ontop of BTHCI_ACL is L2CAP.
Line 49: Line 49:
 * attachment:SampleCaptures/l2ping.cap (Linux BlueZ hcidump) Contains some ["Bluetooth"] packets captured using hcidump, the packets were from the l2ping command that's included with the Linux BlueZ stack.
 * attachment:SampleCaptures/Bluetooth1.cap (Linux BlueZ hcidump) Contains some ["Bluetooth"] packets captured using hcidump.
 * [[attachment:SampleCaptures/l2ping.cap]] (Linux BlueZ hcidump) Contains some [[Bluetooth]] packets captured using hcidump, the packets were from the l2ping command that's included with the Linux BlueZ stack.
 * [[attachment:SampleCaptures/Bluetooth1.cap]] (Linux BlueZ hcidump) Contains some [[Bluetooth]] packets captured using hcidump.
Line 53: Line 53:
A complete list of BTHCI_ACK display filter fields can be found in the [http://www.wireshark.org/docs/dfref/b/bthci_acl.html display filter reference] A complete list of BTHCI_ACK display filter fields can be found in the [[http://www.wireshark.org/docs/dfref/b/bthci_acl.html|display filter reference]]
Line 64: Line 64:
See ["Bluetooth"] for example captures and links. See [[Bluetooth]] for example captures and links.

Bluetooth Asynchronous Connectionless (bthci_acl)

ACL frames are used to transfer non-realtime data between nodes in a Bluetooth network.

The purpose of ACL is to provide a connection between one node and another node(unicast) or a set or other nodes(multicast). ACL provides the mechanism to send large PDUs between the nodes by a fragmentation mechanism that supports transferring PDUs up to 64kbyte in size.

Protocol dependencies

  • HCI_H4: BTHCI_ACL is one of 4 Bluetooth frame types and are always encapsulated inside HCI_H4

  • BTL2CAP: The only protocol running ontop of BTHCI_ACL is L2CAP.

Example traffic

No.     Time        Source                Destination           Protocol Info
     11 5.731294                                                L2CAP    Sent Echo Request

Frame 11 (57 bytes on wire, 57 bytes captured)
Bluetooth HCI H4 Sent ACL Data
    Direction: Sent (0x00)
    HCI Packet Type: ACL Data (0x02)
Bluetooth HCI ACL Packet
    .... 0000 0010 1001 = Connection Handle: 0x0029
    ..10 .... .... .... = PB Flag: Start Fragment (2)
    00.. .... .... .... = BC Flag: Point-To-Point (0)
    Data Total Length: 52
Bluetooth L2CAP Packet
    Length: 48
    CID: 0x0001
    Command: Echo Request
        Command Code: Echo Request (0x08)
        Command Identifier: 0xc8
        Command Length: 44

Wireshark

The BTHCI_ACL dissector is fully functional and can reassemble fragmented PDUs.

Preference Settings

There is a HCI_ACL preference to control whether Wireshark shall reassemble PDUs spanning multiple fragments or not.

Example capture file

Display Filter

A complete list of BTHCI_ACK display filter fields can be found in the display filter reference

  • Show only the BTHCI_ACL based traffic:

     bthci_acl 

Capture Filter

You cannot directly filter BTHCI_ACL protocols while capturing since currently you cant capture at all.

See Bluetooth for example captures and links.

Discussion

BTHCI_ACL (last edited 2008-04-12 17:51:45 by localhost)