BlackBerry
Introduction
A travers ce document, vous trouverez différents outils pour utiliser votre BlackBerry sous Linux.
Personnellement, j’utilise un BlackBerry Torch 9800. Ce BlackBerry est venu remplacé mon Storm.
Si vous avez des questions ou des propostions, vous pouvez me contacter par l’intermédiaire ce blog.
Matériel
CPU | 624 MHz Marvell PXA940 |
Mémoire | 512 MB Flash (mémoire flash) 4 GB mémoire embarquée Mémoire extensible – accepte seulement le format microSD |
Caméra | 5 Mega Pixels avec flash et autofocus |
Affichage | 3.25 in (8.3 cm) TFT-LCD avec une résolution de 360 X 480 pixel et 16,777,216 couleurs. |
Batterie | Batterie DX-1 Li-ion (5.5 heures en communication GSM, 6 heures en communication CDMA, ou 360 heures en veille). |
Dimensions | 4.43″ / 111mm (Hauteur) 2.42″ / 62mm (Largeur) 0.57″ / 14.6mm (Epaisseur) 161g (Poids) |
Autres | GPS intégré, Bluetooth 2.1 + EDR, Wireless LAN, prise casque stéréo 3.5mm |
Le coffret BlackBerry
J’ai commandé mon BlackBerry à l’occasion de Noël 2010. Une présentation très pro et très sobre.
Ce BlackBerry vient remplacer mon BlackBerry Storm.
BlackBerry sous Linux
Debian unstable
J’ai l’habitude de travailler avec une Debian SID, le document s’appuie donc sur cette distribution.
Normallement, cela devrait être exactement pareil avec les autres distributions.
Comme tout le monde, après quelques minutes d’utilisation de mon nouveau BlackBerry, le besoin de le connecter à
mon ordinateur pour échanger, synchroniser des données, c’est vite fait ressentir. En ce qui me concerne, j’ai
besoin de pouvoir synchroniser mon carnet d’adresses, agenda, notes ou encore tâches. Et j’utilise pour cela
Evolution. Je veux également être capable de lister, installer ou encore supprimer des applications de mon
BlackBerry. Enfin, je souhaite également utiliser mon BlackBerry comme un modem.
Je vais donc m’empresser de tester notre superbe outil Barry avec ce nouveau BlackBerry qui tourne sur une
nouvelle version de l’OS.
Les outils BlackBerry
Barry est une application Open Source qui permet de synchroniser ses données, faire des sauvegardes. Barry
est principalement développé pour Linux, mais l’application est portable et utilisable sur d’autres plateformes
telles que BSD, 32/64bit, et les systèmes big/little endian.
Il est possible de :
- charger la batterie de son BlackBerry via le port USB
- récupérer son carnet d’adresses, e-mails, agendas, notes, tâches, messages PIN, e-mails sauvegardés, et dossiers
- exporter son carnet d’adresse au format texte, vCard ou dans le format LDAP LDIF
- faire une sauvegarde de ses données et de les restaurer
- synchroniser son carnet d’adresse, son agenda, ses notes et tâches en utilisant l’application OpenSync
- utiliser son BlackBerry comme un modem
- lire les données sauvegarder
Tout d’abord, nous devons compiler et installer l’application :
[root@Dahlia /root]$ cd /usr/local/src/ [root@Dahlia src]$ mkdir blackberry [root@Dahlia src]$ cd blackberry [root@Dahlia blackberry]$ git clone git://repo.or.cz/barry.git barry [root@Dahlia blackberry]$ cd barry [root@Dahlia barry]$ ./buildgen.sh [root@Dahlia barry]$ ./configure --enable-gui [root@Dahlia barry]$ make [root@Dahlia barry]$ make install
Pour utiliser barry en tant qu’utilisateur, il faut modifier la configuration de udev afin d’attribuer les
bons droits lors du branchement du BlackBerry.
[root@Dahlia /root]$ cd /usr/local/src/blackberry/barry [root@Dahlia barry]$ cp udev/10-blackberry.rules udev/99-blackberry-perms.rules /etc/udev/rules.d/ [root@Dahlia barry]$ /etc/init.d/udev restart
Une fois l’installation terminée, vous pouvez utiliser différents outils :
[root@Dahlia /root]$ bidentify 12345678, RIM BlackBerry Device [root@Dahlia /root]$ btool -t Blackberry devices found: Device ID: 0x25a6360. PIN: 12345678, Description: RIM BlackBerry Device Using device (PIN): 12345678 Database database: Database: 0x0 'PasswordKeeper Options' (records: 1) Database: 0x1 'PasswordKeeper' (records: 1) Database: 0x2 'VideoRecorder Options' (records: 1) Database: 0x3 'Camera Options' (records: 1) Database: 0x4 'Alarm Options' (records: 1) Database: 0x5 'Enhanced Gmail Plug-in' (records: 1) Database: 0x6 'Clock Options' (records: 1) Database: 0x7 'Alarms' (records: 0) Database: 0x8 'Tasks' (records: 3) Database: 0x9 'Browser Push Options' (records: 1) Database: 0xa 'Attachment Data' (records: 12) Database: 0xb 'Attachment Options' (records: 1) Database: 0xc 'MMS Messages' (records: 5) Database: 0xd 'MMS Options' (records: 1) Database: 0xe 'Tasks Options' (records: 1) Database: 0xf 'Secure Email Decision Maker' (records: 1) Database: 0x10 'Purged Messages' (records: 287) Database: 0x11 'Folders' (records: 6) Database: 0x12 'Folder Id' (records: 1) Database: 0x13 'SMS Messages' (records: 191) Database: 0x14 'Saved Email Messages' (records: 0) Database: 0x15 'PIN Messages' (records: 7) Database: 0x16 'Messages' (records: 622) Database: 0x17 'Mailbox Icon Management Options' (records: 1) Database: 0x18 'Phone Call Logs' (records: 56) Database: 0x19 'Phone History' (records: 34) Database: 0x1a 'Searches' (records: 22) Database: 0x1b 'Spell Check Options' (records: 1) Database: 0x1c 'Phone Options' (records: 1) Database: 0x1d 'Text Messages' (records: 31) Database: 0x1e 'Input Learning Data' (records: 49) Database: 0x1f 'WAP Push Messages' (records: 0) Database: 0x20 'Browser Options' (records: 1) Database: 0x21 'Browser Cache' (records: 5) Database: 0x22 'Browser Channels' (records: 0) Database: 0x23 'Browser Messages' (records: 0) Database: 0x24 'Browser Folders' (records: 2) Database: 0x25 'External Bookmarks' (records: 0) Database: 0x26 'Browser Bookmarks' (records: 13) Database: 0x27 'Recipient Cache' (records: 1) Database: 0x28 'Bluetooth Options' (records: 1) Database: 0x29 'Attachment Data - Calendar' (records: 0) Database: 0x2a 'Calendar Options' (records: 1) Database: 0x2b 'Memory Cleaner Options' (records: 1) Database: 0x2c 'Mobile Network Options' (records: 1) Database: 0x2d 'Memos' (records: 5) Database: 0x2e 'Shortcut Settings' (records: 1) Database: 0x2f 'EntryPoint Settings' (records: 86) Database: 0x30 'Theme Settings' (records: 1) Database: 0x31 'Profiles Options' (records: 1) Database: 0x32 'Recent Contacts' (records: 9) Database: 0x33 'Voice Activated Dialing Options' (records: 1) Database: 0x34 'Address Book Options' (records: 1) Database: 0x35 'Sounds' (records: 19) Database: 0x36 'Address Book - Last Used Hints' (records: 1) Database: 0x37 'Categories' (records: 2) Database: 0x38 'Message List Options' (records: 1) Database: 0x39 'MemoPad Options' (records: 1) Database: 0x3a 'Input Method Switcher Option' (records: 1) Database: 0x3b 'WLAN Profiles' (records: 6) Database: 0x3c 'Application Permissions' (records: 244) Database: 0x3d 'Default Content Handlers' (records: 0) Database: 0x3e 'Suretype options' (records: 1) Database: 0x3f 'Predictive Multitap options' (records: 1) Database: 0x40 'SpellCheckable options' (records: 1) Database: 0x41 'Content Store' (records: 0) Database: 0x42 'Default Service Selector' (records: 3) Database: 0x43 'Service Book' (records: 17) Database: 0x44 'Code Module Group Properties' (records: 78) Database: 0x45 'Time Zones' (records: 91) Database: 0x46 'Full-predictive options' (records: 1) Database: 0x47 'Input Method Options' (records: 21) Database: 0x48 'Configuration Channel' (records: 5) Database: 0x49 'Random Pool' (records: 1) Database: 0x4a 'Smart Card Options' (records: 1) Database: 0x4b 'Certificate Options' (records: 0) Database: 0x4c 'TLS Options' (records: 1) Database: 0x4d 'Firewall Options' (records: 1) Database: 0x4e 'Key Store Options' (records: 1) Database: 0x4f 'KeyStoreManager' (records: 1) Database: 0x50 'PGP Key Store' (records: 0) Database: 0x51 'Handheld Key Store' (records: 137) Database: 0x52 'Trusted Key Store' (records: 98) Database: 0x53 'AutoText Data Version' (records: 1) Database: 0x54 'AutoText' (records: 356) Database: 0x55 'RMS Databases' (records: 12) Database: 0x56 'Handheld Configuration' (records: 0) Database: 0x57 'Options' (records: 21) Database: 0x58 'Device Options' (records: 0) Database: 0x59 'Policy' (records: 1) Database: 0x5a 'CustomWordsCollection' (records: 840) Database: 0x5b 'Input System Properties' (records: 1) Database: 0x5c 'Location Based Services' (records: 0) Database: 0x5d 'Maps' (records: 3) Database: 0x5e 'Map Global Options' (records: 1) Database: 0x5f 'Map Locations' (records: 1) Database: 0x60 'Map Settings' (records: 1) Database: 0x61 'Diagnostic App Options' (records: 1) Database: 0x62 'File Explorer Options' (records: 1) Database: 0x63 'File Explorer Network Favorites' (records: 0) Database: 0x64 'File Explorer Network History' (records: 0) Database: 0x65 'Messenger Options (WLM)' (records: 1) Database: 0x66 'Messenger Options (AIM)' (records: 1) Database: 0x67 'Messenger Options (GoogleTalk)' (records: 1) Database: 0x68 'SQLite Keys' (records: 1) Database: 0x69 'TCP/IP Options' (records: 1) Database: 0x6a 'Quick Contacts' (records: 0) Database: 0x6b 'Messenger Options (Yahoo!)' (records: 1) Database: 0x6c 'BlackBerry Messenger' (records: 1) Database: 0x6d 'BIS Account Data' (records: 1) Database: 0x6e 'Bloomberg Settings' (records: 6) Database: 0x6f 'BBGroups' (records: 14) Database: 0x70 'DocsToGoCommonPrefs' (records: 1) Database: 0x71 'SlideshowToGoPrefs' (records: 1) Database: 0x72 'WordToGoPrefs' (records: 1) Database: 0x73 'SheetToGoPrefs' (records: 1) Database: 0x74 'Handheld Agent' (records: 629) Database: 0x75 'Address Book' (records: 151) Database: 0x79 'Calendar' (records: 60) Database: 0x7c 'Address Book - All' (records: 151) Database: 0x7d 'PIM Folder List - All' (records: 0) Database: 0x7e 'Secure Credentials - All' (records: 0) Database: 0x7f 'Calendar - All' (records: 69) Database: 0x59 'Browser Bookmarks' (records: 2)
Si vous utilisez un shell ZSH, j’ai écrit des scripts ZSH pour l’auto-complétion :
[root@Dahlia /root]$ cd /usr/local/src/blackberry/barry [root@Dahlia barry]$ mkdir ~/.zsh/comp.d/ [root@Dahlia barry]$ cp zsh/_bjavaloader zsh/_btool ~/.zsh/comp.d/
et pour configurer ZSH :
[root@Dahlia /root]$ cat ~/.zshenv # ---- language-env DON'T MODIFY THIS LINE! # settings for french speaking users # set LANG export LANG=fr_FR.UTF-8 # ---- language-env end DON'T MODIFY THIS LINE! # Zsh completions export FPATH=$FPATH:$HOME/.zsh/comp.d
L’application Barry permet également de faire des sauvegardes et des restaurations de ses données.
[root@Dahlia /root]$ barrybackup
Synchronisation de son BlackBerry
A l’aide des outils fournis par RIM, vous pouvez seulement synchroniser votre BlackBerry avec votre ordinateur
en utilisant un cable USB. Vous ne pouvez pas utiliser une connexion Bluetooth.
Afin de synchroniser votre BlackBerry avec Evolution, vous pouvez utiliser la dernière version stable 0.22.
[root@Dahlia /root]$ cd /usr/local/src/blackberry/barry [root@Dahlia barry]$ cd opensync-plugin [root@Dahlia opensync-plugin]$ ./configure [root@Dahlia opensync-plugin]$ make [root@Dahlia opensync-plugin]$ make install
Personnellement, j’utilise la branche 0.4x du projet OpenSync :
[root@Dahlia /root]$ cd /usr/local/src/blackberry/barry [root@Dahlia barry]$ cd opensync-plugin-0.4x [root@Dahlia opensync-plugin-0.4x]$ ./configure [root@Dahlia opensync-plugin-0.4x]$ make [root@Dahlia opensync-plugin-0.4x]$ make install
A présent, vous pouvez synchroniser vos contacts, votre agenda, vos mémos et tâches avec le plugin fourni
par le projet Barry.
Afin d’utiliser ce plugin, vérifier tout d’abord que l’installation est correcte :
[root@Dahlia /root]$ osynctool --listplugins Available plugins: evo2-sync syncml-http-server syncml-http-client syncml-obex-client barry-sync
A présent, vous pouvez créer un groupe et activer les plugins nécessaires.
[root@Dahlia /root]$ osynctool --addgroup BlackBerry [root@Dahlia /root]$ osynctool --addmember BlackBerry evo2-sync [root@Dahlia /root]$ osynctool --addmember BlackBerry barry-sync
Vous avez besoin de connaître les ID des membres créés précédement.
[root@Dahlia /root]$ osynctool --showgroup BlackBerry Group: BlackBerry Member 1: evo2-sync Member 2: barry-sync
Configurer vos plugins :
[root@Dahlia /root]$ osynctool --configure BlackBerry 1 <?xml version="1.0"?> <config version="1.0"> <Resources> <Resource> <Enabled>1</Enabled> <Formats> <Format> <Config>VCARD_EXTENSION=Evolution</Config> <Name>vcard30</Name> </Format> <Format> <Config>VCARD_EXTENSION=Evolution</Config> <Name>vcard21</Name> </Format> </Formats> <ObjType>contact</ObjType> <Url>file:///home/nicolas/.evolution/addressbook/local/system</Url> </Resource> <Resource> <Enabled>1</Enabled> <Formats> <Format> <Name>vevent20</Name> </Format> </Formats> <ObjType>event</ObjType> <Url>file:///home/nicolas/.evolution/calendar/local/system</Url> </Resource> <Resource> <Enabled>1</Enabled> <Formats> <Format> <Name>vtodo20</Name> </Format> </Formats> <ObjType>todo</ObjType> <Url>file:///home/nicolas/.evolution/tasks/local/system</Url> </Resource> <Resource> <Enabled>1</Enabled> <Formats> <Format> <Name>vjournal</Name> </Format> </Formats> <ObjType>note</ObjType> <Url>file:///home/nicolas/.evolution/memos/local/system</Url> </Resource> </Resources> </config> [root@Dahlia /root]$ osynctool --configure BlackBerry 2 <?xml version="1.0"?> <config version="1.0"> <AdvancedOptions> <AdvancedOption> <DisplayName>PIN number</DisplayName> <MaxOccurs>2147483647</MaxOccurs> <Max>2147483647</Max> <Name>PinCode</Name> <Type>string</Type> <Value>0x12345678</Value> </AdvancedOption> <AdvancedOption> <DisplayName>Debug mode</DisplayName> <MaxOccurs>2147483647</MaxOccurs> <Max>2147483647</Max> <Name>Debug</Name> <Type>bool</Type> <Value>0</Value> </AdvancedOption> </AdvancedOptions> <Authentication> <Username></Username> <Password></Password> </Authentication> <Resources> <Resource> <Enabled>1</Enabled> <Formats> <Format> <Name>vcard30</Name> </Format> </Formats> <Name>Contacts</Name> <ObjType>contact</ObjType> </Resource> <Resource> <Enabled>1</Enabled> <Formats> <Format> <Name>vevent20</Name> </Format> </Formats> <Name>Event</Name> <ObjType>event</ObjType> </Resource> </Resources> </config> [root@Dahlia /root]$ osynctool --discover BlackBerry 1 [root@Dahlia /root]$ osynctool --discover BlackBerry 2
Maintenant, vous pouvez lancer la synchronisation de vos données avec Evolution :
[root@Dahlia /root]$ osynctool --sync BlackBerry
BlackBerry Multimedia
Cette partie décrira l’utilisation de petits scripts pour convertir vos vidéos, fichiers sons dans un format lisible pour le BlackBerry.
Pour convertir une vidéo pour votre BlackBerry, j’ai écrit un petit script utilisant ffmpeg.
[root@Dahlia root]$ cat > vid2bb.sh #!/bin/sh FILE=$1 RES=480x360 ffmpeg -y -i "$FILE" \ -f mp4 \ -s $RES \ -acodec libfaac -async 4800 \ -dts_delta_threshold 1 \ -vcodec libxvid \ -aspect 4:3 \ -qscale 10 \ "${FILE%.*}_bb.avi"
BlackBerry Java Loader
Cette partie décrit les différentes étapes pour installer une application Java sur son BlackBerry.
JavaLoader est fourni avec le projet Barry. JavaLoader permet d’installer ou supprimer des applications sur
votre téléphone, lister toutes les applications installées, faire des captures d’écran…
[root@Dahlia root]$ bjavaloader -h bjavaloader - Command line USB Blackberry Java Loader Copyright 2008-2009, Nicolas VIVIEN. Copyright 2005-2010, Net Direct Inc. (http://www.netdirect.ca/) Using: Barry library version 0.17 (little endian) -A Save all modules found -a Wipe applications only -i Wipe filesystem only -f Force erase, if module is in use -h This help -s List sibling in module list -p pin PIN of device to talk with If only one device is plugged in, this flag is optional -P pass Simplistic method to specify device password -v Dump protocol data during operation commands dir [-s] Lists modules on the handheld deviceinfo Provides information on the handheld load <.cod file> ... Loads modules onto the handheld save [-A]... Retrieves modules from the handheld and writes to .cod file Note: will overwrite existing files! wipe [-a | -i] Wipes the handheld Use Caution: Wiping filesystem will remove all data such as messages, contacts, etc. Wiping applications will remove all .cod files on the device, including OS .cod files. resettofactory Reset IT policy to factory defaults Use Caution: Resetting IT policy to factory defaults will also perform a filesystem wipe which will remove all data such as messages, contacts, etc. erase [-f] ... Erase module from handheld eventlog Retrieves the handheld event log cleareventlog Clears the handheld event log logstacktraces Dump the stack traces for all threads to the event log screenshot <.bmp file> Make a screenshot of handheld settime [yyyy-mm-dd HH:MM:SS] Sets the time on the handheld to the current time Or the time specified as an argument to settime If given as argument, current system timezone is assumed
Par exemple, pour installer une nouvelle application :
[root@Dahlia root]$ bjavaloader load HelloWorldDemo.cod
Pour faire une capture d’écran :
[root@Dahlia root]$ bjavaloader screenshot screen.bmp
13 réponses à BlackBerry Torch sous Linux