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.

NoteCertaines 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".

Image non trouvée !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 !

Image non trouvée !Un device host doit fournir le bus USB en énergie électrique. Votre batterie va donc se décharger plus vite !


Image non trouvée ! 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.

Image non trouvée !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.

Image non trouvée !Un disque dur non auto-alimenté ne marchera pas sur un appareil Android (trop consommateur de courant).

Image non trouvée !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é).