1EPox Presenter
2==============
3
4# hcitool inq
5Inquiring ...
6        00:04:61:aa:bb:cc       clock offset: 0x1ded    class: 0x004000
7
8# hcitool info 00:04:61:aa:bb:cc
9Requesting information ...
10        BD Address:  00:04:61:aa:bb:cc
11        OUI Company: EPOX Computer Co., Ltd. (00-04-61)
12        Device Name: EPox BT-PM01B aabbcc
13        LMP Version: 1.1 (0x1) LMP Subversion: 0xf78
14        Manufacturer: Cambridge Silicon Radio (10)
15        Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
16                <3-slot packets> <5-slot packets> <encryption> <slot offset> 
17                <timing accuracy> <role switch> <hold mode> <sniff mode> 
18                <park state> <RSSI> <channel quality> <SCO link> <HV2 packets> 
19                <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme> 
20                <power control> <transparent SCO> 
21
22# sdptool records --raw 00:04:61:aa:bb:cc
23Sequence
24        Attribute 0x0000 - ServiceRecordHandle
25                UINT32 0x00010000
26        Attribute 0x0001 - ServiceClassIDList
27                Sequence
28                        UUID16 0x1101 - SerialPort
29        Attribute 0x0004 - ProtocolDescriptorList
30                Sequence
31                        Sequence
32                                UUID16 0x0100 - L2CAP
33                        Sequence
34                                UUID16 0x0003 - RFCOMM
35                                UINT8 0x01
36        Attribute 0x0100
37                String Cable Replacement
38
39
40J-Three Keyboard
41================
42
43# hcitool inq
44Inquiring ...
45        00:0A:3A:aa:bb:cc       clock offset: 0x3039    class: 0x001f00
46
47# hcitool info 00:0A:3A:aa:bb:cc
48Password:
49Requesting information ...
50        BD Address:  00:0A:3A:aa:bb:cc
51        OUI Company: J-THREE INTERNATIONAL Holding Co., Ltd. (00-0A-3A)
52        Device Name: KEYBOARD
53        LMP Version: 1.1 (0x1) LMP Subversion: 0x2c2
54        Manufacturer: Cambridge Silicon Radio (10)
55        Features: 0xbc 0x06 0x07 0x00 0x00 0x00 0x00 0x00
56                <encryption> <slot offset> <timing accuracy> <role switch> 
57                <sniff mode> <RSSI> <channel quality> <CVSD> <paging scheme> 
58                <power control> 
59
60# sdptool records --raw 00:0A:3A:aa:bb:cc
61Sequence
62        Attribute 0x0000 - ServiceRecordHandle
63                UINT32 0x00010000
64        Attribute 0x0001 - ServiceClassIDList
65                Sequence
66                        UUID16 0x1101 - SerialPort
67        Attribute 0x0004 - ProtocolDescriptorList
68                Sequence
69                        Sequence
70                                UUID16 0x0100 - L2CAP
71                        Sequence
72                                UUID16 0x0003 - RFCOMM
73                                UINT8 0x01
74        Attribute 0x0006 - LanguageBaseAttributeIDList
75                Sequence
76                        UINT16 0x656e
77                        UINT16 0x006a
78                        UINT16 0x0100
79        Attribute 0x0100
80                String SPP slave
81
82
83Celluon Laserkey Keyboard
84=========================
85
86# hcitool inq
87Inquiring ...
88       00:0B:24:aa:bb:cc       clock offset: 0x3ab6    class: 0x400210
89
90# hcitool info 00:0B:24:aa:bb:cc
91Requesting information ...
92       BD Address:  00:0B:24:aa:bb:cc
93       OUI Company: AirLogic (00-0B-24)
94       Device Name: CL800BT
95       LMP Version: 1.1 (0x1) LMP Subversion: 0x291
96       Manufacturer: Cambridge Silicon Radio (10)
97       Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
98               <3-slot packets> <5-slot packets> <encryption> <slot offset>
99               <timing accuracy> <role switch> <hold mode> <sniff mode>
100               <park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
101               <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
102               <power control> <transparent SCO>
103
104# sdptool records --raw 00:0B:24:aa:bb:cc
105Sequence
106         Attribute 0x0000 - ServiceRecordHandle
107                 UINT32 0x00010000
108         Attribute 0x0001 - ServiceClassIDList
109                 Sequence
110                         UUID16 0x1101 - SerialPort
111         Attribute 0x0004 - ProtocolDescriptorList
112                 Sequence
113                         Sequence
114                                 UUID16 0x0100 - L2CAP
115                         Sequence
116                                 UUID16 0x0003 - RFCOMM
117                                 UINT8 0x01
118         Attribute 0x0100
119                 String Serial Port
120
121Packet format is as follows (all fields little-endian):
122     0 uint16  magic            # 0x5a5a
123     2 uint32  unknown          # ???
124     6 uint8   action           # 0 = keyup, 1 = keydown, 2 = repeat
125                                # 3, 4, 5, 6 = ??? (Mouse mode)
126     7 uint8   unknown[9]       # ???
127    16 uint8   action2          # ??? same as action
128    17 uint16  x                # Horizontal coordinate
129    19 uint16  y                # Vertical coordinate
130    21 uint16  time             # Some sort of timestamp
131    23 uint8   unknown[5]       # ???
132    28 uint8   key[]            # single byte keycode or 0xff byte
133                                # follwed by special keycode byte.
134    Each packet followed by a checksum byte.
135