<?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>Cloud Connected &#187; noyau</title>
	<atom:link href="http://www.cloudconnected.fr/tag/noyau/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cloudconnected.fr</link>
	<description>Thoughts of a french web developer</description>
	<lastBuildDate>Wed, 01 Feb 2012 08:53:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mésaventure avec Linux&#8230;</title>
		<link>http://www.cloudconnected.fr/2006/06/05/mesaventure-avec-linux/</link>
		<comments>http://www.cloudconnected.fr/2006/06/05/mesaventure-avec-linux/#comments</comments>
		<pubDate>Mon, 05 Jun 2006 18:02:00 +0000</pubDate>
		<dc:creator>Rémi</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[matériel]]></category>
		<category><![CDATA[noyau]]></category>

		<guid isPermaLink="false">http://pre.the-asw.com/?p=64</guid>
		<description><![CDATA[Mes aventures avec Linux se soldent généralement par un échec cuisant. Il faut dire que depuis l&#8217;instauration par Linus Torvalds d&#8217;un nouveau cycle de développement unifiant les versions impairs &#8220;de développement&#8221; (2.3, 2.5) avec les versions paires &#8220;stables&#8221; (2.2, 2.4) en une seule version &#8220;2.6.machin.truc&#8221; ni vraiment stable ni vraiment instable, le noyau est devenu [...]]]></description>
			<content:encoded><![CDATA[<p>Mes aventures avec Linux se soldent généralement par un échec cuisant. Il faut dire que depuis l&#8217;instauration par Linus Torvalds d&#8217;un nouveau cycle de développement unifiant les versions impairs &#8220;de développement&#8221; (2.3, 2.5) avec les versions paires &#8220;stables&#8221; (2.2, 2.4) en une seule version &#8220;2.6.machin.truc&#8221; ni vraiment stable ni vraiment instable, le noyau est devenu un énorme jeu de domino. Ainsi, chaque mise à jour menace à tout moment de faire s&#8217;effondrer tout l&#8217;édifice. Et ce mois ci, c&#8217;est ma carte TV, une Pinnacle PCTV Stéréo, qui en a fait les frais (et non l&#8217;EFREI).</p>
<p><span id="more-65"></span></p>
<p>Après l&#8217;échec de ma <a href="/articles/2005/08/09/29-la-hauppauge-wintv-pci-fm-modele-760-et-moi" hreflang="fr">Hauppage WinTV</a>, j&#8217;ai investi dans une Pinnacle PCTV Stéréo (sans radio malheureusement), qui fonctionne parfaitement. La carte et le tuner sont autodétecté, mais au cas où, les options sont :</p>
<pre>options saa7134 card=26 tuner=33</pre>
<p>Et puis le week-end dernier je me décide à mettre à jour mon 2.6.12.2 vers un 2.6.16.18 tout beau tout neuf. Et là, c&#8217;est le drame : plus de son ! Enfin si, j&#8217;ai du son environ 3 secondes à chaque changement de chaine et puis pouf, plus rien.</p>
<p>En chargeant le module <code>saa7134</code> avec l&#8217;option <code>audio_debug=1</code>, il est possible de voir les logs de la partie audio dans <code>/var/log/syslog</code>. Avec ce nouveau noyau :</p>
<pre>
kernel: saa7134[0]/audio: found SECAM main sound carrier @ 6.500 MHz [12345/0]
kernel: saa7134[0]/audio: ctl_mute=0 automute=0 input=Television  =&gt;  mute=0 input=Television
kernel: saa7134[0]/audio: tvaudio_setmode: trying SECAM-L NICAM [6.500/5.850 MHz] acpf=122880+0
kernel: saa7134[0]/audio: <strong>getstereo: nicam=0x2</strong>
kernel: saa7134[0]/audio: tvaudio_setmode: trying SECAM-D/K [6.500/0.-01 MHz] acpf=122880+0
kernel: saa7134[0]/audio: tvaudio_setmode: using SECAM-D/K [6.500/0.-01 MHz] acpf=122880+0
</pre>
<p>Voici le même log avec le noyau <code>2.6.12</code> :</p>
<pre>
kernel: saa7134[0]/audio: found SECAM main sound carrier @ 6.500 MHz [12345/0]
kernel: saa7134[0]/audio: ctl_mute=0 automute=0 input=Television  =&gt;  mute=0 input=Television
kernel: saa7134[0]/audio: tvaudio_setmode: trying SECAM-L NICAM [6.500/5.850 MHz] acpf=122880+0
kernel: saa7134[0]/audio: <strong>getstereo: nicam=0x0</strong>
kernel: saa7134[0]/audio: found audio subchannels: mono
kernel: saa7134[0]/audio: tvaudio_setmode: using SECAM-L NICAM [6.500/5.850 MHz] acpf=122880+0
</pre>
<p>En gras, on constate que le code de retour de <code>getstereo</code> n&#8217;est pas le même, et qu&#8217;avant il utilisait <code>SECAM-L NICAM</code> (qui fonctionne), alors que maintenant il ne le retient pas et passe au suivant (<code>SECAM-D/K</code>) qui ne fonctionne pas, ce qui explique le son pendant quelques secondes&#8230;</p>
<p>N&#8217;ayant rien trouvé sur Internet concernant ce problème, j&#8217;ai fini par patcher à la va-comme-je-te-pousse le driver, en commantant le test sur le code de retour qui pose problème.</p>
<pre>
--- drivers/media/video/saa7134/saa7134-tvaudio.old     2006-06-04 20:33:44.000000000 +0200
+++ drivers/media/video/saa7134/saa7134-tvaudio.c       2006-06-04 20:34:20.000000000 +0200
@@ -433,7 +433,7 @@
        case TVAUDIO_NICAM_AM:
                nicam = saa_readb(SAA7134_AUDIO_STATUS);
                dprintk("getstereo: nicam=0x%x",nicam);
-               if (nicam &amp; 0x1) {
+               //if (nicam &amp; 0x1) {
                        nicam_status = saa_readb(SAA7134_NICAM_STATUS);
                        dprintk("getstereo: nicam_status=0x%x", nicam_status);

@@ -447,9 +447,9 @@
                            default:
                                retval = V4L2_TUNER_SUB_MONO;
                        }
-               } else {
+               //} else {
                        /* No nicam detected */
-               }
+               //}
                break;
        }
        if (retval != -1)
</pre>
<p>Après recompilation (<code>make modules</code>) et installation (<code>make modules_install</code>), le son ne disparait plus au bout de quelques secondes ! Yaha !</p>
<p>Malheureusement, entre temps un autre problème a fait son apparition&#8230; Après une mise à jour de la distribution, le son est devenu très faible, avec un effet de &#8220;souffle&#8221; énorme, comme si le son était très lointain. D&#8217;où vient le problème ? Est-ce ALSA ou bien un effet de bord de la modif du driver ?</p>
<p>Pour l&#8217;instant, je n&#8217;en sais rien, et je n&#8217;ai pas vraiment envie de chercher. Quel interet puisqu&#8217;à la prochaine version c&#8217;est autre chose qui va cesser de fonctionner correctement ? J&#8217;ai parfois l&#8217;impression d&#8217;être revenu au temps de Windows 95, avec son «&nbsp;Windows Update&nbsp;» où chaque utilisation relevait de la roulette russe&#8230; Je ne compte plus les fois où j&#8217;ai du réinstaller Windows après l&#8217;installation d&#8217;un patch qui ajoutait des bugs au lieu d&#8217;en corriger ! Alors, Linux est-il en train de devenir comme son aïeul ? Va-t-on devoir choisir entre un <em>desktop</em> multimédia fonctionnel sous Windows ou une super console sous Linux ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cloudconnected.fr/2006/06/05/mesaventure-avec-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>La Hauppauge WinTV PCI-FM modele 760 et moi</title>
		<link>http://www.cloudconnected.fr/2005/08/09/la-hauppauge-wintv-pci-fm-modele-760-et-moi/</link>
		<comments>http://www.cloudconnected.fr/2005/08/09/la-hauppauge-wintv-pci-fm-modele-760-et-moi/#comments</comments>
		<pubDate>Tue, 09 Aug 2005 23:13:00 +0000</pubDate>
		<dc:creator>Rémi</dc:creator>
				<category><![CDATA[Non classé]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[matériel]]></category>
		<category><![CDATA[noyau]]></category>

		<guid isPermaLink="false">http://pre.the-asw.com/?p=32</guid>
		<description><![CDATA[Ma fidèle Miro PCTV de la guerre commençant serieusement à montrer des signes de fatigues, notamment une qualité d&#8217;image horrible (neige, parasites, couleurs baveuses&#8230;) malgré un trifouillage intensif du connecteur, j&#8217;ai décidé qu&#8217;il était temps d&#8217;investir dans une nouvelle carte tuner tv, histoire d&#8217;avoir une télé agréable à regarder, et, tant qu&#8217;à faire, la radio [...]]]></description>
			<content:encoded><![CDATA[<p>Ma fidèle Miro PCTV de la guerre commençant serieusement à montrer des signes de fatigues, notamment une qualité d&#8217;image horrible (neige, parasites, couleurs baveuses&#8230;) malgré un trifouillage intensif du connecteur, j&#8217;ai décidé qu&#8217;il était temps d&#8217;investir dans une nouvelle carte tuner tv, histoire d&#8217;avoir une télé agréable à regarder, et, tant qu&#8217;à faire, la radio fm. J&#8217;ai porté mon attention sur la <a href="http://www.hauppauge.fr/pages/products/data_pcifm.html" hreflang="fr">Hauppage WinTV PCI-FM</a> qui présente les caractéristiques que je veux pour un prix relativement abordable (89€). Un coup d&#8217;oeil sur google m&#8217;indique qu&#8217;elle sont bien supportées par bttv. Seulement c&#8217;était sans compter les ingénieurs d&#8217;Hauppauge, qui ont du décider entre deux parties de scrabble, histoire de justifier leur salaire, de changer le vieux-mais-vachement-bien-supporté chip bt pour un neuf-mais-sans-drivers conexant dans les nouvelles revisions de la carte (modele 7xx, dont le mien, le 760)&#8230; Résultat des courses, cette carte n&#8217;est pas vraiment utilisable sous Linux. Voici quelques informations/astuces que j&#8217;ai pu récolter après 2 jours complets de tests, en esperant que ça pourra servir à quelqu&#8217;un&#8230;</p>
<p><span id="more-32"></span></p>
<p>J&#8217;écris cet article avec une Debian Sid, kernel 2.6.12.2.</p>
<h3>Conexant remplace bttv</h3>
<p>Première chose à savoir : la plupart des sites/forums qui parlent de la Hauppauge WinTV PCI-FM font référence à des révisions &#8220;anciennes&#8221; de la carte, qu&#8217;on ne trouve plus sur le marché du neuf. 90% des gens vont donc conseiller d&#8217;utiliser bttv, et, évidemment, ça ne fonctionnera pas. Pour en être certain il suffit de regarder ce qui est écrit sur le gros circuit intégré sur la carte.</p>
<div id="attachment_329" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.cloudconnected.fr/wp-content/uploads/2009/02/h760.jpg" rel="lightbox" title="Hauppauge WinTV PCI-FM avec un Chip Connexant"><img src="http://www.the-asw.com/wp-content/uploads/2005/08/h760-300x285.jpg" alt="Hauppauge WinTV PCI-FM avec un Chip Connexant" title="h760" width="300" height="285" class="size-medium wp-image-329" /></a><p class="wp-caption-text">Hauppauge WinTV PCI-FM avec un Chip Connexant</p></div>
<p>La bonne nouvelle, c&#8217;est qu&#8217;il existe des drivers pour ces chips conexant, intégré dans la branche 2.6 du noyau. Le driver est le module <code>cx8800</code>, qui charge, entre autres choses, le module <code>cx88xx</code>.</p>
<p>J&#8217;ai activé ces options dans le noyau :</p>
<pre>
Device Drivers
 ---&gt;  Multimedia devices
 ---&gt;   &lt;M&gt; Video For Linux
  Video For Linux
 ---&gt;     &lt;M&gt; Conexant 2388x (bt878 successor) support
</pre>
<p>D&#8217;ailleurs pour la suite, une astuce qui peut être utile : pour éviter d&#8217;avoir à tout recompiler, utilisez les commandes <code>make modules</code> et <code>make modules_install</code>. Même si vous êtes comme moi, avec un noyau installé <a href="http://www.us.debian.org/doc/manuals/reference/ch-kernel.fr.html#s-kernel-debian" hreflang="fr">avec la méthode Debian</a>, c&#8217;est bien pratique et niveau dpkg, ça casse rien, c&#8217;est pas pire que l&#8217;install du module nvidia en plus :)</p>
<h3>L&#8217;image</h3>
<p>Donc avec ce module, un <code>modprobe cx8800</code> donne, dans <code>/var/log/messages</code> (ou avec la commande <code>dmesg</code>) : </p>
<pre>
Linux video capture interface: v1.00 cx2388x v4l2 driver version 0.0.4 loaded
ACPI: PCI Interrupt 0000:01:08.0[A] -&gt; Link [LNK3] -&gt; GSI 5 (level, low) -&gt; IRQ 5
cx88[0]: subsystem: 0070:3401, board: Hauppauge WinTV 34xxx models [card=1,insmod option]
tveeprom: Hauppauge: model = 34519, rev = J160, serial# = 2934115
tveeprom: tuner = LG S001D MK3 (idx = 60, type = 4)
tveeprom: tuner fmt = PAL(D/K) (eeprom = 0x74, v4l2 = 0x00400e17)
tveeprom: audio_processor = MSP3425 (type = 15)
cx88[0]: registered IR remote control
cx88[0]/0: found at 0000:01:08.0, rev: 5, irq: 5, latency: 32, mmio: 0xcc000000
cx88[0]/0: registered device video0 [v4l2]
cx88[0]/0: registered device vbi0
cx88[0]/0: registered device radio0
</pre>
<p>Pour passer des options au module, il faut le faire à <code>cx88xx</code> (chargé automatiquement par <code>cx8800</code>). J&#8217;ai mis dans <code>/etc/modprobe.d/cx88xx</code> :</p>
<pre>option cx88xx card=1</pre>
<p>La carte est bien reconnue, mais le problème c&#8217;est le tuner. En effet, il detecte bien un <code>LG S001D MK</code> (c&#8217;est le bon), mais lui associe le type 4, c&#8217;est à dire &#8220;NoTuner&#8221; (pour mémoire, la liste des tuners se trouve dans les sources du kernel, dans <code>Documentation/video4linux/CARDLIST.tuner</code>). En fait, ce tuner est connu mais n&#8217;a aucun driver implémenté&#8230;</p>
<p>Après plusieurs heure de recherche, j&#8217;ai fini par tomber sur <a href="http://www.spinics.net/lists/vfl/msg18480.html" hreflang="en">ce thread</a> sur la mailing list de video4linux. Il s&#8217;avère apparement que les specs de ce tuner sont assez proche du Philips PAL/SECAM multi (FM1216ME MK3) (tuner=38), et devrait donc pouvoir fonctionner en forçant :</p>
<pre>option cx88xx card=1 tuner=38</pre>
<p>Problème : lorsque le driver connait le tuner (c&#8217;est le cas ici) ne tiens pas compte du paramètre passé au module. Un patch est proposé sur le même thread dans <a href="http://www.spinics.net/lists/vfl/msg18482.html" hreflang="en">ce mail</a> pour forcer la correspondance &#8220;LG S001D MK = tuner 38&#8243;. Moi j&#8217;ai fait autrement, j&#8217;ai preféré supprimer le bout de code indiquant d&#8217;ignorer le paramètre du module (parcequ&#8217;en fait j&#8217;avais déjà fait ce patch avant de trouver le thread, et ça me gonflait de devoir recompiler le module). Ainsi je peux tester avec différent tuner en passant l&#8217;option comme ci-dessus. Voici mon patch :</p>
<pre>
--- /usr/src/linux/drivers/media/video/cx88/cx88-cards.c.orig   2005-08-08 20:54:53.000000000 +0200
+++ /usr/src/linux/drivers/media/video/cx88/cx88-cards.c        2005-08-08 20:55:10.000000000 +0200
@@ -755,7 +755,9 @@
        struct tveeprom tv;
        tveeprom_hauppauge_analog(&amp;tv, eeprom_data);
+#if 0
        core-&gt;tuner_type = tv.tuner_type;
+#endif
        core-&gt;has_radio  = tv.has_radio;
 }
</pre>
<p>En rechargeant <code>cx8800</code> avec l&#8217;option <code>tuner=38</code> pour <code>cx88xx</code>, j&#8217;ai reussi à obtenir une image (de qualité TRES médiocre d&#8217;ailleurs) sur <code>tvtime</code>, et <code>scantv -C /dev/vbi0</code> me trouve les bonnes chaines.</p>
<h3>Le son</h3>
<p>J&#8217;utilise le module <code>tda9887</code>, qui fonctionne correctement pour la radio (voir ci-après). Mais pour la télé, pour l&#8217;instant, je n&#8217;ai pas reussi à obtenir mieux qu&#8217;un souffle ou un gresillement inaudible :-(</p>
<p>Un message pas encourageant du tout se trouve dans les sources du kernel, dans <code>Documentation/video4linux/README.cx88</code> :</p>
<blockquote><p> « audio<br />
 &#8211; The chip specs for the on-chip TV sound decoder are next<br />
 to useless :-/<br />
 &#8211; Neverless the builtin TV sound decoder starts working now,<br />
 at least for PAL-BG.  Other TV norms need other code &#8230;<br />
 FOR ANY REPORTS ON THIS PLEASE MENTION THE TV NORM YOU ARE<br />
 USING.<br />
 &#8211; Most tuner chips do provide mono sound, which may or may not<br />
 be useable depending on the board design.  With the Hauppauge<br />
 cards it works, so there is mono sound available as fallback.<br />
 &#8211; audio data dma (i.e. recording without loopback cable to the<br />
 sound card) should be possible, but there is no code yet &#8230; 	»</p>
</blockquote>
<p>En gros, c&#8217;est la merde. Si quelqu&#8217;un sait comment faire pour avoir au moins le son mono, je suis preneur !</p>
<h3>La radio</h3>
<p>C&#8217;est le seul truc qui fonctionne plutôt bien, et qui est plutôt facile à installer (comparé au temps que j&#8217;ai passé pour la vidéo)</p>
<p>J&#8217;ai utilisé <code>radio</code> ou <code>gradio</code> (packages Debian du même nom), pour obtenir du son.</p>
<p>Le GROS problème est que, quand le cable antenne radio est branché, je perd 80% des stations TV, et les 20% que je peux encore capter sont impossible à regarder (déjà que l&#8217;image est pas top quand rien n&#8217;est branché,  alors là&#8230;)</p>
<h3>Conclusion</h3>
<p>Je ne sais pas encore ce que j&#8217;ai vais bien pouvoir faire de cette carte : si je branche l&#8217;antenne radio, je n&#8217;ai plus d&#8217;image ; si je ne la branche pas, j&#8217;ai des images (moches), et pas de son&#8230; Tout ce que j&#8217;espère c&#8217;est que les drivers vont être developpés et que d&#8217;ici quelques mois elle devienne utilisable ! En tous cas je vous la déconseille fortement pour le moment.</p>
<h4>Quelques liens trouvés ça et là :</h4>
<ul>
<li>La <a href="http://linux.bytesex.org/v4l2/cx88.html" hreflang="en">page du driver cx88</a> (pas très à jour)</li>
<li>Un <a href="http://www.inf.bme.hu/%7Epts/pts-tv-record-video4linux-tutorial.txt" hreflang="en">tutorial très compact</a>, sur un peu tout ce qui concerne v4l</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.cloudconnected.fr/2005/08/09/la-hauppauge-wintv-pci-fm-modele-760-et-moi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

