Comprendre les timings d’une mémoire vive

Lors de la lecture des spécifications d’une barrette de mémoire vive (Random Access Memory), il est possible de voir le terme « CAS » suivit d’une valeur (par exemple : CAS 3) ou de voir une succession de chiffres (par exemple : 3-8-8-2). Mais à quoi correspond tout ce bazar ?

La deuxième notation est la mieux détaillée, elle donne 4 informations décrites ci-dessous :

  • le CAS latency (Column Address Strobe) : nombre de cycles d’horloge nécessaires entre l’envoi de l’adresse d’une colonne mémoire et le début donnée résultante
  • le Row Address to Column Address Delay (abrégé par tRCD) : nombre de cycles d’horloge nécessaires entre l’ouverture d’une ligne mémoire et l’accès à une colonne
  • le Row Precharge Time (abrégé par tRP) : nombre de cycles d’horloge nécessaires entre la demande de pré-chargement de la ligne suivante et l’ouverture effective de la dite ligne
  • le Row Active time (abrégé par tRAS) : nombre de cycles d’horloge durant lequel une donnée placée en mémoire restera active avant d’être détruite

La notation du style « CAS 3 » est donc une partie réduite des timing d’une barrette de mémoire vive, elle ne procure que le temps d’accès à une donnée.

Monitoring système grâce à Conky

Pour faciliter le monitoring de son ordinateur tout en ajoutant une touche de personnalisation, nous utiliserons un logiciel nommé Conky. Conky actualise en permanence les données de l’ordinateur (quota disque, températures, activité réseau, …) pour ensuite les afficher sur le bureau de l’utilisateur. Pour voir quelques captures d’écran afin d’apprécier le rendu, rendez-vous ici.

Installation du paquet « conky-all » après mise à jour de la liste des paquets.
apt-get update && apt-get install conky-all

A l’aide de votre éditeur de texte préféré, créeons tout d’abord le fichier « .conkyrc » (bien mettre un point devant, c’est un fichier caché) dans le répertoire de l’utilisateur courant (exemple : /home/mon-utilisateur)

#
# Documentation : http://conky.sourceforge.net/variables.html
#
# Version : 0.1
#


# Polices par défaut.
use_xft yes
xftfont Ubuntu:size=10
override_utf8_locale yes


# Couleur par défaut.
default_color E0DFDE


# Couleur du titre.
color0 DD3A21


# Configuration des performances.
update_interval 1
total_run_times 0
double_buffer yes
no_buffers yes
net_avg_samples 2
text_buffer_size 1024


# Configuration de la fenêtre.
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager


# Bordures de la fenêtres.
draw_borders no
draw_shades no


# Taille et position.
minimum_size 256 850
gap_x 1
gap_y 25
alignment top_right


TEXT


${GOTO 36}${font Ubuntu:bold:size=12}${color0}Système${font}${color}


${GOTO 36}Kernel:${GOTO 120}${kernel}
${GOTO 36}CPU 1:${GOTO 120}${cpubar cpu1 10,75} ${cpu cpu1} %
${GOTO 36}CPU 2:${GOTO 120}${cpubar cpu2 10,75} ${cpu cpu2} %
${GOTO 36}RAM:${GOTO 120}${membar 10,75} ${memperc} %
${GOTO 36}SWAP:${GOTO 120}${swapbar 10,75} ${swapperc} %
${GOTO 36}Uptime:${GOTO 120}${uptime}


${GOTO 36}${font Ubuntu:bold:size=12}${color0}Batterie${font}${color}


${GOTO 36}Etat:${GOTO 120}${battery BAT0}


${GOTO 36}${font Ubuntu:bold:size=12}${color0}Disques${font}${color}


${GOTO 36}OS:${GOTO 120}${fs_used /}/${fs_size /}
${GOTO 120}${fs_bar 10,100 /}
${GOTO 36}DATA:${GOTO 120}${fs_used /mnt/partition_data}/${fs_size /mnt/partition_data}
${GOTO 120}${fs_bar 10,100 /mnt/partition_data}


${GOTO 36}${font Ubuntu:bold:size=12}${color0}Réseau${font}${color}


${GOTO 36}Interface eth0
${GOTO 36}Up:${GOTO 120}${upspeedf eth0} KiB/s
${GOTO 120}${upspeedgraph eth0 10,100 B7B2AD B7B2AD}
${GOTO 36}Down:${GOTO 120}${downspeedf eth0} KiB/s
${GOTO 120}${downspeedgraph eth0 10,100 B7B2AD B7B2AD}
${GOTO 36}Envoyé:${GOTO 120}${totalup eth0}
${GOTO 36}Téléchargé:${GOTO 120}${totaldown eth0}
${GOTO 36}Adresse IP:${GOTO 120}${addr eth0}


