Blog de Nicolas Guillaumetag:ng.babeuk.net,2024:/index.php/2010-09-19T13:25:00+02:00DotCleardaily12010-09-19T13:25:00+02:00Pilotez votre Freebox HD avec votre shell !2010-09-19T13:25:00+02:00tag:ng.babeuk.net,2010-09-19:/6ngIntroduction
Depuis quelques temps il est possible de piloter votre (ou vos) boitiers HD depuis le réseau local en utilisant une API HTTP. C'est ainsi qu'un certain nombre d'application mobile (notamment pour Android) fleuris sur le web.
Pour profiter de cette fonctionnalité vous devez mettre... <p><br />
<strong>Introduction</strong></p>
<p>Depuis quelques temps il est possible de piloter votre (ou vos) boitiers HD depuis le réseau local en utilisant une API HTTP. C'est ainsi qu'un certain nombre d'application mobile (notamment pour Android) fleuris sur le web.
<br />
Pour profiter de cette fonctionnalité vous devez mettre à jour la Freebox HD (en la rebootant). Ensuite notez le code "télécommande" (8 chiffres).
Il est disponible dans Free > Paramètres > Informations générales > Code télécommande.</p>
<p><br />
<strong>Utilisation du script</strong></p>
<p>Téléchargez le script attaché à cet article.
<br />
Ensuite, configurez le code télécommande :
<br />
<code>$ freeboxremote setcode 12345678</code><br />
<br /></p>
<p>Il est alors possible de simuler l'appuie sur une touche de la télécommande.
<br />
Pour un appui :
<br />
<code>$ freeboxremote press <touche></code><br />
<br />
Pour un appui prolongé :
<br />
<code>$ freeboxremote hold <touche></code><br />
<br />
Pour un appui répété :
<br />
<code>$ freeboxremote rep <touche> <n></code><br />
<br />
Pour obtenir la liste des touches :
<br />
<code>$ freeboxremote keys</code><br />
<br />
Ce qui donne :
<br /></p>
<pre> red
green yellow
blue
power list tv
1 2 3 info/epg
4 5 6 mail/media
7 8 9 help/options
back 0 swap pip
up
vol_inc prgm_inc
left ok right
vol_dec prgm_dec
down
mute home rec
bwd fwd
play stop
prev next</pre>
<p><br />
<strong>Principe de fonctionnement</strong></p>
<p>Le principe de fonctionnement est simple, une requête HTTP GET (effecctuée via curl dans le script) suffit.
<br />
Pour un appui :
<br />
<code>http://hd1.freebox.fr/pub/remote_control?code=12345678&key=<touche></code><br /></p>
<p>Pour un appui prolongé :
<br />
<code>http://hd1.freebox.fr/pub/remote_control?code=12345678&key=<touche>&long=true</code><br /></p>
<p>Pour un appui répété :
<br />
<code>http://hd1.freebox.fr/pub/remote_control?code=12345678&key=<touche>&repeat=<n></code><br /></p>
<p><strong>Note :</strong> hd1.freebox.fr peut être remplacé par hd2.freebox.fr pour commander le deuxième boitier.</p>Connecter l'Eee PC 1000H à Internet 3G avec un portable bluetooth Orange2008-11-06T15:16:16+01:00tag:ng.babeuk.net,2008-11-06:/5ngCette article décrit comment se connecter avec un téléphone 3G Orange à Internet.
Prérequis
Cette manipulation fonctionne sur n'importe quel PC ayant Linux Slackware 12 d'installé. Il faut également un adapteur bluetooth fonctionnel (sous forme de clef USB ou intégré comme dans l'Eee... <p>Cette article décrit comment se connecter avec un téléphone 3G Orange à Internet.</p>
<p><strong>Prérequis</strong></p>
<p>Cette manipulation fonctionne sur n'importe quel PC ayant Linux Slackware 12 d'installé. Il faut également un adapteur bluetooth fonctionnel (sous forme de clef USB ou intégré comme dans l'Eee PC).</p>
<p>Ceci peut également fonctionner pour d'autres opérateurs à condition d'apadter <code>wvdial.conf</code>.</p>
<p><strong>Configuration de PPP</strong></p>
<p>Nous allons utiliser <code>wvdial</code> pour nous connecter via PPP, nous allons donc l'installer :</p>
<p><code>$ wget http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/3G_phone/wvstreams-4.2.2-i486-1ztm.tgz</code><br />
<code>$ wget http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/3G_phone/wvdial-1.56-noarch-1ztm.tgz</code><br />
<code># installpkg wvstreams-4.2.2-i486-1ztm.tgz wvdial-1.56-noarch-1ztm.tgz</code></p>
<p>Maintenant vous devez avoir un fichier de configuration <code>/etc/wvdial.conf</code> comme celui ci :</p>
<pre>[Dialer Defaults]
Modem = /dev/rfcomm1
Baud = 460800
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init5 = AT+CGDCONT=1,"IP","orange";
ISDN = 0
Modem Type = Analog Modem
Phone = *99***1#
username = orange
password = orange
Stupid Mode = 1</pre>
<p><strong>Activation du Bluetooth</strong></p>
<p>Si Bluetooth n'est pas activé, activez le :</p>
<p><code># sh /etc/rc.d/rc.bluetooth start</code><br />
<code># hcitool scan # Recherche des périphériques</code><br />
<code>Scanning ...</code><br />
<code> XX:XX:XX:XX:XX:XX MonTel</code></p>
<p>Maintenant on connait l'adresse du périphérique. On définit le code pin par défaut :</p>
<p><code># PHONE_MAC=XX:XX:XX:XX:XX:XX</code><br />
<code># echo -n 0000 > /etc/bluetooth/passkeys/$PHONE_MAC</code><br />
<code># sh /etc/rc.d/rc.bluetooth restart</code></p>
<p>On connecte le canal série :</p>
<p><code># DUN_CHANNEL=$(sdptool search --bdaddr $PHONE_MAC DUN | grep Channel | awk '{print $2}')</code><br />
<code># rfcomm bind 1 $PHONE_MAC $DUN_CHANNEL</code><br /></p>
<p><strong>Connexion à Internet</strong></p>
<p>Pour vous connecter, vous pouvez désactiver les autres interfaces :</p>
<p><code># ifconfig eth0 down</code><br />
<code># ifconfig ra0 down</code></p>
<p>Puis on se connecte :</p>
<p><code># wvdial</code></p>
<p>Vous voilà connecté au Net depuis n'importe où !</p>Installer Slackware 12.1 sur un Eee PC 1000H2008-08-28T10:18:07+02:00tag:ng.babeuk.net,2008-08-28:/4ngJe décris ici comment installer Slackware 12.1 sur un Eee PC. J'ai également installé KDE4 depuis current/testing mais ce n'est pas spécifique à l'Eee PC donc je n'en parle pas ici :).
Une petite capture d'écran pour le plaisir :
Installation de base
Comme il n'y a pas de lecteur... <p>Je décris ici comment installer <a href="http://www.slackware.com" hreflang="en">Slackware</a> 12.1 sur un Eee PC. J'ai également installé KDE4 depuis <a href="http://ftp.lip6.fr/pub/linux/distributions/slackware/slackware-current/testing/packages/kde4/">current/testing</a> mais ce n'est pas spécifique à l'Eee PC donc je n'en parle pas ici :).</p>
<p>Une petite capture d'écran pour le plaisir :</p>
<p><a href="http://ng.babeuk.net/images/s1.png"><img src="http://ng.babeuk.net/images/s1_min.png" alt="" /></a></p>
<p><strong>Installation de base</strong></p>
<p>Comme il n'y a pas de lecteur de DVD sur la machine, le plus simple consiste à booter sur une clef USB et d'installer les paquets depuis un disque dur externe ou par le réseau (dans ce cas il faudra installer le module qui va bien pour que le port ethernet fonctionne, voir plus bas).</p>
<p>On prépare la clef bootable (attention, son contenu sera effacé !) :</p>
<p><code>$ wget http://ftp.lip6.fr/pub/linux/distributions/slackware/slackware-12.1/usb-and-pxe-installers/usbboot.img</code><br />
<code># dd if=usbboot.img of=/dev/sdX</code></p>
<p>Ensuite il suffit d'insérer la clef, de monter le support externe et le tour est joué.</p>
<p><strong> Noyau personnalisé </strong></p>
<p>Le noyau par défaut (hugesmp.s) reconnait le disque dur du PC avec un mauvais pilote. On se retrouve avec un périphérique en /dev/hda au lieu de /dev/sda et les performances sont absolument catastrophiques. Pour remédier à cela, il faut désactiver <code>ATA/ATAPI/MFM/RLL support</code> dans <code>Device Drivers</code> dans la config du noyau et recompiler.</p>
<p>Sinon un tel noyau déjà compilé est disponible <a href="http://www.babeuk.net/~ng/eeePC_1000H_slackware/kernel/">ici</a> (avec le fichier config).</p>
<p>Il faut également penser à ajouter les lignes suivantes au <code>/etc/rc.d/rc.modules</code> :</p>
<p><code>/sbin/modprobe atl1e</code><br />
<code>/sbin/modprobe i915</code><br />
<code>/sbin/modprobe uvcvideo</code><br />
<code>/sbin/modprobe eeepc_acpi</code></p>
<p>Pour charger respectivement les pilotes ethernet, graphique, de la webcam, et pour l'acpi.</p>
<p><strong> Installation du pilote acpi </strong></p>
<p>Il faut le compiler depuis <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/acpi/eeepc-acpi.tar.gz">les sources</a>, ce qui se fait très simplement :</p>
<p><code>$ wget http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/acpi/eeepc-acpi.tar.gz</code><br />
<code>$ tar fxz eeepc-acpi.tar.gz</code><br />
<code>$ cd eeepc-acpi</code><br />
<code># make</code><br />
<code># make install</code></p>
<p>Un petit tour dans <code>/proc/acpi/asus</code> permettra de vérifier que le module fonctionne bien.</p>
<p><strong> Installation du pilote ethernet </strong></p>
<p>Les sources sont <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/ethernet_and_sound/">ici</a>.</p>
<p>Il suffit de télécharger l'archive, de la décompresser, d'aller dans <code>L1e_Lan/src/</code> et de taper :</p>
<p><code># KBUILD_NOPENDANTIC=1 make</code><br />
<code># KBUILD_NOPENDANTIC=1 make install</code></p>
<p>Il y a déjà un binaire compilé par mes soins dans <code>L1e_Lan/</code> pour le noyau 2.6.24.5-smp. Il est particulièrement utile si vous désirez faire l'installation réseau et que vous ne pouvez pas encore compiler.</p>
<p><strong> Installation du pilote audio </strong></p>
<p>La carte son est reconnue par le module <code>snd_hda_intel</code> sans rien faire. Par contre je ne suis pas encore parvenu à faire fonctionner les haut-parleurs intégrés, seule la sortie écouteur fonctionne.</p>
<p><strong> Installation du pilote vidéo </strong></p>
<p>La carté vidéo est reconnue par le module <code>i915</code>. Mon xorg.conf est disponible <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/config/xorg.conf">ici</a>.</p>
<p>On peut très facilement activer le port VGA :</p>
<p><code>$ xrandr --output VGA --mode 1280x1024</code><br /></p>
<p>Et le désactiver :</p>
<p><code>$ xrandr --output VGA --off</code><br /></p>
<p><strong> Installation du touchpad </strong></p>
<p>La configuration est dans le xorg.conf, il faut juste installer les pilotes pour X :</p>
<p><code>$ wget http://www.babeuk.net/~ng/eeePC_1000H_slackware/drivers/touchpad/synaptics-git20080509-i486-1.tgz</code><br />
<code># installpkg synaptics-git20080509-i486-1.tgz</code></p>
<p><strong> Installation de la webcam </strong></p>
<p>C'est très simple :</p>
<p><code>$ wget http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/webcam/uvcvideo-svn208_2.6.24.5_smp-i686-1_evs.tgz</code><br />
<code># installpkg uvcvideo-svn208_2.6.24.5_smp-i686-1_evs.tgz</code></p>
<p>Et voilà ! On peut tester avec mplayer :</p>
<p><code>mplayer -fps 30 tv:// -tv driver=v4l2:device=/dev/v4l/video0</code></p>
<p>La webcam fonctionne également automatiquement avec Kopete.</p>
<p><strong> Installation du WiFi N </strong></p>
<p>Nous allons installer le WiFi avec le pilote <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/wifi/RT2860_Linux_STA_WPASupplicant_v1.7.0.0.tar.bz2">RT2860 natif</a>. Il suffit de le télécharger et de le compiler :</p>
<p><code>$ wget http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/wifi/RT2860_Linux_STA_WPASupplicant_v1.7.0.0.tar.bz2</code><br />
<code>$ tar fxj RT2860_Linux_STA_WPASupplicant_v1.7.0.0.tar.bz2</code><br />
<code>$ cd RT2860_Linux_STA_WPASupplicant_v1.7.0.0</code><br />
<code># make </code><br />
<code># make install </code><br />
<code># modprobe rt2860sta</code></p>
<p>Ce pilote fonctionne très bien avec le pilote générique (wext) de <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/wifi/wpa_supplicant_1000H.tar.bz2">wpa_supplicant</a>, on peut donc installer et utiliser ce dernier :</p>
<p><code>$ wget http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/wifi/wpa_supplicant_1000H.tar.bz2</code><br />
<code>$ tar fxj wpa_supplicant_1000H.tar.bz2</code><br />
<code># cp wpa_supplicant wpa_cli wpa_passphrase /usr/local/bin/</code></p>
<p>Ensuite, il ne reste plus qu'à configurer votre WiFi avec wpa_supplicant, comme d'habitude et de taper :</p>
<p><code># ifconfig ra0 up</code><br />
<code># wpa_supplicant -Dwext -ira0 -c votre_fichier_config</code><br />
<code># dhclient ra0</code></p>
<p>Et vous voilà connecté !</p>
<p><strong> Installation du bluetooth </strong></p>
<p>Rien à faire.</p>
<p><strong> Installation du lecteur de carte SD </strong></p>
<p>Rien à faire.</p>
<p><strong> Installation de la TNT Asus MyCinema U3000 </strong></p>
<p>Il faut compiler les modules depuis les <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/dvb_MyCinema_U3000/EeePC_TVDrv_Src_11.zip">sources</a>.</p>
<p>Ensuite on peut installer <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/dvb_MyCinema_U3000/dvb-apps-20080512-i686-1an.tgz">dvb-apps</a> puis la <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/dvb_MyCinema_U3000/dvb-freqs.tar.bz2">liste des fréquences</a> à extraire dans <code>/usr/share/dvb/dvb-t/</code>. On peut également utiliser <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/dvb_MyCinema_U3000/mplayer-scan-dvb">ce script</a> sympa pour scanner automatiquement les chaines pour mplayer, en fonction du lieu.</p>
<p>Le <a href="http://www.babeuk.net/ng/eeePC_1000H_slackware/drivers/dvb_MyCinema_U3000/dvb-usb-dib0700-1.10.fw">firmware</a> est à copier dans <code>/lib/firmware/</code>.</p>
<p>Une fois tout ceci installé, on peut tester :</p>
<p><code>$ mplayer-scan-dvb fr-Nancy # tapez mplayer-scan-dvb seul pour voir la liste des villes supportées</code><br />
<code>$ mplayer dvb://W9</code></p>vdm2fortune ou comment lire les VDMs avec fortune2008-08-24T15:25:20+02:00tag:ng.babeuk.net,2008-08-24:/3ngInstallation de vdm2fortune
Téléchargez le script attaché à ce billet et placez le dans votre /usr/bin/ par exemple :
# cp vdm2fortune /usr/bin/
# chmod a+rx /usr/bin/vdm2fortune
Note : Vous pouvez lancer le script sans l'installer.
Mise à jour de la base fortune
Pour mettre à jour... <p><br />
<strong>Installation de vdm2fortune</strong></p>
<p>Téléchargez le script attaché à ce billet et placez le dans votre /usr/bin/ par exemple :<br />
<br />
<code># cp vdm2fortune /usr/bin/</code><br />
<code># chmod a+rx /usr/bin/vdm2fortune</code><br />
<br /></p>
<p><strong>Note :</strong> Vous pouvez lancer le script sans l'installer.</p>
<p><br />
<strong>Mise à jour de la base fortune</strong></p>
<p>Pour mettre à jour votre base fortune tapez simplement <code>vdm2fortune</code>, le script se charge de tout !</p>
<p>Si vous être root, la base sera partagée pour tout le monde (dans <code>/usr/share/games/fortunes</code>) sinon elle sera copiée dans le dossier courant.</p>
<p>Il ne vous reste plus qu'a entrer <code>fortune vdm </code> pour voir une VDM aléatoire.</p>Des VDMs dans la console ?2008-07-23T12:34:35+02:00tag:ng.babeuk.net,2008-07-23:/2ngSi vous êtes passionné par les VDM au point de vouloir les lire dans votre console, cet article est fait pour vous !
Installation de VDM
Téléchargez le script attaché à ce billet et placez le dans votre /usr/bin/ par exemple :
# cp vdm /usr/bin/
# chmod a+rx /usr/bin/vdm... <p>Si vous êtes passionné par les <a href="http://www.viedemerde.fr" hreflang="fr">VDM</a> au point de vouloir les lire dans votre console, cet article est fait pour vous !</p>
<p><br />
<strong>Installation de VDM</strong></p>
<p>Téléchargez le script attaché à ce billet et placez le dans votre /usr/bin/ par exemple :<br />
<br />
<code># cp vdm /usr/bin/</code><br />
<code># chmod a+rx /usr/bin/vdm</code><br />
<br /></p>
<p>Désormais, en tapant simplement <code>vdm</code> dans votre shell préféré, une VDM aléatoire s'affiche !</p>
<p><br />
<strong>Les différentes options</strong></p>
<p>Vous pouvez spécifier des options au script :</p>
<ul>
<li><code>-r</code> : affiche une VDM aléatoire (choix par défaut);</li>
<li><code>-l</code> : affiche les 15 dernières VDM;</li>
<li><code>-t</code> : affiche le top;</li>
<li><code>-f</code> : affiche le flop;</li>
<li><code>-p <n></code> : indique la page à afficher (0 pour la première, 1 pour la deuxième, ...).</li>
</ul>
<p><br />
<strong>Des VDMs quand on se connecte</strong></p>
<p>Pour que tout les utilisateurs profitent des VDMs à la connexion, tapez :<br />
<br />
<code># ln -s /usr/bin/vdm /etc/profile.d/vdm.sh</code><br />
<br /></p>
<p>Ou sinon dans votre ajoutez dans votre <code>.bashrc</code> :<br />
<br />
<code>vdm</code><br />
<br /></p>
<p><br />
<strong>Conculsion</strong></p>
<p>Et voilà vous n'avez plus de raison de vous ennuyer face à votre shell :) !</p>