web-dev-qa-db-fra.com

Le système de fichiers du téléphone Ubuntu est-il montable via une connexion USB?

Le système de fichiers du téléphone Ubuntu est-il montable sous Linux via une connexion USB?

Y a-t-il une raison de croire que cette fonctionnalité est là pour rester? En ce qui me concerne, plutôt que de faire converger mon ordinateur et mon téléphone, je serais heureux de pouvoir utiliser mon téléphone comme lieu de stockage de toutes mes données essentielles (comme sur une clé USB), puis de les utiliser sur mon téléphone ou de les partager avec mon ordinateur. ordinateur portable chaque fois que je dois.

4
user45171

Ubuntu Touch vous permet d'accéder au système de fichiers via le mode protocole MTP , mais ne prend pas en charge le mode stockage de masse USB . À cet égard, il est similaire aux appareils récents Android et il est peu probable qu'il change. En sortie de boîte, vous devriez pouvoir accéder aux fichiers du téléphone en utilisant n’importe quelle application compatible GVFS.

Il y a une bonne raison pour que de nombreux périphériques intelligents s'éloignent du mode de stockage de masse pour effectuer un transfert de fichier: le mode de stockage de masse implique l'exposition d'un périphérique en mode bloc, tandis que MTP expose un système de fichiers.

À moins qu'un système de fichiers ne soit spécialement conçu, un seul système d'exploitation doit accéder au périphérique bloc sous-jacent à la fois. FAT n'est pas conçu pour ce cas d'utilisation, c'est pourquoi les anciens téléphones Android prenant en charge le mode Mémoire de masse démonteraient la carte SD avant de la rendre disponible via USB.

En revanche, avec MTP, le téléphone est la seule chose qui accède au périphérique bloc sous-jacent, et l’ordinateur connecté effectue à la place des requêtes au niveau du système de fichiers via USB (par exemple, un répertoire, un fichier, etc.). Cela signifie que vous pouvez continuer à utiliser le périphérique lorsqu'il est connecté.

4
James Henstridge

Sous BQ E5 Ubuntu Edition avec Ubuntu Touch 15.04 (r4), je peux démonter la carte SD externe et basculer le port USB en mode de stockage de masse avec le script massStorage.sh, puis rétablir le port USB en mtp avec le script mtp.sh.

Contenu du script massStorage.sh:

#!/bin/sh

echo 0 > /sys/class/Android_usb/Android0/enable
cp /sys/class/Android_usb/Android0/functions /tmp/massStorageFunctions
echo mass_storage > /sys/class/Android_usb/Android0/functions
umount /dev/mmcblk1p1
echo /dev/mmcblk1 > /sys/devices/virtual/Android_usb/Android0/f_mass_storage/lun/file
cp /sys/devices/virtual/Android_usb/Android0/f_mtp/device/idVendor /tmp/massStorageVendor
cp /sys/devices/virtual/Android_usb/Android0/f_mtp/device/idProduct /tmp/massStorageProduct
echo 03f0 > /sys/devices/virtual/Android_usb/Android0/f_mass_storage/device/idVendor
echo 5607 > /sys/devices/virtual/Android_usb/Android0/f_mass_storage/device/idProduct
echo 1 > /sys/class/Android_usb/Android0/enable

Contenu du script mtp.sh:

#!/bin/sh

if [ -f /tmp/massStorageFunctions ]; then
    echo 0 > /sys/class/Android_usb/Android0/enable
    cp /tmp/massStorageFunctions /sys/devices/virtual/Android_usb/Android0/functions
    cp /tmp/massStorageVendor  /sys/devices/virtual/Android_usb/Android0/f_mass_storage/device/idVendor
    cp /tmp/massStorageProduct /sys/devices/virtual/Android_usb/Android0/f_mass_storage/device/idProduct
    Sudo -u phablet udisksctl mount -b /dev/mmcblk1p1
    echo 1 > /sys/class/Android_usb/Android0/enable
fi;

Notez que les identifiants de fournisseur et de produit sont volés d’un autre périphérique de stockage de masse usb.

J'ai sauvegardé ces scripts dans le répertoire ~phablet/bin. De plus, j'ai défini les alias suivants pour démarrer les scripts à partir de la ligne de commande com.ubuntu.terminal:

alias u='Sudo sh ~phablet/bin/massStorage.sh'
alias m='Sudo sh ~phablet/bin/mtp.sh'

Vous pouvez définir ces alias dans le fichier .bashrc- du répertoire de base de phablet.

Notez que vous devez entrer votre NIP pour détacher/attacher la carte SD avec ces scripts.


Remarque: Un gros problème avec la solution alternative mtp proposée par les autres est qu’elle n’est pas disponible dans cygwin. On peut utiliser mtp dans Windows, mais les périphériques mtp ne sont pas fournis sous forme de lettre de lecteur, nécessaire à cygwin. J'ai essentiellement le même cas d'utilisation que Tor Thommesen et trouvé cette solution pour exposer ma carte SD secondaire du téléphone en tant que périphérique de stockage de masse.

1
Tobias

À moins qu'un système de fichiers ne soit spécialement conçu, un seul système d'exploitation doit accéder au périphérique bloc sous-jacent à la fois. FAT n'est pas conçu pour ce cas d'utilisation, c'est pourquoi les anciens téléphones Android prenant en charge le mode Mémoire de masse démonteraient la carte SD avant de la rendre disponible via USB.

Je ne vois pas le point ici. Oui, il ne devrait être utilisé que par un appareil à la fois et c'est pourquoi il est démonté au téléphone avant d'être accessible à partir de l'ordinateur. Quel est le problème? Sauf si vous souhaitez visionner un film à partir de la carte MicroSD externe pendant que vous copiez des fichiers.

Aussi ... vous n'avez pas besoin d'utiliser MTP très longtemps pour réaliser que cela ne fonctionne pas très bien. Les processus en arrière-plan ne sont pas synchronisés lorsque vous vous en attendez. Vous ne pouvez pas voir les vignettes de vos images. Le transfert est lent. Un autre POC est poussé sur les utilisateurs sous le déguisement d'une bonne "expérience utilisateur". Le même argument que Apple utilise pour verrouiller complètement tout le monde dans son propre "écosystème" au point que vous ne pouvez même pas insérer une MicroSD ou changer une batterie par vous-même.

0
marin99