Résoudre un problème de connexion à sftp pour un Openssh sous Windows

Une quick note pour éviter d’oublier :

Si vous rencontrez un problème du genre « message too long 1291872512 »

sftp monuser@monserveur
monuser@monserveur’s password:
Received message too long 1291872512

A condition d’utiliser un openssh suffisamment récent une solution élégante est de changer la ligne

« Subsystem      sftp    /usr/sbin/sftp-server » par  « Subsystem       sftp    internal-sftp » dans le fichier sshd_config du serveur windows.

Share

Rooter son smartphone Auchan du type Lazer X40i

Télécharger sur le site http://androidsu.com/superuser/ les packages arm Superuser-3.1.3-arm-signed.zip

Dézipper sur votre PC le fichier :

root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements# unzip Superuser-3.1.3-arm-signed.zip
Archive:  Superuser-3.1.3-arm-signed.zip
signed by SignApk
  inflating: META-INF/MANIFEST.MF   
  inflating: META-INF/CERT.SF       
  inflating: META-INF/CERT.RSA      
  inflating: META-INF/com/google/android/update-binary 
  inflating: META-INF/com/google/android/updater-script 
  inflating: system/app/Superuser.apk 
  inflating: system/bin/su          
root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements#

Poussez les fichiers sur votre smartphone :

root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements# adb root
adbd is already running as root
root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements# adb push system/bin/su /system/bin
4861 KB/s (380532 bytes in 0.076s)
root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements# adb push system/app/Superuser.apk /system/app
5742 KB/s (1468798 bytes in 0.249s)
root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements#

Passer en mode shell « root » sur votre téléphone :

root@mony-W250EGQ-W270EGQ:/home/mony/Téléchargements# adb shell
root@android:/ # chmod 7655 /system/bin/su                                    
root@android:/ # chmod 644 /system/app/Superuser.apk                          
root@android:/ # chown root.shell /system/bin/su
root@android:/ # chown root.shell /system/app/Superuser.apk
root@android:/ #

Redémarrer le téléphone…

Share

Installer Google Play sur un smartphone Auchan du type Lazer X40i

Avant de brancher le téléphone lister les périphériques USB connectés à votre PC.

Exemple sur ma machine :

jylenhof@portable-jylenhof:~$ lsusb
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 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 001 Device 003: ID 0408:2fb1 Quanta Computer, Inc.
jylenhof@portable-jylenhof:~$

Branchez votre smartphone sur votre ordinateur, normalement une ligne supplémentaire devrait apparaître (ici en rouge italique gras) :

jylenhof@portable-jylenhof:~$ lsusb
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 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 001 Device 003: ID 0408:2fb1 Quanta Computer, Inc.
Bus 002 Device 010: ID 0a5c:e681 Broadcom Corp.
jylenhof@portable-jylenhof:~$

Vérifiez que le package « android-tools-adb » est installé sur votre PC Linux, sinon installez le.

Passons maintenant en root sur votre PC (vous pourriez avoir à taper votre password) :

jylenhof@portable-jylenhof:~$ sudo su –
root@portable-jylenhof:~#

Lancez alors la commande « adb devices » pour lister les appareils reconnus par ADB…

root@portable-jylenhof:~# adb devices
List of devices attached

root@portable-jylenhof:~#

Le téléphone n’est pas vu. Pour qu’il soit vu il faut ajouter un fichier /root/.android/adb_usb.ini

root@portable-jylenhof:~# cd .android/
root@portable-jylenhof:~/.android# ls
adbkey  adbkey.pub
root@portable-jylenhof:~/.android# vi adb_usb.ini

Le fichier doit contenir la ligne suivante :

0x0a5c

 

Le téléphone est vu désormais :

root@portable-jylenhof:~/.android# adb kill-server

 

root@portable-jylenhof:~# adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
0123456789ABCDE    device

root@portable-jylenhof:~#

Télécharger le fichier gapps-ics-20120429-signed.zip du site http://goo.im/gapps/gapps-ics-20120317-signed.zip

