Menu caché Test/Info android

Pour accéder au menu caché Test/Info sur un téléphone Android il suffit de composer le *#*#4636#*#* , un moyen mnémotechnique est de retenir le fait que ces touches correspondent à *#*#info#*#*

Forcer le démarrage d’une TV Samsung LE32R51B en mode PC par défaut

Le but de cette manipulation est d’utiliser cet écran de 32 pouce comme écran d’ordinateur.
Pour cela il faut passer par le mode service de cette télé : télé éteinte, il faut appuyer successivement sur les touches « Info » « Menu » « Mute » et « Power ».
Ensuite aller sur le menu « 8. Adjust » puis « Hotel Option » et passer le mode « Hotel Mode » sur « On » ainsi que « Power On Source » sur « PC »

Pour revenir au menu précédent appuyer sur la touche « Menu »
Pour quitter appuyer sur la touche « Power »

Repasser un HTC Desire en rom d’origine puis débloquer son bootloader

État du téléphone au départ :
hboot : Alpharev Bravo CM7 r2
Rom : Nightly cyanogenmod 7.2

Note : il est sûrement possible d’effectuer toutes les opérations sous linux en utilisant les outils pour mise à jours d’un téléphone Android HTC sous linux.

Pour pouvoir le remettre dans son état d’origine il faut passer sur le hboot de downgrade d’Alpharev donc une fois celui ci téléchargé et on md5sum vérifié il faut taper les commandes suivantes :
sudo ./fastboot flash hboot bravo_downgrade.img
sudo ./fastboot reboot-bootloader
sudo ./fastboot erase cache

Le téléphone est donc maintenant prêt pour repasser en Rom d’origine, pour cela il faut repasser sous Windows, j’ai tout d’abord installé HTC Sync avec le fichier HTCSync_2.0.28.exe puis flasher la rom d’origine avec la RUU : RUU_Bravo_Froyo_HTC_WWE_2.29.405.5_Radio_32.49.00.32U_5.11.05.27_release_159811_signed.exe

Une fois terminé il faut faire la mise à jour OTA pour passer en version 2.29.405.14 et pouvoir flasher le hboot permettant de débloquer le bootloader : PB9920000_Bravo_Froyo_hboot_1.03.0003_R.exe.

Le téléphone est maintenant prêt pour être débloqué en allant sur le site htcdev.com.
Il sera par la suite possible de reverrouiller et déverrouiller le bootloader autant de fois qu’on le veut :
Reverrouillage (pour le flashage de ROM RUU par exemple):
fastboot oem lock
Déverrouillage avec le fichier Unlock_code.bin fournit par HTC :
fastboot flash unlocktoken Unlock_code.bin

Codes secrets sur Xperia Z

Pour accéder au menu caché Service sur un téléphone Sony Xperia Z il suffit de composer le *#*#7378423#*#* , un moyen mnémotechnique est de retenir le fait que ces touches correspondent à *#*#service#*#*.

Pour activer le mode Demo il faudra composer le *#*#73556673#*#* , soit *#*#sellmore#*#*, pour le désactiver il faudra de nouveau le composer.

Il est aussi possible d’accéder au menu caché Android.

Modifier l’animation de démarrage sous Android

Il suffit tout simplement de remplacer le fichier /system/media/bootanimation.zip avec par exemple l’animation de CyanogenMod 9

Script php pour démarrer son PC à distance en Wake On Lan

Voici un script que j’utilise régulièrement pour démarrer mon pc à distance et pouvoir ensuite y accéder en ssh.

<?php

$IP_ADDRESS="10.0.0.1";
$MAC_ADDRESS="0123456789ab";

class Wol{
  private $nic;
  public function wake($mac,$ip){
    $this->nic = fsockopen("udp://$ip", 9);
    if( !$this->nic ){
      fclose($this->nic);
      return false;
    }
    else{
      fwrite($this->nic, $this->pacquet($mac));
      fclose($this->nic);
      return true;
    }
  }
  private function pacquet($Mac){
    $packet = "";
    //for($i = 0; $i < 6; $i++){$packet .= chr(0xFF);}
    $packet = "\xFF\xFF\xFF\xFF\xFF\xFF";
    for ($j = 0; $j < 16; $j++){
      for($i = 0; $i < 12; $i=$i + 2){$packet .= chr(hexdec(substr($Mac, $i, 2)));}
    }
    return $packet;
  }
}

$wol = new Wol();

$php_wal=$_POST['WAL'];

if ($php_wal!="OK") {

?> 
<!doctype html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Wake On Lan</title>
  </head>
  <body>
    <form action="<?php echo $_SERVER['SCRIPT_NAME'];?>" method="post">
      <input type="hidden" name="WAL" value="OK" >
      <input type="submit" value="Démarrer" autofocus>
    </form>
  </body>
</html>

<?php
    exit();
  }
  $wol->wake("$MAC_ADDRESS","$IP_ADDRESS");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Wake On Lan</title>
  </head>
  <body>
Démarrage en cours...
  </body>
</html>

