<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-31931981</id><updated>2012-02-16T08:48:22.439+01:00</updated><title type='text'>Technical Bulletins</title><subtitle type='html'>... unsorted, but useful technical stuff...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tech.slupik.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-31931981.post-1748568509027161822</id><published>2010-10-21T09:36:00.008+02:00</published><updated>2010-10-21T10:32:25.797+02:00</updated><title type='text'>BlackBerry Torch 9800 UMA (Unifon) on the Orange Network (Orange.PL)</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_doSme9os_cw/TL_39R0BBXI/AAAAAAAAb2s/1Lu_THgJ0rQ/s1600/BB+UMA+1.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 240px; height: 320px;" src="http://4.bp.blogspot.com/_doSme9os_cw/TL_39R0BBXI/AAAAAAAAb2s/1Lu_THgJ0rQ/s320/BB+UMA+1.jpg" alt="" id="BLOGGER_PHOTO_ID_5530411499559912818" border="0" /&gt;&lt;/a&gt;UMA stands for Unlicensed Mobile Access. It is also sometimes called GAN (&lt;a href="http://en.wikipedia.org/wiki/Generic_Access_Network"&gt;Generic Access Network&lt;/a&gt;). In short - UMA - enabled phones can use WiFi as base stations. Home / office WiFi or public WiFi. It is a very nice feature. It offloads the mobile network - MNOs like that. It lowers your bill when roaming (UMA / WiFi calls are not considered roaming calls) - subscribers like that. And sometimes it is the only way to connect (as in my case). I live in a deep remote valley outside the city and I do not have coverage. UMA solves that problem, as at home my phone uses my WiFi.&lt;br /&gt;&lt;br /&gt;UMA does not require doing anything special -launching an application or setting up call forwards. Once configured, it can even hand a live call over from GSM/3G to WiFi and vice versa.&lt;br /&gt;&lt;br /&gt;The downside of UMA is it requires special support on a handset (terminal). And only a small number of handsets are UMA - compliant. But the good thing is UMA is supported by almost all BlackBerries. I have been using UMA for almost two years now, on a BlackBerry Curve 8900 on the Orange.PL network. But my 8900 have up the ghost a week ago (it probably had enough of me dropping it on a concrete floor). Looking for a new phone I decided to go for the new Torch 9800. Called Orange, but they did not even know such model existed. So I bought it SIM-free. Unfortunately when it arrived it knew nothing about UMA. So I had to hack it. I mean properly configure. So here is the story. The method described below is a generic method, but certain settings refer to Orange.PL settings, for other networks you will need different URLs and certificates.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_doSme9os_cw/TL_4EplHK5I/AAAAAAAAb20/EU7iH-I2GkU/s1600/BB+UMA+2.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_doSme9os_cw/TL_4EplHK5I/AAAAAAAAb20/EU7iH-I2GkU/s320/BB+UMA+2.jpg" alt="" id="BLOGGER_PHOTO_ID_5530411626198936466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First I had to enable the Blackberry Engineering Setup. To do that you need to invoke the engineering menu by pressing Alt+Shift+H, and entering a special passcode. The passcode calculator is here: &lt;a href="http://www.zibri.org/2009/08/hidden-things-are-usually-best.html"&gt;http://www.zibri.org/2009/08/hidden-things-are-usually-best.html&lt;/a&gt;. To get your passcode enter your device PIN, the APP version (as you see on your screen, including the space and parenthesis, like "6.0.0.246 (695)", the uptime and select how long you wish the passcode to be valid. Then simply type the generated passcode. Nothing happens as you type but when you finish, the Engineering Menu opens.&lt;br /&gt;&lt;br /&gt;Choose the [Mobile Network Engineering Screens] and scroll down to the bottom where is the [GAN Control...]. There are basically two things I had to set up. The SEGW and GANC addresses.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SEGW: uma.orange.pl&lt;/li&gt;&lt;li&gt;GANC: hbsc.centertel.pl&lt;/li&gt;&lt;/ul&gt;The rest I left unchanged.&lt;br /&gt;&lt;br /&gt;The second step is to [Utilities] and [Session Manager]. Pressing the menu key there is the [UMA Options] item to select. It will either show an existing list item (like "Factory Defaulted") or use the [New] option to create one. You will be prompted for Display and Operator name (I entered Orange, but anything should work). Then uncheck the [Use default UNC address] and enter:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Provisioning UNC address: hbsc.centertel.pl&lt;/li&gt;&lt;li&gt;Provisioning UNC port: 14001&lt;/li&gt;&lt;/ul&gt;Again uncheck the [Use default SEGW address] and enter:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Provisioning SEGW address: uma.orange.pl&lt;/li&gt;&lt;/ul&gt;For the UMA protocol version select the [UMA v. 1.0.3] from the dropdown menu.&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_doSme9os_cw/TL_4Oc3ky7I/AAAAAAAAb28/fwWtHTIvVg8/s1600/BBUMA+3.jpg"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_doSme9os_cw/TL_4Oc3ky7I/AAAAAAAAb28/fwWtHTIvVg8/s320/BBUMA+3.jpg" alt="" id="BLOGGER_PHOTO_ID_5530411794585406386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The last thing (and the most important one) is picking up the certificate. It is used by the handset to authenticate itself when setting up a secured communications tunnel via the public Internet to the MNO's network. The dropdown offers all certificates from the BlackBerry certificate vault. In my case they got there in the first place during the migration phase. Before I started playing with UMA, I used the Blackberry Desktop Manager to "Switch device" from my old Curve 8900 to the new Torch 9800.&lt;br /&gt;&lt;br /&gt;The certificate I found works with UMA at Orange.PL is the [Equifax Secure Certificate Authority]. I don't know if it is factory preloaded on new phones, or I copied it from the previous UMA-enabled phone.&lt;br /&gt;&lt;br /&gt;Anyway setting things like above, and enabling WiFi network, allowed my phone to switch from 3G over to UMA. It works rock solid. The call quality is better than it used to be with the Curve 8900 (more horsepower?). So that is about it. Looking forward to some comments if people find this article of a value. There has been a word Android is going to support UMA, which is great news, as it would broaden the base of available UMA - enabled phones (after all not everyone is a fan of BlackBerries).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-1748568509027161822?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/1748568509027161822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=1748568509027161822' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/1748568509027161822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/1748568509027161822'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2010/10/blackberry-torch-9800-uma-unifon-on.html' title='BlackBerry Torch 9800 UMA (Unifon) on the Orange Network (Orange.PL)'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_doSme9os_cw/TL_39R0BBXI/AAAAAAAAb2s/1Lu_THgJ0rQ/s72-c/BB+UMA+1.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-6502749119323302540</id><published>2010-05-14T20:06:00.010+02:00</published><updated>2010-06-03T11:53:34.403+02:00</updated><title type='text'>Nokia Booklet 3G FDE SSD Upgrade</title><content type='html'>A week ago, blinded by its beauty (and long battery life), I purchased the &lt;a href="http://headworx.slupik.com/2010/05/nokia-booklet-3g-ipad-alternative.html"&gt;Nokia Booklet 3G netbook&lt;/a&gt;. Actually the purchase was not 100% impulsive, as I had done some research beforehand.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/S-2flWWtzOI/AAAAAAAAWf4/R23QJQ4h1qE/s1600/DSC_1926.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 352px; height: 400px;" src="http://2.bp.blogspot.com/_doSme9os_cw/S-2flWWtzOI/AAAAAAAAWf4/R23QJQ4h1qE/s400/DSC_1926.JPG" alt="" id="BLOGGER_PHOTO_ID_5471204586329853154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For almost a year I have been using the Lenovo X200s laptop, equipped with a solid state drive (SSD). The Lenovo SSD I chose still seems to be the only one on the market, supporting FDE functionality. FDE means the drive strong encrypts everything it stores and securely manages encryption keys. FDE technology does not require any supporting software, which is nice. The only thing it needs is a hard disk password enabled in BIOS. In standard disks, the hard disk password just enables the drive. In FDE disks the password is used to release an encryption key from a TPM chip on the drive. Actually the Lenovo 256GB FDE SSD drive is manufactured by Toshiba, and the part number is THNS256GG8BAAA. I had it in my X200s Thinkpad, in a 2.5 inch bay. While the drive itself is 1.8 inch.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_doSme9os_cw/S-2f5ol3DzI/AAAAAAAAWgA/6c3-88GEkzQ/s1600/DSC_1927.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 648px; height: 800px;" src="http://1.bp.blogspot.com/_doSme9os_cw/S-2f5ol3DzI/AAAAAAAAWgA/6c3-88GEkzQ/s400/DSC_1927.JPG" alt="" id="BLOGGER_PHOTO_ID_5471204934822596402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Analyzing the Nokia Booklet 3G I found it was built around another 1.8 inch Toshiba drive, the MK1235GSL 120GB unit. There are two major differences between the two (setting capacity aside). The original 120GB one is mechanical, with 4200rpm speed, which makes the computer very slow. And I mean very. Almost unbearable. The only way to make it usable (but still far from demonic speed) is to swap the spindle drive with a SSD one. I was lucky to have a 1.8 inch SSD in my Lenovo. So decided to make a try.&lt;br /&gt;&lt;br /&gt;It is a little challenging to disassemble the Booklet 3G. The chassis is an aluminum monocoque, a single block of metal forming both the upper and lower side of the case, plus sides. Zero screws and bolts. Actually to get to the motherboard you have to take the keyboard off. I did this by inserting a credit card between the keyboard and the display hinge. And then popping the keyboard up from its latches. Once the keyboard is taken away, there is a steel shield you have to unscrew using a Torx driver. The drive is in the middle, not fastened by any additional screws. Just pull it up gently and disconnect the micro-SATA ribbon. The original drive is wrapped in a rubber jacket, I took this jacket off and put it on the new drive. Then plugged the new one to the micro-SATA connector and everything started to work as intended.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/S-2gK69BK5I/AAAAAAAAWgI/2xeaZS8EtRU/s1600/DSC_1934.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 800px; height: 360px;" src="http://4.bp.blogspot.com/_doSme9os_cw/S-2gK69BK5I/AAAAAAAAWgI/2xeaZS8EtRU/s400/DSC_1934.JPG" alt="" id="BLOGGER_PHOTO_ID_5471205231809342354" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After I reassembled the machine back to the factory state (with the new drive in), it showed the SSD drive on the boot screen. After this it was only the matter to install Windows 7 from an external DVD drive. It all went smoothly.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_doSme9os_cw/S-2gYi7byPI/AAAAAAAAWgQ/w5ipKypMnT8/s1600/DSC_1955.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 800px; height: 338px;" src="http://1.bp.blogspot.com/_doSme9os_cw/S-2gYi7byPI/AAAAAAAAWgQ/w5ipKypMnT8/s400/DSC_1955.JPG" alt="" id="BLOGGER_PHOTO_ID_5471205465878415602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There have been two immediate effects noticeable after the upgrade. The first, obviously, has been the overall speed of the system. I do not have precise benchmarks, but the hard disk score now is 5.9, a remarkable number for such low end Atom - based system. It is a night - and - day difference when compared to the original setup. The computer boots fast, applications launch fast. The memory consumption is lighter, as many spindle - drive associated mechanisms available in Windows 7 arsenal (superfetch, readyboost, application prefetch) &lt;a href="http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx"&gt;are no longer needed&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The second effect of the SSD upgrade is shorter battery life. This may be a surprise for some, but contrary to the general belief, today's SSD drives consume more power than the mechanical ones. In the Nokia Booklet 3G case, the original drive is rated 700mA at 3.3V, while the SSD I have used is 1600mA at 3.3V. So the difference is 3 Watts, what over ten hours means 30 Watt-Hours, or half the available battery capacity. Of course this power rating is peak, not continuous, and SSD drive completes the high power operations in shorter time. All in all in my case I have experienced battery life drop from 12.5 hours down to about 8.5 hours, which still is a significant 30%, but I can bear with that, having a system that does not crawl like a snail. Later I plan to test a different SSD drive (sans FDE encryption), so I hope to report the results here.&lt;br /&gt;&lt;br /&gt;In my opinion the SSD upgrade is a must for anyone seriously thinking of making the Nokia Booklet 3G their main / primary machines. I am very happy with the upgrade. I have a really tiny laptop, with big and fast 256GB storage. I also equipped my desk with the iiyama ProLite E2210HDS 22-inch FullHD display I connect to the Nokia via a nice and small HDMI cable that carries both digital video signal and sound. Such screen coupled with a comfortable Lenovo DiNovo Bluetooth keyboard and the original Microsoft Bluetooth mouse makes my home station setup very comfortable. Of course the Nokia is the heart of it and I do love having exactly the very same setup (albeit with a smaller screen and keyboard) on the road.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/TAd2Dh_YzBI/AAAAAAAAXfQ/lG2dJ24qd8E/s1600/Nokia+Booklet+3G+SSD+Samsung.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 800px; height: 438px;" src="http://4.bp.blogspot.com/_doSme9os_cw/TAd2Dh_YzBI/AAAAAAAAXfQ/lG2dJ24qd8E/s400/Nokia+Booklet+3G+SSD+Samsung.JPG" alt="" id="BLOGGER_PHOTO_ID_5478477274755419154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Update: as an exercise I decided to try another brand of SSD. I was able to borrow the Samsung MMDPE56GTDXP-MVBD1 micro-SATA (uSATA) MLC Thin 256GB drive. Actually calling it a drive is a bit of an exaggeration , as you can see on the photo above, the Samsung SSD drive resembles more a memory module than a drive.&lt;br /&gt;&lt;br /&gt;To speed things up, I decided to use the Acronis Clone Drive, plugging the Samsung to the USB port. I used a standard USB-to-SATA adapter (taken from a USB drive enclosure) and a SATA-to-micro-SATA (SATA-to-uSATA) converter.&lt;br /&gt;&lt;br /&gt;On the first run the cloning operation failed. The reason behind the failure is quite interesting. Windows 7 introduced a special command, called TRIM, that helps in handling SSD drives (there is a good, detailed explanation &lt;a href="http://blogs.msdn.com/b/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx"&gt;here&lt;/a&gt;). Some newer SSD drives support TRIM, some older do not. Windows queries drive capabilities and adjusts its command set accordingly. Unfortunately the US15W SATA interface chipset in the Nokia does not support TRIM. So what happens, Windows queries the drive, the drive reports it is TRIM capable, Windows tries to execute the TRIM command, the chipset blocks it and the process hangs. The only workaround is to disable TRIM in Windows before cloning. You do this by opening a command prompt as an administrator and executing [&lt;strong&gt;fsutil behavior set disabledeletenotify 1&lt;/strong&gt;]. This disables the use of TRIM at the system level, and you can then use any SSD (with some performance consequences on write operations).&lt;br /&gt;&lt;br /&gt;On the second attempt, after dealing with the TRIM issue, Acronis handled the cloning operation without a glitch and when completed, I was able to swap the drives. To my surprise the battery life did not improve at all, comparing to the Toshiba - based system, even that the Toshiba drive was rated at 1.7A and the Samsung at 0.8A. It looks like those ratings do not reflect the real power consumption. After a couple of days it even seemed to me the Samsung drive was drawing more power, as I was never able to exceed 8 hours on a charge. Not seeing any benefits from the Samsung drive, I cloned the system back to the Toshiba FDE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-6502749119323302540?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/6502749119323302540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=6502749119323302540' title='65 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/6502749119323302540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/6502749119323302540'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2010/05/nokia-booklet-3g-fde-ssd-upgrade.html' title='Nokia Booklet 3G FDE SSD Upgrade'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_doSme9os_cw/S-2flWWtzOI/AAAAAAAAWf4/R23QJQ4h1qE/s72-c/DSC_1926.JPG' height='72' width='72'/><thr:total>65</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-1030191134829993422</id><published>2009-12-22T10:53:00.003+01:00</published><updated>2009-12-22T11:44:34.342+01:00</updated><title type='text'>Setting Up The Sheeva Plug</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/SzCh5TYuJaI/AAAAAAAASF8/ytuh0dEFD0I/s1600-h/DSC_1830.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 280px;" src="http://2.bp.blogspot.com/_doSme9os_cw/SzCh5TYuJaI/AAAAAAAASF8/ytuh0dEFD0I/s320/DSC_1830.JPG" alt="" id="BLOGGER_PHOTO_ID_5418008357555283362" border="0" /&gt;&lt;/a&gt;The previous post on the initial Sheeva setup assumed readers had spent some time playing with the installer and with the Sheeva Plugcomputer itself. I received a number of requests to clarify things a bit more for beginners. So here is the more detailed description.&lt;br /&gt;&lt;br /&gt;First, the plugcomputer itself. It is an integrated platform, based on SoC (System-on-Chip) offered by Marvell and named Kirkwood. Kirkwood contains so called ARM core, so all applications executing on this platform have to be compiled for ARM. The Sheeva has 512MB system RAM and 512MB system flash memory (so - called NAND memory). It also has four ports:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1GB RJ-45 Ethernet port - to attach to a network&lt;/li&gt;&lt;li&gt;USB host port - can be used to plug a variety of USB devices - USB hubs, pen flash drives, protocol converters (like a 1-wire converter or a USB-to-RS-232 converter), USB cameras, keyboards, and even graphic monitors (using DisplayLink technology - more on this in later posts)&lt;/li&gt;&lt;li&gt;MMC/SD card port - to plug a SD card. This is important, as I recommend playing with the Sheeva equipped with SD storage. Due to process of wearing, flash memory has limited number of write cycles. If an SD card wears out, you can just plug a new one. If your internal NAND flash wears out, the entire unit will have to be replaced.&lt;/li&gt;&lt;li&gt;USB client port - this is used to initially setup the computer, before it can execute anything on its own.&lt;/li&gt;&lt;/ul&gt;The initial setup process is organized as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The so-called installer is a set of binaries and scripts. You have to download it from the &lt;a href="http://www.plugcomputer.org/index.php/us/resources/downloads?func=startdown&amp;amp;id=53"&gt;plugcomputer.org&lt;/a&gt; site and unpack to either Windows or Linux host machine. As I never succeded setting up the Sheeva from a Windows host, I will focus on the Linux variant here.&lt;/li&gt;&lt;li&gt;The installer has two parts. The first one is a set of binaries you have to copy to a pen flash drive. Then the populated pen drive has to be plugged to the USB port on the Sheeva. The second part are scripts, that are copied over USB link (a USB cable connected between Sheeva's client USB port and the host machine). The scripts are then executed on the Sheeva - their job is to move and unpack the binaries from the USB pen drive and place them either on the internal NAND flash memory or on the plugged SD card.&lt;/li&gt;&lt;li&gt;The Linux installer is basically a PHP script, so it requires a PHP client to run, as I wrote previously. The entire install procedure is well described in the installer's readme file. In short - there are two basic variants - one installs the system on the internal NAND (executed by [sudo php runme.php nand]), the other installs them on the SD (executed by [sudo php runme.php mmc]).&lt;/li&gt;&lt;/ul&gt;Before setting up the target operating system (in case of the current version it is the Ubuntu 9.04), the installer sets up the so - called boot environment. The boot environment is executed first when the Sheeva is powered up. It initializes the basic hardware components and then loads the OS. As there are some cases when you need to access the boot environment, the only way to do this is via serial terminal console. The serial link runs over a USB cable between Sheeva's client USB port and the host machine. My host runs Gnome, so my natural pick has been the GTKTERM application. If you run Windows, you may use PUTTY set up for a serial link (a COM port, 115200 baud, no parity, one stop bit).&lt;br /&gt;&lt;br /&gt;As mentioned before - on my development Sheeva system I happen to refresh the OS quite frequently. With access to the boot environment it is a snap. Just plug in the previously populated flash pen drive with OS binaries, boot the Sheeva with serial console attached, and at the boot environment prompt just type [run recover1]. This partitions and formats the destination filesystem (NAND or SD card) and installs a fresh instance of the Ubuntu from the pen drive.&lt;br /&gt;&lt;br /&gt;After the Ubuntu is set up, the serial console is no longer necessary, the USB cable can be unplugged. When Ubuntu loads, it may be accessed remotely from a host machine using SSH connection (terminal window in Linux or Putty in Windows). The default user is root and the default password is nosoup4u. Of course it is a good practice to change it after the first logon - by executing [passwd] command.&lt;br /&gt;&lt;br /&gt;The other steps I run after the new clean install are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;update the distribution sources:&lt;br /&gt;&lt;blockquote&gt;apt-get update&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;upgrade the system components to the current versions:&lt;br /&gt;&lt;blockquote&gt;apt-get upgrade&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;install the NANO - an easy and simple character based text editor to work on various configuration files:&lt;br /&gt;&lt;blockquote&gt;apt-get install nano&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;clean the updater cache and remove potential orphaned modules:&lt;br /&gt;&lt;blockquote&gt;apt-get clean&lt;br /&gt;apt-get autoremove&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;synchronize the system clock:&lt;br /&gt;&lt;blockquote&gt;ntpdate pool.ntp.org&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;burn it to the hardware clock:&lt;br /&gt;&lt;blockquote&gt;hwclock --systohc&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;and configure the time zone data:&lt;br /&gt;&lt;blockquote&gt;dpkg-reconfigure tzdata&lt;/blockquote&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;After these steps the Ubuntu on Sheeva is ready for experiments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-1030191134829993422?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/1030191134829993422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=1030191134829993422' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/1030191134829993422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/1030191134829993422'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2009/12/setting-up-sheeva-plug.html' title='Setting Up The Sheeva Plug'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_doSme9os_cw/SzCh5TYuJaI/AAAAAAAASF8/ytuh0dEFD0I/s72-c/DSC_1830.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-5145278152021594033</id><published>2009-12-20T22:45:00.004+01:00</published><updated>2009-12-20T22:49:43.852+01:00</updated><title type='text'>Sheeva Plug Dev Station</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_doSme9os_cw/Sy6XyMcudXI/AAAAAAAASFM/ZrJe4CWxlJY/s1600-h/DSC_1829.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 274px; height: 320px;" src="http://3.bp.blogspot.com/_doSme9os_cw/Sy6XyMcudXI/AAAAAAAASFM/ZrJe4CWxlJY/s320/DSC_1829.JPG" alt="" id="BLOGGER_PHOTO_ID_5417434290364249458" border="0" /&gt;&lt;/a&gt;I mentioned the Sheeva Plug computer &lt;a href="http://headworx.slupik.com/search?q=Sheeva" target="_blank"&gt;several times&lt;/a&gt;  on the headworx blog. Today I start a series of posts that will continue here on the &lt;a href="http://tech.slupik.com/" target="_blank"&gt;tech.slupik.com&lt;/a&gt;, devoted to Sheeva development, and to plug computers and other embedded systems in general. But let me post the inaugural story in both places.&lt;br /&gt;&lt;br /&gt;At the moment I run two Sheeva servers in my little data center. I have the third one set up as a development / staging environment. There are many ideas continuously coming to my mind. Most of them require testing various scenarios and it would simply be inconvenient to mess with the production machines. That is why I purchased the third one. hey, at $99 it is not a life changing decision.&lt;br /&gt;&lt;br /&gt;When the third Plug arrived, I thought to myself it would be nice to have a permanent environment in place to play with it. Environment here means a host machine, needed to prepare the Sheeva to run and then a simple I/O for screen and keyboard and a web browser. The hardware requirements for such a machine are pretty minimal. As usual I wanted to have a decent screen resolution (1280 by 1024) and a good mouse / keyboard. I had a Samsung Syncmaster LCD display collecting dust underneath my desk. There was also a Logitech DiNovo keyboard and a Microsoft Mouse. The Samsung had simple VGA input and both keyboard and mouse were "Bluetooth". So all I needed was a kind of a low - end&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/Sy6ZBgg9MQI/AAAAAAAASFU/1BVU4K4AoL8/s1600-h/DSC_1831.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_doSme9os_cw/Sy6ZBgg9MQI/AAAAAAAASFU/1BVU4K4AoL8/s320/DSC_1831.JPG" alt="" id="BLOGGER_PHOTO_ID_5417435652960366850" border="0" /&gt;&lt;/a&gt; CPU with OS, storage and network interface. A Linux netbook seemed like a good idea. I called a friend of mine who purchased a number of &lt;a href="http://en.wikipedia.org/wiki/HP_2133_Mini-Note_PC" target="_blank"&gt;HP-2133 mini-note&lt;/a&gt; netbooks some time ago. He had one for sale at a reasonable price. It arrived with Suse Linux on board. I played with it for a day, but did not like the Suse and tried a number of alternatives, finally selecting the Mandriva 2010 edition. The Mandriva was selected only because it installed almost flawlessly, detecting all the peripherals on board the netbook. I had some issues forcing it to support the native 1280 times 1024 resolution of the external monitor, but ultimately after upgrading the BIOS, I was clear to declare the victory. The system was fully up and running. Good screen, excellent keyboard and mouse, wired and wireless network and USB to connect serial console to the Sheeva.&lt;br /&gt;&lt;br /&gt;Apart from the host Linux machine, I also needed an Ethernet switch. The Netgear GS105 is &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/Sy6ZTbywx5I/AAAAAAAASFc/KQ_yhW8MRqI/s1600-h/DSC_1833.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 221px;" src="http://2.bp.blogspot.com/_doSme9os_cw/Sy6ZTbywx5I/AAAAAAAASFc/KQ_yhW8MRqI/s320/DSC_1833.JPG" alt="" id="BLOGGER_PHOTO_ID_5417435960930518930" border="0" /&gt;&lt;/a&gt;really nice. It is relatively heavy, so does not get pulled by the Ethernet cables. It is very small too, not taking too much space on the desk. I also found a very nice USB hub by Asmax (this is a Polish brand, but the product itself is probably available worldwide, just with a different name. It is white (matching the Sheeva) and has very thin and short cable with angled plug - perfect companion for the Sheeva - see the attached photos.&lt;br /&gt;&lt;br /&gt;Now a few hints I put down.&lt;br /&gt;&lt;br /&gt;To set up the Sheeva, I successfully use the &lt;a href="http://www.plugcomputer.org/index.php/us/resources/downloads?func=startdown&amp;amp;id=53" target="_blank"&gt;SheevaPlug Installer&lt;/a&gt;. I never made it run on Windows, so won't help you here. But if you use the Linux version, here are a couple of things to consider (with respect to the Linux host machine):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install the PHP client (sudo apt-get install php5-cli)&lt;/li&gt;&lt;li&gt;Install the missing LIBFTDI1 (sudo apt-get install libftdi1)&lt;/li&gt;&lt;li&gt;Set a proper MAC address to be burned to Sheeva by the Installer. The procedure is detailed in the installer's readme.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;I strongly recommend setting up the Sheeva with a SD card. Personally I use 4GB Sandisk Extreme III 30 MB/s edition. It probably is faster than the internal NAND and most importantly - can be replaced once it wears out. On the other hand when you wear out the internal NAND, you will have to replace the entire Sheeva. To setup the system on a SD card, you invoke the installer as follows: [sudo php runme.php mmc].&lt;/li&gt;&lt;/ul&gt;Before you start installing system on the Sheeva, it is good to prepare a serial console on the host machine. This way you can watch the installer doing its job. To setup the console I had to do the following steps on the host machine:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ensure proper serial interface is connected:&lt;br /&gt;&lt;blockquote&gt;rmmod ftdi_sio&lt;br /&gt;modprobe ftdi_sio vendor=0x9e88 product=0x9e8f&lt;br /&gt;chown uucp /dev/ttyUSB0 (or .../ttyUSB1 - depending on your setup)&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;Start serial terminal application&lt;br /&gt;&lt;blockquote&gt;gtkterm&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;After setting things up as described above and launching the installer the entire setup process takes about 10 minutes. It ends up with the Sheeva loaded with Ubuntu 9.04 (the rootfs is on the SD card) and its IP assigned by a DHCP server. You can ssh to root@&lt;ip-address&gt;. The initial password is [nosoup4u]. Before we start setting it up further, there is one issue, that has to be fixed in the boot loader. To get there keep the serial terminal open and reboot the Sheeva (do not disconnect from the mains, just use a paper clip to press the reset switch via the small hole by the SD card). Once it starts booting, hit Enter to stop the boot process. You will find yourself in the boot environment, that works on a set of string variables.&lt;br /&gt;&lt;br /&gt;Display the environment by typing [printenv]. There are two variables we need to fix. Both are identical, one is called bootcmd, the other one is realbootcmd.&lt;br /&gt;&lt;br /&gt;Type&lt;br /&gt;&lt;blockquote&gt;setenv  bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); mmcinit; mmcinit; ext2load mmc 0:1 0x800000 /uImage; bootm 0x00800000'&lt;br /&gt;&lt;/blockquote&gt;and then&lt;br /&gt;&lt;blockquote&gt;setenv  real_bootcmd 'setenv bootargs $(bootargs_console) $(bootargs_root); mmcinit; mmcinit; ext2load mmc 0:1 0x800000 /uImage; bootm 0x00800000'&lt;/blockquote&gt;and finally&lt;br /&gt;&lt;blockquote&gt;saveenv&lt;/blockquote&gt;to make changes permanent.&lt;br /&gt;&lt;br /&gt;The reason we do this is the double mmcinit command. There is a bug in the boot environment. After power up, it does not initialize the SD card properly. So without the above modifications, your Sheeva would not boot after power loss. Calling the mmcinit twice is a good enough workaround.&lt;br /&gt;&lt;br /&gt;And we do this twice for a reason. Usually the bootcmd is used. But there will be time when you will have a need to reinstall the system from scratch. Having access to the boot environment, all that has to be done is to&lt;br /&gt;&lt;blockquote&gt;run recover1&lt;/blockquote&gt;at boot time. The system will be refreshed. And so will be the bootcmd (it is copied from the real_bootcmd). Applying the fix in both places (bootcmd and real_bootcmd) lets you run the fresh installation process anytime without any need for additional fixes.&lt;br /&gt;&lt;br /&gt;So the system is up and running now. The story will continue here :)&lt;br /&gt;&lt;/ip-address&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-5145278152021594033?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/5145278152021594033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=5145278152021594033' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/5145278152021594033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/5145278152021594033'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2009/12/sheeva-plug-dev-station.html' title='Sheeva Plug Dev Station'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_doSme9os_cw/Sy6XyMcudXI/AAAAAAAASFM/ZrJe4CWxlJY/s72-c/DSC_1829.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-1873900600093772533</id><published>2009-09-18T16:27:00.003+02:00</published><updated>2009-09-18T16:56:47.772+02:00</updated><title type='text'>Ubuntu and Canon IP5200R WiFi Printer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_doSme9os_cw/SrOfe8SiaZI/AAAAAAAAQ7w/7jcOC9Ybfi8/s1600-h/ip5200.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 175px;" src="http://3.bp.blogspot.com/_doSme9os_cw/SrOfe8SiaZI/AAAAAAAAQ7w/7jcOC9Ybfi8/s200/ip5200.jpg" alt="" id="BLOGGER_PHOTO_ID_5382821333566646674" border="0" /&gt;&lt;/a&gt;I have been experimenting with Ubuntu recently. Must say the 9.04 package is far beyond expectations, especially when it comes to support for various hardware components. I installed the entire system in fully automatic mode and it discovered all connected hardware. It did not discover my Canon IP5200R printer, as it is not connected directly to any physical machine - being available on my home network over Ethernet instead.&lt;br /&gt;&lt;br /&gt;Canon does not provide any Linux drivers for the IP5200R, so I was rather skeptical about being able to run it... But the other day I tried.&lt;br /&gt;&lt;br /&gt;First I connected the printer using the USB interface. Surprisingly Ubuntu discovered it and offered a list of potential drivers. The IP5200R was on that list, so I picked it. Then it offered to print a test page and it proved everything was working fine.&lt;br /&gt;&lt;br /&gt;I knew the printer was assigned an IP address of 192.168.0.10 so now the task was to try to connect it without the USB cable. And the solution proved to be much simpler that expected... In the printer settings dialog in Ubuntu there is a Device URI field. It was pointing to one of the USB ports. I changed it to [socket://192.168.0.10] and... it worked. Printed a test page with USB cable unplugged and kept on printing everything else over the network...&lt;br /&gt;&lt;br /&gt;Unix has this great charm of simplicity... Thinking of this later I realized this printer must have a simple LAN to serial converter, meaning the actual protocol of commands and data transmitted to it never changes... regardless of the physical interface (LAN / Wireless / USB). So it is logical, to enable printing via LAN, it should be enough to change just the port settings.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-1873900600093772533?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/1873900600093772533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=1873900600093772533' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/1873900600093772533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/1873900600093772533'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2009/09/ubuntu-and-canon-ip5200r-wifi-printer.html' title='Ubuntu and Canon IP5200R WiFi Printer'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_doSme9os_cw/SrOfe8SiaZI/AAAAAAAAQ7w/7jcOC9Ybfi8/s72-c/ip5200.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-2463276386298465095</id><published>2008-11-18T13:35:00.013+01:00</published><updated>2008-11-18T14:51:56.171+01:00</updated><title type='text'>Squeezebox Bose Duet</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/SSK_pmVnNzI/AAAAAAAAJpk/-ggl95MZ85c/s1600-h/DSC_0361.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 214px;" src="http://2.bp.blogspot.com/_doSme9os_cw/SSK_pmVnNzI/AAAAAAAAJpk/-ggl95MZ85c/s320/DSC_0361.JPG" alt="" id="BLOGGER_PHOTO_ID_5269985235363641138" border="0" /&gt;&lt;/a&gt;The &lt;a href="http://www.bose.com/controller?url=/shop_online/wave_systems/awms/awms_mdc_pkg.jsp" target="_blank"&gt;Bose Acoustic Wave System&lt;/a&gt; (AWS) has been one of my favorite outdoor music systems for a long time. Mostly used for summertime garden parties it has remained a top sound engine, while lacking some of the latest music source capabilities. Actually the original Bose AWS has just two options: a CD player (no MP3...) and an FM-tuner. Ah and there is - as with all Bose systems - an AUX port, so I used to connect my iPod to it. iPod is fine, but it has one drawback - the music is static, you will never hear or discover new music, as iPod can play only what you store on it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://headworx.slupik.com/2006/04/pandora-my-personal-radio.html" target="_blank"&gt;Pandora&lt;/a&gt; (my favorite music discovery service) is different. It keeps on playing exactly the music you like, but most of it you do not know, hearing it for the first time. The primary device to play Pandora on is a computer, but that is not as easy as turning on radio. And to be honest I hate computers (in their usual form, with screens and keyboards). That is why I have a house full of various products from SlimDevices, especially loving the &lt;a href="http://www.slimdevices.com/pi_duet.html" target="_blank"&gt;Duets&lt;/a&gt;, as they decouple the music receiver (essentially a black box) from the control remote, with its rich experience and easiness.&lt;br /&gt;&lt;br /&gt;Since the first Duet arrived at my home, I have been thinking of embedding one inside the Bose AWS, as they seemed to be the perfect match. I just have not been sure the Duet receiver would fit inside the AWE, but willing to try I've been prepared to sacrifice the built-in CD Player.&lt;br /&gt;&lt;br /&gt;What was my surprise, after opening the AWS, there seemed to be a special place reserved just for the Duet receiver - see the photos.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/SSLA0B_3fOI/AAAAAAAAJp0/6bydWYW7kPc/s1600-h/DSC_0347.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 134px;" src="http://4.bp.blogspot.com/_doSme9os_cw/SSLA0B_3fOI/AAAAAAAAJp0/6bydWYW7kPc/s200/DSC_0347.JPG" alt="" id="BLOGGER_PHOTO_ID_5269986514098945250" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/SSLAJVzgsUI/AAAAAAAAJps/SYGMmpDRMWI/s1600-h/DSC_0343.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 133px;" src="http://2.bp.blogspot.com/_doSme9os_cw/SSLAJVzgsUI/AAAAAAAAJps/SYGMmpDRMWI/s200/DSC_0343.JPG" alt="" id="BLOGGER_PHOTO_ID_5269985780681453890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/SSLB78NqWRI/AAAAAAAAJqE/VD1KpgRUDFk/s1600-h/DSC_0353.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 134px;" src="http://2.bp.blogspot.com/_doSme9os_cw/SSLB78NqWRI/AAAAAAAAJqE/VD1KpgRUDFk/s200/DSC_0353.JPG" alt="" id="BLOGGER_PHOTO_ID_5269987749496772882" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/SSLHu1H8GgI/AAAAAAAAJqc/lDb9m_j3n8o/s1600-h/DSC_0348.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 134px;" src="http://4.bp.blogspot.com/_doSme9os_cw/SSLHu1H8GgI/AAAAAAAAJqc/lDb9m_j3n8o/s200/DSC_0348.JPG" alt="" id="BLOGGER_PHOTO_ID_5269994121325189634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/SSLCrqzJ2pI/AAAAAAAAJqM/xON6_Ae1dcI/s1600-h/DSC_0356.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 134px;" src="http://4.bp.blogspot.com/_doSme9os_cw/SSLCrqzJ2pI/AAAAAAAAJqM/xON6_Ae1dcI/s200/DSC_0356.JPG" alt="" id="BLOGGER_PHOTO_ID_5269988569455909522" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_doSme9os_cw/SSLDGJlY18I/AAAAAAAAJqU/6PDwgEgK2KM/s1600-h/DSC_0355.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 133px;" src="http://1.bp.blogspot.com/_doSme9os_cw/SSLDGJlY18I/AAAAAAAAJqU/6PDwgEgK2KM/s200/DSC_0355.JPG" alt="" id="BLOGGER_PHOTO_ID_5269989024396269506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;As the project ended with full success, here is the small step - by step how-to, should you have the desire to repeat what I did :).&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Opening the AWE. There are two steps to it. First is removing the top part with the twitters, CD drive and touch buttons. The second is to play with the power supply accessible from the bottom, but let us leave that for later.&lt;/li&gt;&lt;li&gt;So start unscrewing the five screws on the left / right / back side of the AWS. The fifth holds the antenna, take it out and remove the antenna. Then detach the top part from the AWS.&lt;/li&gt;&lt;li&gt;Remove the board with five micro switches on it. Then using wire cutters or similar tool, cut the plastic frame below it to allow comfortable placement of the Duet board.&lt;/li&gt;&lt;li&gt;The Duet board needs one of the corners to be trimmed. See the attached pictures. Do it carefully, and after the cut clean the edge with a file. Otherwise you may short circuit the board with the remains of copper  on both sides.&lt;/li&gt;&lt;li&gt;I placed a small piece of rubber between the Duet board and the  micro switch Bose board, so they keep nicely together. Ah and you may use one of the micro switches to double as the Duet micro switch - solder two pieces of wire between the two, I decided to sacrifice the "CD Mode" switch.&lt;/li&gt;&lt;li&gt;Connect the Duet audio output terminals to the aux in terminals of the AWS. Make sure the shield is connected only on one side (I soldered it to the AWS terminal). Otherwise you will get some extra unwanted hissing sound effects.&lt;/li&gt;&lt;li&gt;Now the power supply. The AWS power supply delivers somewhere between 12 and 15 volts. The Duet board requires 9 volts. I used an L7809 regulator to take care of that. First I was not sure if I wanted the Duet part to be permanently ON, but it proved to be the right decision. You can always turn it off using the remote. The wiring and the placement of the L7809 are shown on the pictures. The left terminal (input) is connected by the red wire to the (+) terminal of the AWS power supply. The middle terminal is the ground, and so is the radiator, so I did not bother there, connecting the middle and the right terminals to the angled power plug, plugged into the Duet board.&lt;/li&gt;&lt;/ul&gt;The end result is something I think Bose should look into. They have phenomenal audio, but they really lack the latest digital connectivity options. Sure there is the new &lt;a href="http://www.slimdevices.com/pi_boom.html" target="_blank"&gt;Logitech Boom&lt;/a&gt;, but it is more suited towards indoor, small room operation. The Bose AWS excels on the sound scale, has perfect outdoor accessories (integrated carry bag and battery compartment) plus it can do karaoke too.  I am very happy with the modification  and I think some of my fellow readers will try to follow :). Recommended!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-2463276386298465095?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/2463276386298465095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=2463276386298465095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/2463276386298465095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/2463276386298465095'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2008/11/squeezebox-bose-duet.html' title='Squeezebox Bose Duet'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_doSme9os_cw/SSK_pmVnNzI/AAAAAAAAJpk/-ggl95MZ85c/s72-c/DSC_0361.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-8740755503847818095</id><published>2008-11-06T14:26:00.003+01:00</published><updated>2008-11-06T17:42:15.321+01:00</updated><title type='text'>Making Powerline Ethernet HomePlugAV interoperable</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_doSme9os_cw/SRMdwmpewfI/AAAAAAAAJWM/cx5RtBAJFfw/s1600-h/HPAV_Statistics.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 199px;" src="http://2.bp.blogspot.com/_doSme9os_cw/SRMdwmpewfI/AAAAAAAAJWM/cx5RtBAJFfw/s320/HPAV_Statistics.JPG" alt="" id="BLOGGER_PHOTO_ID_5265585110171697650" border="0" /&gt;&lt;/a&gt;A few weeks ago I posted an overview on the ZyXEL NBG-318S Powerline Ethernet switch / router with WiFi. After several weeks using the ZyXEL as my main entertainment room hub (both the PlayStation 3 and my set-top satellite box are connected to it, and it also serves as an access point), I can say the only thing I can give it a thumb down is the name. NBG-318S... who invents things like that? Nevermind... I can live with the name as long as the product shines.&lt;br /&gt;&lt;br /&gt;So... the NBG-318S is a &lt;a href="http://en.wikipedia.org/wiki/HomePlug_Powerline_Alliance#AV" target="_blank"&gt;HomePlug AV&lt;/a&gt; device. That means, at least in theory it should work in tandem with any other HomePlug AV device. That includes for instance the &lt;a href="http://headworx.slupik.com/2008/03/linksys-ple200-powerline-av-ethernet.html" target="_blank"&gt;PLE200 from Linksys&lt;/a&gt;. But that is the theory. In practice when I did a simple test plugging both the ZyXEL and the Linksys to the wall, they did not see each other. Digging here and there I found the PLE200 with factory installed firmware was not fully HomePlug AV compliant. Upgrading it to the latest firmware ultimately did the trick. The upgrade process was not as straightforward as it should be. First, there are different versions of PLE200 firmware on different Linksys.COM servers. I succeeded using the one from the US site. Here is the &lt;a href="http://www.linksys.com/servlet/Satellite?c=L_CASupport_C2&amp;amp;childpagename=US%2FLayout&amp;amp;cid=1169671618489&amp;amp;pagename=Linksys%2FCommon%2FVisitorWrapper&amp;amp;displaypage=nodata#versiondetail" target="_blank"&gt;link&lt;/a&gt;. Version 3.3, with release date May 23rd, 2008. The upgrade process is done via the PLE200 client utility, but it has problems with Windows Vista, so I had to find a Windows XP machine, and disable the firewall on it (the Windows firewall prevented the upgrade too). And that is all the PLE200 utility can be used for, as I did not succeed linking to the ZyXEL using it.&lt;br /&gt;&lt;br /&gt;On the other hand the ZyXEL web-based management interface allowed me to add the upgraded PLE200 to the Powerline Ethernet network. You do that simply by entering a MAC address and a device password, both printed on the back of the PLE200. Once the Linksys adapters were upgraded to the 3.3 firmware, the HomePlug AV network runs without any glitch. The average link speed  exceeds 100mbps (see the side picture) and  I have already watched a ton of movies streamed from my &lt;a href="http://headworx.slupik.com/2007/11/infrant-readynas-nv.html" target="_blank"&gt;NAS server&lt;/a&gt; to the &lt;a href="http://headworx.slupik.com/2008/01/dlna-at-work-at-home.html" target="_blank"&gt;DLNA - enabled Sony PlayStation&lt;/a&gt; via the power line.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-8740755503847818095?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/8740755503847818095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=8740755503847818095' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/8740755503847818095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/8740755503847818095'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2008/11/making-powerline-ethernet-homeplugav.html' title='Making Powerline Ethernet HomePlugAV interoperable'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_doSme9os_cw/SRMdwmpewfI/AAAAAAAAJWM/cx5RtBAJFfw/s72-c/HPAV_Statistics.JPG' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-4227052139291665561</id><published>2007-11-18T21:17:00.000+01:00</published><updated>2008-12-10T13:17:24.731+01:00</updated><title type='text'>Digital Home</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_doSme9os_cw/R0Cufw3qLAI/AAAAAAAABW4/HIf27ihfmwg/s1600-h/DFL-800.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_doSme9os_cw/R0Cufw3qLAI/AAAAAAAABW4/HIf27ihfmwg/s320/DFL-800.jpg" alt="" id="BLOGGER_PHOTO_ID_5134295435919895554" border="0" /&gt;&lt;/a&gt;I blogged here and there before describing various components of &lt;a href="http://headworx.slupik.com/2006/05/wireless-home.html" target="_blank"&gt;my digital home&lt;/a&gt;. The WiFi network, the &lt;a href="http://headworx.slupik.com/2007/08/toshiba-network-camera.html" target="_blank"&gt;IP Camera&lt;/a&gt;, the &lt;a href="http://headworx.slupik.com/2006/04/stream-like-dream.html" target="_blank"&gt;Squeezeboxes&lt;/a&gt;, the &lt;a href="http://headworx.slupik.com/2007/02/slimserver.html" target="_blank"&gt;Slimserver&lt;/a&gt;... Now after several years of putting together several ad-hoc components the time has come to redesign the entire systems from scratch, based on the experinence with various products, vendors and technologies.&lt;br /&gt;&lt;br /&gt;I will be updating this post, so come down here in a few weeks to see what has changed. Today just a short list of bullet points of what I intend to cover.&lt;br /&gt;&lt;br /&gt;First of all I have two homes (one small wooden cottage I love to spend summer and weekends in) and a second one in the city, with a hot tub for harsh winter :). The ultimate goal is to connect both homes together and have a unified user experience in as many aspects as possible - starting from music playlists that should be up to date and synchronized among my iPod and both places, to the IP subnets addressing to be able to connect to any device from anywhere.&lt;br /&gt;&lt;br /&gt;So here is the entire idea in a nutshell:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There will be a VPN tunnel set up between both homes. The one in the country has a fixed IP DSL line (1Mb only, unfortunately...). The one in the city has a 2Mb line with dynamic IP. I intend to use a &lt;a href="http://www.dlink.com/products/?sec=0&amp;amp;pid=453" target="_blank"&gt;Dlink DFL-800 VPN Router / Firewall&lt;/a&gt; there. The DFL-800 will server as a remote VPN server (I want to be able to connect to the home network whenever I am on the road) and also as a VPN endpoint of a tunnel between the homes. On the other side of the tunnel I plan to use a Dlink DFL-200 (have to check if it can "redial" the other end when DSL IP address is recycled by the service provider or whenever the link is just dropped. If the DFL-200 does not handle the tunnel good enough, I will probably opt for a second DFL-800.&lt;/li&gt;&lt;li&gt;Behind the firewalls I plan to use the &lt;a href="http://headworx.slupik.com/2007/11/infrant-readynas-nv.html" target="_blank"&gt;Infrant ReadyNAS NV+&lt;/a&gt; storage servers. They will serve as a generic storage on a local area network. I plan to set up  replication jobs between them, so that each unit is a backup of the other. This way, for example, when I buy new music and save it on one of them, the content will be replicated to the other home, ready to be played there when I move.&lt;/li&gt;&lt;li&gt;The Infrant units will host Slimservers to power a local &lt;a href="http://headworx.slupik.com/2007/03/multiroom-audio.html" target="_blank"&gt;array of Squeezeboxes to handle multi - room audio&lt;/a&gt; around each home. This is easy to do now, as the latest Infrant boxes come with Slimserver preloaded.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Looking forward the Infrant units will serve as multi-purpose DLNA - compliant home servers, to be able to stream videos to various devices like the &lt;a href="http://headworx.slupik.com/2007/05/ps3-sheer-power.html" target="_blank"&gt;PS3 console&lt;/a&gt; or a Loewe Connected TV, or pictures to connected photo frames around each home.&lt;/li&gt;&lt;li&gt;Infrants will also store live picture snapshots from IP cameras, so the &lt;a href="http://headworx.slupik.com/2007/10/i-mate-momento-connected-photo-frame.html" target="_blank"&gt;WiFi photo frames&lt;/a&gt; will be able to show near-real-time pictures from the other end. Living in the city it will always be nice to have a look at the wonderful virgin winter in the country :)&lt;/li&gt;&lt;li&gt;There will be other addons, like UPS units, WiFi access points, I will be describing them if they deserve some attention.&lt;/li&gt;&lt;/ul&gt;That is all from the distant perspective... will see how it goes... as the devil is in the details (as always!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-4227052139291665561?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/4227052139291665561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=4227052139291665561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/4227052139291665561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/4227052139291665561'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2007/11/digital-home.html' title='Digital Home'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_doSme9os_cw/R0Cufw3qLAI/AAAAAAAABW4/HIf27ihfmwg/s72-c/DFL-800.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-3451393765717899922</id><published>2006-12-29T14:21:00.000+01:00</published><updated>2008-12-10T13:17:24.987+01:00</updated><title type='text'>Linksys VPN</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_doSme9os_cw/RZUfpozjxKI/AAAAAAAAADk/TwXgfWIpJ9I/s1600-h/WRV200_MED.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_doSme9os_cw/RZUfpozjxKI/AAAAAAAAADk/TwXgfWIpJ9I/s320/WRV200_MED.JPG" alt="" id="BLOGGER_PHOTO_ID_5013948560335684770" border="0" /&gt;&lt;/a&gt;Recently I have finally succeeded in setting up a VPN connection to my &lt;a href="http://headworx.blogspot.com/2006/05/wireless-home.html"&gt;home network&lt;/a&gt; running Linksys WRV200 at its heart. Support for VPNs was one of the primary reasons I decided to upgrade from my old WRT-54GC. The other reason was the RangeBooster feature - I described it on the &lt;a href="http://headworx.blogspot.com/2006/12/rangebooster-rocks.html"&gt;Headworx blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;WRV200 is supposed to run VPNs out of the box. Unfortunately things are not so straightforward, so below are the issues I managed to solve and in the end VPNs run as advertised.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Upgrade your firmware. At the moment I run the 1.0.24 version released on December 1st, 2006 and it works bot stable and functionally complete. The previous one I had was fairly unstable (frequent reboots required) and I could not make it working with VPNs.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You need a special VPN client software. I was a bit naive to think I could use the standard Windows XP VPN connection to connect to the Linksys WRV200. It will not work. You have to use the &lt;a href="http://www.linksys.com/servlet/Satellite?c=L_Download_C2&amp;childpagename=US%2FLayout&amp;amp;cid=1115417109934&amp;packedargs=sku%3D1147187335899&amp;amp;pagename=Linksys%2FCommon%2FVisitorWrapper"&gt;Linksys QuickVPN application&lt;/a&gt;. It is available for download from the  WRV200 product page on linksys.com.&lt;/li&gt;&lt;li&gt;The QuickVPN application does not work with Windows Firewall. One workaround is to disable the firewall, but this is absolutely not what I would ever do. You should add the QuickVPN to the Windows Firewall exceptions list, but this is not enough. You will still not be able to connect, as there is a bug in the Microsoft code. Fortunately there is a fix available (&lt;a href="http://support.microsoft.com/kb/889527"&gt;http://support.microsoft.com/kb/889527&lt;/a&gt;), so download and install it.&lt;/li&gt;&lt;li&gt;If you happen to connect from a network running another Linksys product (like the WAP54GX in my case - we have them in our office), you may be in trouble. After upgrading my Windows Firewall I was able to connect from my notebook over the wired network, but all the attempts to connect over wireless were failing, exactly the same way as before the Windows Firewall upgrade (the QuickVPN was stuck on the "Verifying Network" message). It simply looked like the IPSec ICMP packets were being dropped again. After looking here and there I found this &lt;a href="http://www.linksysinfo.org/forums/showthread.php?p=288402"&gt;post on the linksysinfo.org&lt;/a&gt;. So if there is a WAP54GX on your way, you have to bypass it (or wait for Linksys to fix the issue).&lt;/li&gt;&lt;/ul&gt;Overall I am happy with the solution. Of course would prefer not to use a special VPN client, but hey, I can live with that :) I have no clue why the Microsoft bug has not made it into the official Windows Update system... And it is a bit frustrating to have one Linksys product blocking the feature of another Linksys product. I am sure there are many people trying to make their VPNs working. I hope my post will help...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-3451393765717899922?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/3451393765717899922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=3451393765717899922' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/3451393765717899922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/3451393765717899922'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2006/12/linksys-vpn.html' title='Linksys VPN'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_doSme9os_cw/RZUfpozjxKI/AAAAAAAAADk/TwXgfWIpJ9I/s72-c/WRV200_MED.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-115567182851725466</id><published>2006-08-15T21:17:00.000+02:00</published><updated>2006-08-20T22:41:34.856+02:00</updated><title type='text'>SlimServer Embedded</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/757/1693/1600/ResPICT1699.0.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/757/1693/320/ResPICT1699.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;a href="http://www.ics.agh.edu.pl/%7Ebokun/"&gt;Igor&lt;/a&gt; has recently come with an idea to build an embedded version of &lt;a href="http://www.slimdevices.com/pi_features.html"&gt;SlimServer&lt;/a&gt;, the open source software we use to stream music to our &lt;a href="http://headworx.blogspot.com/2006/04/squeezebox-perfection.html"&gt;Squeezeboxes&lt;/a&gt; around the house. Most of the time the Squeezeboxes are tuned to the &lt;a href="http://headworx.blogspot.com/2006/04/pandora-my-personal-radio.html"&gt;Pandora Radio&lt;/a&gt;, but from time to time it is nice to have them play some local music (local - means stored locally - in house, as opposed to the Internet). To be able to do that, a local streaming server is necessary, as Squeezebox does not have any built-in storage - it is just a network player / streamer. My first approach was to build a silent PC, dedicated as a media server (and running SlimServer software among other tasks), but this has several drawbacks - boot time, Windows patching, and price. Igor found the guys at &lt;a href="http://www.nslu2-linux.org/wiki/Applications/SlimServer"&gt;NSLU2-Linux do run SlimServer&lt;/a&gt; on a tiny &lt;a href="http://en.wikipedia.org/wiki/NSLU2"&gt;Linksys NSLU2&lt;/a&gt; NAS (Network Attached Storage) device. The idea is really cool and I decided to give it a try.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/757/1693/1600/ResPICT1684.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/757/1693/320/ResPICT1684.jpg" alt="" border="0" /&gt;&lt;/a&gt;Here is what I prepared to start with:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Brand new Linksys NSLU2 device (&lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/B0001FSCZO?v=glance"&gt;$83&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;40GB 2.5" Hard Drive to store the music (&lt;a href="http://techbulletins.blogspot.com/2006/07/ibm-thinkpad-hdd-upgrade.html"&gt;excavated from my IBM T41&lt;/a&gt;, but you can use just any IDE drive)&lt;/li&gt;&lt;li&gt;2.5" USB HDD Enclosure to house the hard drive, with cable (something like &lt;a href="http://www.cooldrives.com/poc25porusba.html"&gt;that&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;First I thought of using a two drive configuration with flash USB memory stick as a main system volume and HDD as a "media" drive for music, but after reading a bit here and there I realized the system drive has to have a "swap" partition. Flash drives have limited number of write cycles they can survive, so placing a swap on a flash would potentially reduce its lifespan considerably. Therefore I decided to go with a single drive configuration (i.e. one drive to store both operating system files and media / music). This has paid off in yet another way. I have noticed my 2,5" drive was stopping sometimes (during long writes), and the reason was the power consumption of the drive. It was just a little over the limit of 500mA supplied by a USB port. So finally I settled with a Y-split USB cable (actually the one that came with the USB enclosure) - so now one port (port 2) is used for communicating with the drive and second port (port 1) is used as an additional current source.&lt;/p&gt;&lt;p&gt;The process took the following steps to complete:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Installing standard NSLU2 and drives, to check if everything works fine and get used to the platform.&lt;/li&gt;&lt;li&gt;Installing Unslung firmware on the NSLU2.&lt;/li&gt;&lt;li&gt;Unslinging the NSLU2 (i.e. moving Linux OS files from internal flash to the external USB memory stick).&lt;/li&gt;&lt;li&gt;Installing Unslung Development Environment (compilers, make, etc.) and libraries (including Perl) necessary for the SlimServer software on the NSLU2.&lt;/li&gt;&lt;li&gt;Compiling SlimServer remotely (on the NSLU2 box). During this process UDE will automatically download all the necessary components from the internet.&lt;/li&gt;&lt;li&gt;Configuring the music library.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;And here is the entire procedure from start to the end:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Start with setting up the NSLU2 the way Linksys wants you to. This way you will learn how the device behaves and you will be sure the hardware works OK. Format the drives from the web admin interface. Upgrade the internal flash rom at this step to the latest Linksys version. Also make sure the internet connection is working fine, as later on the NSLU2 will download certain files automatically. There is a nice feature of administrative alerts that are sent to the user-defined email address. I suppose most of you (&lt;a href="http://headworx.blogspot.com/2006/05/wireless-home.html"&gt;like me&lt;/a&gt;) have an Internet router in the home network, so the natural approach is to plug the NSLU2 to one of the LAN ports in the router.&lt;br /&gt;Note: if the setup utility does not detect the NSLU2, then probably you need to turn the Windows XP firewall off to complete the setup procedure. And don't forget to turn it on again... [time: 1-3 hours]&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When everything works fine with the standard configuration, install the latest Unslung firmware. Go to &lt;a href="http://www.nslu2-linux.org/wiki/Main/HomePage"&gt;http://www.nslu2-linux.org/wiki/Main/HomePage&lt;/a&gt; or directly to the &lt;a href="http://www.slug-firmware.net/u-dls.php"&gt;http://www.slug-firmware.net/u-dls.php&lt;/a&gt;. Download the latest release, unzip it and read the Readme document several times, until you are sure you understand everything you are doing. [time: 1 hour reading the docs, 15 minutes preparation and flashing]&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Unslinging. This is a process of moving the root file system of the NSLU2 to an external drive and preparing the drive for further installations. Detailed instructions are in the Unslung firmware readme document you downloaded in step 2. [time: 15 minutes]&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now install the SlimServer. There are several steps involved in this process, the detailed guide can be found at &lt;a href="http://www.nslu2-linux.org/wiki/Applications/SlimServer"&gt;http://www.nslu2-linux.org/wiki/Applications/SlimServer&lt;/a&gt;. As I do not have any Linux experience (yet!), there were several things that left me scratching my head and looking for an answer:&lt;br /&gt;&lt;br /&gt;Copying the SlimServer source to the NSLU2. First download the &lt;a href="http://www.slimdevices.com/su_downloads.html"&gt;SlimServer Perl Source Code&lt;/a&gt; to your PC. Make sure it lands with a .tar.gz extension. Then using the NSLU2 web interface create a public share, open that share with Windows explorer and drag&amp;drop the file there. It will land in /public directory on the NSLU2. Then using cp (copy) or mv (move) command copy or move it over to /usr/local and there just execute tar xzvf... as described in the original guide.&lt;br /&gt;&lt;br /&gt;Editing the build-perl-modules.pl was another story simply solved by copying the file to /public, where it could have been picked by Windows WordPad for editing (for those of you who do not know vi).&lt;br /&gt;&lt;br /&gt;I proceeded carefully line by line with the original guide and after about an hour my SlimServer was up and running and I could log on to it via the web interface (port 9000). [time: 1 hour]&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/757/1693/1600/SlugSlimServer.4.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://photos1.blogger.com/blogger/757/1693/320/SlugSlimServer.jpg" alt="" border="0" /&gt;&lt;/a&gt;Configure SlimServer (using the web interface: http://...&lt;ip-address-of-your-nslu2:9000&gt;). &lt;/ip-address-of-your-nslu2:9000&gt;&lt;ip-address-of-your-nslu2:9000&gt;For tests I highly recommend using just a couple of music files, as indexing them is very slow on the NSLU2. Basically all you have to do there is configure the music and playlists folders, in my case I pointed both of them to /public and invoking full scan of the music library. [configuration: 15 minutes, actual scan: depending on the size of the music library - in my case it was some 3 hours to scan some 5000 songs]&lt;br /&gt;&lt;br /&gt;&lt;/ip-address-of-your-nslu2:9000&gt;&lt;/li&gt;&lt;li&gt;And finally configure your Linux OS to automatically start the SlimServer process when system starts. This is done by adding the following two lines:&lt;br /&gt;&lt;br /&gt;cd /usr/local/SlimServer_v6.0.2&lt;br /&gt;./slimserver.pl --daemon --prefsfile /etc/slim-data/slimserver.pref --cachedir /etc/slim-data&lt;br /&gt;&lt;br /&gt;to the &lt;em&gt;rc.local&lt;/em&gt; file located in &lt;em&gt;/etc/rc.d&lt;/em&gt; folder.&lt;br /&gt;Of course if your SlimServer landed in a different folder, you have to adjust the &lt;em&gt;cd /usr/local/SlimServer_v6.0.2&lt;/em&gt; command accordingly.&lt;br /&gt;&lt;br /&gt;You probably wonder how to edit the rc.local file... Well... go and use the famous vi editor by typing &lt;em&gt;vi rc.local&lt;/em&gt;. And &lt;a href="http://www.cs.colostate.edu/helpdocs/vi.html"&gt;here&lt;/a&gt; is how to operate it :) [time: 15 minutes]&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;On thing I am missing a little bit is the lack of WiFi connectivity on the NSLU2. There is a workaround here - if you are using the &lt;a href="http://headworx.blogspot.com/2006/04/squeezebox-perfection.html"&gt;Slim Devices Squeezebox WiFi streamer&lt;/a&gt;. Squeezebox can act as a WiFi bridge, so you may just hook the NSLU2 to it, and the combo will be wireless.&lt;/p&gt;&lt;p&gt;All in all this exercise ignited my interest in small, yet powerful SBCs (Single Board Computers). More and more of these devices use one or the other form of Linux as an operating system and really prove software portability. My first SlimServer runs on a Windows XP machine based on Intel Pentium CPU (with a couple of fans). This is my second one and it runs on an embedded Linux machine (big as a pack of cigarettes) based on ARM. Fantastic!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-115567182851725466?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/115567182851725466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=115567182851725466' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/115567182851725466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/115567182851725466'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2006/08/slimserver-embedded.html' title='SlimServer Embedded'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-31931981.post-115433390376940114</id><published>2006-07-31T10:14:00.000+02:00</published><updated>2006-08-15T20:23:04.040+02:00</updated><title type='text'>IBM ThinkPad HDD Upgrade</title><content type='html'>&lt;a href="http://photos1.blogger.com/blogger/757/1693/1600/HD-Image.0.jpg"&gt;&lt;img style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://photos1.blogger.com/blogger/757/1693/320/HD-Image.0.jpg" border="0" /&gt;&lt;/a&gt;Recently I decided to upgrade the original 40GB hard drive in my ThinkPad T41 to something bigger (and faster). HDD upgrade is not something I like. It is as complicated, as changing the old laptop for a new one, but in the end you still have your old laptop, so the reward is... not that rewarding. Why is it so difficult and time consuming? I work with my computer easily ten hours a day (on average). And everyday I do something that makes it better. Add a few links, store a password or two, customize several websites, or install an application that makes my life easier. So imagine after, say 500 days, I decide to change the drive. I can always use a tool like Norton Ghost, to mirror my old drive (stream the content to the new one), but at the same time, I do realize my 500 days old Windows operating system is cluttered with the remains of old applications, unused registry settings and lots of rubbish that I no longer use, but what occupies the precious RAM and causes instabilities. Windows does require periodical refresh (that means fresh install most of the times). So usually when I decide to upgrade the hard drive, it is a good time to clean-install a fresh copy of the operating system. But then it takes almost a month to bring everything back to where it used to be... &lt;a href="http://headworx.blogspot.com/2006/04/metadata-metachallenges.html"&gt;Metadata metachallenges...&lt;/a&gt; One day this will be universally solved.&lt;br /&gt;&lt;br /&gt;But as this blog is not about life - changing ideas, I will not discuss the general (poor) state of the metadata solutions. The purpose of this bulletin is to share the way I upgraded a drive in my IBM Thinkpad T41 (should generally apply to other IBM laptops).&lt;br /&gt;&lt;br /&gt;Where was the challenge? I had no Windows installation CD. IBM laptops come with Windows preinstalled, so you can restore the computer to factory default state (that means reformatting the hard drive) by pressing the "Access IBM" button at startup and then choosing the "Recover to factory settings" option. Of course... but this works ONLY when your hard drive has something they call "Predesktop Area", a piece of a drive with Windows install files on it. As you can imagine, the new aftermarket drives simply don't have that special area...&lt;br /&gt;&lt;br /&gt;My plan was generally simple:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Transfer the IBM predesktop area from the old drive to the new one&lt;/li&gt;&lt;li&gt;Use the Access IBM button at startup to rebuild original Windows from the new drive.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Unfortunately it did not work. I purchased the latest &lt;a href="http://www.symantec.com/sabu/ghost/ghost_personal/"&gt;Norton Ghost&lt;/a&gt;, then using &lt;a href="http://www.the-gadgeteer.com/review/usb_2_0_to_ide_cable_version_2"&gt;IDE-TO-USB converter cable&lt;/a&gt; plugged the new drive to the laptop, and used the "duplicate drive" option of Ghost to mirror the old drive to the new one. After that, I removed the old drive from the laptop and installed the new one, booted the laptop and pressed the Blue button... just to learn Ghost failed to mirror the drive properly. I don't know exactly what happened, but the Blue button was not giving the usual options, throwing an error message instead. I tried several other drive mirroring tools and none worked (it took several days, installing the mirroring soft, executing the mirror operation and learning it failed). Then I realized I would not do it with "normal" tools. IBM Predesktop is simply not visible to them the way it should be.&lt;/p&gt;&lt;p&gt;So I started digging The Net and here is what I learned:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The predesktop area is not a legal partition. Most (if not all) of the mirroring software just can't see it.&lt;/li&gt;&lt;li&gt;When you get to the "Recover to factory..." option via the blue "Access IBM" button at startup, there is a hidden exit by pressing F3. It brings you to the command shell (DOS). Once there, you may use fwbackup.exe and fwrestor.exe applications you will find there. Fwbackup backs up the predesktop area somewhere, and fwrestore does the opposite.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So now my new HDD upgrade plan was modified to look like this:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Prepare a IDE-TO-USB converter.&lt;/li&gt;&lt;li&gt;Prepare a THIRD (intermediate) HDD (6GB is enough, I used an old drive from some old Toshiba laptop, but generally you can use any USB drive for that (as long as it can be formatted with FAT32).&lt;/li&gt;&lt;li&gt;Prepare a bootable Windows 95 or Windows 98 CD (again from one of my old machines).&lt;/li&gt;&lt;li&gt;Boot Windows normally from the old drive, then connect the intermediate drive over USB and format it using FAT32 filesystem. The choice of FAT32 is because the drive has to be visible after the machine is booted with DOS shell of Win 95/98.&lt;/li&gt;&lt;li&gt;Reboot and press the blue "Access IBM" button, then go to "Recover to factory..." and press F3 (undocumented) to exit to the DOS command shell.&lt;/li&gt;&lt;li&gt;Make sure the intermediate drive is visible (it mounted as drive D: in my case). Go to A:\RECOVERY (A: is a virtual drive mounted during the IBM recovery procedure) and launch FWBACKUP application:&lt;br /&gt;      &lt;em&gt;fwbackup size=640 file=d:\backup&lt;/em&gt;&lt;br /&gt;This will take fairly long time (2 hours+ in my case), and will produce a set of backup.nnn files on the intermediate drive.&lt;/li&gt;&lt;li&gt;Copy the FWRESTOR.EXE from A: to the intermediate drive (you will need this application to restore the backup.nnn files created in step 6).&lt;/li&gt;&lt;li&gt;Power off the machine, replace the old hard drive with a new, blank one. Leave the intermediate drive with backup files connected over USB.&lt;/li&gt;&lt;li&gt;Boot the computer with the Windows 9x CD (actually do not start Windows, just go to the DOS shell). From there go to the intermediate drive (still conencted over USB) and run:&lt;br /&gt;       &lt;em&gt;fwrestor file=d:\backup&lt;/em&gt;&lt;br /&gt;This will restore the predesktop area to the new drive. We are almost home...&lt;/li&gt;&lt;li&gt;Reboot, press the blue "Access IBM" and go to the "Recover to factory...". This will setup you a fresh copy of Windows XP, direct from the predesktop area, just transferred over the intermediate drive from your old to the new one. Ufffff......&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The nice thing about this rather lenghty procedure is you will recover everything exactly as it was intended to by IBM. Now it is just a matter of updating your Windows to the latest patches (another 3-5 hours), install the applications (1-3 days) and copy over all your passwords and cookies (2 weeks...). Now you know why I hate this process, just hoping the description above will save you some work and time.&lt;/p&gt;&lt;p&gt;Till next time...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/31931981-115433390376940114?l=tech.slupik.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.slupik.com/feeds/115433390376940114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=31931981&amp;postID=115433390376940114' title='54 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/115433390376940114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/31931981/posts/default/115433390376940114'/><link rel='alternate' type='text/html' href='http://tech.slupik.com/2006/07/ibm-thinkpad-hdd-upgrade.html' title='IBM ThinkPad HDD Upgrade'/><author><name>Szymon Slupik</name><uri>https://profiles.google.com/115855762914475187374</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-cWsnG40GA2A/AAAAAAAAAAI/AAAAAAAAknM/Xu5MCugBpj0/s512-c/photo.jpg'/></author><thr:total>54</thr:total></entry></feed>
