text

Auto switch off data android

I was looking for an application that can auto switch off my data connection as soon as I switch the screen of my android device off. The thing is that I don't care about data sync, I just need my phone to receive SMS & calls while the screen is off.

It is, from my point of view, really anoying to scroll down the notification status bar and enable/disable the data each time I turn on the screen. After all, I am a developer and the less I do, the better I feel 😛

So, I starting digging around google to find if I can script it.

First, my android device is rooted, which is really great because I can run root command from adb shell. The first command I found is to enable or disable the data:

svc data disable

or

svn data enable

Great!

Then, I found another command to get the screen status:

dumpsys power|grep "Display Power: state="

Amazing!

With busybox installed, I can do better by awk-ing the result in order to have only the on/off status:

dumpsys power |grep "Display Power: state=" | busybox awk -F'=' '{print $2}'

Finally, bringing all of this in a script which run continuously:

while [ 1 ] ; do
 STATUS=$(dumpsys power |grep "Display Power: state=" | busybox awk -F'=' '{print $2}')
 DATE=$(date)
 if [ "Z$STATUS" = "ZOFF" ] ; then
  echo "$DATE   --  disabling data"
  svc data disable
 else
  echo "$DATE   --  enabling data"
  svc data enable
 fi
sleep 5
done

It works!

I choose for now not to run this script automatically, but from a terminal emulator in order to test it few days/weeks, but as far as I can see, it's working very smoothly!

#android #adb #data

text

Reset périphérique USB (unplug / replug) logiciel sous linux

Vous avez parfois besoin de simuler le débranchement / rebranchement d'un périphérique USB sur linux (sur un serveur par exemple).

J'ai ce qu'il vous faut !

Il vous suffit d'utiliser un petit bout de code en C :

#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <linux/usbdevice_fs.h>
void main(int argc, char **argv)
{
 const char *filename;
 int fd;
 filename = argv[1];
 fd = open(filename, O_WRONLY);
 ioctl(fd, USBDEVFS_RESET, 0);
 close(fd);
 return;
}

Enregistrez ce code dans un fichier reset.c puis compilez le :

gcc -o reset reset.c

Vous allez ainsi récupérer un binaire reset que vous pourrez utiliser comme ceci :

sudo ./reset /dev/bus/usb/002/004

Pour connaitre l'adresse de votre périphérique USB, vous pouvez utiliser la commande lsusb :

lsusb

Bus 002 Device 004: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

Info trouvée initialement ici :

http://gconfig.blogspot.co.uk/2012/07/how-to-reset-usb-device-in-linux.html

#linux #reset #usb #c

text

Console Linux AZERTY / QWERTY

Votre console linux est en QWERTY ?

Vous voulez la passer en AZERTY ?

Pour cela il vous suffit de taper la commande suivante :

sudo loadkeys fr 

#linux #console #cli

text

Migrer VM Xen vers Proxmox (KVM)

Vous aussi, comme moi, vous avez de vieux serveur XenServer 5.6 ?

Voici un petit tuto pour migrer les VM vers un proxmox.

Export de la VM

Avec l'outil en ligne de commande xe :

xe vm-export vm=*nomdelaVM* filename=*fichier.xva*

Vous allez obtenir un gros fichier.xva. C'est en fait une archive tar.

Import sur le proxmox

Débrouillez vous pour copier ce fichier sur le serveur proxmox (clef USB, scp, etc.)

Puis, decompressez le fichier :

tar -xf fichier.xva

Vous allez obtenir un fichier ova.xml et un dossier du genre Ref:7 :

ls -alh

-rw-------  1 root root  12G Sep 26 15:58 export.xva
----------  1 root root  26K Jan  1  1970 ova.xml
drwxr-xr-x  2 root root 796K Sep 26 16:04 Ref:7

Conversion vers QCOW2

Dans le dossier Ref:7, vous trouverez plein de petits fichiers. Tous ces petits fichiers forment le disque de votre VM.

Avant de le convertir en QCOW2, il faut passer par un fichier intermédiaire en .img.

Pour cela, un script est disponible sur pastebin:

http://pastebin.com/MK5Da8CB

Récupérez ce script sur votre machine :

wget http://pastebin.com/download.php?i=MK5Da8CB

Puis exécutez le :

python xenmigrate.py -c Ref\:7/ test.img

Enfin, convertissez alors le fichier img en QCOW2 :

qemu-img convert -O qcow2 test.img vm-108-disk-1.qcow2

Replacez le fichier qcow2 d'une VM vierge par celui ainsi produit, démarrez là et c'est bon !

Info trouvée initialement ici :

http://blog.7979.us/2014/01/convert-xva-qcow2-raw/

#linux #virtualisation #xen #kvm #proxmox #qcow2 #xva

text

KVM et VirtualBox en même temps : pas possible !

Vous vouliez faire tourner KVM (avec libvirt par exemple) et VirtualBox sur le même noyau linux : walou.

En effet, ils utilisent des modules qui rentrent en conflits et ne peuvent pas fonctionner en même temps.

Le message d'erreur que vous avez est celui-ci :

error: Failed to create domain from vm.xml
error: internal error: process exited while connecting to monitor: char device redirected to /dev/pts/5 (label charserial0)
failed to initialize KVM: Device or resource busy

Pour utiliser KVM, il faut stopper VirtualBox :

sudo service virtualbox stop
sudo service qemu-kvm start

À l'inverse, pour utiliser VirtualBox :

sudo service qemu-kvm stop
sudo service virtualbox start

Info trouvée initialement ici :

http://swaeku.github.io/blog/2013/04/04/run-kvm-and-virtualbox-together/

#linux #virtualisation #virtualbox #kvm