Le dézipper… dans un répertoire temporaire créé pour l’occasion :

root@portable-jylenhof:/home/jylenhof/Téléchargements# mkdir toto
root@portable-jylenhof:/home/jylenhof/Téléchargements# cd toto/
root@portable-jylenhof:/home/jylenhof/Téléchargements/toto# unzip ../gapps-ics-20120429-signed.zip

Archive:  ../gapps-ics-20120429-signed.zip
signed by SignApk
inflating: META-INF/MANIFEST.MF
inflating: META-INF/CERT.SF
inflating: META-INF/CERT.RSA
inflating: META-INF/com/google/android/update-binary
inflating: META-INF/com/google/android/updater-script
inflating: install-optional.sh
inflating: optional/face/addon.d/71-gapps-faceunlock.sh
inflating: optional/face/app/FaceLock.apk
inflating: optional/face/lib/libfacelock_jni.so
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-r0-ri30.4a/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-rn30-ri30.5/full_model.bin
inflating: optional/face/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-rp30-ri30.5/full_model.bin
inflating: optional/face/vendor/pittpatt/models/recognition/face.face.y0-y0-22-b-N/full_model.bin
inflating: optional/noneon/lib/libfacelock_jni.so
inflating: optional/noneon/lib/libflint_engine_jni_api.so
inflating: optional/noneon/lib/libfrsdk.so
inflating: optional/noneon/lib/libgcomm_jni.so
inflating: optional/noneon/lib/libpicowrapper.so
inflating: optional/noneon/lib/libspeexwrapper.so
inflating: optional/noneon/lib/libvideochat_jni.so
inflating: optional/noneon/lib/libvideochat_stabilize.so
inflating: optional/noneon/lib/libvoicesearch.so
inflating: system/addon.d/70-gapps.sh
inflating: system/app/ChromeBookmarksSyncAdapter.apk
inflating: system/app/GalleryGoogle.apk
inflating: system/app/GenieWidget.apk
inflating: system/app/GoogleBackupTransport.apk
inflating: system/app/GoogleCalendarSyncAdapter.apk
inflating: system/app/GoogleContactsSyncAdapter.apk
inflating: system/app/GoogleFeedback.apk
inflating: system/app/GoogleLoginService.apk
inflating: system/app/GooglePartnerSetup.apk
inflating: system/app/GoogleQuickSearchBox.apk
inflating: system/app/GoogleServicesFramework.apk
inflating: system/app/GoogleTTS.apk
inflating: system/app/MarketUpdater.apk
inflating: system/app/MediaUploader.apk
inflating: system/app/NetworkLocation.apk
inflating: system/app/OneTimeInitializer.apk
inflating: system/app/Phonesky.apk
inflating: system/app/SetupWizard.apk
inflating: system/app/Talk.apk
inflating: system/app/VoiceSearch.apk
inflating: system/etc/g.prop
inflating: system/etc/permissions/com.google.android.maps.xml
inflating: system/etc/permissions/com.google.android.media.effects.xml
inflating: system/etc/permissions/com.google.widevine.software.drm.xml
inflating: system/etc/permissions/features.xml
inflating: system/framework/com.google.android.maps.jar
inflating: system/framework/com.google.android.media.effects.jar
inflating: system/framework/com.google.widevine.software.drm.jar
inflating: system/lib/libfilterpack_facedetect.so
inflating: system/lib/libflint_engine_jni_api.so
inflating: system/lib/libfrsdk.so
inflating: system/lib/libgcomm_jni.so
inflating: system/lib/libpicowrapper.so
inflating: system/lib/libspeexwrapper.so
inflating: system/lib/libvideochat_jni.so
inflating: system/lib/libvideochat_stabilize.so
inflating: system/lib/libvoicesearch.so
inflating: system/tts/lang_pico/de-DE_gl0_sg.bin
inflating: system/tts/lang_pico/de-DE_ta.bin
inflating: system/tts/lang_pico/es-ES_ta.bin
inflating: system/tts/lang_pico/es-ES_zl0_sg.bin
inflating: system/tts/lang_pico/fr-FR_nk0_sg.bin
inflating: system/tts/lang_pico/fr-FR_ta.bin
inflating: system/tts/lang_pico/it-IT_cm0_sg.bin
inflating: system/tts/lang_pico/it-IT_ta.bin
root@portable-jylenhof:/home/jylenhof/Téléchargements/toto#

