Lire des clefs USB, des disques USB ou appareils photos depuis votre Android
Ou comment transformer votre Android en host USB
Sur certains appareils Android (Exemple Xperia Arc S, Galaxy Note 2, Galaxy Tab 10.1, Galaxy Tab Pro), il est parfois possible de lire des périphériques de masse usb via le mini port usb de votre appareil. Il suffit pour cela d'installer un câble USB OTG (on the go). Il s'agit d'un câble / Adaptateur USB HOST (de 1 euros 50 à 5 euros le câble sur le net) qui va transformer votre mobile en host USB (parfois livré avec la tablette !). Le système Android pourra ensuite gérer votre périphérique de masse tout seul en lecture ou en écriture.
Certaines
clef USB possédent un double connecteur les rendant compatibles Android et
ne nécessitant pas de câble OTG:
- male type A pour les PC ,
- mini male type B pour les appareils Android.
Il faut vérifiez (en utilisant Google par exemple) que la fonctionnalité soit bien présente pour votre appareil (tous les constructeurs n'installent pas systématiquements les drivers) et que la version Android installée soit au minimum Android 3.1 nom de code Honeycomb (Depuis l'écran d'accueil, appuyez sur menu puis option "paramètres" "A propos de l'appareil" ou "A propos du téléphone" (éventuellement sous l'onglet Général suivant le système installé) et regardez ce qui est indiqué sous "version Android".
En utilisation,
avant de débrancher votre périphérique de masse, pensez
à "démonter" le périphérique:
- Depuis l'écran d'accueil, appuyez sur le Menu, puis "paramètres"
et "stockage" (que vous trouverez éventuellement dans l'onglet
"général", suivant les versions d'Android) et choisir
l'option "démonter" (ou Unmount USB storage s'ils ont oublié
de faire la traduction ; )) correspondant à votre périphérique
USB.
- S'il n'y a pas de bouton menu ou si celui-ci n'affiche pas un menu avec paramètres,
il faut lancer le programme nommé "Paramètres" que vous trouverez sur l'écran
d'accueil ou dans le lanceur d'applications (si
présent).
Car sous Unix, il existe un système de gestion du cache qui diffère l'écriture des données sur le périphérique de masse. Cela permet éventuellement au système de ne pas perdre du temps dans des écritures de données qui vont changer sous peu. Cette écriture différée ne vous permet donc pas de d'affirmer que toutes les opérations d'écriture sont toutes effectuées sur le périphérique au moment où vous allez vouloir retirer votre périphérique. Pour en être certain, il faut donc synchroniser le contenu du périphérique avec le contenu en cache.
Faîtes d'autant plus attention si vous vous promenez avec votre appareil, le câble peut facilement se débrancher avec le poid et vous pourriez perdre des données. Sans parler du fait que vous risquez d'abîmer le connecteur de votre mobile rendant le chargement de la batterie impossible par la suite !
Un device host
doit fournir le bus USB en énergie électrique. Votre batterie
va donc se décharger plus vite !
Les formats NTFS,
HFS (propriétaires donc licenses nécessaires) ne sont pas reconnus
par défaut par un appareil Android. Il faudra installer un driver
supplémentaire
si vous voulez lire /écrire dans ces formats (Voir par exemple Paragon
HTFS & HFS sur le Play
Store, il existe d'autres
programmes). Mais dans ce cas, il faudra que l'appareil soit rooté
pour pouvoir effectuer cette opération. En effet, il s'agit d'ajouter
des drivers au niveau le plus bas du système où seul un administrateur
système (l'utilisateur root) peut accéder. Le montage et démontage
du périphérique de masse USB passera par l'application installée
et non par Android. Si vous ne voulez pas installer une application pour
lire le NTFS, il faudra formater la clé USB en FAT32 qui est un format
accessible depuis Android.
Traditionnellement
sur un système Unix, les unités de disques sont montées
sous /mnt (il n'y a jamais eu de lettre comme sous Windows, ne limitant théoriquement
pas le nombre de périphériques installables). Ce sera le cas aussi
sous Android qui est lui aussi un système Unix. Comme il s'agit d'un
périphérique USB, il sera certainement monté sous /mnt/UsbDriveA,
mais on peut aussi trouver des montages sous /mnt/sda1 suivant les systèmes.
Un disque dur non
auto-alimenté ne marchera pas sur un appareil Android (trop consommateur
de courant).
Il est possible
d'avoir plusieurs périphériques USB gérés par Android.
Mais pour y parvenir, il faudra vous munir d'un HUB USB
(de préférence auto-alimenté).