1BTOOL(1) General Commands Manual BTOOL(1)
2
3
4
6 btool - Barry Project's program to interface with BlackBerry handheld
7
9 btool [-B busname][-N devname][-a db][-c dn][-C dnattr][-d db [-f
10 file][-F sortkey][-r#][-R#]-D#]][-h][-i charset][-l][-L][-m cmd][-M][-p
11 pin][-P password][-s db -f file][-S][-t][-v][-V][-X][-z][-Z]
12
14 btool is a program that communicates with a BlackBerry device over USB;
15 there is no intention to support ancient serial-port BlackBerries.
16 Since the protocols used by BlackBerry are not documented by the manu‐
17 facturer Research In Motion, this program is experimental and you use
18 at own risk. Be sure your device is backed up by another program if it
19 contains important data.
20
22 -B busname
23 Specify the USB bus to search for Blackberry devices on. This
24 is the first number displayed in the output from the lsusb com‐
25 mand, such as 002. If the busname is numeric on your system, 2
26 and 002 are equal. See also the -N option, which can be used
27 together with this option to precisely select the device to work
28 with.
29
30 -a db Delete all records from specified database. This can be used
31 multiple times to clear multiple databases.
32
33 -c dn Convert address book database to LDIF format, using the speci‐
34 fied dn as the baseDN. Sends LDIF output to stdout.
35
36 -C dnattr
37 Spcify LDIF attribute name to use when building the FQDN in the
38 dn attribute. Defaults to 'cn'. If you modify the mapping with
39 the -m switch, make sure that the new dnattr exists.
40
41 -d db Load database 'db' FROM device and dump to stdout. Can be used
42 multiple times to fetch more than one database. See the -t
43 option for a list of device databases.
44
45 -e epp Override endpoint pair detection. 'epp' is a single string sep‐
46 arated by a comma, holding the read,write endpoint pair.
47
48 Example: -e 83,5
49
50 Note: Endpoints are specified in hex. Use the same numbers
51 given by the lsusb -v output.
52
53 You should never need to use this option, as endpoints are
54 autodetected.
55
56 -f file
57 Filename to write or read handheld data to/from. Used in con‐
58 junction with the -d and -s options, respectively. Note: the
59 file format of this file is not backward compatible between
60 devel releases.
61
62 -F sortkey
63 Sort the -d database output according to the given sortkey.
64 Note that the format of this field is special:
65 'DBName:field1,field2'
66
67 It contains no spaces, unless the spaces are part of the name.
68
69 This option can be used multiple times, to match your -d
70 options.
71
72 Example: If you used the following command:
73
74 btool -d 'Address Book'
75
76 You could use the following sort key to sort by Company name
77 first, with a subsort of last and first names.
78
79 -F 'Address Book:Company,LastName,FirstName'
80
81 -i charset
82 Specifies the iconv charset to use for converting international
83 strings. The Blackberry uses the WINDOWS-1252 charset, which is
84 incompatible with the more common code pages used in Linux. The
85 most useful charset to use with this option is UTF-8, and is
86 highly recommended. Any other charset available via 'iconv
87 --list' can be used here too, but may not be successful for some
88 character conversions.
89
90 -I Sort records before dumping them to stdout. This uses the
91 default library sorting order, which is specific to each data‐
92 base.
93
94 -l Lists attached Blackberry devices, and their PIN numbers.
95
96 -L List Contact field names. Each name represents a contact field
97 that the Barry library recognizes. Use these names with the -m
98 option to adjust the LDIF name to field mapping.
99
100 -m command
101 Map LDIF name to Contact field, or unmap LDIF name. To map a
102 new or existing LDIF attribute name to a Barry contact field,
103 use the format 'ldif,read,write' where ldif represents the name
104 of the attribute to map, read is the contact field name used to
105 read data from the record, and write is the contact field name
106 used to write data to the record.
107
108 To unmap an LDIF name, specify the LDIF attribute alone.
109
110 For example, to map a new LDIF attribute called "strange" to
111 read from FirstName and write to LastName, use:
112
113 -m strange,FirstName,LastName
114
115 The -m option can be specified multiple times to create the
116 desired mapping.
117
118 -M List current LDIF mapping to stdout.
119
120 -N devname
121 Specify the USB device name. This is the second number dis‐
122 played in the output from the lsusb command, such as 005. If
123 the device name is numeric on your system, 5 and 005 are equal.
124 See also the -B option.
125
126 -p pin PIN of device to talk with. Only needed if you have more than
127 one Blackberry connected at once.
128
129 -P password
130 Simplistic method to specify device password. In a real appli‐
131 cation, this would be done using a more secure prompt.
132
133 -s db Save database 'db' TO device from data loaded from -f file. See
134 the -t option for a list of device databases.
135
136 -S Show list of supported database parsers and builders. Parsers
137 are used when reading data out of the device, and builders are
138 used when writing data to the device. If a parser is supported,
139 but its associated builder is not, that means you cannot change
140 the database programmatically, such as with the -s option.
141
142 -t Show device's database table.
143
144 -T db Show record state table for given database.
145
146 -v Dump verbose protocol data during operation.
147
148 -V Enable vformat MIME output where available. Address Book gets
149 printed in vCard format, Calendar in vEvent format, Memos in
150 vJournal, and Tasks in vTodo, etc.
151
152 -X Perform a USB reset on the device. Similar to the breset com‐
153 mand, and does a virtual "replug" of the device.
154
155 -z Use non-threaded sockets when communicating with the device.
156 This is the behaviour seen in versions 0.12 and earlier, since
157 threads were not yet supported. This option, along with -Z, are
158 for debugging and testing.
159
160 -Z Use a threaded socket router when communicating with the device.
161 This is the default for btool. This option, along with -Z, are
162 for debugging and testing.
163
164 -h, --help
165 Show summary of options.
166
167
169 The following options modify the -d command option above, and can be
170 used multiple times for more than one record.
171
172 -r # Fetch specific record, given a record index number as seen in
173 the -T state table. Can be used multiple times to fetch spe‐
174 cific records from a single database.
175
176 -R # Same as -r, but also clears the record's dirty flags.
177
178 -D # Delete the specified record using the index number as seen in
179 the -T state table.
180
181
182
184 btool is part of the Barry project. This manual page was written by
185 Ian Darwin and Chris Frey.
186
188 http://www.netdirect.ca/software/packages/barry
189 Especially the caveats, and the call for developers and others to help
190 with the project.
191
192
193
194
195 February 3, 2012 BTOOL(1)