Réorganiser les mp3 sur une clé usb pour une lecture sur Autoradio

Certains autoradios, comme les sony CDX-GT414U, ne savent pas lire les mp3 dans l’ordre alphabétique mais se basent sur l’ordre du système de fichier. Cela se traduit par une lecture dans le désordre les chansons.

Mais il existe une solution : FATSort

L’utilisation est très simple, pour une clé usb sur /dev/sdb :
sudo fatsort /dev/sdb1

Et voilà, toutes les chansons sont dans l’ordre

Rejet des appels anonymes sur CyanogenMod

Il existe une possibilité pour filtrer les appels anonymes sur la version modifiée d’Android CyanodenMod :
il faut entrer le numéro 0000 dans la liste noire.
Et ensuite au revoir centres d’appels ! Tous les appels masqués seront bloqués et renvoyés sur le répondeur.

Installation du SDK et du NDK Android en ligne de commande

Voici les étapes à suivre pour installer le SDK et le NDK Android en ligne de commande, par exemple sur un serveur dédié, ou pour faire des nighty build.

Prérequis

Avoir installé Java, voir le prérequis de l’article Compiler CyanogenMod pour un HTC Desire

Installation

Installation du NDK

Télécharger l’archive sur le site http://developer.android.com/sdk/ndk/index.html.
wget http://dl.google.com/android/ndk/android-ndk-r7-linux-x86.tar.bz2
Vérifier le md5sum.
Le décompresser et placer le répertoire à l’endroit souhaité.
tar xvjf android-ndk-r7-linux-x86.tar.bz2
mv android-ndk-r7 ~

Installation du SDK

Télécharger l’archive sur le site http://developer.android.com/sdk/index.html.
wget http://dl.google.com/android/android-sdk_r16-linux.tgz
Vérifier le md5sum.
Le décompresser et placer le répertoire à l’endroit souhaité.
tar xvzf android-sdk_r16-linux.tgz
mv android-sdk-linux ~

Entrer dans le répertoire du SDK puis installer les différentes plateformes avec la commande suivante :
./tools/android update sdk -u -t platform,platform-tool,extra

Exemple d’utilisation : Compilation de VLC media player

Pour cette compilation il faut des outils récents, j’ai donc testé la compilation sur la future Ubuntu 12.04 LTS.
Les prérequis sont les suivant :
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool gcc g++ autoconf gettext cvs libtool subversion cmake ant gawk pkg-config autopoint openjdk-6-jdk
et comme c’est une version 64 bits :
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.6-multilib g++-4.6-multilib

Les SDK et NDK sont installés respectivement dans les répertoires /home/ubuntu/android-sdk-linux et /home/ubuntu/android-ndk-r7

La version de awk fournie avec le ndk est ancienne, on la remplace donc par gawk :
mv ~/android-ndk-r7/prebuilt/linux-x86/bin/awk ~/android-ndk-r7/prebuilt/linux-x86/bin/awk.old
cp /usr/bin/gawk ~/android-ndk-r7/prebuilt/linux-x86/bin/awk

Maintenant les variables d’environnement :
export ANDROID_SDK=/home/ubuntu/android-sdk-linux
export ANDROID_NDK=/home/ubuntu/android-ndk-r7
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

Il ne reste plus qu’à récupérer les sources de VLC pour Android :
git clone git://git.videolan.org/vlc-ports/android.git

Et de lancer la compilation :
cd android
./compile.sh

Et voilà une version est disponible dans le répertoire vlc-android/bin

Compiler un kernel CyanogenMod pour un HTC Desire

Voici les étapes à suivre pour compiler un noyau pour la version Gingerbread de CyanogenMod pour le HTC Desire sous une Ubuntu 10.04 toute fraiche.

Prérequis

Avoir installé les repos pour CyanogenMod comme ici.
export CCOMPILER=${HOME}/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-

Créer le répertoire

mkdir -p ~/android/kernel

Installer le dépôt

cd ~/android/kernel
git clone git://github.com/CyanogenMod/cm-kernel.git -b android-msm-2.6.37
cd cm-kernel

Configuration de la compilation du noyau

Copier du téléphone le fichier /proc/config.gz et le coller dans ~/android/kernel/cm-kernel/config.gz puis :
cat config.gz | gunzip > .config
make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig

Compiler le noyau

Compilation

make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`

Récupérer les fichiers

Le fichier du noyau se situe là :
~/android/kernel/cm-kernel/arch/arm/boot/zImage
Le module pour le wifi ici :
~/android/kernel/cm-kernel/drivers/net/wireless/bcm4329/bcm4329.ko

Installation

Intégrer à CyanogenMod

cp ~/android/kernel/cm-kernel/arch/arm/boot/zImage ~/android/system/device/htc/bravo/kernel
cp ~/android/kernel/cm-kernel/drivers/net/wireless/bcm4329/bcm4329.ko ~/android/system/device/htc/bravo/bcm4329.ko

Puis recompiler CyanogenMod

Créer un update.zip

Utiliser la méthode de Koush