J'ai un téléphone qui, lorsqu'il est branché sur un ordinateur, s'affiche comme un périphérique MTP. La carte SD et le stockage interne sont visibles sur l'ordinateur. Je peux aussi le modifier pour qu'il ne monte que la carte SD, puis il démonte la carte SD du téléphone et la connecte directement comme s'il s'agissait d'un adaptateur SD-USB.
Je veux pouvoir faire cela sur un autre téléphone, mais pas avec une carte SD, je veux pouvoir utiliser une partie de la mémoire flash interne de la même manière afin de pouvoir connecter le téléphone comme s'il s'agissait d'une clé USB et je veux aussi pouvoir le connecter comme un périphérique MTP. Ce serait pratique si je pouvais le faire avec tmpfs aussi, de sorte que je puisse utiliser la RAM disponible du téléphone comme stockage USB temporaire à grande vitesse.
La raison pour laquelle je veux faire cela est que le MTP est incroyablement lent pour charger les répertoires, le transfert de fichiers est un peu plus rapide mais reste une fraction de ce que l'USB 2.0 peut réaliser. Je veux utiliser la RAM pour que le stockage interne ne soit pas affecté et rempli sans raison puisque le téléphone n'a pas beaucoup de stockage libre. Sur l'autre téléphone, le fait de le connecter en mode adaptateur de carte SD fait que Windows le voit comme une véritable carte SD, de sorte que Windows n'ouvre pas le stockage en mode MTP, qui manque les propriétés des fichiers et est super lent. Une autre raison d'utiliser la RAM est que le stockage interne ne peut pas être démonté lorsque Android est en cours d'exécution sur le téléphone, de sorte que vous ne seriez pas en mesure de l'utiliser comme stockage USB dans un mode autre que MTP.
Existe-t-il des moyens de faire cela en utilisant busybox, ou en modifiant certains fichiers système ?
Je sais que cela doit être possible mais je ne sais pas comment cela fonctionne avec le mode adaptateur de carte SD sur l'autre téléphone et je ne sais pas comment le reproduire pour d'autres supports de stockage. Le téléphone est rooté donc je peux faire tout ce que je veux sur le système. De préférence sur Android 4 et plus. Comment puis-je arriver à un tel résultat ?
- Mise à jour
J'ai pu faire fonctionner l'UMS sur le téléphone grâce au commentaire d'Irfan. Je peux changer le lecteur qui monte en éditant le fichier "file".
Pour ce faire, il faut d'abord exécuter la commande cat /proc/partitions
. Vous pouvez alors écrire echo '/dev/block/vold/<major>:<minor>' -n> /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file
Mais je n'ai pas encore fini, je dois savoir comment transmettre le chemin dans "file" à tmpfs. Je ne trouve pas de fichier de périphérique pour tmpfs comme pour toutes les autres partitions. Est-ce qu'il y a une partition vide pour tmpfs, ou est-ce que je peux peut-être faire un lien vers un dossier dans file ? Comment puis-je mettre le chemin d'accès à tmpfs dans "file" ?