${GOTO 36}Interface wlan0
${GOTO 36}Up:${GOTO 120}${upspeedf wlan0} KiB/s
${GOTO 120}${upspeedgraph wlan0 10,100 B7B2AD B7B2AD}
${GOTO 36}Down:${GOTO 120}${downspeedf wlan0} KiB/s
${GOTO 120}${downspeedgraph wlan0 10,100 B7B2AD B7B2AD}
${GOTO 36}Envoyé:${GOTO 120}${totalup wlan0}
${GOTO 36}Téléchargé:${GOTO 120}${totaldown wlan0}
${GOTO 36}Adresse IP:${GOTO 120}${addr wlan0}


${GOTO 36}IP passerelle:${GOTO 120}${gw_ip}
${GOTO 36}IP Publique:${GOTO 120}${execi 180 ~/.conky.sh public_ip}


${GOTO 36}${font Ubuntu:bold:size=12}${color0}Températures${font}${color}


${GOTO 36}CPU:${GOTO 120}${acpitemp} °C
${GOTO 36}Disque dur:${GOTO 120}${hddtemp} °C

Nous allons créer maintenant un deuxième fichier nommé « .conky.sh » qui sera un script shell additionnel permettant d’ajouter des fonctions à Conky.

#!/bin/bash

#
# Script permettant l'ajout de fonctions pour Conky
#
# Attention de bien le rendre exécutable !
#
# Version : 0.1
#

if [ $# -eq 1 ] ; then

case $1 in

public_ip)
#
# Récupération de l'IP :
# Affichage seulement si résultat retourne moins d'une ligne.
#
if [ `wget -qO - whatismyip.org | wc -l` -lt 1 ] ; then
wget -qO - whatismyip.org
else
echo "No Address"
fi

;;

test)
#
# Simple test d'affichage.
#
echo "Hello World !"
;;

esac

else

echo "Trop d'arguments ! (1 seul est requis)"

fi

Il ne faut pas oublier de rendre exécutable le fichier précedemment créé.
chmod +x ~/.conky.sh

Si rien n’a changé sur votre bureau, même après un redémarrage de l’ordinateur, c’est tout à fait normal. Conky n’est juste pas lancé, pour le faire il existe a deux techniques :

  1. la manuelle, en lançant la commande « conky » dans un terminal
  2. l’automatique pour permettre le lancement de conky à l’ouverture de session :
    • « Système »
    • « Préférences »
    • « Applications au démarrage »
    • « Ajouter »
    • Nom : Conky
    • Commande : sh -c "sleep 20; conky;"
    • Commentaire : Lancement retardé de Conky

L’HTC HD2 et son problème d’heure d’hiver

[MAJ] Le 20 Décembre 2010, HTC a publié un correctif pour le téléphone, rendez ici pour corriger le problème.


Le 31 Octobre 2010, la plupart des appareils électroniques sont passés à l’heure d’hiver automatiquement et sans soucis, mais ce n’est pas le cas du téléphone HTC HD2 !

Il est possible de se retrouver avec 5h de décalage, voir des fois un jour …

La technique pour y remédier, d’après différents sites, est de réaliser ces quelques étapes :

  • « Démarrer »
  • « Paramètres »
  • « Options »
  • « Plus »
  • « Personnel »
  • « Téléphone »
  • « Services GSM/UMTS »
  • griser « Synchronisation de l’heure »
  • « Afficher les paramètres… »
  • décocher « Changer automatiquement le fuseau horaire et l’heure »
  • « OK »
  • Redémarrer le téléphone (non obligatoire)

Dans l’attente d’un patch de la part de HTC ou de la part de xda-developper, c’est actuellement la seule solution connue pour revenir à la normale, espérons que cela soit corrigé rapidement … 🙂

Flasher une Fonera 2200 avec le firmware DD-WRT

Présentation du concept Fon

Fon est un concept qui se défini comme étant la plus grande communauté Wi-Fi du monde et le meilleur moyen de se connecter à Internet gratuitement. Pour étendre son réseau, Fon propose sur son site d’acheter des points d’accès sans-fil appelés Fonera. Divers modèles sont commandables, du simple point d’accès Wi-Fi, au routeur très évolué. Une fois connecté, le boitier émet deux signaux Wi-Fi :

  • un privé, appelé MyPlace, dont seul vous connaissez la clé pour vous connecter
  • un public, appelé FON_FREE_INTERNET, pour permettre aux Foneros (les utilisateurs du concept Fon) d’accéder à Internet grâce à leur compte Fon.

