Retour à l'accueil du site

L’un des intérêts majeurs des OS android et Ubuntu touch est d’être basé sur linux. Donc, on peut presque aussi facilement utiliser les outils classiques de communication de Linux sur ces OS. Si tant est qu’on ne les ferme pas petit à petit comme android le fait.
Bref...

Pour certaines tâches de mon Meizu Pro 5 sous Ubuntu touch, il me fallait causer avec lui en ssh, plus facile que de taper tout via le terminal [1]. Là, tout sera sur mon écran d’ordinateur, visible, avec un vrai clavier.

Pour faire causer les deux bestioles, il faut installer le kit "phablet-tools". Voici le tutoriel qui m’a permis de l’installer, sachant que :

  • Je ne suis pas un expert
  • Je ne suis pas un expert
  • J’ai fait plein de sites pour comprendre et le faire
  • Je ne suis pas un expert
  • Je décline les dommages sur vos appareils si cela ne fonctionnait pas
  • Je vous ai dit que je n’étais pas un expert ?

Je suis parti d’un mobile tout nu, càd que je l’avais juste remis en configuration d’usine avant.

Mobile débranché de l’ordinateur (Ubuntu 14.04 LTS), on ouvre le terminal et on tape ceci [2]

sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo add-apt-repository ppa:phablet-team/tools
On installe les dépôts dans la liste...

sudo apt-get update
sudo apt-get dist-upgrade
On met tous les dépôts à jour...

sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9 ubuntu-sdk phablet-tools
On installe le paquet phablet-tools. Cela prend un peu de temps car il y en a beaucoup à télécharger.

Pendant ce temps là, on peut s’occuper du téléphone. On va le passer en mode "développeur", c’est à dire que vous allez autoriser l’utilisateur du téléphone à aller un peu plus loin dans les paramètres et la configuration du téléphone. Entre autres, aller dans le moteur par l’installation et la configuration du système. Pour cela, on va dans Paramètres / Mon téléphone et on décoche le mode développeur. Il faut impérativement choisir un mot de passe de verrouillage car c’est ce mot de passe qui deviendra le mot de passe pour se connecter en ssh [3] sur le téléphone.

Maintenant, il va falloir faire que l’ordinateur reconnaisse tout seul le téléphone quand on le branche. Donc, on va utiliser une méthode : le jeu des différences. Appeler votre petit frère ou faites le vous même...

Sur l’ordinateur (téléphone débranché), on va lister les appareils se connectant par USB

$ lsusb  
On va lister tous les "devices"

Bus 002 Device 003 : ID 058f:6364 Alcor Micro Corp. AU6477 Card Reader Controller
../..
Bus 005 Device 001 : ID 1d6b:0002 Linux Foundation 2.0 root hub
../..
Bus 004 Device 001 : ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002 : ID 03f0:8711 Hewlett-Packard Deskjet 2050 J510

Même opération, mais téléphone branché sur un port USB...

$ lsusb  
On va lister tous les "devices"

Bus 002 Device 003 : ID 058f:6364 Alcor Micro Corp. AU6477 Card Reader Controller
../..
Bus 003 Device 004 : ID 2a45:0c02
Bus 005 Device 001 : ID 1d6b:0002 Linux Foundation 2.0 root hub
../..
Bus 004 Device 001 : ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 002 : ID 03f0:8711 Hewlett-Packard Deskjet 2050 J510

La ligne Bus 003 Device 004 : ID 2a45:0c02 est apparue et doit correspondre à notre appareil (Et avec un peu de chance, vous avez les mêmes iD).
On va maintenant paramétrer le téléphone pour qu’il puisse être "monté" par un autre utilisateur que le "root", et ainsi donc faire que l’ordinateur PC puisse le monter automatiquement.
Débranchez le téléphone.

export VENDORID="2a45"
export MODELID="0c02

On exporte l’identité du téléphone qu’on aura issu de la précédente manœuvre (Bus 003 Device 004) et on utilise la commande ’fuse’ pour modifier la possibilité de ne monter la partition que par le ’root’.

