kops Kops Online PageS

30mai/090

Du changement dans le système

Les exams passés, le projet multimessenger rendu, ainsi que la vidéo d'animation, il était temps de faire du ménage sur le pc. J'ai cherché un nouveau système à essayer. La contrainte était d'avoir un environnement sous Kde4. Pourquoi ne pas essayer autre chose que du linux ? Je regarde vite fait du côté des BSD les plus connus : OpenBSD, FreeBSD et NetBSD. Le choix part pour NetBSD... Pourquoi pas ?

Installation du système de base pas plus compliquée qu'un autre système, le serveur X ne pose pas des masses de problèmes non plus, c'est quasiment tout automatisé par des scripts. Maintenant, pour installer KDE4 faut aller utiliser le projet WIP, qui signifie "Work In Progress". Déjà ça rebute un peu quand on veut se construire un environnement pour une utilisation de tous les jours. Qu'à cela ne tienne, c'est parti... On lance la compilation de l'usine à gaz. Ça a fini par fonctionner, mais finalement c'est pas ce qu'il me faut. Si je me permet de comparer le système pkgsrc de NetBSD à portage de Gentoo, je trouve portage bien plus simple à utiliser (quand on installe depuis les sources bien sûr). Les "use flags" de Gentoo sont plus simple à mettre en place que les "options" de NetBSD.

Du coup, j'ai un élan de lucidité : Et si j'essayais un truc où on compile pas tout ? Un truc ou y'a tout qu'est intégré, et qu'on optimise pas ? Je persiste du côté BSD, et là je sors PCBSD. Basé sur FreeBSD et il a déjà l'environnement de bureau KDE4 ! Testé sur mon portable aucun soucis, ça tournait. Mais sur mon pc de bureau, pas moyen de passer l'installation, le pc freeze au milieu de la copie des fichiers. Il est 3h du mat', il me faut une solution sans me prendre la tête.

Et je teste Arch Linux. Installé en moins d'une heure (largement) avec un KDE4 qui marche parfaitement bien. La simplicité d'installation est impressionnante. J'ai même failli me laisser tenter par remonter un RAID + LVM sur mes 3 disques durs Raptor. La raison m'a rappelé à l'ordre, pour ce que ça apporte, j'ai remis ça à plus tard. Mais n'empêche que ça doit être possible de mettre ça en place en deux coups de baguette magique.

4fév/090

Nouveau PC : Samsung Q45

photo du Samsung Q45 XIV
J'ai pensé plusieurs fois changer de PC, mais j'ai à chaque fois oublié l'idée. Difficile de trouver un PC portable avec une bonne finition, donc j'ai tendance à regarder du côté des mac. Rhaaa, les Macbook, ça coûte une fortune pour ce que c'est. Et donc samedi dernier c'est les "soldes" au boulot, on vend des PC ultra portables Samsung Q45 : 799€ -50%... 399€ un portable avec un Core 2 Duo 2Ghz, 2Go de ram, et une carte graphique ignoblement pourrie. 10 minutes pour réfléchir, j'en prend un.

A première vue, la finition est plutôt mauvaise. Habitué à mon bon vieux iBook, là je vois la différence : les plastiques sont "mous", on a l'impression qu'ils vont fêler à la moindre petite chute.  D'autre part on voit des ouvertures par endroits. À 400€, je vais pas trop me plaindre, même si le design date quand même de plusieurs années car il semble reprendre celui du du Q35.

Premier démarrage (cool je vais tester Windows Vista pour la première fois)... c'est affreusement long. Bon ok, c'est le premier démarrage avec la création du compte utilisateur etc. Second mauvais point, Samsung qui en rajoute une couche avec son utilitaire de restauration qui doit faire redémarrer le pc pour créer une image disque. Je me demande si ça n'aurait pas pu être fait avant la sortie d'usine.

L'installation de Linux commence mal, difficile de trouver un livecd qui boot du premier coup. Evidemment j'ai commencé par le dernier Gentoo 2008.0 LiveCD 64bits, j'ai eu un joli freeze au boot. Du coup je me retranche sur les vieux Live CD qui me tombent sous la main (Ubuntu, Debian, LFS...) Au final le problème a été résolu en bootant avec l'option "nofb".

Le boot passé tout va bien. Les nombreux guides sur le site Gentoo permettent d'optimiser et de personnaliser facilement le PC. Quoique, la majorité des boutons "FN + F1.... F12" ne fonctionnent pas, et là où ça devient ennuyant c'est pour couper le wifi quand on en n'a pas besoin. Ou bien quand on veut baisser/augmenter la luminosité de l'écran, pour le moment la solution est d'utiliser le logiciel xbacklight.

