<?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>James Emmrich &#187; Linux</title>
	<atom:link href="http://www.lwp.ca/james/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lwp.ca/james</link>
	<description>Just another motorcycle linux geek</description>
	<lastBuildDate>Sat, 19 Jun 2010 03:25:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Linux and the Mercury EZ View TV Tuner Card</title>
		<link>http://www.lwp.ca/james/2010/05/linux-and-the-mercury-ez-view-tv-tuner-card/</link>
		<comments>http://www.lwp.ca/james/2010/05/linux-and-the-mercury-ez-view-tv-tuner-card/#comments</comments>
		<pubDate>Wed, 26 May 2010 00:16:57 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Entertainment Centre]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=539</guid>
		<description><![CDATA[I am not one to watch much TV, but when I do, I prefer to do so by PVR with commercials cut, and live pausing. I also like to set recording schedules in advance and do it from my cellphone if need be. I bought this little card originally for my parents PVR that I [...]]]></description>
			<content:encoded><![CDATA[<p>I am not one to watch much TV, but when I do, I prefer to do so by PVR with commercials cut, and live pausing. I also like to set recording schedules in advance and do it from my cellphone if need be.</p>
<p>I bought this little card originally for my parents PVR that I built them, unfortunately I could not get it to work. I believe I paid a little less than $100.00 for it. After a lot of messing with it, I put it back in the box and left it.</p>
<p>Four years later, I attempted again ha.</p>
<p>This is how to get your Mercury EZ View PCI Card to work in Ubuntu 10.04 LTS.</p>
<h2>The Mercury EZ View PCI Card</h2>
<div id="attachment_544" class="wp-caption alignleft" style="width: 460px"><a href="http://www.lwp.ca/james/wp-content/uploads/2010/05/pr_tvtunercard_ezview_b.jpg"><img class="size-full wp-image-544   " title="mercury_ezview1" src="http://www.lwp.ca/james/wp-content/uploads/2010/05/pr_tvtunercard_ezview_b.jpg" alt="" width="450" height="350" /></a><p class="wp-caption-text">Product Image</p></div>
<p><strong>FM Radio Reception</strong></p>
<ul>
<li> Auto Scan FM channels</li>
</ul>
<p><strong>TV / Video Display</strong></p>
<ul>
<li> Full motion display @ 30fps</li>
<li>Resizable video window from free size to full screen</li>
<li>Full screen display: Max resolution up to 720 x 576</li>
<li>Supports overlay mode to get the best quality</li>
</ul>
<p><strong>TV / Video Capture</strong></p>
<ul>
<li> Full motion video capture up to 30 fps</li>
<li>Video capture format: AVI, MPEG-1/2/4, DVD, VCD, MP3</li>
<li>Still image snapshot format BMP</li>
<li>Video capture size up to 352 x 288 (AVI), 325 x 240 (VCD NTSC) and 322 x 288 (VCD PAL)</li>
</ul>
<p><strong>Digital Video Capture</strong></p>
<ul>
<li>Capture and display video from Digital Video (DV) camcorder</li>
<li>Record DV video into MPEG-I or MPEG-II and AVI files</li>
<li>Camera control via GUI</li>
</ul>
<p><strong>System Requirements </strong></p>
<ul>
<li> Outdoor antenna or cable TV connection</li>
<li> Pentium III 700MHz or higher processor</li>
<li> 128MB of system memory recommended</li>
<li> Microsoft Windows 98 SE/ME/2000/XP with DirectX 8.1 installed</li>
<li> DirectX 8.1 compatible VGA card</li>
</ul>
<p><strong>Hardware</strong></p>
<ul>
<li> Conexant CX 23881 chipset, 10bits high quality ADC</li>
<li> Multiple tuner receptions (NTSC, PAL system)</li>
<li> PCI 2.1 compatible Interface</li>
<li> 4 layer PCB</li>
<li> Remote power on</li>
<li> Full IR remote control function</li>
</ul>
<h2>Installing the Card</h2>
<div id="attachment_547" class="wp-caption alignright" style="width: 310px"><a href="http://www.lwp.ca/james/wp-content/uploads/2010/05/photo.jpg"><img class="size-medium wp-image-547" title="mercury_cables" src="http://www.lwp.ca/james/wp-content/uploads/2010/05/photo-300x225.jpg" alt="" width="300" height="225" /></a><p class="wp-caption-text">Jumper cables provided</p></div>
<p>Duh, just like any card. But on the serious side, it came with a bunch of jumper cables as shown on the left. The back of the card has a cable coaxial input, a IR input port for the remote, and an &#8220;S-Video&#8221; like connector. The jumper cables provided, allow you to split this into the following connections:</p>
<ul>
<li>Splitter cable:
<ul>
<li>Audio Out &#8211; 3.5mm female</li>
<li>Audio In &#8211; 3.5mm female</li>
<li>Video Composite Out &#8211; male</li>
<li>S-Video Out &#8211; female</li>
</ul>
</li>
<li>3.5mm headphone cable jumper &#8211; male/male</li>
</ul>
<p>It seems to be a funky way of doing things, but in any case&#8230;</p>
<p>Upon system reboot, the card is not detected, the syslog shows the following:</p>
<ol>
<li>
<div>May 24 19:38:20 lonewolf kernel: [    13.296313] Linux video capture interface: v2.00</div>
</li>
<li>
<div>May 24 19:38:20 lonewolf kernel: [    13.766829] Console: switching to colour frame buffer device 80&#215;30</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010115] cx88/0: cx2388x v4l2 driver version 0.0.7 loaded</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010171] cx8800 0000:02:0a.0: PCI INT A -&gt; GSI 22 (level, low)  -&gt; IRQ 22</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010469] cx88[0]: Your board has no valid PCI Subsystem ID and thus  can&#8217;t</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010471] cx88[0]: be autodetected.  Please pass card=&lt;n&gt; insmod  option to</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010473] cx88[0]: workaround that.  Redirect complaints to the vendor  of</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010474] cx88[0]: the TV card.  Best regards,</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.010475] cx88[0]:         &#8212; tux</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.012313] cx88[0]: Here is a list of valid choices for the  card=&lt;n&gt; insmod option:</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.012815] cx88[0]:    card=0 -&gt; UNKNOWN/GENERIC</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.013152] cx88[0]:    card=1 -&gt; Hauppauge WinTV 34xxx models</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.013521] cx88[0]:    card=2 -&gt; GDI Black Gold</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.013841] cx88[0]:    card=3 -&gt; PixelView</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.014143] cx88[0]:    card=4 -&gt; ATI TV Wonder Pro</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.014468] cx88[0]:    card=5 -&gt; Leadtek Winfast 2000XP Expert</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.014832] cx88[0]:    card=6 -&gt; AverTV Studio 303 (M126)</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.015178] cx88[0]:    card=7 -&gt; MSI TV-@nywhere Master</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.015518] cx88[0]:    card=8 -&gt; Leadtek Winfast DV2000</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.015858] cx88[0]:    card=9 -&gt; Leadtek PVR 2000</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.016214] cx88[0]:    card=10 -&gt; IODATA GV-VCP3/PCI</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.016554] cx88[0]:    card=11 -&gt; Prolink PlayTV PVR</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.016893] cx88[0]:    card=12 -&gt; ASUS PVR-416</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.017208] cx88[0]:    card=13 -&gt; MSI TV-@nywhere</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.017532] cx88[0]:    card=14 -&gt; KWorld/VStream XPert DVB-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.017900] cx88[0]:    card=15 -&gt; DViCO FusionHDTV DVB-T1</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.018252] cx88[0]:    card=16 -&gt; KWorld LTV883RF</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.018570] cx88[0]:    card=17 -&gt; DViCO FusionHDTV 3 Gold-Q</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.018925] cx88[0]:    card=18 -&gt; Hauppauge Nova-T DVB-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.019270] cx88[0]:    card=19 -&gt; Conexant DVB-T reference design</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.019644] cx88[0]:    card=20 -&gt; Provideo PV259</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.019960] cx88[0]:    card=21 -&gt; DViCO FusionHDTV DVB-T Plus</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.020356] cx88[0]:    card=22 -&gt; pcHDTV HD3000 HDTV</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.030618] cx88[0]:    card=23 -&gt; digitalnow DNTV Live! DVB-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.040737] cx88[0]:    card=24 -&gt; Hauppauge WinTV 28xxx (Roslyn)  models</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.051028] cx88[0]:    card=25 -&gt; Digital-Logic MICROSPACE  Entertainment Center (MEC)</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.071494] cx88[0]:    card=26 -&gt; IODATA GV/BCTV7E</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.081762] cx88[0]:    card=27 -&gt; PixelView PlayTV Ultra Pro (Stereo)</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.091783] cx88[0]:    card=28 -&gt; DViCO FusionHDTV 3 Gold-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.101925] cx88[0]:    card=29 -&gt; ADS Tech Instant TV DVB-T PCI</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.111947] cx88[0]:    card=30 -&gt; TerraTec Cinergy 1400 DVB-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.122069] cx88[0]:    card=31 -&gt; DViCO FusionHDTV 5 Gold</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.132337] cx88[0]:    card=32 -&gt; AverMedia UltraTV Media Center PCI  550</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.142650] cx88[0]:    card=33 -&gt; Kworld V-Stream Xpert DVD</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.152954] cx88[0]:    card=34 -&gt; ATI HDTV Wonder</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.163478] cx88[0]:    card=35 -&gt; WinFast DTV1000-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.174010] cx88[0]:    card=36 -&gt; AVerTV 303 (M126)</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.184401] cx88[0]:    card=37 -&gt; Hauppauge Nova-S-Plus DVB-S</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.194992] cx88[0]:    card=38 -&gt; Hauppauge Nova-SE2 DVB-S</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.205465] cx88[0]:    card=39 -&gt; KWorld DVB-S 100</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.215970] cx88[0]:    card=40 -&gt; Hauppauge WinTV-HVR1100  DVB-T/Hybrid</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.226649] cx88[0]:    card=41 -&gt; Hauppauge WinTV-HVR1100  DVB-T/Hybrid (Low Profile)</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.247883] cx88[0]:    card=42 -&gt; digitalnow DNTV Live! DVB-T Pro</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.259172] cx88[0]:    card=43 -&gt; KWorld/VStream XPert DVB-T with  cx22702</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.270560] cx88[0]:    card=44 -&gt; DViCO FusionHDTV DVB-T Dual Digital</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.282025] cx88[0]:    card=45 -&gt; KWorld HardwareMpegTV XPert</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.293396] cx88[0]:    card=46 -&gt; DViCO FusionHDTV DVB-T Hybrid</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.304702] cx88[0]:    card=47 -&gt; pcHDTV HD5500 HDTV</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.315830] cx88[0]:    card=48 -&gt; Kworld MCE 200 Deluxe</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.327030] cx88[0]:    card=49 -&gt; PixelView PlayTV P7000</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.338171] cx88[0]:    card=50 -&gt; NPG Tech Real TV FM Top 10</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.349322] cx88[0]:    card=51 -&gt; WinFast DTV2000 H</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.360277] cx88[0]:    card=52 -&gt; Geniatech DVB-S</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.371133] cx88[0]:    card=53 -&gt; Hauppauge WinTV-HVR3000 TriMode  Analog/DVB-S/DVB-T</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.392302] cx88[0]:    card=54 -&gt; Norwood Micro TV Tuner</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.403119] cx88[0]:    card=55 -&gt; Shenzhen Tungsten Ages Tech  TE-DTV-250 / Swann OEM</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.425351] cx88[0]:    card=56 -&gt; Hauppauge WinTV-HVR1300  DVB-T/Hybrid MPEG Encoder</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.448397] cx88[0]:    card=57 -&gt; ADS Tech Instant Video PCI</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.460250] cx88[0]:    card=58 -&gt; Pinnacle PCTV HD 800i</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.472088] cx88[0]:    card=59 -&gt; DViCO FusionHDTV 5 PCI nano</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.483859] cx88[0]:    card=60 -&gt; Pinnacle Hybrid PCTV</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.495621] cx88[0]:    card=61 -&gt; Leadtek TV2000 XP Global</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.507511] cx88[0]:    card=62 -&gt; PowerColor RA330</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.519250] cx88[0]:    card=63 -&gt; Geniatech X8000-MT DVBT</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.531312] cx88[0]:    card=64 -&gt; DViCO FusionHDTV DVB-T PRO</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.543210] cx88[0]:    card=65 -&gt; DViCO FusionHDTV 7 Gold</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.554938] cx88[0]:    card=66 -&gt; Prolink Pixelview MPEG 8000GT</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.566832] cx88[0]:    card=67 -&gt; Kworld PlusTV HD PCI 120 (ATSC 120)</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.578525] cx88[0]:    card=68 -&gt; Hauppauge WinTV-HVR4000  DVB-S/S2/T/Hybrid</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.589973] cx88[0]:    card=69 -&gt; Hauppauge WinTV-HVR4000(Lite)  DVB-S/S2</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.601279] cx88[0]:    card=70 -&gt; TeVii S460 DVB-S/S2</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.612676] cx88[0]:    card=71 -&gt; Omicom SS4 DVB-S/S2 PCI</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.624058] cx88[0]:    card=72 -&gt; TBS 8920 DVB-S/S2</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.635450] cx88[0]:    card=73 -&gt; TeVii S420 DVB-S</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.646784] cx88[0]:    card=74 -&gt; Prolink Pixelview Global Extreme</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.658301] cx88[0]:    card=75 -&gt; PROF 7300 DVB-S/S2</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.669770] cx88[0]:    card=76 -&gt; SATTRADE ST4200 DVB-S/S2</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.681486] cx88[0]:    card=77 -&gt; TBS 8910 DVB-S</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.692933] cx88[0]:    card=78 -&gt; Prof 6200 DVB-S</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.704146] cx88[0]:    card=79 -&gt; Terratec Cinergy HT PCI MKII</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.715313] cx88[0]:    card=80 -&gt; Hauppauge WinTV-IR Only</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.726179] cx88[0]:    card=81 -&gt; Leadtek WinFast DTV1800 Hybrid</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.736853] cx88[0]:    card=82 -&gt; WinFast DTV2000 H rev. J</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.736865] cx88[0]: subsystem: 0000:0000, board: UNKNOWN/GENERIC  [card=0,autodetected], frontend(s): 0</div>
</li>
<li>
<div>May 24 19:38:21 lonewolf kernel: [    14.736872] cx88[0]: TV tuner type -1, Radio tuner type -1</div>
</li>
</ol>
<p>Never had to deal with this before. Annoying, as my Hauppauge 250 PVR card works amazing and out of the box. As you can see there is no EZ View or Mercury in there.</p>
<h2>Debugging</h2>
<p>I needed to find out more information:</p>
<pre>sudo lspci -v</pre>
<pre>02:0a.0 Multimedia video controller: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder (rev 03)
 Flags: medium devsel, IRQ 22
 Memory at f9000000 (32-bit, non-prefetchable) [size=16M]
 Capabilities: [44] Vital Product Data &lt;?&gt;
 Capabilities: [4c] Power Management version 2
 Kernel modules: cx8800</pre>
<p>I installed my usual software:</p>
<ul>
<li>tvtime</li>
<li>xawtv</li>
</ul>
<pre>sudo apt-get install tvtime xawtv</pre>
<p>I tried all, obviously, got nothing.</p>
<p>After posting numerous posts around the web, reading, my last resort was to figure out how to set the card types. To do so I needed to learn the modprobe command.</p>
<p>One thing to note here is that it seems the cx8800 driver creates the device /dev/video0 and the cx88xx provides new functionality, therefore they work together. You need to unload and reload them both. My initial problems was that the cx8800 driver does not support the modprobe command &#8220;card&#8221; as that was moved to the cx88xx driver.</p>
<p>Another thing was you can&#8217;t unload the cx88xx module from the kernel unless you first remove the cx8800 module. These little things caused a lot of initial confusion for me.</p>
<p>I wrote a little script to test each card type, surprisingly, this card seems to work on a couple different types. It was working and I didn&#8217;t even know it a couple times. Here&#8217;s a simple shell script I wrote:</p>
<pre>rmmod cx8800
rmmod cx88xx</pre>
<pre>modprobe cx88xx card=$1 tuner=$2
modprobe cx8800</pre>
<pre>tvtime</pre>
<p>When tvtime opens, you can then set the input for the card, in my case it was Television, but for some it might be composite, s-video, dvb whatever your case may be. It took a few seconds before my video started producing color video.</p>
<h3>Freenode help</h3>
<p>A friendly fellow from Iceland, <strong>kizi</strong>, from Freenode&#8217;s IRC ##linux channel, provided some expertise here and helped me on the rest of the journey. He found me this interesting site:</p>
<p><a title="Linkification:  http://translate.google.is/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=1&amp;eotf=1&amp;u=http%3A%2F%2Fsugo.ubuntu.hu%2Fcommunity-doc%2Fhardy%2Funiverse%2Fhardware%2Fmercury_ezview_cx88xx.html&amp;sl=hu&amp;tl=en" href="http://translate.google.is/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=1&amp;eotf=1&amp;u=http%3A%2F%2Fsugo.ubuntu.hu%2Fcommunity-doc%2Fhardy%2Funiverse%2Fhardware%2Fmercury_ezview_cx88xx.html&amp;sl=hu&amp;tl=en">http://translate.google.is/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=1&amp;eotf=1&amp;u=http%3A%2F%2Fsugo.ubuntu.hu%2Fcommunity-doc%2Fhardy%2Funiverse%2Fhardware%2Fmercury_ezview_cx88xx.html&amp;sl=hu&amp;tl=en</a></p>
<p>Honestly cannot thank him enough!</p>
<p>Interestingly this link had the card and tuner number I needed! card=27 tuner=69</p>
<p>So I ran the script again with the following:</p>
<pre>./mercury 27 69</pre>
<p>Viola! seemed to work even better!</p>
<p>To make this work after rebooting the computer, I made a config file: /etc/<a class="linkification-ext" title="Linkification: http://modprobe.conf/mercury.conf" href="http://modprobe.conf/mercury.conf">modprobe.conf/mercury.conf</a></p>
<pre>options cx88 card=27 tuner=69</pre>
<p>So I rebooted and to make sure it worked still. Yay!</p>
<p>As for setting it up in MythTV, well, that is a whole different post. Due to the way my audio is configured, it&#8217;s like a puzzle of jumper cables and only just figured it out 24 hours later with lots of frustration. <strong>Boy, do I hate </strong>the way Ubuntu 10.04 LTS handles the audio card configurations!!</p>
<p>Hope this will help anyone else getting their card to work.</p>
<h2>Related pages:</h2>
<ul>
<li>Mercury EZ view tv tuner card (Conexant CX 23881 chipset) &#8211; http://ubuntuforums.org/showthread.php?t=512551</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/05/linux-and-the-mercury-ez-view-tv-tuner-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tethering with the iPhone 3Gs on Ubuntu Karmic Koala 9.10</title>
		<link>http://www.lwp.ca/james/2010/04/tethering-with-the-iphone-3gs-on-ubuntu-karmic-koala-9-10/</link>
		<comments>http://www.lwp.ca/james/2010/04/tethering-with-the-iphone-3gs-on-ubuntu-karmic-koala-9-10/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 17:53:15 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cellphone]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=530</guid>
		<description><![CDATA[Ok, this seemed to be a headache for a good hour. Under Windows it was easy easy easy. It seems to be an issue with pairing and Internet Tethering being off and turned on without the iPhone being restarted and how Ubuntu handles the pairing over this transition. Most notable issue is that Network Manager [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, this seemed to be a headache for a good hour. Under Windows it was easy easy easy. It seems to be an issue with pairing and Internet Tethering being off and turned on without the iPhone being restarted and how Ubuntu handles the pairing over this transition.</p>
<p>Most notable issue is that Network Manager will just fail to connect to the bluetooth access point immediately. If you install blueman, a great bluetooth manager, you will get the message &#8220;Connection refused (111)&#8221; or something similar which is a little more helpful, but not quite. To fix this, follow these steps.</p>
<ol>
<li>Turn on tethering, on your iPhone click Settings &gt; General &gt; Network and turn on Internet Tethering. Tethering seems to be turned off by default on the iPhone.</li>
<li>Make sure that you delete all pairing with your iPhone in the bluetooth-manager (right click and go to preferences)</li>
<li>In your iPhone, go to Settings &gt; General &gt; Bluetooth, slide the computer paired connection, to the left and &#8220;Forget this Device&#8221;</li>
<li>Hold down the power button and restart your iPhone</li>
<li>In Ubuntu, right click bluetooth-manager and go to Preferences</li>
<li>Set your friendly name and then click Set up new Device&#8230;</li>
<li>On your iPhone enter the passcode on your laptop</li>
<li>Success on pairing!</li>
<li>On the computer make sure to check the option to use this as a network connection.</li>
<li>Test: Turn off your Wifi on the computer, and click the Network Manager icon, you should see 23:AF:45:BE:12:FA PANU or something similar. Click to connect.</li>
</ol>
<p><strong>Important notes:</strong></p>
<p>Wifi Issues</p>
<p>Bluetooth does not seem to work well with Wii connections that are active. I tend to get my bluetooth connections dropping out or just plain will not connect. So make sure if you are having problems at all, turn Wifi to remove one more variable from problem.</p>
<p>Cellular Provider</p>
<p>I am with Telus Mobility and they offer the ability to tether on all their smartphone/data plans.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/04/tethering-with-the-iphone-3gs-on-ubuntu-karmic-koala-9-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Git to manage online website projects</title>
		<link>http://www.lwp.ca/james/2010/03/using-git-to-manage-online-website-projects/</link>
		<comments>http://www.lwp.ca/james/2010/03/using-git-to-manage-online-website-projects/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 20:25:33 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=522</guid>
		<description><![CDATA[I have recently been getting into using Git for my more complicated projects. After a bit of google foo, I came across some references to using Git to push and pull website updates. This post is my way of remembering how I set up new git repositories. I did not &#8220;figure&#8221; this out myself, but [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently been getting into using Git for my more complicated projects. After a bit of google foo, I came across some references to using Git to push and pull website updates. This post is my way of remembering how I set up new git repositories. I did not &#8220;figure&#8221; this out myself, but I have linked to the originator. But I did modify it slightly.</p>
<p><strong>Related material:</strong></p>
<ul>
<li>This is one of the websites that I used as a reference, quite a bit is the same, even the borrowed graphic:<br />
<a class="linkification-ext" title="Linkification: http://dmiessler.com/blog/using-git-to-maintain-your-website" href="http://dmiessler.com/blog/using-git-to-maintain-your-website">http://dmiessler.com/blog/using-git-to-maintain-your-website</a></li>
<li>Some basic information on Git usage<br />
<a class="linkification-ext" title="Linkification: http://www.kernel.org/pub/software/scm/git-core/docs/v1.2.6/tutorial.html" href="http://www.kernel.org/pub/software/scm/git-core/docs/v1.2.6/tutorial.html">http://www.kernel.org/pub/software/scm/git-core/docs/v1.2.6/tutorial.html</a></li>
</ul>
<p><strong>First how it works</strong><br />
The server has the htdocs of the live website as well as a htdocs.git as the central main repository. Everything will be pushed there, and once completed, automatically pulled into the live website. The structure is as so:</p>
<p><a href="http://www.lwp.ca/james/wp-content/uploads/2010/03/git-tree.gif"><img class="aligncenter size-full wp-image-523" title="git-tree" src="http://www.lwp.ca/james/wp-content/uploads/2010/03/git-tree.gif" alt="" width="263" height="316" /></a></p>
<p>Install Git on all systems, I use Debian.</p>
<p><span style="font-family: courier new;">sudo apt-get install git-core</span></p>
<p>On the server enter your websites htdocs:</p>
<p><span style="font-family: courier new;">git init</span><br />
<span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;Initial import of project.&#8221;</span></p>
<p>Now we want to clone this repository.</p>
<p><span style="font-family: courier new;">cd ..</span><br />
<span style="font-family: courier new;">git clone &#8211;bare htdocs htdocs.git</span></p>
<p>On the local system now:</p>
<p><span style="font-family: courier new;">git clone ssh://<a class="linkification-ext" title="Linkification: http://root@lwp.ca/full/path/to/htdocs.git" href="http://root@lwp.ca/full/path/to/htdocs.git">root@lwp.ca/full/path/to/htdocs.git</a></span></p>
<p>On the server:</p>
<p><span style="font-family: courier new;">mv htdocs htdocs.backup</span><br />
<span style="font-family: courier new;">git clone htdocs.git</span></p>
<p>Note: htdocs.backup can be removed once the system is setup and working.<br />
<strong><br />
Final updates to the server</strong><br />
Due to the clone process, file permissions and ownership are now all root. So use the htdocs.backup to figure out what the file ownership/permissions were. Make sure that your new htdocs and all its sub files are back to normal.</p>
<p><span style="font-family: courier new;">chown -R vu2000:vu2000 htdocs</span></p>
<p><strong>Prevent the versioning of useless files</strong><br />
In the server repository edit htdocs/.gitignore, and make sure we do not back up cache directories and backup files *~ and config files. Do not add trailing slashes as this will prevent the exclude from working. Prep-ending slashes means the root of the git repo. By placing the .gitignore here, it will be part of the repository so anyone else working on the project will be using the same ignore rules.</p>
<p><span style="font-family: courier new;">*~</span><br />
<span style="font-family: courier new;">/wp-content/uploads</span><br />
<span style="font-family: courier new;">/cache</span><br />
<span style="font-family: courier new;">/users/uploads<br />
/configuration.php<br />
</span><br />
Now because we issued a &#8220;git add .&#8221; we should untrack files we don&#8217;t want to send back and forth.</p>
<p><span style="font-family: courier new;">git rm &#8211;cache configuration.php</span></p>
<p>Now when we do pushes and pulls we don&#8217;t have to keep updating our config file every time. We should make a backup however so we always have a copy.</p>
<p><span style="font-family: courier new;">cp configuration.php configuration.php.live</span></p>
<p><strong>Protecting the source</strong><br />
Also, place a file in all .git folders called .htaccess containing:</p>
<p><span style="font-family: courier new;">Deny from all</span></p>
<p>This will prevent visitors with crafty google foo to download and view source code files.</p>
<p><strong>Auto updating Live site</strong><br />
Now to enable auto updates when updates are pushed from offline dev machine to server.</p>
<p>On the server in our <a class="linkification-ext" title="Linkification: http://htdocs.git/hooks/post-update" href="http://htdocs.git/hooks/post-update">htdocs.git/hooks/post-update</a>, make sure it contains <strong>only</strong> the following:</p>
<p><span style="font-family: courier new;">cd ../htdocs</span><br />
<span style="font-family: courier new;">env -i git pull</span></p>
<p>Then make it executable</p>
<p><span style="font-family: courier new;">chmod +x post-update</span></p>
<p><strong>Done, now test</strong><br />
Now on the development machine make some changes and test.</p>
<p><span style="font-family: courier new;">touch &#8220;new file&#8221;</span><br />
<span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;Testing first update&#8221;</span><br />
<span style="font-family: courier new;">git push</span></p>
<p><em>Yay! Everything should be working!</em></p>
<p><strong>Notes on usage.</strong></p>
<p>Updates on dev machine can be pushed to server like so:</p>
<p><span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;This is an update&#8221;</span><br />
<span style="font-family: courier new;">git push</span></p>
<p>If changes were done on the server from some reason, navigate to the htdocs folder and run:</p>
<p><span style="font-family: courier new;">git add .</span><br />
<span style="font-family: courier new;">git commit -a -m &#8220;Changes made online&#8221;</span><br />
<span style="font-family: courier new;">git push</span></p>
<p>Then on your dev machine pull the updates.</p>
<p><span style="font-family: courier new;">git pull</span></p>
<p>If you need to check what has happened since the last update:</p>
<p><span style="font-family: courier new;">git status</span></p>
<p>Merge one branch into another:</p>
<p><span style="font-family: courier new;">git checkout master<br />
git merge myBugFixes</span></p>
<p>Delete your old branch:</p>
<pre>git branch -D myBugFixes
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/03/using-git-to-manage-online-website-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic database backup via script</title>
		<link>http://www.lwp.ca/james/2010/02/automatic-database-backup-via-script/</link>
		<comments>http://www.lwp.ca/james/2010/02/automatic-database-backup-via-script/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 19:13:16 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ProTip]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Tips 'n Hacks]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=475</guid>
		<description><![CDATA[As mentioned before somewhere in my blog, here is the script I have written to back up my databases. This is actually my local backup script, I have a much different one on the server which uses a passwordless ssh connection to backup the databases offsite. #!/bin/sh # Database backup 2008 &#60;jemmrich@gmail.com&#62; # Nightly Usage: [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned before somewhere in my blog, here is the script I have written to back up my databases. This is actually my local backup script, I have a much different one on the server which uses a passwordless ssh connection to backup the databases offsite.</p>
<pre>#!/bin/sh
# Database backup 2008 &lt;jemmrich@gmail.com&gt;
# Nightly Usage:
# 0 0 * * * /home/james/Dropbox/Home/mobilewolf/scripts/backup.sh &amp;&gt; /dev/null

LOGFILE="/home/james/Dropbox/Home/mobilewolf/databases/databases.log"
BACKUPDIR="/home/james/Dropbox/Home/mobilewolf/databases"
STARTTIME="$(date +%Y-%m-%d-%r)"

# MySQL Login
SQLUSER="sqluser"
SQLPASS="sqlpass"

# Dump databases
echo "*** Database Backup Started: $STARTTIME" &gt;&gt; $LOGFILE

# Keep yesterdays databases
rm -f $BACKUPDIR/yesterday/*
mv $BACKUPDIR/*.gz $BACKUPDIR/yesterday/

for i in `echo "show databases" | mysql -u $SQLUSER -p$SQLPASS | grep -v Database`;
do
 mysqldump -u $SQLUSER -p$SQLPASS $i &gt; /tmp/$i.sql
 echo $i &gt;&gt; $LOGFILE
 gzip /tmp/$i.sql

 # Send Databases
 cp /tmp/*.sql.gz $BACKUPDIR/

 # Remove our dumps to keep us clean
 rm -f /tmp/*.sql.gz
done

echo "*** Database Backup Ended: $(date +%Y-%m-%d-%r)" &gt;&gt; $LOGFILE
echo "\n" &gt;&gt; $LOGFILE</pre>
<p><strong>Setup</strong></p>
<ol>
<li>Change the user and password to a user that has ability to access all databases for dump</li>
<li>Download and set executable permissions chmod +x backup_databases.sh</li>
<li>edit cron to execute every night: crontab -e</li>
<li>add: 0 0 * * * /home/james/Dropbox/Home/mobilewolf/scripts/backup_databases.sh &amp;&gt; /dev/null</li>
</ol>
<p><strong>Ideas for your setup</strong></p>
<ul>
<li>The line following &#8220;Send databases&#8221; replace cp, with scp to send the databases to remote server. You will need to have passwordless ssh connections setup.</li>
<li>Have the log file emailed to you once completed</li>
</ul>
<p><strong>My Future Improvements</strong></p>
<ul>
<li>Enable backup archiving for the past week rotated daily so I can go back to a database from 2 or 3 days or even a week ago</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2010/02/automatic-database-backup-via-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fighting with Postgrey</title>
		<link>http://www.lwp.ca/james/2009/06/fighting-with-postgrey/</link>
		<comments>http://www.lwp.ca/james/2009/06/fighting-with-postgrey/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 18:39:38 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=424</guid>
		<description><![CDATA[http://benjamin.sonntag.fr/a12-Postgrey_crashed_Database_lost_.html]]></description>
			<content:encoded><![CDATA[<p>Today I discovered why our server was bouncing back all emails. We were able to send email successfully but hadn&#8217;t received any email for 2-3 days. It was when we found a bounce message from one of our other email accounts that alerted us of the problem.</p>
<p>An example of the bounce message:</p>
<p><span style="color: #666699;">This is an automatically generated Delivery Status Notification</span></p>
<p><span style="color: #666699;">THIS IS A WARNING MESSAGE ONLY.</span></p>
<p><span style="color: #666699;">YOU DO NOT NEED TO RESEND YOUR MESSAGE.</span></p>
<p><span style="color: #666699;">Delivery to the following recipient has been delayed:</span></p>
<p><span style="color: #666699;"><a class="linkification-ext" title="Linkification: mailto:user@ourserver.com" href="mailto:user@ourserver.com">user@ourserver.com</a></span></p>
<p><span style="color: #666699;">Message will be retried for 2 more day(s)</span></p>
<p><span style="color: #666699;">Technical details of temporary failure:<br />
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 451 451 4.3.5 Server configuration problem (state 14).</span></p>
<p>At first I thought we had a blacklist issue, which happens from time to time as we send large amounts of email in the form of newsletters etc.</p>
<p>Going through <em>/var/log/syslog</em> I found some interesting entries related to Postfix and Postgrey:</p>
<p><span style="color: #666699;">Jun 23 06:25:43 server postfix/smtpd[14721]: NOQUEUE: reject: RCPT from connet1.connect.uwaterloo.ca[129.97.128.124]: 451 4.3.5 Server configuration problem; from=&lt;<a class="linkification-ext" title="Linkification: mailto:xxx@uwaterloo.ca" href="mailto:xxx@uwaterloo.ca">xxx@uwaterloo.ca</a>&gt; to=&lt;xxxr@ourserver.com&gt; proto=ESMTP helo=&lt;connect.uwaterloo.ca&gt;<br />
Jun 23 06:26:48 server postfix/smtpd[16600]: warning: connect to 127.0.0.1:60000: Connection refused</span></p>
<p>My next thought was maybe Postfix was confused some how and decided to restart the whole server.</p>
<p>Server came up and found that now MySQL wasn&#8217;t running and all database driven websites were down. Yikes. Looking through the syslog I discovered the second issue, not enough hard drive space. A simple df -h confirmed it. 100% use on the /var partition.</p>
<p>I quickly removed some old log files, and crap and manually started MySQL. Everything runs, but still have the email issue.</p>
<p>I looked through the <em>/etc/postfix/main.cf</em> to look for clues and found:</p>
<p><span style="color: #666699;">smtpd_recipient_restrictions = reject_non_fqdn_recipient,<br />
reject_unknown_recipient_domain,<br />
permit_mynetworks,<br />
permit_sasl_authenticated,<br />
reject_unauth_destination,<br />
reject_unlisted_recipient,<br />
check_policy_service inet:127.0.0.1:12525,<br />
check_policy_service inet:127.0.0.1:60000,<br />
permit</span></p>
<p>Looking up info on postgrey, lead me to its config file <em>/etc/default/postgrey</em> which contained<em>:<br />
</em></p>
<p><span style="color: #666699;">POSTGREY_OPTS=&#8221;&#8211;inet=127.0.0.1:60000&#8243;</span></p>
<p>So now we know from syslog that the connection issue is because of postgrey. I tried to restart postgrey, and discovered it wasn&#8217;t running, and failed to start. So I ran it manually in verbose:</p>
<p><span style="color: #666699;">/usr/sbin/postgrey -v &#8211;pidfile=/var/run/postgrey.pid &#8211;inet=127.0.0.1:60000</span></p>
<p>Turns out Postgrey failed to find its database. I checked <em>/var/lib/postgrey</em> and found it did infact have files there. Seems Postfix tells you it can&#8217;t find its database when the database is there, but unable to be opened due to being corrupt!</p>
<p>To test this, I moved all files within <em>/var/lib/postgrey</em> to a temporary location and started postgrey manually again. Started up like a charm and postgrey recreated a new database.</p>
<p>To make sure everything is running like new, I restarted the server. Loaded up a few websites, and sent some test emails from an external source (gmail).</p>
<p>Voila! I called up my clients and updated them on the issue and let them know they did not lose any email and that they would still receive email that was sent during the down time. A few minutes later, emails from the weekend started to arrive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2009/06/fighting-with-postgrey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tethering the HTC Titan (Telus P4000) in Ubuntu</title>
		<link>http://www.lwp.ca/james/2009/05/tethering-the-htc-titan-telus-p4000-in-ubuntu/</link>
		<comments>http://www.lwp.ca/james/2009/05/tethering-the-htc-titan-telus-p4000-in-ubuntu/#comments</comments>
		<pubDate>Tue, 05 May 2009 22:33:51 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cellphone]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Titan]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=390</guid>
		<description><![CDATA[With my recent move leaving me without Internet for a few days, I have been picking up free Wifi signals from the surrounding area with little or no success requiring me to travel to the parents house. This means that until my Internet is installed, my new place will never be unpacked or lived in. [...]]]></description>
			<content:encoded><![CDATA[<p>With my recent move leaving me without Internet for a few days, I have been picking up free Wifi signals from the surrounding area with little or no success requiring me to travel to the parents house. This means that until my Internet is installed, my new place will never be unpacked or lived in. So I set out to find a solution.</p>
<p>Tethering with the HTC Titan is surprisingly easy&#8211;who knew?</p>
<h2>Windows Mobile</h2>
<p>In Windows Mobile, go to Start &gt; Programs &gt; Internet Sharing</p>
<p>Select USB from the PC Connection drop down</p>
<p>Select your Cellular Provider from the Network Connection drop down.</p>
<p>Then press the Connect button. The phone should start connecting to your data plan. Obviously you need to have your phone plugged into a USB port on the computer.</p>
<h2>Ubuntu</h2>
<p>Once your cellphone has connected to your data plan, Network Manager should popup a message saying you are connected to a &#8220;wired network&#8221;. Make sure your wired network preferences specify DHCP as the method for getting an IP address.</p>
<p>I have not tested this on Ubuntu 9.04 Jaunty Jackalope, but it works fantastic on Ubuntu 8.10 Intrepid Ibex.</p>
<p>Now I can use my Cellphones data plan for Internet access on my laptop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2009/05/tethering-the-htc-titan-telus-p4000-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile: The Price of Freedom. Linux: The Freedom to Act.</title>
		<link>http://www.lwp.ca/james/2008/09/windows-mobile-the-price-of-freedom-linux-the-freedom-to-act/</link>
		<comments>http://www.lwp.ca/james/2008/09/windows-mobile-the-price-of-freedom-linux-the-freedom-to-act/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 20:36:19 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Cellphone]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Rant]]></category>
		<category><![CDATA[Titan]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=206</guid>
		<description><![CDATA[As a Linux user, I guess you come to expect a certain amount of FREEDOM. And I think when you get a taste of it, you only want more, and more until you are at the point of being considered spoiled I guess ha! Well I have a Windows Mobile (pocket pc) cell phone. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>As a Linux user, I guess you come to expect a certain amount of FREEDOM. And I think when you get a taste of it, you only want more, and more until you are at the point of being considered spoiled I guess ha!</p>
<div id="attachment_208" class="wp-caption alignleft" style="width: 175px"><a href="http://www.lwp.ca/james/wp-content/uploads/2008/09/htc_titian.jpg"><img class="size-medium wp-image-208" title="htc_titian" src="http://www.lwp.ca/james/wp-content/uploads/2008/09/htc_titian-253x300.jpg" alt="HTC Titan" width="165" height="196" /></a><p class="wp-caption-text">The HTC Titan</p></div>
<p>Well I have a Windows Mobile (pocket pc) cell phone. It&#8217;s a Telus HTC P4000 (aka Titan/Mogul). Like many cell phone manufacturers, HTC builds cellphones which are then rebranded for each cellphone company, hence the shitty name Telus gave it. The P4000.</p>
<p>On to the real issue though. Windows Mobile. If there are two things that drives me nuts the most, they would be:</p>
<ol>
<li>Lack of flexibility (freedom)</li>
<li>Networking issues (in two forms, dropped/missed calls and router/ip/ether issues)</li>
</ol>
<p>I consider myself a power user, and the gadgets that I buy are used for specific reasons and get used every single day until they break. The reason I chose this phone was for a couple of reasons:</p>
<ol>
<li>Full slide out keyboard for ease of typing (possibly programming on the go if absolutely needed)</li>
<li>Provides the ability to ssh into servers from wherever I am using the Cellular network or using the built-in Wifi</li>
<li>The remote possibility it will eventually run Linux</li>
</ol>
<p>Now, I moved from Windows to Linux quite a few years ago, mostly due to extreme frustration, and I did not take purchasing this phone lightly. I was worried that buying a Windows Mobile phone could be a big mistake. After having it now for almost a year, I must say it has been awesome.</p>
<p><strong>The Price</strong></p>
<p>The source of frustration is the model that the Windows Operating System is built around. The OS provides basic hardware to software functionality. Alone its useless, but with software it can make things easy and fun.</p>
<p>However, buying software sucks.</p>
<p>When I was younger, the whole idea and process of cracking and pirating software was cool and fun, but realistically, it is a pain in the ass, and when more people realize that free software does not always mean crap software, prices will go down or disappear and we will all be thankful for it.</p>
<p>My rant is continuing on far too long here, and I am sorry. What I am trying to get at is this:</p>
<p><em>It is absolutely frustrating to come from a Linux operating system and go to a Windows Mobile based device and suddenly realize that I do not have software to do the things I need.</em></p>
<p><strong>The Freedom</strong></p>
<p>Running Linux on this phone, and future phones is right around the corner, unfortunately, it is not coming fast enough.</p>
<p>From what I understand, Googles Android is extremely close to running on the phone (boots into Android), a huge success considering the amount of information provided by HTC to get it to work (zip-nadda-zilch!). However I do not want Android, I do not want a &#8220;pretty&#8221; phone. I do not want the Iphone.</p>
<p>I want a functional phone and that means I want:</p>
<ul>
<li>Access to a terminal/command prompt</li>
<li>ssh functionality without having to use purchase-ware</li>
<li>For god sakes, an internet enabled phone must come utilities to debug networking issues such as the simple command <em>ping</em>.<em><br />
</em></li>
</ul>
<p>I do not want to spend my days searching for software to help make my Windows Operating System functional. I am a web developer, and Linux does this [functionality] right out of the box. Literally.</p>
<p>In conclusion, I will be adding a page about the phone some time in the future. There has been some real cool stuff you can do with it after flashing and doing some upgrades that happily void your warranty. It&#8217;s real cool stuff and makes the phone a lot more fun to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2008/09/windows-mobile-the-price-of-freedom-linux-the-freedom-to-act/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Converting audio/video from one format to another</title>
		<link>http://www.lwp.ca/james/2008/09/converting-audiovideo-from-one-format-to-another/</link>
		<comments>http://www.lwp.ca/james/2008/09/converting-audiovideo-from-one-format-to-another/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 07:25:56 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Entertainment Centre]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.lwp.ca/james/?p=94</guid>
		<description><![CDATA[Over the past couple of years I have needed to convert audio and video files from one format/container to another. Here I hope to archive all the useful commands that I use to get the job done. .mkv to divx I found a cool little script from HowForge.com that uses mencoder for conversion. #!/bin/sh INPUT=$1 [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past couple of years I have needed to convert audio and video files from one format/container to another.</p>
<p>Here I hope to archive all the useful commands that I use to get the job done.</p>
<h2>.mkv to divx</h2>
<p>I found a cool little script from <a href="http://www.howforge.com/how-to-convert-mkv-to-avi-using-mencoder">HowForge.com</a> that uses mencoder for conversion.</p>
<pre class="prettyprint lang-sh">#!/bin/sh

INPUT=$1
OUTPUT=$2

mplayer "$INPUT" -ao pcm:fast:file=audio.wav -vc null -vo null
mencoder "$INPUT" \
-ffourcc divx \
-ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=400 \
-audiofile audio.wav \
-oac mp3lame -lameopts vbr=3 \
-slang eng \
-sws 2 -vf scale=352:-3 \
-o "$OUTPUT"

rm -f audio.wav</pre>
<p><strong> </strong></p>
<p>Make sure you have mencoder installed and that the script file has execute permissions.</p>
<pre>./mkvtodivx video.mkv video.avi</pre>
<h2>Flash Video to mpeg</h2>
<p>If you ever download videos from Youtube.com or the like you can turn flv files into mpegs</p>
<pre>ffmpeg -i youtube_vid.flv new_vid.mpg</pre>
<p>There are many ways to download flash videos such as:</p>
<ul>
<li>Third party websites such www.Keepvid.com</li>
<li>Open your favorite file manager and go to .mozilla &gt; firefox &gt; profile in use &gt; Cache. There you can see all the downloaded data. If you sort the directory listing by date last modified you can grab the flv file. They are usually named like so &#8220;0E2E14FBd01&#8243; without extension.</li>
<li>There are a number of firefox extensions that allow one click downloading of embeded media</li>
<li>Also under the Tools menu under Page Info, you can download the files found within the page such as embeded media files.</li>
</ul>
<h2>OGG to MP3</h2>
<p>This requires the package &#8220;sox&#8221; to be installed:</p>
<pre>sox file.ogg file.mp3</pre>
<p>Have a useful command you would like to share? Add it to the comments section.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lwp.ca/james/2008/09/converting-audiovideo-from-one-format-to-another/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