sudo sed -i 's/#user_allow_other/user_allow_other/' /etc/fuse.conf
On décommente la ligne ’user_allow_other’ dans le fichier ’/etc/fuse.conf’

Ensuite, on va déclarer le Meizu dans les règle ’udev’ en charge du MTP [4]

sudo bash -c 'cat << EOF >> /etc/udev/rules.d/69-libmtp.rules
# Meizu MX4
ATTR{idVendor}=="2a45", ATTR{idProduct}=="0c02", SYMLINK+="MeizuMX4Ubuntu", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
EOF'

Branchez le téléphone, normalement, l’ordinateur monte automatiquement le Meizu et vous accédez aux fichiers du répertoire ’phablet’.

Maintenant, il faut configurer ’adb’ (Android Debug Bridge [5]. Préalablement, il faut installer iDvendor (Cf plus haut) dans le fichier ’adb_usb.ini’.

echo "0x2a45" >> $HOME/.android/adb_usb.ini
L’iDvendor est copié dans le fichier de configuration d’adb.

mkdir $HOME/.android
Dans certains cas, il vous faudra recréer le répertoire

adb kill-server
On arrête puis redémarre le service ’adb’...

Il faut tester voir si le téléphone est bien reconnu. On tape donc :

adb devices

Et il apparait :

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
XXXXXXX device

XXXXXXX est un ensemble de lettres et chiffres. Et si tout est ok, en tapant dans le terminal de l’ordinateur (Téléphone toujours branché hein !) :

adb shell

Le prompt du terminal devrait passer de

UTILISATEUR@NOMDELORDINATEUR:

à

phablet@ubuntu-phablet:

That’s it ! Vous êtes connecté à votre téléphone, via le terminal de votre ordinateur...

Pour faire parler les deux bestioles en ssh, il faut procéder à l’échange de clés uniques entre les deux. On va utiliser l’un des outils du paquet ’phablet-tools’. On va donc lancer phablet-shell. La première fois, il va y avoir l’échange de clés. Ensuite, à l’invite du terminal, en lançant ’phablet-shell’, vous aurez la connexion suivante en place :

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
/home/gchocteau/.ssh/known_hosts updated.
Original contents retained as /home/gchocteau/.ssh/known_hosts.old
Warning : Permanently added ’[localhost]:2222’ (RSA) to the list of known hosts.
Welcome to Ubuntu 15.04 (GNU/Linux 3.10.100-user-01767-gf5aa556 aarch64)

* Documentation : https://help.ubuntu.com/
Last login : Thu Jun 9 10:29:27 2016 from localhost.localdomain
phablet@ubuntu-phablet : $

HAVE FUN !

Notes

[1Même si je le maîtrise, tapoter des dizaines de caractères sur un tout ch’ti écran....

[2On peut copier/coller également les codes ci dessous. Rappel : les copier/coller sur le terminal se font par CTRL+SHIFT+X ou C ou V

[3En mode "super utilisateur"

[4Media Transfer Protocol (MTP) est un protocole de transfert de fichiers destiné au monde du multimédia

[5Le noyau d’Ubuntu touch est un noyau android, lui même noyau Linux

2 Messages

  • Bonjour
    excellent tuto
    mais juste une question : comment se fait il que sous Ubuntu on soit obligé d’avoir un dossier android ?
    c’est quand même incroyable de devoir supporter ce virus sur une machine linux, ou alors j’ai pas tout compris.
    Je ne veux rien chez moi ce ces sociétés, et pourquoi par Cortana ?
    Merci

    repondre message

  • Salut Charles,

    Tu as 100% raison, il est dommage de voir du android sous notre ubuntu... On a l’impression de ne pas être allé jusqu’au bout de la démarche...

    J’ai cru comprendre que c’était pour la gestion du téléphone, c’est à dire le noyau pur qui permet la gestion de l’appareil. Ces fonctions sont (peut être) difficiles à développer sans coût important ?

    On peut se contenter en pensant qu’android est une base linux.. :-)

    repondre message

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)



‹‹ On a retrouvé la fan zone des soutiens à la loi "travail" Quand un militant MPF se félicite de la tuerie d’Orlando ! ››