<?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>andremiller.net</title>
	<atom:link href="http://www.andremiller.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.andremiller.net</link>
	<description>Andre Miller</description>
	<lastBuildDate>Tue, 24 Mar 2009 13:08:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Creating a dynamic image with PHP</title>
		<link>http://www.andremiller.net/content/creating-a-dynamic-image-with-php</link>
		<comments>http://www.andremiller.net/content/creating-a-dynamic-image-with-php#comments</comments>
		<pubDate>Mon, 23 Mar 2009 21:21:40 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Dynamic Image]]></category>
		<category><![CDATA[EverQuest II]]></category>
		<category><![CDATA[Forum Banner]]></category>
		<category><![CDATA[Forum Signature]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.andremiller.net/?p=58</guid>
		<description><![CDATA[To create a dynamic image is easy with PHP and the GD library. Its also a fun way to make your forum banner stand out by having it change each time someone loads it.
For example, I used to have the following forum signature while I was playing EverQuest II:
The image is created by a PHP [...]]]></description>
			<content:encoded><![CDATA[<p>To create a dynamic image is easy with PHP and the GD library. Its also a fun way to make your forum banner stand out by having it change each time someone loads it.</p>
<p>For example, I used to have the following forum signature while I was playing EverQuest II:</p>
<div class="wp-caption alignnone" style="width: 360px"><img title="Forum Signature" src="http://www.andremiller.net/projects/dynamic-php-image/dalden_banner.php?1" alt="Forum Signature" width="350" height="60" /><p class="wp-caption-text">Forum Signature</p></div>
<p>The image is created by a PHP page and the line at the bottom is randomly chosen from a list. Each time this page is reloaded, the message changes. The list of messages is actually from EverQuest I, messages that was shown in-game when you were zoning.</p>
<p>My example only uses text, but you can of course use graphics too. You could create a base image in a paint package and then use PHP to load that image and use it as a canvas to drop on instead of starting out with a blank background.</p>
<p>Here is the PHP I used to create this image:</p>
<pre>&lt;?php

# Andre Miller
# http://www.andremiller.net/
#

$v = array(
"Adding Randomly Mispeled Words Into Text...",
"Adding Vanilla Flavor to Ice Giants...",
"Always Frisky Kerrans &lt;AFK&gt;...",
"Attaching beards to dwarves...",
"Buy:LurN Tu Tok liK Da OgUr iN Ayt DaYz by OG...",
"Checking Anti-Camp Radius...",
"Creating randomly generated feature...",
"DING!...",
"Does Anyone Actually Read This?...",
"Doing things you dont wanna know about...",
"Dusting off spell books...",
"Ensuring Everything Works Perfektly...",
"Ensuring Gnomes are still short...",
"Filling Halflings With Pie...",
"Have You Hugged An Iksar Today?...",
"Have You Tried Batwing Crunchies Cereal?...",
"Hiding Catnip From Vah Shir...",
"Hitting Your Keyboard Won't Make This Faster...",
"If You Squeeze Dark Elves You Don't Get Wine...",
"Karnors..... over 40 billion trains served...",
"Loading, Don't Wait If You Don't Want To...",
"Loading useless information...",
"Loading velious textures...",
"Looking For Graphics &lt;LFG&gt;...",
"Looking Up Barbarian Kilts...",
"Look Out!!  Behind You...",
"Now Spawning Fippy_Darkpaw_432,326,312...",
"Oiling Clockworks...",
"Polishing erudite foreheads...",
"Preparing to Spin You Around Rapidly...",
"Refreshing Death Touch Ammunition...",
"Ruining My Own Lands...",
"Sanding Wood Elves - Now 37% smoother...",
"Searching High Elf Robes...",
"Sharpening Claws...",
"Sharpening Swords...",
"Spawning Your_Characters01...",
"Starching High Elf Robes...",
"Stringing Bows...",
"Stupidificationing Ogres...",
"Teaching Snakes to Kick...",
"Told You It Wasn't Made of Cheese...",
"Warning: Half Elves Are Now .49999 Elves...",
"Whacking Trolls With Ugly Stick...",
"You Have Gotten Better At Loading! (8)..."
);

$message = $v[rand(0, sizeof($v)-1)];
header ("Content-type: image/png");
$img_handle = ImageCreate (350, 60) or die ("Cannot Create image");
$back_color = ImageColorAllocate ($img_handle, 255, 255, 255);
imagecolortransparent ($img_handle, $back_color);
$color_1 = ImageColorAllocate ($img_handle, 255, 102, 51);
$color_2 = ImageColorAllocate ($img_handle, 1, 1, 1);
$color_3 = ImageColorAllocate ($img_handle, 51, 102, 255);
ImageLine($img_handle, 0, 1, 250, 1, $color_2);
ImageString ($img_handle, 2, 0,2, "Dalden - 70 Illusionist / 70 Provisioner", $color_1);
ImageString ($img_handle, 2, 0,12, "Leader of Aenigma (Guild level 49)", $color_1);
ImageString ($img_handle, 2, 0,22, "Euro-time guild on Crushbone", $color_1);
ImageString ($img_handle, 31, 0,35, "Loading Please Wait...", $color_2);
ImageString ($img_handle, 0, 0, 50, $message, $color_3);
ImagePng ($img_handle);
?&gt;</pre>
<p>To keep the image transparent, just make sure you don&#8217;t use $back_color for any of the text.</p>
<p>Save this php script on your server and use it as the URL of an image.</p>
<p>For example: &lt;img src=&#8221;http://www.andremiller.net/projects/dynamic-php-image/dalden_banner.php&#8221;&gt;</p>
<p>This will show up as an image in your browser:</p>
<div class="wp-caption alignnone" style="width: 360px"><img title="Forum Signature" src="http://www.andremiller.net/projects/dynamic-php-image/dalden_banner.php" alt="Forum Signature" width="350" height="60" /><p class="wp-caption-text">Forum Signature</p></div>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fcreating-a-dynamic-image-with-php&amp;linkname=Creating%20a%20dynamic%20image%20with%20PHP"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/creating-a-dynamic-image-with-php/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Manual download of EverQuest II files</title>
		<link>http://www.andremiller.net/content/manual-download-of-everquest-2-files</link>
		<comments>http://www.andremiller.net/content/manual-download-of-everquest-2-files#comments</comments>
		<pubDate>Sun, 22 Mar 2009 20:26:34 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[EverQuest II]]></category>
		<category><![CDATA[Patcher]]></category>
		<category><![CDATA[SoE]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.andremiller.net/?p=54</guid>
		<description><![CDATA[I don&#8217;t play EverQuest II anymore, but figured maybe someone else might find this useful as well.
Sometimes when using the patcher the download might get stuck on a certain file and in those cases it might be useful to manually download the file, either with your browser or with a download accellerator (such as Free [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t play EverQuest II anymore, but figured maybe someone else might find this useful as well.</p>
<p>Sometimes when using the patcher the download might get stuck on a certain file and in those cases it might be useful to manually download the file, either with your browser or with a download accellerator (such as <a href="http://www.freedownloadmanager.org/">Free Download Manager</a>).</p>
<p>To download a file manually outside of the EverQuest II patcher you need the full URL of the file.</p>
<p>This is quite easy to find inside the update XML file kept on the SoE patch server. The patcher downloads this file each time you run it to check for updates, and you can do the same with your browser:</p>
<p><a href="http://laeaberrpatch.everquest2.com:7010/patch/eq2/en/eq2-update.xml.gz">http://laeaberrpatch.everquest2.com:7010/patch/eq2/en/eq2-update.xml.gz</a></p>
<p>The file is compressed, on Windows you can use <a href="http://www.7-zip.org/">7-Zip</a> or <a href="http://www.rarlab.com/">WinRAR</a> to open it. If you have a Linux box nearby, just use gzip.</p>
<p>You can open the XML file in any text editor to view its contents to locate the specific file you are interested in. Then follow the directory tree up to the top to find out what the full URL would be.</p>
<p>If you have a Linux system, you can also pass the XML file through xmllint to make it prettier:</p>
<pre>xmllint --format eq2-update.xml &gt; formatted.xml</pre>
<p>If you open this XML in Internet Explorer you will get a nice tree view of the XML</p>
<p>Here is an example.</p>
<p>Say I want to download the file &#8220;Char_monsters.vpk&#8221;</p>
<p>I do a search in the file and find:</p>
<pre>&lt;File LocalName="Char_monsters.vpk" Compressed="false"
      TimeStamp="2009: 1:23:11:53:42" Name="Char_monsters.vpk"
      TotalSize="47130857" DownloadSize="47130857" CRC="1978781209 "&gt;</pre>
<p>I now go up the XML structure and find that this File tag was inside a Directory tag:</p>
<pre>&lt;Directory Name="paks"&gt;</pre>
<p>So I know the file ends with paks/Char_monsters.vpk</p>
<p>If you go up further in the XML you find that this Directory tag is inside another Directory tag:</p>
<pre>&lt;Directory LocalPath="::HomeDirectory::" Name="."
           RemotePath="patch/eq2/en/patch0/main"&gt;</pre>
<p>And that tells me where the file is on the server. The full path is now:</p>
<pre>patch/eq2/en/patch0/main/paks/Char_monsters.vpk</pre>
<p>Go up even further in the XML (now we are at the top) we find:</p>
<pre>&lt;Product Name="EverQuest 2" Server="laeaberrpatch.everquest2.com"
          Port="7010" AccessPath="patch/eq2/en/patch0"
          GzPath="/m2/http-docs/patch/stage/eq2/en" Version="568"&gt;</pre>
<p>This tells us the server details, which we can now use to build the full URL:</p>
<p><a href="http://laeaberrpatch.everquest2.com:7010/patch/eq2/en/patch0/main/paks/Char_monsters.vpk">http://laeaberrpatch.everquest2.com:7010/patch/eq2/en/patch0/main/paks/Char_monsters.vpk</a></p>
<p>This URL you can open in your browser to download the file manually.</p>
<p>Also note that some files are compressed on the server. If you find a file that ends in a .gz extension you need to use one of the compression utilities above to decompress it first before placing it in your EverQuest II directory.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fmanual-download-of-everquest-2-files&amp;linkname=Manual%20download%20of%20EverQuest%20II%20files"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/manual-download-of-everquest-2-files/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Converting from Drupal 5.5 to Wordpress 2.7.1</title>
		<link>http://www.andremiller.net/content/converting-from-drupal-55-to-wordpress-271</link>
		<comments>http://www.andremiller.net/content/converting-from-drupal-55-to-wordpress-271#comments</comments>
		<pubDate>Thu, 19 Mar 2009 11:09:35 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Conversion]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.andremiller.net/?p=25</guid>
		<description><![CDATA[I finally decided to go ahead with the conversion from Drupal to Wordpress. I don&#8217; thave anything against Drupal, it just didn&#8217;t work for me.
Luckily for me my site wasn&#8217;t that big so I could do things like categories, tags and slugs manually. All I wanted to copy across were the actual articles and the [...]]]></description>
			<content:encoded><![CDATA[<p>I finally decided to go ahead with the conversion from Drupal to Wordpress. I don&#8217; thave anything against Drupal, it just didn&#8217;t work for me.</p>
<p>Luckily for me my site wasn&#8217;t that big so I could do things like categories, tags and slugs manually. All I wanted to copy across were the actual articles and the comments.</p>
<p>I used parts of the SQL script that <a href="http://spindrop.us/2006/05/19/migrating-from-drupal-47-to-wordpress/">Dave Dash</a>, <a href="http://www.darcynorman.net/2007/05/15/how-to-migrate-from-drupal-5-to-wordpress-2/">D&#8217;Arcy Norman</a> and <a href="http://www.mikesmullin.com/development/migrate-convert-import-drupal-5-to-wordpress-27/">Mike Smullin</a> worked on and  made a few changes to suit my needs.</p>
<p>To convert the posts had to modify the script a bit because all my nodes in Drupal were of type story, not pages or posts, so I simply removed the where to clause.</p>
<pre># Use the Drupal database
use andremiller_drupal;
# Remove all current posts from Wordpress
TRUNCATE TABLE andremiller_wordpress.wp_posts;
# Insert posts from Drupal into Wordpress
INSERT INTO andremiller_wordpress.wp_posts (id, post_date, post_content, post_title, post_excerpt, post_name, post_modified, post_type, `post_status`)
SELECT DISTINCT
n.nid `id`,
FROM_UNIXTIME(n.created) `post_date`,
r.body `post_content`,
n.title `post_title`,
r.teaser `post_excerpt`,
IF(SUBSTR(a.dst, 11, 1) = '/', SUBSTR(a.dst, 12), a.dst) `post_name`,
FROM_UNIXTIME(n.changed) `post_modified`,
'post' `post_type`,
IF(n.status = 1, 'publish', 'private') `post_status`
FROM node n
INNER JOIN node_revisions r
USING(vid)
LEFT OUTER JOIN url_alias a
ON a.src = CONCAT('node/', n.nid)
;</pre>
<p>That takes care of the posts. Comments are next.</p>
<p>On my drupal site the email address was not compulsory, so some comments did not have this field filled in. I made a small change here to generate a fake email if none was provided by concatenating the name and hostname of the poster together.</p>
<p>The threading option also didn&#8217;t work for me, but wasn&#8217;t too important, so I just made that a &#8216;0&#8242; to indicate no threading. In Drupal I was not using the approval feature, so the status of all my comments was set to &#8216;0&#8242;. In Wordpress that meant they all came in as unapproved. I updated the SQL so all the comments would be imported as approved.</p>
<pre> TRUNCATE TABLE andremiller_wordpress.wp_comments;
INSERT INTO andremiller_wordpress.wp_comments (comment_post_ID, comment_date, comment_date_gmt, comment_content, comment_parent, comment_author, comment_author_email, comment_author_url, comment_author_ip, comment_approved)
SELECT
nid,
FROM_UNIXTIME(timestamp),
FROM_UNIXTIME(timestamp),
comment,
0,
name,
IF(mail='', CONCAT(REPLACE(LOWER(name),' ', ''), '@', hostname, '.localhost'), mail),
homepage,
hostname,
1
FROM comments;</pre>
<pre lang="MySQL"># update comments count on wp_posts table
UPDATE andremiller_wordpress.wp_posts SET comment_count = (SELECT COUNT(comment_post_id) FROM andremiller_wordpress.wp_comments WHERE andremiller_wordpress.wp_posts.id = andremiller_wordpress.wp_comments.comment_post_id);</pre>
<p>In Drupal my urls of the posts where /content/slug_name, and I wanted to keep those the same so any links from outside would stay the same.</p>
<p>To do this I updated the Wordpress Permalink settings:</p>
<p>Custom Structure : /content/%postname%</p>
<p>And then made sure the slugname of each post matched the url alias of the article in Drupal.</p>
<p>However, this change made the tags and category urls end up to be /content/tag/&lt;tagname&gt; which I didn&#8217;t want. Changing them to the following fixed that up:</p>
<p>Category base: category<br />
Tag base: tag</p>
<p>Now an article can be reached by /content/slug_name, and list of articles with a particle tag by /tag/tag_name.</p>
<p>So far, everything seems to be working just fine.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fconverting-from-drupal-55-to-wordpress-271&amp;linkname=Converting%20from%20Drupal%205.5%20to%20Wordpress%202.7.1"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/converting-from-drupal-55-to-wordpress-271/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enabling telnet on Netgear EVA8000 Digital Entertainer</title>
		<link>http://www.andremiller.net/content/enabling-telnet-netgear-eva8000-digital-entertainer</link>
		<comments>http://www.andremiller.net/content/enabling-telnet-netgear-eva8000-digital-entertainer#comments</comments>
		<pubDate>Wed, 06 Feb 2008 13:58:30 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Home Automation]]></category>
		<category><![CDATA[EVA8000]]></category>
		<category><![CDATA[Firmware]]></category>
		<category><![CDATA[Netgear]]></category>
		<category><![CDATA[Telnet]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[The Netgear EVA8000 Digital Entertainer has a telnet daemon installed, but by default it is disabled. During bootup the startup script for the telnet daemon examines the contents of /etc/utelnetd.conf and starts the telnet daemon if the contents is set to "ENABLE 1"

Once telnet is enabled you can log into the system with the username "EVA8000" and the password "Netgear".

There are two ways to do this depending on which firmware version you are running.

]]></description>
			<content:encoded><![CDATA[<p>The Netgear EVA8000 Digital Entertainer has a telnet daemon installed, but by default it is disabled. During bootup the startup script for the telnet daemon examines the contents of /etc/utelnetd.conf and starts the telnet daemon if the contents is set to &#8220;ENABLE 1&#8243;</p>
<p>Once telnet is enabled you can log into the system with the username &#8220;EVA8000&#8243; and the password &#8220;Netgear&#8221;.</p>
<p>There are two ways to do this depending on which firmware version you are running.</p>
<p>If you&#8217;re still using the 1.2.x series of firmware you can use the built-in menu options that allows saving and restoring settings to modify this file.</p>
<p>The steps to accomplish this is documented by flusk on <a href="http://mpcclub.com/modules.php?name=Forums&amp;file=viewtopic&amp;t=13503">http://mpcclub.com/modules.php?name=Forums&amp;file=viewtopic&amp;t=13503</a></p>
<ol>
<li>Create a trial settings backup, using the Supervisor-&gt;Advanced Setup-&gt;Backup settings option</li>
<li>Confirm that a file was created in the location you&#8217;ve set for the EVA to store its library on. The file will be in the backup directory</li>
<li>Create a new file, called utelnetd.conf, in a directory called etc in a temporary location</li>
<li>Change the contents of this file to contain a single line &#8220;ENABLE 1&#8243; (without the quotes)</li>
<li>Create a tar archive of this file including the etc directory</li>
<li>Copy the tar file to the EVA Backup directory</li>
<li>On the EVA8000, restore the settings from this file.</li>
<li>Once the EVA has restarted telnet will be enabled and you can log in with username &#8220;EVA8000&#8243; password &#8220;Netgear&#8221;</li>
</ol>
<p>If, however, you are using one of the later beta firmware versions then the Backup settings option has been removed and you can no longer use this method to enable telnet.</p>
<p>To enable telnet on the newer firmware versions involve editing the firmware image to make the same change as above, changing ENABLE 0 to ENABLE 1 in the utelnetd.conf file.</p>
<p>I posted this same method on the Netgear Beta forums and it has been confirmed to work by others. (<a href="http://forum1.netgear.com/showthread.php?t=20991&amp;page=2&amp;p=95783">http://forum1.netgear.com/showthread.php?t=20991&amp;page=2&amp;p=95783</a>)</p>
<ol>
<li>Split the FW image into three parts. A 32 byte md5 header, the bootloader+kernel and finally the jffs2 image. If you&#8217;re using the same FW as me (V2.1.16IS.IMG):</li>
<pre>FW=EVA8000_V2.1.16IS.IMG
dd if=$FW of=crc bs=1 count=32
dd if=$FW of=bootkernel bs=1 skip=32 count=$((0x210000))
dd if=$FW of=jffsroot bs=1 skip=$((0x210020))</pre>
<li>Edit the jffs2 image with bvi and change the &#8216;ENABLE 0&#8242; to &#8216;ENABLE 1&#8242; inside the inode for dirent utelnetd.conf (Near offset 0&#215;5cfd8 of the jffs2 image).</li>
<li>Re-run jffs2dump -c on the new image. This will complain and say that the block now has an invalid CRC.</li>
<li>Luckily it also prints out what the expected CRC should be.. so, make a note of this and update the crc (77 C7 E9 3E should be changed to 36 F6 F2 27 at offset 0&#215;5CFD0 in the jffs2 image).</li>
<li>Re-run jffs2dump again to make sure its consistent</li>
<li>Combine the extracted bootloader+kernel with the new image and calculate the new md5sum:</li>
<pre>cat bootkernel jffsroot_mod &gt; tempimage
md5sum tempimage</pre>
<li>Create a new file with the ASCII portion of the md5sum in it, making sure it is exactly 32 bytes long (no newline)</li>
<li>Stitch everything back together:</li>
<pre>cat newcrc bootkernel jffsroot_mod &gt; telnet_enabled.img</pre>
</ol>
<p>Note that some of these steps can be skipped because the CRC of the JFFS2 inode will usually be the same across image versions because the contents doesn&#8217;t change. The steps are only provided for completeness. In reality all you would have to do is edit the original image, change ENABLE 0 to ENABLE 1, change the JFFS2 CRC (which will be the same values as above), strip off the first 32 bytes of the new images, re-calculate the md5sum and insert it at the start of the file.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fenabling-telnet-netgear-eva8000-digital-entertainer&amp;linkname=Enabling%20telnet%20on%20Netgear%20EVA8000%20Digital%20Entertainer"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/enabling-telnet-netgear-eva8000-digital-entertainer/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mounting a hard disk image including partitions using Linux</title>
		<link>http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux</link>
		<comments>http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux#comments</comments>
		<pubDate>Tue, 22 Jan 2008 13:27:51 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Disk Image]]></category>
		<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mount]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[A while ago I thought it would be a good idea to make a backup of my Linux server by just dumping the complete disk to a file. In retrospect, it would have been much easier had I just dumped the individual filesystems.

When I finally got around to using this backup, long after the 10GB disk had perished I realized that to use the loopback device to mount a filesystem it actually needs a filesystem to mount. What I had was a disk image, including partition table and individual partitions. To further complicate matters the data partition was also not the first partition inside this image.

]]></description>
			<content:encoded><![CDATA[<p>A while ago I thought it would be a good idea to make a backup of my Linux server by just dumping the complete disk to a file. In retrospect, it would have been much easier had I just dumped the individual filesystems.</p>
<p>When I finally got around to using this backup, long after the 10GB disk had perished I realized that to use the loopback device to mount a filesystem it actually needs a filesystem to mount. What I had was a disk image, including partition table and individual partitions. To further complicate matters the data partition was also not the first partition inside this image.</p>
<p>For reference, I  created this image using the Unix &#8216;dd&#8217; tool:</p>
<pre># dd if=/dev/had of=hda.img
30544113+0 records in
30544113+0 records out
# ls -lh
-rw-r--r-- 1 root    root  9.6G 2008-01-22 14:12 hda.img</pre>
<p>I followed the instructions on http://www.trekweb.com/~jasonb/articles/linux_loopback.html to try and mount the partitions inside the disk image, but ran into two problems.</p>
<p>To mount a partition inside the disk image you need to calculate the offset of where the partition starts. You can use fdisk to show this information to you, but you need to specify the number of cylinders if you are using a disk image.</p>
<p>You then also need to multiply the start and end numbers with the calculated sectors to get a byte offset.</p>
<p>I found another tool more useful for this task, called parted. If you are using Ubuntu, you can install it with &#8216;apt-get install parted&#8217;</p>
<pre>
# parted hda.img
GNU Parted 1.7.1
Using /data/rabbit/disk_image/test2
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) unit
Unit?  [compact]? B
(parted) print
Disk /data/rabbit/disk_image/test2: 10262568959B
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number  Start        End           Size         Type     File system  Flags
1      32256B       106928639B    106896384B   primary  ext3         boot
2      106928640B   1184440319B   1077511680B  primary  linux-swap
3      1184440320B  10256924159B  9072483840B  primary  ext3
(parted) quit
</pre>
<p>Now we have the offsets and we can use those to mount the filesystems using the loopback device:</p>
<pre>
#mount -o loop,ro,offset=32256 hda.img /mnt/rabbit
</pre>
<p>That mounted the first partition, the &#8216;boot&#8217; partition, but this didn&#8217;t have the data on it that I was looking for. Lets try to mount partition number 3.</p>
<pre>
#umount /mnt/rabbit
#mount -o loop,ro,offset=1184440320 test2 /mnt/rabbit
#mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail  or so
</pre>
<p>Oops, that doesn&#8217;t look right. According the article referred to above if you are using a util-linux below v2.12b then you cannot specify an offset higher than 32bits. I&#8217;m using util-inux 2.13 which shouldn&#8217;t have that problem, and besides, my offset is well below the 32bit limit.</p>
<p>The article also offers  an alternative loopback implementation that supports mounting partitions within an image, but that requires patching and recompiling your kernel which I would rather not do.</p>
<p>Instead I decided to extra ct the filesystem from the image which would then allow me to mount it without specifying an offset.<br />
Doing this is  quite straightforward with &#8216;dd&#8217;. You need to give &#8216;dd&#8217; a skip count, or, how far into the source to start copying, and a count, how much to copy.<br />
Here you can either use the single byte offsets retrieved with parted or divide them by 512 and let &#8216;dd&#8217; use 512 byte blocks. Copying just one byte at a time takes a very long time, so I suggest using a larger block size.</p>
<p>Here is the command I used to extract my filesystem. Skip is 2313360 (1184440320/512) and Count is  17719695 (9072483840/4)</p>
<pre>
#dd if=hda.img of=hda3.img bs=512 skip=2313360 count=17719695
17719695+0 records in
17719695+0 records out
9072483840 bytes (9.1 GB) copied, 485.679 seconds, 18.7 MB/s
</pre>
<p>After extracting the filesystem I was able to mount it without any problems.</p>
<pre>
# mount -o loop hda3.img /mnt/rabbit/
# df -h /mnt/rabbit
Filesystem            Size  Used Avail Use% Mounted on
/data/rabbit/image/hda3.img
8.4G  6.3G  1.7G  80% /mnt/rabbit
</pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fmounting-hard-disk-image-including-partitions-using-linux&amp;linkname=Mounting%20a%20hard%20disk%20image%20including%20partitions%20using%20Linux"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux/feed</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Recovering reserved space in ext2 and ext3 filesystems</title>
		<link>http://www.andremiller.net/content/recovering-reserved-space-ext2-and-ext3-filesystems</link>
		<comments>http://www.andremiller.net/content/recovering-reserved-space-ext2-and-ext3-filesystems#comments</comments>
		<pubDate>Fri, 11 Jan 2008 12:34:16 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Disk Space]]></category>
		<category><![CDATA[Filesystem]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[When using the ext2 or ext3 filesystem by default 5% of the available blocks is reserved for use by the root user. This allows the system to continue running if non-root users fill up the file system and also assists in preventing file fragmentation because the filesystem does not fill up completely.

]]></description>
			<content:encoded><![CDATA[<p>When using the ext2 or ext3 filesystem by default 5% of the available blocks is reserved for use by the root user. This allows the system to continue running if non-root users fill up the file system and also assists in preventing file fragmentation because the filesystem does not fill up completely.</p>
<p>Under certain circumstances this extra protection is not required or desired. For example, I have a 1TB ext3 array specifically to store media on seperate from my operating system and other file systems. The root user will never write to this file system so reserving 5% (50GB) is wasted space.</p>
<p>To recover this space you can use the tune2fs command and specify the <code>-m 0</code> option. Here is an example.</p>
<p>Before the tune with the default 5% reserve:</p>
<pre>
root@pooh:/data# df -h /data
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/data_vol_grp-data_vol
921G  867G  7.2G 100% /data
</pre>
<p>The tune2fs command to adjust the reserved percentage to 0.</p>
<pre>
root@pooh:/data# tune2fs -m 0 /dev/data_vol_grp/data_vol
</pre>
<p>The available space after adjusting the reserved space.</p>
<pre>
root@pooh:/data# df -h /data
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/data_vol_grp-data_vol
921G  867G   54G  95% /data
</pre>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Frecovering-reserved-space-ext2-and-ext3-filesystems&amp;linkname=Recovering%20reserved%20space%20in%20ext2%20and%20ext3%20filesystems"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/recovering-reserved-space-ext2-and-ext3-filesystems/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Starting Microsoft Outlook 2007 on Acer Vista system gives MSVCR80.dll was not found error</title>
		<link>http://www.andremiller.net/content/starting-microsoft-outlook-2007-acer-vista-system-gives-msvcr80dll-was-not-found-error</link>
		<comments>http://www.andremiller.net/content/starting-microsoft-outlook-2007-acer-vista-system-gives-msvcr80dll-was-not-found-error#comments</comments>
		<pubDate>Wed, 09 Jan 2008 07:18:12 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Acer]]></category>
		<category><![CDATA[Microsoft Office]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[On a recent Acer laptop (TravelMate 5620) running Vista I installed Microsoft Office 2007 and Outlook worked the first time, but after opening it a second time it gave me an error message, saying that "This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem." After numerous attempts to restart Office I either received this error message or it tried to re-install itself.

<img src="http://www.andremiller.net/files/acer_outlook_error.png" />

]]></description>
			<content:encoded><![CDATA[<p>On a recent Acer laptop (TravelMate 5620) running Vista I installed Microsoft Office 2007 and Outlook worked the first time, but after opening it a second time it gave me an error message, saying that &#8220;This application has failed to start because MSVCR80.dll was not found. Re-installing the application may fix this problem.&#8221; After numerous attempts to restart Office I either received this error message or it tried to re-install itself.</p>
<p><img src="http://www.andremiller.net/files/acer_outlook_error.png" alt="" /></p>
<p>Turns out the problem is caused by the Acer eDataSecurity Outlook Add-in which is installed automatically on your new Acer system. This Add-in is not compatible with Microsoft Office 2007 so you either need to uninstall Acer eDataSecurity from the Windows Control Panel or disable the Add-in.</p>
<p>I opted for disabling the Add-in as I used other features of Acer eDataSecurity. The catch was that to disable the Add-in using conventional means you need to do it from within Outlook, but Outlook won&#8217;t start with this Add-in enabled! To get around this I used a registry editor to disable it.</p>
<p>Open your registry editor by running &#8220;regedt32&#8243; and browse to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\OAddin.Addin</p>
<p><img src="http://www.andremiller.net/files/acer_outlook_regedit1.png" alt="" /></p>
<p>Then change the value of the LoadBehaviour key and change it to 0. This will disable the Add-in.</p>
<p><img src="http://www.andremiller.net/files/acer_outlook_regedit2.png" alt="" /></p>
<p>But, Outlook still won&#8217;t start! The problem is that the Add-in has already done its damage to Outlook and by disabling it all we&#8217;ve done is prevent it from corrupting Outlook the next time it runs.</p>
<p>What the Add-in did was modify or remove the &#8220;outlook.exe.manifest&#8221; file from the Microsoft Office installation directory (by default, this is C:\Program Files\Microsoft Office\Office12). This file is hidden, if you would like to see it in the directory listing, enable viewing of hidden files (Tools-&gt;Folder Options-&gt;View Tab-&gt;Files and Folders-&gt;Hidden files and folders-&gt;Show hidden files and folders)</p>
<p>We need to repair that file before Outlook will start and Microsoft has provided us with a tool to do this, installed as part of Office 2007. Go to your Start Menu, All Programs -&gt; Microsoft Office -&gt; Microsoft Office Tools -&gt; Microsoft Office Diagnostics.</p>
<p>Let Microsoft Office Diagnostics finish its run and it should mention under Setup Diagnostic that it repaired all Microsoft Office installation problems it could find.</p>
<p><img src="http://www.andremiller.net/files/acer_outlook_msdiag.png" alt="" /></p>
<p>Office 2007 should now start.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fstarting-microsoft-outlook-2007-acer-vista-system-gives-msvcr80dll-was-not-found-error&amp;linkname=Starting%20Microsoft%20Outlook%202007%20on%20Acer%20Vista%20system%20gives%20MSVCR80.dll%20was%20not%20found%20error"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/starting-microsoft-outlook-2007-acer-vista-system-gives-msvcr80dll-was-not-found-error/feed</wfw:commentRss>
		<slash:comments>76</slash:comments>
		</item>
		<item>
		<title>Getting Midnight Commander line drawing to work with PuTTY</title>
		<link>http://www.andremiller.net/content/getting-midnight-commander-line-drawing-work-putty</link>
		<comments>http://www.andremiller.net/content/getting-midnight-commander-line-drawing-work-putty#comments</comments>
		<pubDate>Sun, 06 Jan 2008 12:06:40 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[System Administration]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Midnight Commander]]></category>
		<category><![CDATA[Putty]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[When using Midnight Commander with the default settings of PuTTY connected to my Ubuntu Linux machine the line drawing characters are all messed up.

<img src="/files/putty_before.png" />

]]></description>
			<content:encoded><![CDATA[<p>When using Midnight Commander with the default settings of PuTTY connected to my Ubuntu Linux machine the line drawing characters are all messed up.</p>
<p><img src="/files/putty_before.png" alt="" /></p>
<p>After some experimentation it turns out that to fix it all you have to do is change your character set in PuTTY to UTF-8 and the problem is fixed. To do this open up the PuTTY settings and go to Window-&gt;Translation-&gt;Received data assumed to be in which character set: and change it to UTF-8.</p>
<p><img src="/files/putty_settings.png" alt="" /></p>
<p>After making this change you might have to force a redraw of the mc screen to show the new line drawing characters:</p>
<p><img src="/files/putty_after.png" alt="" /></p>
<p>Also not that some fonts might not have the line drawing characters available. The fonts I know work is Courier New and Lucida Console. To change your font go to Window-&gt;Appearance, Font settings and click the Change button.</p>
<p>For reference, I was using using Midnight Commander 4.6.1 running on Ubuntu 7.10 and using PuTTY 0.59</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fgetting-midnight-commander-line-drawing-work-putty&amp;linkname=Getting%20Midnight%20Commander%20line%20drawing%20to%20work%20with%20PuTTY"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/getting-midnight-commander-line-drawing-work-putty/feed</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Nokia 3310 LCD Driver JAL PIC Library</title>
		<link>http://www.andremiller.net/content/nokia-3310-lcd-driver-jal-pic-library</link>
		<comments>http://www.andremiller.net/content/nokia-3310-lcd-driver-jal-pic-library#comments</comments>
		<pubDate>Sun, 28 Mar 2004 22:25:01 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[JAL]]></category>
		<category><![CDATA[LCD]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[Nokia 3310]]></category>
		<category><![CDATA[PIC]]></category>

		<guid isPermaLink="false">http://www.andremiller.net/?p=42</guid>
		<description><![CDATA[[An old project I moved from my previous website]
This JAL library includes functions for controlling the Nokia 3310 LCD (PCD8544          controller) and also a 5&#215;7 font.
Currently the table used only works on 16F, but should not take much to        [...]]]></description>
			<content:encoded><![CDATA[<p>[An old project I moved from my previous website]</p>
<p>This JAL library includes functions for controlling the Nokia 3310 LCD (PCD8544          controller) and also a 5&#215;7 font.</p>
<p>Currently the table used only works on 16F, but should not take much to          modify it to work with 18F PICs.</p>
<p>It only uses 5 IO pins, so a smaller PIC could be used. The font however          takes up a lot of ROM (the example program&#8217;s code size is 1305). If the          text print functions (and the font) is not used it is of course much smaller,          but also much less useful <img src='http://www.andremiller.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>Download: <a href='http://www.andremiller.net/download/nokia_3310lcd_jal_2004-03-29.zip' title='Downloaded 5852 times'>Nokia 3310 LCD JAL Driver</a> - A JAL Library to drive the Nokia 3310 LCD with a PIC.
    * example_lcd.jal - An example program, the output of which you can see in the photo below
    * nokia_lcd_p.jal - Include this first, and modify it with the pins you are using to connect
    * nokia_lcd.jal - The main jal library
    * font_5x7.jal - The 5x7 font, include after nokia_lcd.jal since it uses functions in there</p>
<p>Sorry for the quality of these photos. I&#8217;m blaming my digital camera,          but it is most likely due to a bad photographer.</p>
<div id="attachment_43" class="wp-caption alignnone" style="width: 310px"><a href="http://www.andremiller.net/wp-content/uploads/2009/03/nokia3310lcd_connected.jpg"><img class="size-medium wp-image-43" title="LCD connected to an 16F877 PIC" src="http://www.andremiller.net/wp-content/uploads/2009/03/nokia3310lcd_connected-300x225.jpg" alt="LCD connected to an 16F877 PIC" width="300" height="225" /></a><p class="wp-caption-text">LCD connected to an 16F877 PIC</p></div>
<p>On the right is my DIY Wisp628.          The interface board between the LCD and the PIC consists of two caps (required          for the LCD controller), a few 1K resistors in series with the datalines,          and a LM317 to regulate the 5V down to 3V which the LCD requires.</p>
<div id="attachment_44" class="wp-caption alignnone" style="width: 310px"><a href="http://www.andremiller.net/wp-content/uploads/2009/03/nokia3310lcd_display.jpg"><img class="size-medium wp-image-44" title="Closeup view of the font" src="http://www.andremiller.net/wp-content/uploads/2009/03/nokia3310lcd_display-300x225.jpg" alt="Closeup view of the font" width="300" height="225" /></a><p class="wp-caption-text">Closeup view of the font</p></div>
<p>Both normal and &#8216;inverted&#8217; printing functions          are available. The clips and tape holds all the pieces of the LCD together.          In my haste to see how the connections are made I broke all the plastic          holding pins.</p>
<p>For further reading about the display and microcontrollers, please visit the following sites:</p>
<ul>
<li><a href="http://www.techdesign.be/projects.htm">Electronic Projects            &lt;for you&gt;</a> &#8211; Various PIC based projects using a Nokida 3310            LCD with HI-TEC PICC and CCS source</li>
<li><a href="http://www.microsyl.com/nokialcd/nokialcd.html">Microsyl            Nokia LCD Library</a> &#8211; An LCD Library for the AVR microcontroller written            in C</li>
<li><a href="http://sandiding.tripod.com/Bertys.html">Berty&#8217;s Page</a> &#8211; Information about lots of types of phone LCD&#8217;s including Nokia and            Ericsson with sample PIC code for PIC16F84A in ASM</li>
<li><a href="http://serdisplib.sourceforge.net/ser/pcd8544.html">serdisplib            pcd8544 based displays</a> &#8211; Connecting a PCD8544 based display to a            PC Parallel port including connection diagrams</li>
<li><a href="http://www.neko.ne.jp/~freewing/cpu/arm_olimex/">Olimex            LPH7366 Project</a> &#8211; A Nokia LCD project for ARM processor with ASM            source</li>
<li><a href="http://www.myplace.nu/mp3/nokialcd.htm">Nokida 3310 LCD</a> &#8211; A Photo showing the dimensions of the display and a link to download            the datasheet</li>
<li><a href="http://www.nxp.com/acrobat_download/datasheets/PCD8544_1.pdf">PCD8544; 48 x 84 pixels matrix LCD controller/driver datasheet </a>-            The LCD controller used in the Nokida 3310 Display</li>
</ul>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Fnokia-3310-lcd-driver-jal-pic-library&amp;linkname=Nokia%203310%20LCD%20Driver%20JAL%20PIC%20Library"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/nokia-3310-lcd-driver-jal-pic-library/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>LM75 Temperature Sensor with 7 segment display output</title>
		<link>http://www.andremiller.net/content/lm75-temperature-sensor-with-7-segment-display-output</link>
		<comments>http://www.andremiller.net/content/lm75-temperature-sensor-with-7-segment-display-output#comments</comments>
		<pubDate>Wed, 24 Mar 2004 12:46:12 +0000</pubDate>
		<dc:creator>andre</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[JAL]]></category>
		<category><![CDATA[LM75]]></category>
		<category><![CDATA[Microcontroller]]></category>
		<category><![CDATA[PIC]]></category>
		<category><![CDATA[Seven Segment Display]]></category>
		<category><![CDATA[Temperature Sensor]]></category>

		<guid isPermaLink="false">http://www.andremiller.net/?p=30</guid>
		<description><![CDATA[[An old project I moved from my previous website]
This is a test project built hastily on a solder less breadboard. It uses          a LM75 to read the current temperature via I2C and displays the result          on three [...]]]></description>
			<content:encoded><![CDATA[<p>[An old project I moved from my previous website]</p>
<p>This is a test project built hastily on a solder less breadboard. It uses          a LM75 to read the current temperature via I2C and displays the result          on three 7 segment displays. It uses a PIC16F628 with an internal 4 Mhz          clock.</p>
<p>The program was created using JAL</p>
<p>Note the LM75 is a surface mount device, so I had to solder wires onto            it to use it on the solderless breadboard.</p>
<div id="attachment_31" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-31" title="LM75 Temperature Sensor on breadboard" src="http://www.andremiller.net/wp-content/uploads/2009/03/lm75_temp_sens_breadboard.jpg" alt="LM75 Temperature Sensor on breadboard" width="600" height="335" /><p class="wp-caption-text">LM75 Temperature Sensor on breadboard</p></div>
<p>Sorry for the bad quality photo. The stuff on the left is a 5V voltage            regulator and not shown on the schematic below.</p>
<div id="attachment_32" class="wp-caption alignnone" style="width: 310px"><a href="http://www.andremiller.net/wp-content/uploads/2009/03/lm75_temp_sens_schematic.png"><img class="size-medium wp-image-32" title="LM75 Temperature Sensor Schematic" src="http://www.andremiller.net/wp-content/uploads/2009/03/lm75_temp_sens_schematic-300x206.png" alt="LM75 Temperature Sensor Schematic" width="300" height="206" /></a><p class="wp-caption-text">LM75 Temperature Sensor Schematic</p></div>
<h3>Component List</h3>
<pre>Part     Value          Device      Package  Library        Sheet

D1                      7SEG-CA     7SEG-13  special        1
D2                      7SEG-CA     7SEG-13  special        1
D3                      7SEG-CA     7SEG-13  special        1
IC1      PIC16F628      PIC16F628   DIL18    microchip      1
IC2      LM75           LM75        SOP-8    andre_lm75     1
Q1       BC557C         BC557C      TO92-EBC transistor-pnp 1
Q2       BC557C         BC557C      TO92-EBC transistor-pnp 1
Q3       BC557C         BC557C      TO92-EBC transistor-pnp 1
R1       12K            R-EU_0207/7 0207/7   rcl            1
R2       12K            R-EU_0207/7 0207/7   rcl            1
R3       1K             R-EU_0207/7 0207/7   rcl            1
R4       1K             R-EU_0207/7 0207/7   rcl            1
R5       1K             R-EU_0207/7 0207/7   rcl            1
R7       220            R-EU_0207/7 0207/7   rcl            1
R8       220            R-EU_0207/7 0207/7   rcl            1
R9       220            R-EU_0207/7 0207/7   rcl            1
R10      220            R-EU_0207/7 0207/7   rcl            1
R11      220            R-EU_0207/7 0207/7   rcl            1
R12      220            R-EU_0207/7 0207/7   rcl            1
R13      220            R-EU_0207/7 0207/7   rcl            1
R14      220            R-EU_0207/7 0207/7   rcl            1</pre>
<p>In case you are like me and couldn&#8217;t find the pinouts for the sevent segment display, here they are:</p>
<div id="attachment_35" class="wp-caption alignnone" style="width: 238px"><a href="http://www.andremiller.net/wp-content/uploads/2006/03/7seg_pinouts.png"><img class="size-full wp-image-35" title="7 Segment Display Pinout" src="http://www.andremiller.net/wp-content/uploads/2006/03/7seg_pinouts.png" alt="7 Segment Display Pinout" width="228" height="335" /></a><p class="wp-caption-text">7 Segment Display Pinout</p></div>
<p>Download the project here: <a href='http://www.andremiller.net/download/lm75_temp_sens_2004_03_29.zip' title='Downloaded 6692 times'>LM75 Temperature Sensor Project</a> - LM75 Temperature Sensor with 7 segment display output. Uses a PIC Controller. This project includes the JAL source code, a compiled hex file and a schematic.</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.andremiller.net%2Fcontent%2Flm75-temperature-sensor-with-7-segment-display-output&amp;linkname=LM75%20Temperature%20Sensor%20with%207%20segment%20display%20output"><img src="http://www.andremiller.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.andremiller.net/content/lm75-temperature-sensor-with-7-segment-display-output/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
	</channel>
</rss>