Les apk installables sont alors visibles :

root@portable-jylenhof:/home/jylenhof/Téléchargements/toto/system/app# ls
ChromeBookmarksSyncAdapter.apk  GoogleServicesFramework.apk
GalleryGoogle.apk               GoogleTTS.apk
GenieWidget.apk                 MarketUpdater.apk
GoogleBackupTransport.apk       MediaUploader.apk
GoogleCalendarSyncAdapter.apk   NetworkLocation.apk
GoogleContactsSyncAdapter.apk   OneTimeInitializer.apk
GoogleFeedback.apk              Phonesky.apk
GoogleLoginService.apk          SetupWizard.apk
GooglePartnerSetup.apk          Talk.apk
GoogleQuickSearchBox.apk        VoiceSearch.apk
root@portable-jylenhof:/home/jylenhof/Téléchargements/toto/system/app#

Poussez les packages sur le téléphone portable :

root@portable-jylenhof:/home/jylenhof/Téléchargements/toto# adb push system/app/ /data/local/tmp/
push: system/app/GoogleFeedback.apk -> /data/local/tmp/GoogleFeedback.apk
push: system/app/VoiceSearch.apk -> /data/local/tmp/VoiceSearch.apk
push: system/app/GalleryGoogle.apk -> /data/local/tmp/GalleryGoogle.apk
push: system/app/MediaUploader.apk -> /data/local/tmp/MediaUploader.apk
push: system/app/GenieWidget.apk -> /data/local/tmp/GenieWidget.apk
push: system/app/SetupWizard.apk -> /data/local/tmp/SetupWizard.apk
push: system/app/ChromeBookmarksSyncAdapter.apk -> /data/local/tmp/ChromeBookmarksSyncAdapter.apk
push: system/app/GoogleQuickSearchBox.apk -> /data/local/tmp/GoogleQuickSearchBox.apk
push: system/app/GoogleTTS.apk -> /data/local/tmp/GoogleTTS.apk
push: system/app/OneTimeInitializer.apk -> /data/local/tmp/OneTimeInitializer.apk
push: system/app/NetworkLocation.apk -> /data/local/tmp/NetworkLocation.apk
push: system/app/GoogleLoginService.apk -> /data/local/tmp/GoogleLoginService.apk
push: system/app/Talk.apk -> /data/local/tmp/Talk.apk
push: system/app/GoogleCalendarSyncAdapter.apk -> /data/local/tmp/GoogleCalendarSyncAdapter.apk
push: system/app/GoogleContactsSyncAdapter.apk -> /data/local/tmp/GoogleContactsSyncAdapter.apk
push: system/app/Phonesky.apk -> /data/local/tmp/Phonesky.apk
push: system/app/GoogleServicesFramework.apk -> /data/local/tmp/GoogleServicesFramework.apk
push: system/app/GoogleBackupTransport.apk -> /data/local/tmp/GoogleBackupTransport.apk
push: system/app/GooglePartnerSetup.apk -> /data/local/tmp/GooglePartnerSetup.apk
push: system/app/MarketUpdater.apk -> /data/local/tmp/MarketUpdater.apk
20 files pushed. 0 files skipped.
3285 KB/s (23496313 bytes in 6.983s)
root@portable-jylenhof:/home/jylenhof/Téléchargements/toto#

Et il suffit juste d’une commande pour passer root sur le téléphone (et oui sans rootage nécessaire)

root@portable-jylenhof:/home/jylenhof/Téléchargements/toto# adb root
restarting adbd as root
root@portable-jylenhof:/home/jylenhof/Téléchargements/toto# adb shell

