1BTOOL(1)                    General Commands Manual                   BTOOL(1)
2
3
4

NAME

6       btool - Barry Project's program to interface with BlackBerry handheld
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

DATABASE COMMAND MODIFIERS

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

AUTHOR

184       btool is part of the Barry project.  This manual page  was  written  by
185       Ian Darwin and Chris Frey.
186

SEE ALSO

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)
Impressum