Bon, résumons les choses intéressantes, ce qui marche bien :

  • Le touchpad fonctionne avec le driver Synaptics, donc y'a moyen de s'amuser avec.
  • La webcam fonctionne avec Video4Linux2
  • Le wifi fonctionne avec le module iwl2945
  • Le module 3G+ fonctionne parfaitement avec le module hso
  • La gestion de l'autonomie fonctionne pas trop mal globalement (si on met de côté l'écran, le wifi etc)

Voyons ce que je n'ai pas encore essayé/reussi à faire fonctionner (ça ne saurait tarder) :

  • Le bluetooth
  • Les touches FN + F* (wifi on/off, rétro-éclairage +/-...)
  • L'accélération matérielle semble ne pas fonctionner avec le driver intel en 64bits.

En bref j'en suis assez content :)

21nov/080

Accès internet en carton

Parfois on a de grosses quantités de données à envoyer sur un serveur, et forcément quand on upload 3Go, à 50Ko/s, ça prend du temps. Et pendant ce temps on se retrouve avec une connexion qui n'est plus réactive. Ok, peut etre qu'on peut utiliser un logiciel du style Filezilla pour envoyer ses fichiers et limiter la vitesse de l'envoi, mais c'est pas drole. Alors qu'il suffit d'ajouter 2 ou 3 modules à son noyau pour arranger tout ça en 5 minutes.

TBF est un genre de file d'attente qui permet de limiter le débit. Il a ses limites, voir man tc-tbf.

Voici le chemin à parcourir pour mon noyau 2.6.24 :

  • Networking support
    • Networking options
      • QoS and/or fair queueing
        • Token Bucket Filter (TBF)

Pour remplacer la file d'attente par défaut de type fifo, il suffit d'exécuter la commande suivante :

tc qdisc add dev eth0 root handle 1:0 tbf rate 400kbit burst 4kb latency 60ms

tc est disponible dans le paquet iproute2.

liens :

6oct/080

Joyeux anniversaie

