<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>www.pc-kc.fr &#187; Chez les autres</title>
	<atom:link href="http://www.pc-kc.fr/category/chez-les-autres/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pc-kc.fr</link>
	<description>Le site pour garder le contact avec votre PC</description>
	<lastBuildDate>Tue, 24 Aug 2010 08:45:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>SFTP : mot de passe en ligne de commande</title>
		<link>http://michauko.org/blog/2010/08/24/sftp-mot-de-passe-en-ligne-de-commande/</link>
		<comments>http://michauko.org/blog/2010/08/24/sftp-mot-de-passe-en-ligne-de-commande/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 08:45:29 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1095</guid>
		<description><![CDATA[Petit souci du jour : utiliser sftp en ligne de commande, avec un mot de passe, en mode batch, MAIS sans passer par une authentification par clef. Sachant que sftp n&#8217;accepte pas de mot de passe en ligne de commande (ni via une redirection depuis STDIN). Pourquoi donc me direz-vous ? simplement parce-que dans l&#8217;éventualité [...]]]></description>
			<content:encoded><![CDATA[<p>Petit souci du jour : utiliser sftp en ligne de commande, avec un mot de passe, en mode batch, MAIS sans passer par une authentification par clef. Sachant que sftp n&#8217;accepte pas de mot de passe en ligne de commande (ni via une redirection depuis STDIN).</p>
<p>Pourquoi donc me direz-vous ? simplement parce-que dans l&#8217;éventualité où faire bouger le prestataire en face de vous (celui qui héberge le serveur SSH) coûterait trop d&#8217;énergie, on va supposer qu&#8217;on ne peut pas facilement faire avaler notre clef publique à l&#8217;hébergeur du serveur SSH.</p>
<p>Bref, la commande traditionnelle est :</p>
<pre>sftp utilisateur@serveur
Connecting to serveur...
utilisateur@serveur's password:
sftp&gt;</pre>
<p>J&#8217;ai trouvé une méthode simple : utiliser le client SFTP de &#8220;PuTTY&#8221;.<br />
Je pensais au départ utiliser celui de &#8220;lftp&#8221; et sauvegarder ma connexion (avec mot de passe) en bookmark, mais comme mon login dans l&#8217;histoire est un utilisateur de domaine windows (ouais, le serveur SSH en face est sous windows O_o), y&#8217;a un \ dans le login et même en le doublant, lftp semble mal le digérer, ben j&#8217;étais aussi bloqué.</p>
<p>Bref, en installant les outils de PuTTY :</p>
<pre>aptitude install putty-tools</pre>
<p>On peut alors taper :</p>
<pre>psftp -pw mon_pass utilisateur@serveur
Using username "utilisateur".
Remote working directory is /
psftp&gt;</pre>
<p><strong>Attention : le mot de passe est en clair dans la ligne de commande, donc dans les processus etc etc. Donc c&#8217;est pas idéal comme condition.</strong><br />
Enfin, je n&#8217;ai pas mis le paramètre -b pour mon batch, car ce n&#8217;est pas le propos là.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2010/08/24/sftp-mot-de-passe-en-ligne-de-commande/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tag MP3 : les paroles automatiquement !</title>
		<link>http://michauko.org/blog/2010/08/16/tag-mp3-les-paroles-automatiquement/</link>
		<comments>http://michauko.org/blog/2010/08/16/tag-mp3-les-paroles-automatiquement/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 13:03:54 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1091</guid>
		<description><![CDATA[Après une longue errance pour trouver un logiciel potable pour tagger automatiquement des mp3 &#8211; en fait, pour inclure les paroles, le reste, c&#8217;est bon &#8211; je suis enfin tombé sur MetatOGGer, qui fonctionne, et qui est gratuit mais que sous windows je crois Il récupère les paroles de chansons automatiquement, depuis wikia.com. Rien à [...]]]></description>
			<content:encoded><![CDATA[<p>Après une longue errance pour trouver un logiciel potable pour tagger automatiquement des mp3 &#8211; en fait, pour inclure les paroles, le reste, c&#8217;est bon &#8211; je suis enfin tombé sur <a href="http://www.luminescence-software.org/">MetatOGGer</a>, qui fonctionne, et qui est gratuit <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  mais que sous windows je crois<br />
Il récupère les paroles de chansons automatiquement, depuis wikia.com.<br />
Rien à dire. Parfois il sort une erreur 404 qui vient de nulle part, c&#8217;est qu&#8217;il n&#8217;arrivera pas à traiter telle chanson, on l&#8217;enlève de la liste et on relance.<br />
youhouuuu</p>
<p><strong>Les paroles sont stockées dans le mp3 (le tag &#8220;lyrics3&#8243; je suppose) et du coup lisible sur un lecteur qui se respecte. En l&#8217;occurrence un iphone.</strong></p>
<p>Ca gère évidemment les OGG, les FLAC etc&#8230; en plus des MP3.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2010/08/16/tag-mp3-les-paroles-automatiquement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nouvelle réalisation</title>
		<link>http://www.arnaudbosquet.fr/realisations/nouvelle-realisation</link>
		<comments>http://www.arnaudbosquet.fr/realisations/nouvelle-realisation#comments</comments>
		<pubDate>Fri, 13 Aug 2010 13:25:41 +0000</pubDate>
		<dc:creator>Arnaud</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://www.arnaudbosquet.fr/?p=925</guid>
		<description><![CDATA[
Un projet qui m&#8217;a pris pas mal de temps puisqu&#8217;il fallait revoir l&#8217;ensemble de la charte visuelle du site et la création d&#8217;un nouveau logo.

]]></description>
			<content:encoded><![CDATA[
Un projet qui m&#8217;a pris pas mal de temps puisqu&#8217;il fallait revoir l&#8217;ensemble de la charte visuelle du site et la création d&#8217;un nouveau logo.

]]></content:encoded>
			<wfw:commentRss>http://www.arnaudbosquet.fr/realisations/nouvelle-realisation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merci la Poste (bis)…</title>
		<link>http://www.arnaudbosquet.fr/tambouille-interne/merci-la-poste-bis</link>
		<comments>http://www.arnaudbosquet.fr/tambouille-interne/merci-la-poste-bis#comments</comments>
		<pubDate>Tue, 03 Aug 2010 09:06:28 +0000</pubDate>
		<dc:creator>Arnaud</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://www.arnaudbosquet.fr/?p=880</guid>
		<description><![CDATA[C&#8217;est souvent compliqué avec la Poste. J&#8217;avais deux colis en attente, le tracking m&#8217;indiquait &#171;&#160;Tentative de livraison&#160;&#187;. Il y a de quoi avoir les chocottes avec un statut comme ça. Vendredi je n&#8217;avais touj...]]></description>
			<content:encoded><![CDATA[C&#8217;est souvent compliqué avec la Poste. J&#8217;avais deux colis en attente, le tracking m&#8217;indiquait &#171;&#160;Tentative de livraison&#160;&#187;. Il y a de quoi avoir les chocottes avec un statut comme ça. Vendredi je n&#8217;avais toujours rien. Et là, surprise quand le soir, à 19h40, le relais coliposte m&#8217;appelle pour me dire que le livreur n&#8217;arrive pas [...]]]></content:encoded>
			<wfw:commentRss>http://www.arnaudbosquet.fr/tambouille-interne/merci-la-poste-bis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Break</title>
		<link>http://www.arnaudbosquet.fr/tambouille-interne/break</link>
		<comments>http://www.arnaudbosquet.fr/tambouille-interne/break#comments</comments>
		<pubDate>Sat, 31 Jul 2010 21:33:28 +0000</pubDate>
		<dc:creator>Arnaud</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://www.arnaudbosquet.fr/?p=865</guid>
		<description><![CDATA[Un vrai break de 10 jours en Sicile pour avoir chaud, avec le soleil et la mer. L&#8217;occasion de voir des paysages magnifiques, de visiter une région que je connaissais pas et de faire de belles photos.
 
Au programme : Marsala, Trapani, Erice, Adr...]]></description>
			<content:encoded><![CDATA[Un vrai break de 10 jours en Sicile pour avoir chaud, avec le soleil et la mer. L&#8217;occasion de voir des paysages magnifiques, de visiter une région que je connaissais pas et de faire de belles photos.
 
Au programme : Marsala, Trapani, Erice, Adrano, l&#8217;Etna, Taormina, Castelmola, Syracuse, Palerme
 
 
C&#8217;était assez cool =)
]]></content:encoded>
			<wfw:commentRss>http://www.arnaudbosquet.fr/tambouille-interne/break/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Retour d’expérience : Panne d’un serveur HP Proliant &amp; SAV HP</title>
		<link>http://www.arnaudbosquet.fr/reseau-informatique/panne-dun-serveur-hp-proliant-sav-hp</link>
		<comments>http://www.arnaudbosquet.fr/reseau-informatique/panne-dun-serveur-hp-proliant-sav-hp#comments</comments>
		<pubDate>Fri, 09 Jul 2010 07:44:23 +0000</pubDate>
		<dc:creator>Arnaud</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://www.arnaudbosquet.fr/?p=839</guid>
		<description><![CDATA[La semaine dernière dans ma boîte, notre serveur de fichiers, un HP Proliant 185 G5 est tombé en panne; enfin c&#8217;est surtout la carte mère qui est tombée en panne. Malgré notre contrat J+1, la panne est réparée une semaine plus tard. J&#38;#82...]]></description>
			<content:encoded><![CDATA[La semaine dernière dans ma boîte, notre serveur de fichiers, un HP Proliant 185 G5 est tombé en panne; enfin c&#8217;est surtout la carte mère qui est tombée en panne. Malgré notre contrat J+1, la panne est réparée une semaine plus tard. J&#8217;ai rédigé un article pour notre communication interne, pour nos utilisateurs. Je vous [...]]]></content:encoded>
			<wfw:commentRss>http://www.arnaudbosquet.fr/reseau-informatique/panne-dun-serveur-hp-proliant-sav-hp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faire tourner IIS et Apache sur le même serveur</title>
		<link>http://www.arnaudbosquet.fr/developpement/faire-tourner-iis-et-apache-sur-le-meme-serveur</link>
		<comments>http://www.arnaudbosquet.fr/developpement/faire-tourner-iis-et-apache-sur-le-meme-serveur#comments</comments>
		<pubDate>Mon, 28 Jun 2010 08:13:52 +0000</pubDate>
		<dc:creator>Arnaud</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://www.arnaudbosquet.fr/?p=831</guid>
		<description><![CDATA[Quand on a des scripts ASP qui tournent dans les même dossiers que du PHP, c&#8217;est un peu la galère. Sur le même serveur tourne un serveur Apache (pour le PHP)  &#38; un serveur IIS (pour l&#8217;ASP).
L&#8217;astuce consiste à faire écouter ...]]></description>
			<content:encoded><![CDATA[Quand on a des scripts ASP qui tournent dans les même dossiers que du PHP, c&#8217;est un peu la galère. Sur le même serveur tourne un serveur Apache (pour le PHP)  &#38; un serveur IIS (pour l&#8217;ASP).
L&#8217;astuce consiste à faire écouter le serveur d&#8217;IIS sur le port 81.
On fait ensuite une règle de redirection d&#8217;url [...]]]></content:encoded>
			<wfw:commentRss>http://www.arnaudbosquet.fr/developpement/faire-tourner-iis-et-apache-sur-le-meme-serveur/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>utilisateurs postfix virtuels : ajouter un répondeur “vacation”</title>
		<link>http://michauko.org/blog/2010/06/16/utilisateurs-postfix-virtuels-ajouter-un-repondeur-vacation/</link>
		<comments>http://michauko.org/blog/2010/06/16/utilisateurs-postfix-virtuels-ajouter-un-repondeur-vacation/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 08:30:27 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1047</guid>
		<description><![CDATA[Avec mes précédents articles ci-dessous, vous avez de quoi monter une architecture complète de mails avec utilisateurs virtuels. Pour faire simple. configurer postfix pour gérer des utilisateurs virtuels monter une architecture complète &#8220;postfix / postgrey / amavisd-new / clamav / spamassassin&#8221; Il manque cependant un morceau : la possibilité de faire appel à des &#8220;procmail&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Avec mes précédents articles ci-dessous, vous avez de quoi monter une architecture complète de mails avec utilisateurs virtuels. Pour faire simple.</p>
<ul>
<li>
<a href="http://michauko.org/blog/2009/10/20/postfix-utilisateurs-virtuels-mysql-acces-pop3s-imaps-sasl-et-tls-quota-bingo-jai-tout-mis-dans-le-titre/">configurer postfix pour gérer des utilisateurs virtuels</a>
</li>
<li>
<a href="http://michauko.org/blog/2009/09/21/montage-dun-serveur-de-mail-complet-postfix-postgrey-amavisd-new-clamav-spamassassin-etc/">monter une architecture complète &#8220;postfix / postgrey / amavisd-new / clamav / spamassassin&#8221;</a>
</li>
</ul>
<p></p>
<p><strong>Il manque cependant un morceau : la possibilité de faire appel à des &#8220;procmail&#8221; personnalisés pour ces utilisateurs virtuels.</strong></p>
<p>Lorsqu&#8217;on n&#8217;est pas avec des utilisateurs virtuels, chaque utilisateur réel (ayant un compte utilisateur, donc) utilise généralement son <code>~/.procmailrc</code> pour trier un peu ou <strong>- cas qui m&#8217;intéresse particulièrement &#8211; activer son répondeur d&#8217;absence, &#8220;<code>vacation</code>&#8220;</strong> pour ne pas le nommer.<br />
Dans le cas d&#8217;utilisateurs virtuels, c&#8217;est sensiblement différent. C&#8217;est ce que je décrirai dans cet article. Ce n&#8217;est au final pas compliqué, mais il faut comprendre le rôle de chaque composant et les limites de fonctionnement de chaque outil.<br />
En effet, je n&#8217;ai pas trouvé de doc ultra-claire sur le sujet sur le web, surtout les bricoles de chacun. Avec un peu de recul, et, voyant ma propre solution, j&#8217;ai l&#8217;impression qu&#8217;il y a tellement de configurations possibles (maildrop et pas procmail, mes utilisateurs virtuels comme ci, pas comme ça, il utilise postfixadmin et pas moi etc) qu&#8217;il est impossible d&#8217;écrire un truc qui n&#8217;est pas spécifique.<br />
Le plus dur est donc de comprendre ce qu&#8217;on fait pour transposer à sa conf. Je tâcherai donc, comme d&#8217;hab, d&#8217;expliquer ce que je fais plutôt que de copier-coller les fichiers de conf.</p>
<p>Allez, let&#8217;s go pour la mise en place sur la base d&#8217;une archi postfix &#038; co comme décrite dans les docs mentionnées en début de cet article.</p>
<p><em>Ah, dernier point : à la base, et tel que je le décris, l&#8217;utilisateur ne pourra pas mettre lui même son répondeur en place. Dans mon cas, ce n&#8217;est pas important. En effet, j&#8217;utilise des utilisateurs virtuels car il s&#8217;agit d&#8217;un serveur frontal de mails (qui trie le spam, en gros), livre les messages dans des arborescences virtuelles en attendant d&#8217;être POPées depuis un backend de mails quelconque (un vilain Exchange <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ). Donc, le répondeur d&#8217;absence des utilisateurs &#8220;physiques&#8221; est géré par eux-mêmes dans Outlook &#8220;normalement&#8221;, et je n&#8217;applique ce principe de répondeur qu&#8217;exceptionnellement, à quelques boîtes mails IMAP génériques, qui n&#8217;ont pas vraiment de notion de &#8220;vacances&#8221;. Des boîtes partagées entre plusieurs personnes, si vous voulez, mais stockées sur le frontal et pas dans le backend, pour diverses raisons dont on se moque ici. Après vous pourrez toujours bricoler un truc pour que tout un chacun accède à son procmail ou son message d&#8217;asbence pour le mettre, l&#8217;enlever etc.</em><span id="more-1047"></span></p>
<h1>Le principe</h1>
<p>On veut activer le répondeur de toto@domaine.fr en utilisant l&#8217;outil &#8220;<code>vacation</code>&#8221; qui gère très bien les réponses. &#8220;<code>vacation</code>&#8221; ne joue qu&#8217;avec des comptes utilisateurs existants. Premier problème.</p>
<p>Pour y arriver, on va créer des alias pour ce compte virtuel &#8220;toto@domaine.fr&#8221; afin que postfix &#8220;forward&#8221; (du nom de la table &#8220;forwardings&#8221; gérant les alias des utilisateurs virtuels) tout mail à destination de toto@domaine.fr vers 2 endroits :</p>
<ul>
<li>
le réel toto@domaine.fr, histoire de délivrer le mail quand même, au final
</li>
<li>
et en plus vers un certain toto@vacation.domaine.fr qui n&#8217;existe pas
</li>
</ul>
<p><bR>Ce dernier nom &#8220;vacation.domaine.fr&#8221; n&#8217;a pas besoin d&#8217;exister au sens DNS et ne correspond pas non plus à un MX réel. On va juste créer un &#8220;transport&#8221; (du nom de la table MySQL qu&#8217;on a créée avec les docs précédentes) particulier afin de router les messages à destination du domaine &#8220;vacation.domaine.fr&#8221; vers un &#8220;<code>pipe</code>&#8221; particulier de postfix qu&#8217;on va créer pour l&#8217;occasion.<br />
Ce &#8220;<code>pipe</code>&#8221; UNIX, composant qu&#8217;on ajoute à la chaîne postfix, gèrera en fait l&#8217;appel à <code>procmail </code>configuré d&#8217;une manière globale (un gros <code>procmailrc </code>générique, si vous voulez).<br />
Ce <code>procmail </code>fera ensuite un tri sur le nom du destinaire et appellera &#8220;<code>vacation</code>&#8221; lorsqu&#8217;on le veut avec un message personnalisé.</p>
<p><i>C&#8217;est ce procmail global qu&#8217;il conviendrait de découper (avec des INCLUDE), ainsi que les fichiers de messages d&#8217;absence qui vont avec, si on voulait donner la main d&#8217;une manière pas super pratique (FTP ? samba ?) à des utilisateurs réels sur leur répondeur de compte virtuel&#8230;</i></p>
<p>Je me suis basé sur pas mal de docs bizarroïdes, et surtout sur les quelques explications <a href="http://lists.mailscanner.info/pipermail/mailscanner/2005-January/044873.html">trouvées ici</a>. Le cheminement y est, mais c&#8217;est pas détaillé sur le principe et le type propose son propre script de répondeur ; script qui peut générer une belle boucle infinie entre répondeurs, à mon humble avis. Ce risque n&#8217;existe pas avec &#8220;<code>vacation</code>&#8220;, car il garde une liste des gens &#8220;déjà répondus&#8221;, sauf si vous forcez à répondre à chaque fois.</p>
<h1>Mise en place</h1>
<h2>Paquets, utilisateur etc</h2>
<p>Au besoin, suivant l&#8217;état de votre installation :</p>
<pre>aptitude install procmail vacation</pre>
<p>Ensuite, j&#8217;ai expliqué que &#8220;<code>vacation</code>&#8221; ne travaillait que sur un compte réel. Je lui dédie donc un compte :</p>
<pre>useradd -m vacation -s /bin/nologin -c "Utilisateur vacation"</pre>
<h2>Création du pipe UNIX</h2>
<p>On crée le processus qui sera en charge de router (de manière interne à postfix) les messages arrivant dans un <code>pipe </code>qu&#8217;on nomme &#8220;repondeur&#8221; vers <code>procmail</code> (lui même appelant le cas échéant le programme de répondeur &#8220;<code>vacation</code>&#8220;).<br />
Dans <code>/etc/postfix/master.cf</code>, à la fin (peu importe), on définit ce pipe comme suit :</p>
<pre>#ajout d'un appel à procmail pour gérer certains 'vacation' sur les boites IMAP
#attention, l'appel à ce pipe est géré dans la table des transports virtuels + des forwardings qui vont bien
repondeur   unix    -       n       n       -       10      pipe
  flags=Rq user=vacation argv=/usr/bin/procmail -Y -m /etc/postfix/procmail-global-repondeur.rc ${sender} ${recipient}
</pre>
<p>Les espaces avant &#8220;flags&#8221; sont importants, c&#8217;est ce qui explique à postfix qu&#8217;il s&#8217;agit d&#8217;option du <code>pipe </code> nommé &#8220;repondeur&#8221;.<br />
Je décrirai le fichier <code>/etc/postfix/procmail-global-repondeur.rc</code> plus tard. C&#8217;est lui qui contiendra les appels aux &#8220;<code>vacation</code>&#8221; de tels et tels utilisateurs.<br />
J&#8217;avoue ne pas être super sûr des flags utilisés, voyez <code>man pipe</code> au besoin.</p>
<h2>transport virtuel</h2>
<p>Si votre base MySQL est exactement celle que je décris dans mes précédentes documentations, insérez une ligne dans la table &#8220;transport&#8221; afin d&#8217;avoir :</p>
<pre>mysql> select * from transport;
+---------------------+-----------+
| domain              | transport |
+---------------------+-----------+
| vacation.domaine.fr | repondeur |
+---------------------+-----------+
1 row in set (0.00 sec)</pre>
<p>Pour bien relier cette table à votre configuration &#8220;virtuelle&#8221;, la table &#8220;transport&#8221; dont je parle est celle décrite comme ça dans postfix :</p>
<pre>[extraits de fichiers]
main.cf:transport_maps = proxy:mysql:/etc/postfix/mysql-virtual_transports.cf
mysql-virtual_transports.cf:query = SELECT transport FROM transport WHERE domain='%s'</pre>
<h2>Création des alias pour router vers le &#8220;pipe&#8221; &#8220;repondeur&#8221;</h2>
<p>Pour chaque utilisateur virtuel qui devra avoir un répondeur actif (ou potentiellement actif), il faudra ajouter 2 alias le concernant dans la table des alias (&#8220;forwardings&#8221; dans mon cas, là encore, ça dépend de votre conf de &#8220;postfix virtuel&#8221;). Ajoutez donc les lignes pour avoir :</p>
<pre>mysql> select * from forwardings where source like 'j%doma%';
+--------------------+-----------------------------+
| source             | destination                 |
+--------------------+-----------------------------+
| jacques@domaine.fr | jacques@domaine.fr          |
| jacques@domaine.fr | jacques@vacation.domaine.fr |
+--------------------+-----------------------------+
2 rows in set (0.00 sec)</pre>
<p>J&#8217;ai eu un souci pour insérer ces 2 lignes, car il y a une contrainte de clef primaire sur &#8220;source&#8221;, ce qui semble logique, mais qui est en fait bloquant pour nous et inutile dans un cas normal d&#8217;alias d&#8217;utilisateurs virtuels (on pourrait faire une liste de diffusion en créant plusieurs lignes pour une même source car postfix gère très bien le fait d&#8217;avoir plusieurs destination pour une même source).<br />
Bref, j&#8217;ai fait sauté la contrainte PK que j&#8217;avais mise dans mes docs précédents :</p>
<pre>ALTER TABLE forwardings
DROP PRIMARY KEY;</pre>
<p>Rassurez-vous, ça ne fait pas sauter les entrées déjà stockées dans la table si vous en avez.</p>
<h2>procmailrc et vacation</h2>
<p>On y est presque.<br />
Reste à définir le <code>procmail </code>global appelant vacation :<br />
Dans mon &#8220;<code>pipe</code>&#8220;, j&#8217;appelle ce fichier :</p>
<pre>servr:/etc/postfix# cat /etc/postfix/procmail-global-repondeur.rc
SHELL=/bin/sh

:0c
* ^(To|Cc).*jacques@domaine.fr
| vacation -f /home/vacation/jacques@domaine.fr.db -m /home/vacation/jacques@domaine.fr.msg -a jacques@domaine.fr vacation

:0c
* ^(To|Cc).*autre_type@domaine.fr
| vacation -f /home/vacation/autre_type@domaine.fr.db -m /home/vacation/autre_type@domaine.fr.msg -a autre_type@domaine.fr vacation

:0
/dev/null</pre>
<p><strong>Alors, c&#8217;est presque le plus compliqué car ce fichier est plein de petites ruses</strong>. Il vous montre comment procéder lorsque vous aurez plusieurs boîtes concernées par un vacation.<br />
<i>Je rappelle que de cette manière, c&#8217;est un peu pénible à maintenir car c&#8217;est l&#8217;admin qui gère. Là il s&#8217;agit de boîte IMAP partagées et peu nombreuses, donc c&#8217;est gérable.</i></p>
<p>Le détail est donc :</p>
<ul>
<li>
Je stocke tous mes messages de &#8220;vacances&#8221; dans ~vacation/
</li>
<li>
-f : pour indiquer dans quelle &#8220;base de données&#8221; on stocke les gens à qui on a déjà répondu</li>
<li>
</li>
<li>
-m : pour indiquer le mail de réponse d&#8217;un utilisateur donné, je le détaille plus bas
</li>
<li>
-a : <strong>hyper important </strong> : en effet, <code>vacation </code>ne travaille que sur un utilisateur réel. Donc obligé de spécifier un utilisateur réel en fin de commande <code>vacation</code>, c&#8217;est l&#8217;utilisateur &#8220;vacation&#8221; himself qui figure en dernier argument de la ligne de commande. Donc, pour que <code>vacation </code> travaille, j&#8217;explique aussi que cet utilisateur réel peut être connu sous l&#8217;alias (-a) jacques@domaine.fr (ou autre_type@domaine.fr dans la 2è règle). Sinon aucune règle ne s&#8217;appliquera jamais.
</li>
<li>
&#8220;:0c&#8221; : <strong>OUI : il faut activer le &#8220;carbon copy&#8221;</strong>. J&#8217;ai constaté ça à force de tests. En effet, un message arrivant dans postfix a un ID, il est dédoublé avec le même ID, l&#8217;un part vers l&#8217;utilisateur réel pour livraison, l&#8217;autre vers le &#8220;<code>pipe</code>&#8220;, puis <code>procmail</code>, puis <code>vacation</code>. &#8220;<code>vacation</code>&#8221; arrête les règles (si on ne met pas le &#8220;c&#8221; de carbon copy) dès que ça &#8220;match&#8221;. Si un expéditeur envoi un unique mail à en même temps jacques@domaine.fr et autre_type@domaine.fr, la première règle va marcher, donc procmail arrêtera de bosser. Résultat : pas de répondeur pour &#8220;autre_type&#8221;. On ne sait pas qu&#8217;il est en vacances.
</li>
<li>
Et enfin, le piège des &#8220;carbon copy&#8221; : si on ne fait pas une dernière règle virant vers /dev/null tout message au final, un message légitime auquel on aura répondu par &#8220;vacation&#8221; sortira de procmail et continuera sa route : il sera donc livré. Mais c&#8217;est un utilisateur complètement bidon, untel@vacation.domaine.fr, domaine inexistant => erreur de livraison => log dans <code>/var/log/mail.info</code> et <strong>surtout</strong>, mail d&#8217;erreur bien crade informant l&#8217;expéditeur&#8230;</li>
</ul>
<h2>fichier .msg de vacation</h2>
<p>Voici à quoi doit ressembler un fichier de réponse minimaliste :</p>
<pre>servr:/etc/postfix# cat ~vacation/jacques\@domaine.fr.msg
From: jacques@domaine.fr (Jacques)
Subject: Re: $SUBJECT
Precedence: Bulk

Votre mail a bien été reçu, blablablabla
-- Jacques
</pre>
<h2>reload postfix et tests</h2>
<p>A la fin, <code>/etc/init.d/postfix reload</code> et zou, testez des envois de mails, de réenvois de mails (pour n&#8217;avoir qu&#8217;une fois la réponse etc).<br />
Le plus risqué dans cette manip&#8217; sur un serveur en production, c&#8217;est que tout les adresses normales commencent à merdouiller. Le plus rapide pour annuler tout ça le temps de réfléchir, est de commenter les 2 lignes définissant le pipe et de rechargez postfix.</p>
<h1>Autres remarques</h1>
<h2>Réinit d&#8217;un répondeur</h2>
<p>A une époque, il me semblait qu&#8217;en modifiant le fichier .msg, <code>vacation </code>détectait le changement et donc ne tenait plus compte des expéditeurs &#8220;déjà répondus&#8221;. Après quelques tests, je n&#8217;en suis plus si sûr. Le plus simple pour relancer un répondeur &#8220;pour tous&#8221; : supprimez le fichier .db correspondant.</p>
<h2>Permissions</h2>
<p>Attention, j&#8217;ai interdit le login pour l&#8217;utilisateur vacation. Donc tout ce que vous créerez dans ~vacation/*msg sera sûrement au nom de &#8220;root&#8221;, par exemple. Pensez à changer les droits.<br />
Si vous avez raté un truc, les logs sont très explicites dans <code>/var/log/mail.info</code>.<br />
Je crois aussi me rappeler que si <code>vacation </code>ne voit pas le fichier .msg, il ne fera rien. A vérifier, mais c&#8217;est une méthode simple (et crade car ça va faire du log à coup sûr) pour activer/désactiver un répondeur <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>un log complet pour illustrer</h2>
<p>Si tout se passe bien, vous avez ça :<br />
Connexion du serveur expéditeur :</p>
<pre>Jun 14 17:10:21 servr postfix/smtpd[20107]: connect from expediteur.org[xx.yy.zz.tt]
Jun 14 17:10:21 servr postgrey[12166]: action=pass, reason=client AWL, client_name=expediteur.org, client_address=xx.yy.zz.tt, sender=exped@expediteur.org, recipient=jacques@domaine.fr
Jun 14 17:10:21 servr postfix/smtpd[20107]: C2B829C4081: client=expediteur.org[xx.yy.zz.tt]
Jun 14 17:10:21 servr postfix/cleanup[20065]: C2B829C4081: message-id=<20100614151021.AF0F0EEC57C@mail.expediteur.org>
Jun 14 17:10:21 servr postfix/qmgr[19547]: C2B829C4081: from=<exped@expediteur.org>, size=515, nrcpt=2 (queue active)
Jun 14 17:10:21 servr postfix/smtpd[20107]: disconnect from expediteur.org[xx.yy.zz.tt]
Jun 14 17:10:23 servr postfix/smtpd[20208]: connect from localhost.localdomain[127.0.0.1]
Jun 14 17:10:23 servr postfix/smtpd[20208]: 8A0E69C4085: client=localhost.localdomain[127.0.0.1]
Jun 14 17:10:23 servr postfix/cleanup[20065]: 8A0E69C4085: message-id=<20100614151021.AF0F0EEC57C@mail.expediteur.org>
Jun 14 17:10:23 servr postfix/smtpd[20208]: disconnect from localhost.localdomain[127.0.0.1]
Jun 14 17:10:23 servr postfix/qmgr[19547]: 8A0E69C4085: from=<exped@expediteur.org>, size=1045, nrcpt=3 (queue active)</pre>
<p>Pas de greylisting, car c&#8217;est un pote. Analyse par amavis OK, on dédouble le message vers jacques@domaine.fr et jacques@vacation.domaine.fr.<br />
Chaque file suivra alors sa route :</p>
<pre>Jun 14 17:10:23 servr amavis[18918]: (18918-18) Passed CLEAN, [xx.yy.zz.tt] [xx.yy.zz.tt] <exped@expediteur.org> -> <jacques@domaine.fr>,<jacques@vacation.domaine.fr>, Message-ID: <20100614151021.AF0F0EEC57C@mail.expediteur.org>, mail_id: uuW4XqNAoH7S, Hits: 1.714, size: 515, queued_as: 8A0E69C4085, 1902 ms
Jun 14 17:10:23 servr postfix/smtp[20190]: C2B829C4081: to=<jacques@domaine.fr>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.9, delays=0.03/0/0/1.9, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=18918-18, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 8A0E69C4085)
Jun 14 17:10:23 servr postfix/smtp[20190]: C2B829C4081: to=<jacques@vacation.domaine.fr>, orig_to=<jacques@domaine.fr>, relay=127.0.0.1[127.0.0.1]:10024, delay=1.9, delays=0.03/0/0/1.9, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=18918-18, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 8A0E69C4085)
Jun 14 17:10:23 servr postfix/qmgr[19547]: C2B829C4081: removed</pre>
<p>La partie &#8220;utilisateur virtuel de postfix&#8221; traite le &#8220;mail normal&#8221; => &#8220;delivered to maildir&#8221;. Ca roule :</p>
<pre>Jun 14 17:10:23 servr postfix/virtual[20212]: 8A0E69C4085: to=<jacques@domaine.fr>, relay=virtual, delay=0.3, delays=0.15/0.01/0/0.14, dsn=2.0.0, status=sent (delivered to maildir)</pre>
<p>La partie &#8220;vacation&#8221; (pipe repondeur) route vers le &#8220;relay=repondeur&#8221;. Le job s&#8217;accomplit correctement &#8220;(delivered via repondeur service)&#8221;. Là on n&#8217;a pas d&#8217;autre erreur, sinon on pourrait voir vacation ou procmail pas content :</p>
<pre>Jun 14 17:10:23 servr postfix/pickup[19550]: ECF179C408A: uid=5001 from=<vacation>
Jun 14 17:10:23 servr postfix/pipe[20209]: 8A0E69C4085: to=<jacques@vacation.domaine.fr>, orig_to=<jacques@domaine.fr>, relay=repondeur, delay=0.41, delays=0.15/0/0/0.25, dsn=2.0.0, status=sent (delivered via repondeur service)
Jun 14 17:10:23 servr postfix/pipe[20209]: 8A0E69C4085: to=<jacques@vacation.domaine.fr>, relay=repondeur, delay=0.41, delays=0.15/0/0/0.25, dsn=2.0.0, status=sent (delivered via repondeur service)
Jun 14 17:10:23 servr postfix/cleanup[20065]: ECF179C408A: message-id=<20100614151023.ECF179C408A@domaine.fr>
Jun 14 17:10:23 servr postfix/qmgr[19547]: 8A0E69C4085: removed
Jun 14 17:10:24 servr postfix/qmgr[19547]: ECF179C408A: from=<vacation@domaine.fr>, size=343, nrcpt=1 (queue active)</pre>
<p>Deux secondes plus tard, &#8220;vacation&#8221; a détecté qu&#8217;il fallait répondre à &#8220;exped@expediteur.org&#8221;, donc on envoit un mail :<br />
(le champ From sera jacques@domaine.fr, seul Return-Path sera à vacation@domaine.fr)</p>
<pre>Jun 14 17:10:26 servr postfix/smtpd[20208]: connect from localhost.localdomain[127.0.0.1]
Jun 14 17:10:26 servr postfix/smtpd[20208]: 174A99C4081: client=localhost.localdomain[127.0.0.1]
Jun 14 17:10:26 servr postfix/cleanup[20065]: 174A99C4081: message-id=<20100614151023.ECF179C408A@domaine.fr>
Jun 14 17:10:26 servr postfix/qmgr[19547]: 174A99C4081: from=<vacation@domaine.fr>, size=770, nrcpt=1 (queue active)
Jun 14 17:10:26 servr amavis[20202]: (20202-01) Passed CLEAN, <vacation@domaine.fr> -> <exped@expediteur.org>, Message-ID: <20100614151023.ECF179C408A@domaine.fr>, mail_id: xw6dpgfdz+b5, Hits: -0.001, size: 343, queued_as: 174A99C4081, 2197 ms
Jun 14 17:10:26 servr postfix/smtp[20190]: ECF179C408A: to=<exped@expediteur.org>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.3, delays=0.14/0/0/2.2, dsn=2.0.0, status=sent (250 2.0.0 Ok, id=20202-01, from MTA([127.0.0.1]:10025): 250 2.0.0 Ok: queued as 174A99C4081)
Jun 14 17:10:26 servr postfix/qmgr[19547]: ECF179C408A: removed
Jun 14 17:10:26 servr postfix/smtp[20219]: 174A99C4081: to=<exped@expediteur.org>, relay=mail.expediteur.org[xx.yy.zz.tt]:25, delay=0.21, delays=0.14/0/0.02/0.05, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 4337FEEC560)
Jun 14 17:10:26 servr postfix/qmgr[19547]: 174A99C4081: removed</pre>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2010/06/16/utilisateurs-postfix-virtuels-ajouter-un-repondeur-vacation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 10 Logo Designs from Top 10 Logo Designers</title>
		<link>http://www.arnaudbosquet.fr/vu-sur-le-web/top-10-logo-designs-from-top-10-logo-designers</link>
		<comments>http://www.arnaudbosquet.fr/vu-sur-le-web/top-10-logo-designs-from-top-10-logo-designers#comments</comments>
		<pubDate>Wed, 09 Jun 2010 10:07:34 +0000</pubDate>
		<dc:creator>Arnaud</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://www.arnaudbosquet.fr/?p=817</guid>
		<description><![CDATA[La sélection complète [via The Design Buzz]
]]></description>
			<content:encoded><![CDATA[La sélection complète [via The Design Buzz]
]]></content:encoded>
			<wfw:commentRss>http://www.arnaudbosquet.fr/vu-sur-le-web/top-10-logo-designs-from-top-10-logo-designers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu, Lucid Lynx, eeePC, RaLink RT2860 et wifi WPA</title>
		<link>http://michauko.org/blog/2010/05/31/ubuntu-lucid-lynx-eeepc-ralink-rt2860-et-wifi-wpa/</link>
		<comments>http://michauko.org/blog/2010/05/31/ubuntu-lucid-lynx-eeepc-ralink-rt2860-et-wifi-wpa/#comments</comments>
		<pubDate>Mon, 31 May 2010 12:23:21 +0000</pubDate>
		<dc:creator>michauko</dc:creator>
				<category><![CDATA[Chez les autres]]></category>

		<guid isPermaLink="false">http://michauko.org/blog/?p=1036</guid>
		<description><![CDATA[Une fois n&#8217;est pas coutume, j&#8217;upgrade Ubuntu vers la dernière release, et là, le wifi me fait des misères. Ca marchait ça marche plus etc. Dans le cas présent, j&#8217;ai upgradé un ASUS eeePC (peu importe le modèle, je crois qu&#8217;ils sont tous concernés car basés sur à peu près la même puce wifi) depuis [...]]]></description>
			<content:encoded><![CDATA[<p>Une fois n&#8217;est pas coutume, j&#8217;upgrade Ubuntu vers la dernière release, et là, le wifi me fait des misères. Ca marchait ça marche plus etc.<br />
Dans le cas présent, j&#8217;ai upgradé un ASUS eeePC (peu importe le modèle, je crois qu&#8217;ils sont tous concernés car basés sur à peu près la même puce wifi) depuis la release précédente (Karmic Koala) où tout marchait très bien.<br />
Voici le problème et des solutions.<span id="more-1036"></span></p>
<h1>Les symptomes</h1>
<p>Après l&#8217;upgrade, on se retrouve en kernel 2.6.32-22. Le wifi fonctionne par exemple sur un réseau en WPA2, mais ça n&#8217;accroche pas sur un réseau WPA (certains disent WPA mixte WPA2, j&#8217;en sais rien).<br />
<strong>Autant utiliser du WPA2. Oui d&#8217;accord, mais ma freebox, elle fait que du WPA&#8230;</strong><br />
=> Le driver RT2860 est buggé dans ce noyau.</p>
<h2>Les logs</h2>
<p>Vous verrez qu&#8217;on tourne en rond entre &#8220;l&#8217;association&#8221; avec le point d&#8217;accès et le rescan des réseaux ça rate X fois, puis on abandonne pour de bon :</p>
<pre>May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0) Stage 1 of 5 (Device Prepare) scheduled...
May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0) Stage 1 of 5 (Device Prepare) started...
May 19 19:33:17 ubuntu NetworkManager: <info>  (wlan0): device state change: 6 -> 4 (reason 0)
May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0) Stage 2 of 5 (Device Configure) scheduled...
May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0) Stage 1 of 5 (Device Prepare) complete.
May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0) Stage 2 of 5 (Device Configure) starting...
May 19 19:33:17 ubuntu NetworkManager: <info>  (wlan0): device state change: 4 -> 5 (reason 0)
May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0/wireless): connection 'Auto folie' has security, and secrets exist.  No new secrets needed.
May 19 19:33:17 ubuntu NetworkManager: <info>  Config: added 'ssid' value 'folie'
May 19 19:33:17 ubuntu NetworkManager: <info>  Config: added 'scan_ssid' value '1'
May 19 19:33:17 ubuntu NetworkManager: <info>  Config: added 'key_mgmt' value 'WPA-PSK'
May 19 19:33:17 ubuntu NetworkManager: <info>  Config: added 'psk' value '<omitted>'
May 19 19:33:17 ubuntu NetworkManager: nm_setting_802_1x_get_pkcs11_engine_path: assertion `NM_IS_SETTING_802_1X (setting)' failed
May 19 19:33:17 ubuntu NetworkManager: nm_setting_802_1x_get_pkcs11_module_path: assertion `NM_IS_SETTING_802_1X (setting)' failed
May 19 19:33:17 ubuntu NetworkManager: <info>  Activation (wlan0) Stage 2 of 5 (Device Configure) complete.
May 19 19:33:18 ubuntu NetworkManager: <info>  Config: set interface ap_scan to 1
May 19 19:33:18 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  disconnected -> scanning
May 19 19:33:23 ubuntu wpa_supplicant[3187]: Trying to associate with 66:f2:bc:b8:cc:30 (SSID='folie' freq=2412 MHz)
May 19 19:33:23 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  scanning -> associating
May 19 19:33:23 ubuntu kernel: [  660.417251] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 636
May 19 19:33:23 ubuntu kernel: [  660.417895] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
May 19 19:33:23 ubuntu wpa_supplicant[3187]: Association request to the driver failed
May 19 19:33:28 ubuntu wpa_supplicant[3187]: Authentication with 66:f2:bc:b8:cc:30 timed out.
May 19 19:33:28 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  associating -> disconnected
May 19 19:33:28 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  disconnected -> scanning
May 19 19:33:33 ubuntu wpa_supplicant[3187]: Trying to associate with 66:f2:bc:b8:cc:30 (SSID='folie' freq=2412 MHz)
May 19 19:33:33 ubuntu kernel: [  670.433534] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 636
May 19 19:33:33 ubuntu kernel: [  670.434373] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
May 19 19:33:33 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  scanning -> associating
May 19 19:33:33 ubuntu wpa_supplicant[3187]: Association request to the driver failed
May 19 19:33:38 ubuntu wpa_supplicant[3187]: Authentication with 66:f2:bc:b8:cc:30 timed out.
May 19 19:33:38 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  associating -> disconnected
May 19 19:33:38 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  disconnected -> scanning
May 19 19:33:43 ubuntu kernel: [  680.449828] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 636
May 19 19:33:43 ubuntu kernel: [  680.450463] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
May 19 19:33:43 ubuntu wpa_supplicant[3187]: Trying to associate with 66:f2:bc:b8:cc:30 (SSID='folie' freq=2412 MHz)
May 19 19:33:43 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  scanning -> associating
May 19 19:33:43 ubuntu wpa_supplicant[3187]: Association request to the driver failed
May 19 19:33:48 ubuntu wpa_supplicant[3187]: Authentication with 66:f2:bc:b8:cc:30 timed out.
May 19 19:33:48 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  associating -> disconnected
May 19 19:33:48 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  disconnected -> scanning
May 19 19:33:53 ubuntu wpa_supplicant[3187]: Trying to associate with 66:f2:bc:b8:cc:30 (SSID='folie' freq=2412 MHz)
May 19 19:33:53 ubuntu kernel: [  690.468163] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 636
May 19 19:33:53 ubuntu kernel: [  690.468883] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
May 19 19:33:53 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  scanning -> associating
May 19 19:33:53 ubuntu wpa_supplicant[3187]: Association request to the driver failed
May 19 19:33:58 ubuntu NetworkManager: <info>  wlan0: link timed out.
May 19 19:33:58 ubuntu wpa_supplicant[3187]: Authentication with 66:f2:bc:b8:cc:30 timed out.
May 19 19:33:58 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  associating -> disconnected
May 19 19:33:58 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  disconnected -> scanning
May 19 19:34:03 ubuntu kernel: [  700.491916] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 636
May 19 19:34:03 ubuntu wpa_supplicant[3187]: Trying to associate with 66:f2:bc:b8:cc:30 (SSID='folie' freq=2412 MHz)
May 19 19:34:03 ubuntu kernel: [  700.492792] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
May 19 19:34:03 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  scanning -> associating
May 19 19:34:03 ubuntu wpa_supplicant[3187]: Association request to the driver failed
May 19 19:34:08 ubuntu wpa_supplicant[3187]: Authentication with 66:f2:bc:b8:cc:30 timed out.
May 19 19:34:08 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  associating -> disconnected
May 19 19:34:08 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  disconnected -> scanning
May 19 19:34:13 ubuntu kernel: [  710.512617] ===>rt_ioctl_giwscan. 5(5) BSS returned, data->length = 636
May 19 19:34:13 ubuntu wpa_supplicant[3187]: Trying to associate with 66:f2:bc:b8:cc:30 (SSID='folie' freq=2412 MHz)
May 19 19:34:13 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  scanning -> associating
May 19 19:34:13 ubuntu kernel: [  710.513600] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
May 19 19:34:13 ubuntu wpa_supplicant[3187]: Association request to the driver failed
May 19 19:34:18 ubuntu NetworkManager: <info>  Activation (wlan0/wireless): association took too long.
May 19 19:34:18 ubuntu NetworkManager: <info>  (wlan0): device state change: 5 -> 6 (reason 0)
May 19 19:34:18 ubuntu NetworkManager: <info>  Activation (wlan0/wireless): asking for new secrets
May 19 19:34:18 ubuntu NetworkManager: <info>  (wlan0): supplicant connection state:  associating -> disconnected
May 19 19:34:18 ubuntu wpa_supplicant[3187]: Authentication with 00:00:00:00:00:00 timed out.
May 19 19:34:33 ubuntu NetworkManager: <info>  wlan0: link timed out.</pre>
<p>Le matos est le suivant (<code>lspci -vv</code>) :</p>
<pre>01:00.0 Network controller: RaLink RT2860
	Subsystem: RaLink Device 2790
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at fbef0000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: <access denied>
	Kernel driver in use: rt2860
	Kernel modules: rt2860sta</pre>
<h1>Solutions</h1>
<p>Tout est très bien décrit ici : <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/496093">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/496093</a>.</p>
<h2>Noyau 2.6.33</h2>
<p>Pas encore dispo dans Lucid Lynx, mais apparement il règle le problème. A suivre avec les updates de la distribution.</p>
<h2>Ancien noyau</h2>
<p>Coup de bol, j&#8217;ai l&#8217;ancien noyau toujours dispo (2.6.31-21) depuis l&#8217;upgrade (il n&#8217;a supprimé que les vraiment anciens). Avec lui tout marche. Je peux le garder par défaut en attendant que le 2.6.33 fasse partie de Lucid Lynx, s&#8217;il en fera partie un jour (probable).<br />
Pour l&#8217;instant, je m&#8217;en sers pour pouvoir quand même downloader ce qu&#8217;il faut pour appliquer l&#8217;une des méthodes ci-dessous <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Backport du driver dans un 2.6.32 spécifique</h2>
<p>La méthode qui consiste à utiliser un backup 2.6.32 fait par un gentil monsieur est elle-même déconseillée par le gentil monsieur. C&#8217;est pourtant simple sur le papier : tu récupères le paquet, tu l&#8217;installes, tu rebootes.<br />
Je suis son conseil, finalement, et j&#8217;opte pour la solution où on recompile le driver, malgré des désavantages. Voir ci-dessous.<br />
Sinon, c&#8217;est le <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/496093/comments/80">commentaire 80 qu&#8217;il faut lire</a>.</p>
<h2>Recompilation du bon driver</h2>
<p><a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/496093/comments/107">Commentaire 107 </a>sur le post mentionné précédemment<br />
Le désavantage, c&#8217;est que si demain Ubuntu met à jour le 2.6.32-22 en -23, il faudra recommencer la manip&#8217;.<br />
Je décris cette méthode car apparement le bug réapparait régulièrement depuis Ubuntu &#8220;Intrepid Ibex&#8221;, donc certains liens sont devenus obsolètes. Ca vous évitera de vous taper les 4 pages de remarques de tout le monde.<br />
Ce qui compte, c&#8217;est qu&#8217;à-la-fin-ça-marche.</p>
<h3>Installation des outils minimums de compilation de kernel</h3>
<pre>sudo aptitude install linux-headers-`uname -r` build-essential</pre>
<h3>Récupération du driver chez le fabricant</h3>
<p><a href="http://www.ralinktech.com/support.php?s=2">Partez de là </a> (site principal => Software => Linux). Et vous sélectionnez cette ligne là : &#8220;RT2860PCI/mPCI/CB/PCIe(RT2760/RT2790/RT2860/RT2890)&#8221;.<br />
En direct, tant qu&#8217;ils ne refondent pas tout leur site, ça donne <a href="http://www.ralinktech.com/download.php?t=U0wyRnpjMlYwY3k4eU1ERXdMekF4THpJNUwyUnZkMjVzYjJGa05ERTJNVEV5T1RFd05pNWllakk5UFQweU1ERXdYekF4WHpJNVgxSlVNamcyTUY5TWFXNTFlRjlUVkVGZmRqSXVNeTR3TGpBdWRHRnlD">ce fichier</a>.</p>
<h3>Compilation et installation du machin</h3>
<p>Décompressez (tar -xvjf 2010_01_29_RT2860_Linux_STA_v2.3.0.0.tar.bz2) et allez modifier dans les sources le fichier <code>2010_01_29_RT2860_Linux_STA_v2.3.0.0/os/linux/config.mk</code>.<br />
Vous reperez et mettez &#8220;y&#8221; (yes) aux lignes suivantes :</p>
<pre>HAS_WPA_SUPPLICANT=y
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y</pre>
<p>Ensuite, vous passez root. Non, &#8220;sudo ma_commande&#8221; ne revient pas au même dans le cas présent, dixit l&#8217;auteur.<br />
Donc :</p>
<pre>sudo su
cd 2010_01_29_RT2860_Linux_STA_v2.3.0.0
make &#038;&#038; make_install</pre>
<p>Ca mouline 10 minutes (c&#8217;est lent un eeePC <img src='http://michauko.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).<br />
Et on le charge :</p>
<pre>modprobe rt2860sta</pre>
<p>Enfin, si tout marche, vous ajouterez la ligne :</p>
<pre>rt2860sta</pre>
<p>dans le fichier <code>/etc/modules</code> pour que ça tienne après reboot.</p>
<h1>Conclusion</h1>
<p>Linux et le wifi, ça a toujours été le bordel.<br />
Maintenant, j&#8217;ai opté pour une méthode simple : avant d&#8217;upgrader Ubuntu, je télécharge l&#8217;ISO, je crée une clef USB Bootable Live Persistante avec <a href="http://www.linuxliveusb.com/">ce merveilleux outil</a>, je boote, je teste tout. Ensuite si ça passe, alors je migre. Sinon j&#8217;attends, ou j&#8217;aide à débugger si j&#8217;ai que ça à foutre.</p>
<p>Update de dernière minute : rien à faire, il chargeait tout le temps l&#8217;ancien driver rt2860sta de <code>/lib/modules/le_bon_kernel</code>. J&#8217;ai fini par écraser l&#8217;ancien avec le nouveau. Ils sont dans 2 arborescences différentes. Je ne l&#8217;ai plus sous la main, mais tentez un <code>find /lib/modules/ -name "rt2860sta.ko" -exec ls -l {} \;</code> pour voir, compte-tenu de la date, lequel est lequel. Tambouillez un coup et hop, votre driver marche enfin. Au forceps.</p>
]]></content:encoded>
			<wfw:commentRss>http://michauko.org/blog/2010/05/31/ubuntu-lucid-lynx-eeepc-ralink-rt2860-et-wifi-wpa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