Mais pourquoi changer le système déjà en place ?

Pour un « simple utilisateur », une Fonera est un boitier dénué d’utilité à part partager une connexion Internet, ce qui n’est pas faux, car le micro-logiciel présent dedans bride la Fonera. Mais en fouillant sur la toile, il est possible de trouver des micro-logiciels alternatifs comme DD-WRT (actuellement, aucun autre n’est adapté pour les Fonera). DD-WRT ajoute des fonctions intéressantes comme un client/serveur OpenVPN, un serveur de partage de fichiers si la Fonera dispose d’un port USB, …

Matériel requis

Pour mener à bien le flashage de notre Fonera, il faut :

  • une Fonera (la version 2200 ici)
  • un ordinateur avec une carte réseau filaire
  • un câble Ethernet droit ou croisé

Préparation de la Fonera

Attention ! Les opérations à réaliser ne sont pas sans risque ! Il faut le savoir, il est possible de détériorer complètstrongent la Fonera, vous voilà prévenu.

Récupération des fichiers nécessaires sur Internet

Tout d’abord, nous allons mettre en place un serveur TFTP, pour cela nous allons prendre TFTPD32. Pour éviter une installation, nous allons prendre la version nommée « tftpd32 standard edition (zip) ».

Puis nous allons sur le site de DD-WRT pour y consulter leur Router Database. Il faut ensuite :

  • saisir les 3 premières lettres du nom de la Fonera, du fabricant ou la version, dans notre cas : Fon
  • cliquer ensuite sur la Fonera correspondante, dans notre cas : LaFonera 2200
  • télécharger le fichier linux.bin sur votre ordinateur et placez le fichier avec les fichiers de TFTPD32 (comprendre dans le même dossier/endroit).

Et enfin nous allons nous rendre sur le site de téléchargements de PuTTY pour récupérer le fichier putty.exe

Configuration réseau

Il faut affecter la configuration réseau suivante à l’ordinateur :

  • adresse IP : 192.168.1.10
  • masque de sous-réseau : 255.255.255.0

A noter qu’une adresse comprise entre 192.168.1.2 et 192.168.1.254 aurait pu être utilisée. La Fonera, quant à elle dispose de l’adresse IP 192.168.1.1

Procédure pour flasher la Fonera

Phase 1 : établissement d’une connexion entre un ordinateur et la Fonera

Pour le moment, ne faite que brancher le câble réseau entre la Fonera et votre ordinateur. Ne branchez pas encore la Fonera sur la secteur !

  • lancer TFTPD32 et vérifier que l’interface réseau est bien 192.168.1.10 (à moins que vous l’ayez changé)
  • ouvrir une invite de commande et préparer la commande suivante sans l’exécuter pour le moment : ping 192.168.1.1 -t
  • lancer PuTTY, et préparer la session Telnet comme suit :
    • Host name (or IP address) : 192.168.1.1
    • Connection type : Telnet
    • Port : 9000
  • valider la commande saisie dans l’invite de commande, la laisser faire tout en la gardant en visuel
  • brancher sur le secteur la Fonera
  • dès que la commande ping aboutie pour la première fois, se connecter avec PuTTY (bouton Open). En principe vous devriez arriver dans le Redboot, le système de boot de la Fonera
  • fermer l’invite de commande utilisée pour exécuter le ping
Phase 2 : le flashage

Dans la console PuTTY, il faut saisir les lignes suivantes en adaptant si besoin :

  • ip_address -l 192.168.1.1 -h 192.168.1.10
  • fis init
  • load -r -v -b 0x80041000 linux.bin
  • fis create linux
  • fconfig
    • fis load -l linux
    • exec
  • reset
Phase 3 : le test

En exécutant la commander reset précédemment, la Fonera a redémarré. Pour savoir si tout s’est bien déroulé, vérifiez visuellement que les diodes WLAN et POWER sont biens allumées, puis tentez de vous connecter en Wi-Fi sur la borne. Par défaut le SSID est dd-wrt. Vous pourrez procédez à la toute première configuration de la borne grâce à l’interface web d’administration.

Liens utiles

Le blog est maintenant sécurisé

Dans le but de rendre le blog un peu plus sécurisé, celui-ci est maintenant doté de certificats de chiffrement pour toute la partie d’administration. A terme, c’est tout le blog qui sera accessible de façon cryptée ! Un truc pour les paranoïaques de la sécurité 🙄 ^^

Cette sécurisation a été rendu possible grâce au module GnuTLS pour le serveur Apache.