C'était y'a un mois et demi, et j'ai toujours pas vraiment profité de mon tout nouvel iPod Shuffle. Donc là c'ets parti je me motive à le faire fonctionner avec mon linux (parce que lancer un osx juste pour y mettre de la musique c'est lourd).

Donc après 2 - 3 recherches, je comprend qu'on ne peut pas tout simplement glisser/déposer des musiques dedans. Il faut un logiciel pour faire la conversion. Après avoir essayé Gtkpod, qui à mon gout ressemble à une grosse usine à gaz, je tente FUSEPod mais finalement c'est pas ça : un module de plus au noyau, deux montages à effectuer... bref, je préfere aller coder un petit script pour se charger de ça quand j'aurai un peu de temps. Il semble exister un genre de soft en python pour faire les transferts en ligne de commande (liste des projets libgpod).

19mai/081

Abus de squattage de connexion internet

Il n'y a rien de plus emmerdant de partager quelque chose avec n'importe qui et de se retrouver avec ce quelque chose qui fonctionne plus bien.

Exemple concret : Tu partage ta connexion internet en wifi grâce à la fonera, et tu te retrouves avec un ping de plus de 300ms et des sessions SSH lentes à jeter le clavier par la fenêtre.
Stop, arrête toi avant, et trouve une solution : IPP2P.

Si j'avais refait mon routeur, une règle dans iptables aurait suffit, mais comme ce n'est pas le cas, il a fallu ruser un peu et trouver le moyen d'intercepter tout ce qui passe entre la fonera et le modem.

Intercepter le trafic

On va utiliser Ettercap pour capturer le trafic réseau entre la fonera et le modem. Pour ça, rien de plus simple sous Gentoo :

emerge -av net-analyzer/ettercap

Ensuite on n'a plus qu'à le lancer.

ettercap -M arp -T /cible 1/ /cible 2/

Les cibles représentent les machines entre lesquelles on veut intercepter le trafic. Le cas le plus simple est d'utiliser des adresses IP, mais on peut désigner des ensembles. Tout celà est décrit dans le manuel d'Ettercap. Pour vérifier que ça marche, il suffit de se positionner sur l'une des machines piégées et de taper la commande arp en tant que root.
Ci-dessous, le résultat de la commande arp depuis la machine à piéger (avant la mise en place du piège).

arp
Address                  HWtype  HWaddress           Flags Mask            Iface
Livebox-EBD0             ether   00:18:F6:C1:EB:D2   C                     eth1
192.168.1.2              ether   00:01:29:F5:30:4C   C                     eth1

L'adresse mac du modem est 00:18:F6:C1:EB:D2. Mettons en place le piège et observons...

ettercap -M arp -T /192.168.1.1/ /192.168.1.51/
arp
Address                  HWtype  HWaddress           Flags Mask            Iface
Livebox-EBD0             ether   00:01:29:F5:30:4C   C                     eth1
192.168.1.2              ether   00:01:29:F5:30:4C   C                     eth1

L'adresse mac a changée ! Et elle est devenue la même que celle de la machine d'adresse IP 192.168.1.2, qui n'est autre que la machine qui lance le piège et qui va dropper les paquets edonkey.

Bloquer Edonkey

Il faut maintenant installer Iptables et IPP2P. Pour Iptables on va commencer par activer son support dans le noyau.

cd /usr/sr/linux
make menuconfig

Voici le chemin à parcourir dans le menu de configuration pour trouver le module à activer pour Iptables.

  • Networking
    • Networking support
      • Networking options
        • Network packet filtering framework (Netfilter)
          • Core Netfilter Configuration
            • Netfilter Xtables support (required for ip_tables)
make all modules_install install

Il faut ensuite installer Iptables et IPP2P.

emerge -av net-firewall/ipp2p net-firewall/iptables

Et voici la commande magique pour zapper tous les méchants paquets qui polluent :

iptables -A OUTPUT -m ipp2p --edk -j DROP

Autres petits trucs

En activant l'ip_forwarding, on peut lancer l'attaque avec l'option -o, ou --only-mitm, qui permet de dire à Ettercap de ne pas rediriger les paquets et de laisser le noyau s'en charger.

Avec le mode bridged d'Ettercap, on peut (presque) passer inaperçu sur le réseau en utilisant deux cartes.

19mai/080

Faire fonctionner sa sortie VGA sur un iBook G3 de 2002

J'ai un vieux iBook G3 500 avec son cable à 20€ pour y connecter un écran externe. C'est plutôt frustrant si il ne fonctionne pas.

J'ai fait des recherches là dessus pendant pas loin d'un an ! La persévérence ça paye, la preuve...

La première étape c'est d'utiliser le bon driver pour xorg, et de bien écrire le fichier de conf. Le bon driver pour les Rage Mobility M3, c'est le driver r128. En théorie si on utilise le driver ati, ça marche tout pareil car il est sensé faire le bon choix tout seul.

Dans le fichier /etc/X11/xorg.conf, on doit configurer la section device d'une manière similaire à la suivante :

Section "Device"
	Identifier	"ATI Technologies, Inc. Rage Mobility M3 AGP 2x LCD"
	Driver		"r128"
	BusID		"PCI:0:16:0"
	Option		"sw_cursor"		"true"
	Option		"Accel"			"true"
	Option		"UseFBDev"		"true"
	Option		"Display"		"Mirror" # FP CRT MIRROR
EndSectio

La ligne importante est celle qui contient l'Option Display. Le manuel du driver (man r128 dans un terminal) décrit clairement la fonction de chacun des modes d'affichages disponibles via l'option Display.

A partir de maintenant, on a un signal vidéo sur la sortie VGA, mais un signal un peu pas terrible, du genre pas moyen de faire une présentation avec un affichage comme ça. C'est là que les choses se compliquent car, pour ma part, je n'ai pas trouvé grand chose sur le net pour corriger ça. On trouve beaucoup d'informations sur les iBook G3 équipés de Rage Mobility M7 (qui, au passage, ont l'air beaucoup moins foireux). Bref j'ai fini au bout de plusieurs mois par trouver un patch - merci les forums ubuntu - à cette adresse. Il est écrit pour les noyaux 2.6.22, ça va c'est pas trop vieux, et de toutes façons ça doit s'adapter assez facilement.

On télécharge les dernières sources de son noyau depuis www.kernel.org, ou via son gestionnaire de paquets si on en a un dans sa distrib. Sous gentoo un petit emerge -av >=sys-kernel/gentoo-sources-2.6.22* installe directement les sources dans /usr/src.

On se rend dans le dossier /usr/src, on met à jour le lien symbolique /usr/src/linux, on télécharge le patch, on l'applique et on recompile le noyau

cd /usr/src
rm linux && ln -s linux-2.6.22-gentoo-r9 linux
cd linux
wget http://jeremie.lamah.info/wp-content/uploads/2008/05/m3fix-patch-2622.diff
patch -p0 -i m3fix-patch-2622.diff
make && make modules && make modules_install

Il ne reste plus qu'à redémarrer sur le nouveau noyau et à contempler le résultat !

Fichiers utiles

m3fix-patch-2622
xorg.conf iBook G3 500