root@android:/ #

Pour le vérifier il suffit de faire un « id » :
root@android:/ # id
uid=0(root) gid=0(root)
root@android:/ # ls /
acct
cache
config
d
data
default.prop
dev
etc
init
init.common.rc
init.goldfish.rc
init.log.rc
init.rc
init.rheastone.rc
init.rheastone_base.rc
init.usb.rc
mnt
proc
root
sbin
sdcard
sys
system
ueventd.goldfish.rc
ueventd.rc
ueventd.rheastone.rc
vendor

Maintenant déplaçons les fichiers apk au bon endroit :
root@android:/ # mount -o remount,rw /system                                  
root@android:/ # busybox cp /data/local/tmp/*.apk /system/app

root@android:/system/app # exit
root@portable-jylenhof:/home/jylenhof/Téléchargements/toto#

Et ensuite rebootez votre téléphone… il devrait installer de lui même les Google Apps

 

Share

Turbulentes 2013 – Les morts vivants étaient parmi nous

Un petit retour avec quelques photos sur l’édition 2013 des Turbulentes qui s’est tenu du Vendredi 3 Mai au Dimanche 5 Mai à Vieux-Condé (ma ville). Autant le dire de suite j’ai été pas mal déçu (et je pense ne pas avoir été le seul) de mon samedi soir mais le dimanche a sauvé mon ressentiment et m’a rassuré quant à la qualité des prestations scéniques du festival…

En effet samedi après avoir commencé la soirée à vibrer au son de Zebatuca qui est une des valeurs sûre des Turbulentes années après années.

 

Je me suis dirigé (conditionné je suis ?) vers le parking d’Agrati pour assister au final réalisé par la troupe « Générik Vapeur« … et c’est là que les choses se sont gâtées, il a fallu attendre 35 ou 40 minutes dans un froid assez terrible que le cortège du final se meuve dans la ville pour arriver sur les lieux pour 10/15 minutes très décevantes (à priori il fallait suivre le cortège pour voir le spectacle complet). Pas assez de poésie ni de rêve dans cette prestation…

 

Le dimanche, un peu blasé par ce que j’avais vu la veille, j’ai choisi plutôt d’aller à l’Etang d’Amaury puisqu’Emy (c’est ma chienne) ne tenait plus en place et ne demandait qu’à aller faire un petit tour par cette belle journée ensoleillée… Avec trois photos sympa en prime puisqu’il y avait une petite sortie des voiliers…

 

Suite à un message SMS impromptu de Daffy (mais il avait vraiment bien fait) qui s’était déplacé pour voir le festival par cette belle journée, j’ai décidé de le rejoindre directement sur place.

C’est là que j’ai pris la mesure des spectacles que j’avais failli louper…

D’abord la compagnie Hydragon avec leur show « La corde et on » (elle est facile, mais pas de moi  😉 ). Un spectacle tout en poésie avec pour objets une corde et un accordéon… Et moi je n’arrive pas à descendre une corde sans sécurité en m’aidant uniquement de mes pieds…

 

Ensuite j’ai pris une grosse claque avec le spectacle Monstre(s) d’Humanité de la compagnie N°8 qui nous a montré leur vision de la fin du monde tels des morts vivants… Avec comme pour particularité d’interagir avec une partie du publique quand ils deviennent fous et se précipitent dans la foule et ont des mouvements désordonnés… Vraiment bien fait

 

Le thème cette année c’était le livre, et donc il y avait des livres un peu partout…et même des objets composés de livres

 

Le manège pour enfants à propulsion parentale a changé… Il faut désormais faire de la bascule pour que les enfants aient leur manège qui tourne 😉

 

Enfin spectacle de voltige humoristique avec la troupe « Los2play « Starfatal » qui venait d’Espagne

 

Enfin un peu par hasard je suis tombé sur le « jardin pédagogique » de la ville de Vieux-Condé, exceptionnellement ouvert, dont Katia (une camarade volleyeuse) m’avait parlé…

Share