Projectshttp://buildproject.dk/index.php/projects2024-12-21T18:24:55+00:00Joomla! - Open Source Content ManagementMacbook Tricks.2015-02-13T08:47:05+00:002015-02-13T08:47:05+00:00http://buildproject.dk/index.php/projects/25-mackbook-tricksSuper Userbo@visfeldt.dk<div class="feed-description"><p style="text-align: left;">For years, I have been extremely skeptical about Apple products. In my opinion, they have primarily been pushing lifestyle tech to people without computer skills.</p>
<p style="text-align: left;">It is, however, undenibly that Apple has aquired such a large portion of the market that they cannot be discounted.</p>
<p style="text-align: left;">I have recently aquired an 11.6'' Macbook Air in order to learn about Mac Os X. Therefore I have made this page to help keep track of stuff i need to remember.</p>
<h2 style="text-align: left;">Partitioning and undoing this.</h2>
<p style="text-align: left;">In general, it is very easy to do partitioning using the build DiskUtil. Note that Recovery partitions are in essence a safestate you can boot which will hopefully help you to get your system running again. I currently have <em>two</em> recovery partitions, as fairly quickly updated from to Yosemite, which forces installation of yet another recovery installation (as the one from the previous OS is not removed) both are bootable.</p>
<h2 style="text-align: left;">Creating USB install media for Yosemite.</h2>
<p style="text-align: left;">First download Yosemite image from AppStore. This will cause the image to be stored in <em>/Applications/Install OS X Yosemite.app</em>. After downloading, App Store wants to initialize installation. Do not do this, as the image is wiped as part of the process.<br /><br />Instead use the createinstallmedia tool. The syntaxt is:</p>
<pre style="text-align: left;"><br /><samp><code><span style="color: #191919; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 25px; text-align: left;">sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB-mount-name --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction</span></code></samp></pre>
<p style="text-align: left;">An 8gb usb should be sufficient. After completion you will get a "done" on the commandline.</p></div><div class="feed-description"><p style="text-align: left;">For years, I have been extremely skeptical about Apple products. In my opinion, they have primarily been pushing lifestyle tech to people without computer skills.</p>
<p style="text-align: left;">It is, however, undenibly that Apple has aquired such a large portion of the market that they cannot be discounted.</p>
<p style="text-align: left;">I have recently aquired an 11.6'' Macbook Air in order to learn about Mac Os X. Therefore I have made this page to help keep track of stuff i need to remember.</p>
<h2 style="text-align: left;">Partitioning and undoing this.</h2>
<p style="text-align: left;">In general, it is very easy to do partitioning using the build DiskUtil. Note that Recovery partitions are in essence a safestate you can boot which will hopefully help you to get your system running again. I currently have <em>two</em> recovery partitions, as fairly quickly updated from to Yosemite, which forces installation of yet another recovery installation (as the one from the previous OS is not removed) both are bootable.</p>
<h2 style="text-align: left;">Creating USB install media for Yosemite.</h2>
<p style="text-align: left;">First download Yosemite image from AppStore. This will cause the image to be stored in <em>/Applications/Install OS X Yosemite.app</em>. After downloading, App Store wants to initialize installation. Do not do this, as the image is wiped as part of the process.<br /><br />Instead use the createinstallmedia tool. The syntaxt is:</p>
<pre style="text-align: left;"><br /><samp><code><span style="color: #191919; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 16px; line-height: 25px; text-align: left;">sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB-mount-name --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction</span></code></samp></pre>
<p style="text-align: left;">An 8gb usb should be sufficient. After completion you will get a "done" on the commandline.</p></div>Setting up Asterisk for Raspberry Pi with Cisco 7940 phones and 3g modem2014-11-21T16:09:40+00:002014-11-21T16:09:40+00:00http://buildproject.dk/index.php/projects/completed/24-setting-up-asterisk-for-raspberry-pi-with-cisco-7940-phones-and-a-3g-modemSuper Userbo@visfeldt.dk<div class="feed-description"><p style="text-align: left;"><span class="wf_caption" style="display: inline-table;"><a href="images/projects/setting-up-asterisk-for-raspberry-pi-with-cisco-7940-phones-and-a-3g-modem/setup.jpg" class="jcepopup" data-mediabox="title[4 phone Cisco/Asterix setup]" target="_blank"><img src="images/projects/setting-up-asterisk-for-raspberry-pi-with-cisco-7940-phones-and-a-3g-modem/thumbnails/thumb_setup.jpg" width="150" height="113" alt="4 phone Cisco/Asterix setup" /></a><span style="max-width: 150px; text-align: center; display: block;">4 phone Cisco/Asterix setup</span></span>The place where I work, decided to change IP phones. Therefore they changed all their old Cisco 7940/7960 phones in favor of Microsoft Lync. This ment the container was full of really nice phones, and I decided to put them to use - while keeping costs as low as possible.</p>
<p style="text-align: left;">These days, VoIp service is fairly costly if you do not need 25+phones connected. On the other hand,mobile plans being cheap and almost flatrate (at least in Denmark). Therefore I decided to connect a 3g modem as connon phone-trunk for the Cisco Phones.</p>
</div><div class="feed-description"><p style="text-align: left;"><span class="wf_caption" style="display: inline-table;"><a href="images/projects/setting-up-asterisk-for-raspberry-pi-with-cisco-7940-phones-and-a-3g-modem/setup.jpg" class="jcepopup" data-mediabox="title[4 phone Cisco/Asterix setup]" target="_blank"><img src="images/projects/setting-up-asterisk-for-raspberry-pi-with-cisco-7940-phones-and-a-3g-modem/thumbnails/thumb_setup.jpg" width="150" height="113" alt="4 phone Cisco/Asterix setup" /></a><span style="max-width: 150px; text-align: center; display: block;">4 phone Cisco/Asterix setup</span></span>The place where I work, decided to change IP phones. Therefore they changed all their old Cisco 7940/7960 phones in favor of Microsoft Lync. This ment the container was full of really nice phones, and I decided to put them to use - while keeping costs as low as possible.</p>
<p style="text-align: left;">These days, VoIp service is fairly costly if you do not need 25+phones connected. On the other hand,mobile plans being cheap and almost flatrate (at least in Denmark). Therefore I decided to connect a 3g modem as connon phone-trunk for the Cisco Phones.</p>
</div>Rooting a cheap chinese tablet (Denver TAD-70111)2014-11-20T16:31:58+00:002014-11-20T16:31:58+00:00http://buildproject.dk/index.php/projects/completed/23-rooting-a-cheap-chinese-tablet-denver-tad-70111Super Userbo@visfeldt.dk<div class="feed-description"><p style="text-align: left;"><span class="wf_caption" style="display: inline-table;"><a href="images/projects/rooting_a_cheap_china_tablet/denver_TAD_70111.jpg" class="jcepopup" data-mediabox="title[Denver TAD 70111]" target="_blank"><img src="images/projects/rooting_a_cheap_china_tablet/thumbnails/thumb_denver_TAD_70111.jpg" width="150" height="94" alt="denver TAD_70111" /></a><span style="max-width: 150px; text-align: center; display: block;">Denver TAD_70111</span></span>A few days ago i bought a cheap android tablet. It was a "Denver TAD 70111". It sported 4gb of hdd, 512mb RAM as well as a 7 inch screen and Wifi connection. All for the price of DKK300 (aprox $50).</p>
<p style="text-align: left;">I bought one and tested it. I was quite impressed with the amount of tablet you got for the money. Only problem was that I could not get the adb-link to function properly.<br />Therefore I could not install homebrew software or even gain root.</p>
<p style="text-align: left;">Denver (which is a Danish company) does not have any hardware development themselves, so the tablet was likely a cheap rebranded chinese version. In any case Denver was not inclined to help me troubleshoot the adb link.</p>
<p style="text-align: left;">So I began trying...</p>
</div><div class="feed-description"><p style="text-align: left;"><span class="wf_caption" style="display: inline-table;"><a href="images/projects/rooting_a_cheap_china_tablet/denver_TAD_70111.jpg" class="jcepopup" data-mediabox="title[Denver TAD 70111]" target="_blank"><img src="images/projects/rooting_a_cheap_china_tablet/thumbnails/thumb_denver_TAD_70111.jpg" width="150" height="94" alt="denver TAD_70111" /></a><span style="max-width: 150px; text-align: center; display: block;">Denver TAD_70111</span></span>A few days ago i bought a cheap android tablet. It was a "Denver TAD 70111". It sported 4gb of hdd, 512mb RAM as well as a 7 inch screen and Wifi connection. All for the price of DKK300 (aprox $50).</p>
<p style="text-align: left;">I bought one and tested it. I was quite impressed with the amount of tablet you got for the money. Only problem was that I could not get the adb-link to function properly.<br />Therefore I could not install homebrew software or even gain root.</p>
<p style="text-align: left;">Denver (which is a Danish company) does not have any hardware development themselves, so the tablet was likely a cheap rebranded chinese version. In any case Denver was not inclined to help me troubleshoot the adb link.</p>
<p style="text-align: left;">So I began trying...</p>
</div>Build Trafficlight2014-06-17T11:45:38+00:002014-06-17T11:45:38+00:00http://buildproject.dk/index.php/projects/completed/21-build-trafficlightSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Background</h2>
<p style="text-align: left;">At my work, we are trying to accomplish something approaching "Continious Delivery". There is a long way to go, but we have gotten our Git server to function alongside Gerrit and the TeamCity buildserver.</p>
<p style="text-align: left;">In order to visualize our builds I made a small trafficlight, that continiously polls the state of the TeamCity server. The state of the current project is then visualized as Green (build passed), yellow (build in progress) or red (build failed).</p>
<h2 style="text-align: left;">Hardware</h2>
<p style="text-align: left;">I am using a small elderly thin client, running a tiny Debian distribution. As the thin client does not have enough internal space, i have installed the distro on a 4GB usb key, using it to boot from.</p>
<p style="text-align: left;">In addition, i am using a tiny trafficlight designed for industrial machines (aliexpress.com), which state i am changing through a Denkovi relay module. The relaymodule is connected to the thin client using an usb cable.</p>
<p style="text-align: left;">Now, many people would say that I could just use a Raspberry Pi to do this, avoiding the need for a usb-controlled relay module. True... but I happened to </p>
<h2 style="text-align: left;">The relay module.</h2>
<p style="text-align: left;">I am using a relay module from Denkovi to switch the state of the trafficlight. </p>
<h2 style="text-align: left;">Basics</h2>
<p style="text-align: left;">The build trafficlight is build around a small linux server and a Denkovi Relayboard. Countless </p></div><div class="feed-description"><h2 style="text-align: left;">Background</h2>
<p style="text-align: left;">At my work, we are trying to accomplish something approaching "Continious Delivery". There is a long way to go, but we have gotten our Git server to function alongside Gerrit and the TeamCity buildserver.</p>
<p style="text-align: left;">In order to visualize our builds I made a small trafficlight, that continiously polls the state of the TeamCity server. The state of the current project is then visualized as Green (build passed), yellow (build in progress) or red (build failed).</p>
<h2 style="text-align: left;">Hardware</h2>
<p style="text-align: left;">I am using a small elderly thin client, running a tiny Debian distribution. As the thin client does not have enough internal space, i have installed the distro on a 4GB usb key, using it to boot from.</p>
<p style="text-align: left;">In addition, i am using a tiny trafficlight designed for industrial machines (aliexpress.com), which state i am changing through a Denkovi relay module. The relaymodule is connected to the thin client using an usb cable.</p>
<p style="text-align: left;">Now, many people would say that I could just use a Raspberry Pi to do this, avoiding the need for a usb-controlled relay module. True... but I happened to </p>
<h2 style="text-align: left;">The relay module.</h2>
<p style="text-align: left;">I am using a relay module from Denkovi to switch the state of the trafficlight. </p>
<h2 style="text-align: left;">Basics</h2>
<p style="text-align: left;">The build trafficlight is build around a small linux server and a Denkovi Relayboard. Countless </p></div>Configuring a TK-102 GPS tracker to work online2013-12-25T22:07:39+00:002013-12-25T22:07:39+00:00http://buildproject.dk/index.php/projects/completed/17-configuring-a-tk102-gps-tracker-to-work-onlineSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">The TK-102 online gps tracker<span style="display: inline-table;" class="wf_caption"><br data-mce-bogus="1" /></span></h2>
<p style="text-align: left;"><span style="display: inline-table;" class="wf_caption"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/Personal-GPS-Tracker-TK102-4.jpg" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_Personal-GPS-Tracker-TK102-4.jpg" width="150" height="113" alt="Personal-GPS-Tracker-TK102-4" /></a><span style="max-width: 150px; text-align: center; display: block;">Personal-GPS-Tracker-TK102-2</span></span>A few months ago i purchased a cheap TK-102 GPS tracker.</p>
<p style="text-align: left;">The idea was that if my motorbike got stolen, I would be able to track it online. Seemed nice.</p>
<p style="text-align: left;">It did, however, take me weeks if not months to configure it correctly. It is not that it is difficult, there are just a lot of confusion about standards, clones - and the manuals tend to be in english autotranslated from chinese. Also there is some protocol differences you might not be aware of.</p>
<p style="text-align: left;">This tutorial is mainly for my own sake, and will not mention the simple stuff the tracker can to, so read your own manual :)</p>
<h2 style="text-align: left;">Different models:</h2>
<p style="text-align: left;"><br /><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/tk102_ab.jpg" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_tk102_ab.jpg" width="150" height="76" alt="tk102 ab" /></a>The first pitfall is that there are several clones of the original Xexun TK-102. You cannot easily tell them apart, and their communication protocols are different. For instance, some models require a response-key from the server when connecting while others just dumps their data in a package.</p>
<p style="text-align: left;">I tried two different clones of the TK-102, but only managed to get one of them working with an online service. The only noticably difference is that the one i *did* get to work, is charged with a microusb and the one i did *not*, was had a mini-usb plug. Other than that they looked identical.</p>
<p style="text-align: left;">Also, there is as of now two official different versions: TK-102 and TK-102-2. The difference is supposedly that the latter has a micro-sd slot under the sim-card and can record tracking data. The two also has different communication protocols. <br /><br />... however.... Mine DOES have the micro-sd slot, and should therefore be at TK-102-2, still though, it used the TK-102 protocol. In the product pages it is described as TK-102, rev B.</p>
<h2 style="text-align: left;">Configuration</h2>
<p style="text-align: left;">Now, most of the devices and clones are configured in pretty much the same fashion. Also they all have the standard password of "123456" untill you change it.</p>
<p style="text-align: left;"><span style="display: inline-table;" class="wf_caption"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/wialon.png" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_wialon.png" width="150" height="58" alt="Wialon ID test" /></a><span style="max-width: 150px; text-align: center; display: block;">Wialon ID test</span></span><span style="display: inline-table;" class="wf_caption"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/gps-orange.png" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_gps-orange.png" width="150" height="63" alt="Gps Orange tracking service" /></a><span style="max-width: 150px; text-align: center; display: block;">Gps Orange tracking service</span></span></p>
<ol>
<li style="text-align: left;">Send the command <strong>begin123456</strong> to the tracker. It will then initialize the device and begin tracking. It should reply <strong>begin ok</strong>.</li>
<li style="text-align: left;">Physically call the device 10 times. It will respond with two beeps. Calling 10 times may seem a little excessive, but at the 10'th time, your number is stored permanently in the memory (also on powerout) , in a "positive list". In the future you can just call the device and it will send you an sms with its location.</li>
<li style="text-align: left;">You need to obtain the IMEI number, which is how <strong><em>most</em></strong> devices identify themselves. I did, however, read that some clones use some other kind of serial numbers. It is should be stamped on a sticker inside the device, but confirm that it is consistent by sending the command <b>imei123456</b>. You should get the imei back. Write this down, as this is how you identify the device in the online service you will be using to track it.</li>
<li style="text-align: left;">Some defices allows you to set the time zone. send <strong>time zone123456 x</strong> where x is the number of hours you are + or - from GMT (you can use negative numbers by prefixing a minus)</li>
<li style="text-align: left;">Unless you are setting up your own tracking service, i recommend trying <strong><a href="http://gps-trace.com/">GPS Trace Orange</a>. </strong>It is commercial tracker software, but you can have one GPS registered for free. <em>Note, that if your device does not send data to them for a month, your account will be deleted<strong>.</strong></em><strong> </strong>Even if you do not want to use their service, try their test service to make sure you have a hole through from the device to the net..<br /><ol>
<li style="text-align: left;">Set your device to use the Wialon GPS Device Unique ID Checker. Send <strong>adminip123456 193.193.165.167 20157</strong> The first part is the IP address, the last the port. Each different GPS device has a seperat port, including the TK-102 (port 20157) and TK-102-2 (port 20668). While it seems odd that there are different ports, remember that they have different protocols - and this is how the know how to decode the telegrams. The tracker replies to the command with <strong>Adminip OK</strong></li>
<li style="text-align: left;">Set up your APN for the tele communications provider you have chosen. Most companies in denmark does not have password or usernames but simply the apn "internet". In that case send <strong>Apn123456 internet</strong>. Be aware that, if you <em>do</em> need user/password for your provider they are set differently according to clonemodel. Also be aware that <strong>each time you change change the recieving ip address you need to set the APN again!!! </strong>This is due to the whole internal communication registry is cleared each time you do so. Still it was not mentioned in my manuals. It will reply <strong>Apn OK</strong></li>
<li style="text-align: left;">Switch from SMS to GPRS mode: <b>Gprs123456</b>. It should reply <strong>Gprs OK</strong>.</li>
<li style="text-align: left;">Now check that there is a connection: Send <strong>Check123456</strong>. You should get stats for the battery (in%), if the GPS is on, If the GSM is on and if the GPRS is on. Be aware that it will take a few minutes for the GPRS to become active.</li>
<li style="text-align: left;">Set the tracker to send a new package every 30 seconds. There are different commands for different clones, but the two I have come across are <strong>t030s***n123456</strong> or <strong>fix030s***n123456</strong>. These commands are a little annoying as they do <strong>not</strong> reply with an ok. I surgest you consult your manual or try both.</li>
<li style="text-align: left;">Go to <a href="http://id.wialon.net">Id.wialon.Net</a>. Here you should be able to identify your device if you have a connection all the way through.</li>
</ol></li>
<li style="text-align: left;">When you know everything functions, register an account at <a href="http://gps-trace.com/">GPS Trace Orange</a>. Thereafter you should change your IP to 193.193.165.166 using the same method as before. <strong>remember to repeat the APN and GPRS steps as well!!</strong></li>
<li style="text-align: left;">Now go and play with your new GPS tracker.</li>
<li style="text-align: left;"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/TrackMap.jpeg" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_TrackMap.jpeg" width="119" height="113" alt="Open Gps Tracker" /></a>If you need cooler stuff, make your own server using open source: <a href="http://opengts.sourceforge.net/">Open Gps Tracking System</a>. It works well, is simple to set up and does not require posh hardware.</li>
</ol>
<h2 style="text-align: left;">Data usage</h2>
<p style="text-align: left;">As data is rarely free, you should do some calculations on how much data traffic you need to cover your needs.</p>
<p style="text-align: left;">The telegram sent by different GPS trackers are of different size, so check for the model you are using. Also different clones of the TK-102 may have different size telegrams from the original. I have not bothered to check the exact size of mine, but if you have your own server, this should be simple using a network analyzer.</p>
<p style="text-align: left;">Anyway. The forums i checked states that it is around 130-180 bytes long... so if you add some TCP overhead... My bid is, definately less than 300 bytes a telegram.</p>
<p style="text-align: left;">Now check how many updates you want a day. I personally want as many as possible, but the TK-102 specification states (without any explanation), that the unit should not send position more often than every 20 secs. I guess that is how often the GPS chip is polled for location.</p>
<p style="text-align: left;">24 hours is 86400 Seconds. This gives us 4320 updates a day with a 20 second interval.<br />4320 * 300 bytes = 129600 bytes = 1.3 Megabyte datausage a day.<br />1.3 Megasbyte *31 days = 96.1 Megabyte a month.<br /><br /></p>
<h2>Update 2014-04-05! - FREE tracking!</h2>
<p style="text-align: left;">Currently the scandinavian company "Telenor" is bragging about having the best network coverage in Denmark. Therefore they are giving away SIM cards with 200 Mb/month away for FREE in the hope that people like it so mutch that they will buy more traffic. These cards are PERFECT for gps-tracking. Especially since they will not charge you extra if you overdo the 200 mb, just cut the connection and tend you an sms with details on how you can get more data. (the TK-102 will just discard this message). This should allow you to set the interval to 5 secs without overdoing the datalimit (but check yourself. Dont blame me if you go over)<br /><br />Using this offer there is only one pitfall. You are not told what the SMS number is for the SIM card you are getting, so using this card it is hard to configure the device. Well, not to worry - just use another simcard for configuration and then switch cards. (Almost all carriers in Denmark uses "internet" as apn)... I actually just swapped my cards and it worked.</p>
<p style="text-align: left;"><br />Quickly! Get it here: <br /><a href="http://www.telenor.dk/privat/mobilt_bredbaand/gratis-sim/">http://www.telenor.dk/privat/mobilt_bredbaand/gratis-sim/</a> </p></div><div class="feed-description"><h2 style="text-align: left;">The TK-102 online gps tracker<span style="display: inline-table;" class="wf_caption"><br data-mce-bogus="1" /></span></h2>
<p style="text-align: left;"><span style="display: inline-table;" class="wf_caption"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/Personal-GPS-Tracker-TK102-4.jpg" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_Personal-GPS-Tracker-TK102-4.jpg" width="150" height="113" alt="Personal-GPS-Tracker-TK102-4" /></a><span style="max-width: 150px; text-align: center; display: block;">Personal-GPS-Tracker-TK102-2</span></span>A few months ago i purchased a cheap TK-102 GPS tracker.</p>
<p style="text-align: left;">The idea was that if my motorbike got stolen, I would be able to track it online. Seemed nice.</p>
<p style="text-align: left;">It did, however, take me weeks if not months to configure it correctly. It is not that it is difficult, there are just a lot of confusion about standards, clones - and the manuals tend to be in english autotranslated from chinese. Also there is some protocol differences you might not be aware of.</p>
<p style="text-align: left;">This tutorial is mainly for my own sake, and will not mention the simple stuff the tracker can to, so read your own manual :)</p>
<h2 style="text-align: left;">Different models:</h2>
<p style="text-align: left;"><br /><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/tk102_ab.jpg" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_tk102_ab.jpg" width="150" height="76" alt="tk102 ab" /></a>The first pitfall is that there are several clones of the original Xexun TK-102. You cannot easily tell them apart, and their communication protocols are different. For instance, some models require a response-key from the server when connecting while others just dumps their data in a package.</p>
<p style="text-align: left;">I tried two different clones of the TK-102, but only managed to get one of them working with an online service. The only noticably difference is that the one i *did* get to work, is charged with a microusb and the one i did *not*, was had a mini-usb plug. Other than that they looked identical.</p>
<p style="text-align: left;">Also, there is as of now two official different versions: TK-102 and TK-102-2. The difference is supposedly that the latter has a micro-sd slot under the sim-card and can record tracking data. The two also has different communication protocols. <br /><br />... however.... Mine DOES have the micro-sd slot, and should therefore be at TK-102-2, still though, it used the TK-102 protocol. In the product pages it is described as TK-102, rev B.</p>
<h2 style="text-align: left;">Configuration</h2>
<p style="text-align: left;">Now, most of the devices and clones are configured in pretty much the same fashion. Also they all have the standard password of "123456" untill you change it.</p>
<p style="text-align: left;"><span style="display: inline-table;" class="wf_caption"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/wialon.png" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_wialon.png" width="150" height="58" alt="Wialon ID test" /></a><span style="max-width: 150px; text-align: center; display: block;">Wialon ID test</span></span><span style="display: inline-table;" class="wf_caption"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/gps-orange.png" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_gps-orange.png" width="150" height="63" alt="Gps Orange tracking service" /></a><span style="max-width: 150px; text-align: center; display: block;">Gps Orange tracking service</span></span></p>
<ol>
<li style="text-align: left;">Send the command <strong>begin123456</strong> to the tracker. It will then initialize the device and begin tracking. It should reply <strong>begin ok</strong>.</li>
<li style="text-align: left;">Physically call the device 10 times. It will respond with two beeps. Calling 10 times may seem a little excessive, but at the 10'th time, your number is stored permanently in the memory (also on powerout) , in a "positive list". In the future you can just call the device and it will send you an sms with its location.</li>
<li style="text-align: left;">You need to obtain the IMEI number, which is how <strong><em>most</em></strong> devices identify themselves. I did, however, read that some clones use some other kind of serial numbers. It is should be stamped on a sticker inside the device, but confirm that it is consistent by sending the command <b>imei123456</b>. You should get the imei back. Write this down, as this is how you identify the device in the online service you will be using to track it.</li>
<li style="text-align: left;">Some defices allows you to set the time zone. send <strong>time zone123456 x</strong> where x is the number of hours you are + or - from GMT (you can use negative numbers by prefixing a minus)</li>
<li style="text-align: left;">Unless you are setting up your own tracking service, i recommend trying <strong><a href="http://gps-trace.com/">GPS Trace Orange</a>. </strong>It is commercial tracker software, but you can have one GPS registered for free. <em>Note, that if your device does not send data to them for a month, your account will be deleted<strong>.</strong></em><strong> </strong>Even if you do not want to use their service, try their test service to make sure you have a hole through from the device to the net..<br /><ol>
<li style="text-align: left;">Set your device to use the Wialon GPS Device Unique ID Checker. Send <strong>adminip123456 193.193.165.167 20157</strong> The first part is the IP address, the last the port. Each different GPS device has a seperat port, including the TK-102 (port 20157) and TK-102-2 (port 20668). While it seems odd that there are different ports, remember that they have different protocols - and this is how the know how to decode the telegrams. The tracker replies to the command with <strong>Adminip OK</strong></li>
<li style="text-align: left;">Set up your APN for the tele communications provider you have chosen. Most companies in denmark does not have password or usernames but simply the apn "internet". In that case send <strong>Apn123456 internet</strong>. Be aware that, if you <em>do</em> need user/password for your provider they are set differently according to clonemodel. Also be aware that <strong>each time you change change the recieving ip address you need to set the APN again!!! </strong>This is due to the whole internal communication registry is cleared each time you do so. Still it was not mentioned in my manuals. It will reply <strong>Apn OK</strong></li>
<li style="text-align: left;">Switch from SMS to GPRS mode: <b>Gprs123456</b>. It should reply <strong>Gprs OK</strong>.</li>
<li style="text-align: left;">Now check that there is a connection: Send <strong>Check123456</strong>. You should get stats for the battery (in%), if the GPS is on, If the GSM is on and if the GPRS is on. Be aware that it will take a few minutes for the GPRS to become active.</li>
<li style="text-align: left;">Set the tracker to send a new package every 30 seconds. There are different commands for different clones, but the two I have come across are <strong>t030s***n123456</strong> or <strong>fix030s***n123456</strong>. These commands are a little annoying as they do <strong>not</strong> reply with an ok. I surgest you consult your manual or try both.</li>
<li style="text-align: left;">Go to <a href="http://id.wialon.net">Id.wialon.Net</a>. Here you should be able to identify your device if you have a connection all the way through.</li>
</ol></li>
<li style="text-align: left;">When you know everything functions, register an account at <a href="http://gps-trace.com/">GPS Trace Orange</a>. Thereafter you should change your IP to 193.193.165.166 using the same method as before. <strong>remember to repeat the APN and GPRS steps as well!!</strong></li>
<li style="text-align: left;">Now go and play with your new GPS tracker.</li>
<li style="text-align: left;"><a href="images/projects/configuring-a-tk102-gps-tracker-to-work-online/TrackMap.jpeg" class="jcepopup" target="_blank"><img src="images/projects/configuring-a-tk102-gps-tracker-to-work-online/thumbnails/thumb_TrackMap.jpeg" width="119" height="113" alt="Open Gps Tracker" /></a>If you need cooler stuff, make your own server using open source: <a href="http://opengts.sourceforge.net/">Open Gps Tracking System</a>. It works well, is simple to set up and does not require posh hardware.</li>
</ol>
<h2 style="text-align: left;">Data usage</h2>
<p style="text-align: left;">As data is rarely free, you should do some calculations on how much data traffic you need to cover your needs.</p>
<p style="text-align: left;">The telegram sent by different GPS trackers are of different size, so check for the model you are using. Also different clones of the TK-102 may have different size telegrams from the original. I have not bothered to check the exact size of mine, but if you have your own server, this should be simple using a network analyzer.</p>
<p style="text-align: left;">Anyway. The forums i checked states that it is around 130-180 bytes long... so if you add some TCP overhead... My bid is, definately less than 300 bytes a telegram.</p>
<p style="text-align: left;">Now check how many updates you want a day. I personally want as many as possible, but the TK-102 specification states (without any explanation), that the unit should not send position more often than every 20 secs. I guess that is how often the GPS chip is polled for location.</p>
<p style="text-align: left;">24 hours is 86400 Seconds. This gives us 4320 updates a day with a 20 second interval.<br />4320 * 300 bytes = 129600 bytes = 1.3 Megabyte datausage a day.<br />1.3 Megasbyte *31 days = 96.1 Megabyte a month.<br /><br /></p>
<h2>Update 2014-04-05! - FREE tracking!</h2>
<p style="text-align: left;">Currently the scandinavian company "Telenor" is bragging about having the best network coverage in Denmark. Therefore they are giving away SIM cards with 200 Mb/month away for FREE in the hope that people like it so mutch that they will buy more traffic. These cards are PERFECT for gps-tracking. Especially since they will not charge you extra if you overdo the 200 mb, just cut the connection and tend you an sms with details on how you can get more data. (the TK-102 will just discard this message). This should allow you to set the interval to 5 secs without overdoing the datalimit (but check yourself. Dont blame me if you go over)<br /><br />Using this offer there is only one pitfall. You are not told what the SMS number is for the SIM card you are getting, so using this card it is hard to configure the device. Well, not to worry - just use another simcard for configuration and then switch cards. (Almost all carriers in Denmark uses "internet" as apn)... I actually just swapped my cards and it worked.</p>
<p style="text-align: left;"><br />Quickly! Get it here: <br /><a href="http://www.telenor.dk/privat/mobilt_bredbaand/gratis-sim/">http://www.telenor.dk/privat/mobilt_bredbaand/gratis-sim/</a> </p></div>SmsServer help2013-09-11T17:48:18+00:002013-09-11T17:48:18+00:00http://buildproject.dk/index.php/projects/completed/16-sms-server-helpSuper Userbo@visfeldt.dk<div class="feed-description"><p style="text-align: left;">The SMS server is a project build for Ad-hoc communications between people coupled in a loose pyramidal structure. It has existed nearly two years, and is nearly complete. It is, however, still undergoing expansion and continious innovation</p>
<h2 style="text-align: left;">System Layout</h2>
<p style="text-align: left;"> </p></div><div class="feed-description"><p style="text-align: left;">The SMS server is a project build for Ad-hoc communications between people coupled in a loose pyramidal structure. It has existed nearly two years, and is nearly complete. It is, however, still undergoing expansion and continious innovation</p>
<h2 style="text-align: left;">System Layout</h2>
<p style="text-align: left;"> </p></div>Child Crying Control2012-05-10T07:49:14+00:002012-05-10T07:49:14+00:00http://buildproject.dk/index.php/projects/completed/13-childcryingcontrol2012Super Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Child Crying Control using open source tools.</h2>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><a target="_blank" class="jcepopup" href="images/projects/crying_child_control_2012/nocry.png"><img alt="nocry" src="images/projects/crying_child_control_2012/thumbnails/thumb_nocry.png" height="113" width="150" /></a></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">How to get your neighbors annoying constantly crying child to shup up using simple automation.<em><br /></em></p>
<p style="text-align: left;"><em>(disclaimer, I have actually not used this system as I am way too nice a person.</em><br /><em>The whole text is written in dispair as my neighbors child has a nasty habbit of crying furiously through most of the night, and the parents fails to control it.</em><br /><em>I have tested the technical aspects of the system described below and they seem to work well.</em><br /><em>Still, hower, this is rather drastic measures and talking the matter over with the parents will surely give better results.</em> <em>After all. Even parents must acknowledge that other people exists outside their baby-bubble)</em></p>
<p style="text-align: left;">In this experiment I will be using open source tools. I do not like using Window$ very much and has hence found some programs that runs on Debian Linux. You can surely find similar for Window$.</p>
<p style="text-align: left;">Anyway... Lets get started....</p>
<h3 style="text-align: left;">Facts:</h3>
<ul>
<li style="text-align: left;">Smaller Children and babies are crying at a frequency at 1000-5000 Hz, centered at 3500 Hz. This is also the frequency at which adults are the most sensitive, making it even more annoying.</li>
<li style="text-align: left;">Babies and small children has much better hearing in the higher frequencies than adults. Ideal hearing goes up above 20kHz, but degrades aldready from the the 8th living year. As a result, most children and a few adults can still hear tones aproaching/surpassing the 20kHz</li>
<li style="text-align: left;">Most small children learns well by repetition.</li>
</ul>
<h3 style="text-align: left;">Theory</h3>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[Shock Collar for Dogs::Shock Collar for dogs]" class="jcepopup" href="images/projects/crying_child_control_2012/shock_collar.jpg"><img style="margin: auto;" alt="shock collar" src="images/projects/crying_child_control_2012/thumbnails/thumb_shock_collar.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Shock Collar for Dogs</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">In dog training it is possible to get electric collars in order to give the dog a gentle zap whenever<br />it oversteps its bounds. After a short while the dog will learn not to enact in a specific activity.<br />It is quite likely that this theory can be used on humans as well.<br />As we cannot very well zap the children, we can nudge them in the right direction using a high annoying sound<br />every time they overstep their bounds.</p>
<p style="text-align: left;">In short: <em>Detect crying and respond with a powerfull blast of sound in a frequency area that only they can hear.</em></p>
<h3 style="text-align: left;"><br />The tools</h3>
<ol>
<li style="text-align: left;">A <em></em>computer running Debian, Ubuntu, Xubuntu or another derivative - or windows if you do not mind searching for other
<table _mce_new="1" align="right" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[AudioTrigger ::Configuring AudioTrigger ]" class="jcepopup" href="images/projects/crying_child_control_2012/audio_trigger.jpeg"><img style="margin: auto;" alt="audio trigger" src="images/projects/crying_child_control_2012/thumbnails/thumb_audio_trigger.jpeg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Configuring Audiotrigger</span></span></td>
</tr>
</tbody>
</table>
programs that will run under this OS.</li>
<li style="text-align: left;"><em>Audacity</em>. An open source tool to manipulate sound. It has an buildin tone generator and can generate a tone high enough that only small children will be able to hear it. Get the program <a href="http://audacity.sourceforge.net/">HERE</a>. (Also exists for windows)<em></em></li>
<li style="text-align: left;"><em>AudioTrigger.</em> An open source tool designed to detect sounds within specific parameters and run a program as response. While it is not perfect and does detect a <em>"loud high pitched sound"</em> instead of <em>"crying"</em>, it is good enough for prototyping If you need better control, do some MatLab ccripting instead. Get AudioTrigger <a href="http://sourceforge.net/projects/audiotrigger/">HERE</a> (The program is made for Debian and distributed in <em>.deb</em> format. If you use an alternative OS, you can probably find something else.</li>
<li style="text-align: left;">Mpg123, A command line player that can play mp3 files. Install it by typing <em>"sudo apt-get install mpg123</em>". It is run with the command <em>mpg123 fairness.mp3</em>. If you were on Windows, you could use <em>Windows Media Player</em> that is part of Windows. It can be run from command line like this <em>"c:\wmplayer.exe fairness.mp3"</em></li>
<li style="text-align: left;">A highend amplifier. Most amplifiers does not do well in the edge of the audible spectrum. You might need a highend amplifier to reach 20KHz</li>
<li style="text-align: left;">A pair of good speakers. As with amplifiers, cheaper speakers are centered around the frequencies that are used the most. Speakers designed for Jazz or Classical music will do fine.</li>
<li style="text-align: left;">A Microphone. Luckily you do not need an expencive one. Childrens crying are smack in the middle of the recordable spectrum, and you can probably detect it even from the buildin mic on a laptop.</li>
</ol>
<h3 style="text-align: left;">The doing</h3>
<p style="text-align: left;">Well, from here it is fairly straight forward:</p>
<table _mce_new="1" align="right" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[Speaker Wall::You are going to need plenty of amplification]" class="jcepopup" href="images/projects/crying_child_control_2012/speakerwall.jpg"><img style="margin: auto;" alt="speakerwall" src="images/projects/crying_child_control_2012/thumbnails/thumb_speakerwall.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">You will need plenty of amplification</span></span></td>
</tr>
</tbody>
</table>
<ul>
<li style="text-align: left;">Use Audacity to create a highpitched sound only the children can hear. Personally I have quite good hearing, so I had to go way over the normal 20kHz. The specific frequency is, however, not that important just make sure that it is just above what your own hearing accepts.</li>
<li style="text-align: left;">Setup AudioTrigger to play the sound whenever it detects crying</li>
<li style="text-align: left;">Make sure the amplifier is turned well up. Higher frequencies do not penetrate walls well.</li>
</ul>
<h3 style="text-align: left;"><br />Conclusion</h3>
<p style="text-align: left;">While this should work, it is utter bullshit and should not be nessesary. It is the kind of thing you would only ever do if your sanity was in threatened (which repeated sleepless nights will do).<br />Parents should take care of their kids - They chosed to have them, not the peaceloving neighbor.<br />If parents cannot themselves take care of the kids, they should seek help.</p></div><div class="feed-description"><h2 style="text-align: left;">Child Crying Control using open source tools.</h2>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><a target="_blank" class="jcepopup" href="images/projects/crying_child_control_2012/nocry.png"><img alt="nocry" src="images/projects/crying_child_control_2012/thumbnails/thumb_nocry.png" height="113" width="150" /></a></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">How to get your neighbors annoying constantly crying child to shup up using simple automation.<em><br /></em></p>
<p style="text-align: left;"><em>(disclaimer, I have actually not used this system as I am way too nice a person.</em><br /><em>The whole text is written in dispair as my neighbors child has a nasty habbit of crying furiously through most of the night, and the parents fails to control it.</em><br /><em>I have tested the technical aspects of the system described below and they seem to work well.</em><br /><em>Still, hower, this is rather drastic measures and talking the matter over with the parents will surely give better results.</em> <em>After all. Even parents must acknowledge that other people exists outside their baby-bubble)</em></p>
<p style="text-align: left;">In this experiment I will be using open source tools. I do not like using Window$ very much and has hence found some programs that runs on Debian Linux. You can surely find similar for Window$.</p>
<p style="text-align: left;">Anyway... Lets get started....</p>
<h3 style="text-align: left;">Facts:</h3>
<ul>
<li style="text-align: left;">Smaller Children and babies are crying at a frequency at 1000-5000 Hz, centered at 3500 Hz. This is also the frequency at which adults are the most sensitive, making it even more annoying.</li>
<li style="text-align: left;">Babies and small children has much better hearing in the higher frequencies than adults. Ideal hearing goes up above 20kHz, but degrades aldready from the the 8th living year. As a result, most children and a few adults can still hear tones aproaching/surpassing the 20kHz</li>
<li style="text-align: left;">Most small children learns well by repetition.</li>
</ul>
<h3 style="text-align: left;">Theory</h3>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[Shock Collar for Dogs::Shock Collar for dogs]" class="jcepopup" href="images/projects/crying_child_control_2012/shock_collar.jpg"><img style="margin: auto;" alt="shock collar" src="images/projects/crying_child_control_2012/thumbnails/thumb_shock_collar.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Shock Collar for Dogs</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">In dog training it is possible to get electric collars in order to give the dog a gentle zap whenever<br />it oversteps its bounds. After a short while the dog will learn not to enact in a specific activity.<br />It is quite likely that this theory can be used on humans as well.<br />As we cannot very well zap the children, we can nudge them in the right direction using a high annoying sound<br />every time they overstep their bounds.</p>
<p style="text-align: left;">In short: <em>Detect crying and respond with a powerfull blast of sound in a frequency area that only they can hear.</em></p>
<h3 style="text-align: left;"><br />The tools</h3>
<ol>
<li style="text-align: left;">A <em></em>computer running Debian, Ubuntu, Xubuntu or another derivative - or windows if you do not mind searching for other
<table _mce_new="1" align="right" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[AudioTrigger ::Configuring AudioTrigger ]" class="jcepopup" href="images/projects/crying_child_control_2012/audio_trigger.jpeg"><img style="margin: auto;" alt="audio trigger" src="images/projects/crying_child_control_2012/thumbnails/thumb_audio_trigger.jpeg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Configuring Audiotrigger</span></span></td>
</tr>
</tbody>
</table>
programs that will run under this OS.</li>
<li style="text-align: left;"><em>Audacity</em>. An open source tool to manipulate sound. It has an buildin tone generator and can generate a tone high enough that only small children will be able to hear it. Get the program <a href="http://audacity.sourceforge.net/">HERE</a>. (Also exists for windows)<em></em></li>
<li style="text-align: left;"><em>AudioTrigger.</em> An open source tool designed to detect sounds within specific parameters and run a program as response. While it is not perfect and does detect a <em>"loud high pitched sound"</em> instead of <em>"crying"</em>, it is good enough for prototyping If you need better control, do some MatLab ccripting instead. Get AudioTrigger <a href="http://sourceforge.net/projects/audiotrigger/">HERE</a> (The program is made for Debian and distributed in <em>.deb</em> format. If you use an alternative OS, you can probably find something else.</li>
<li style="text-align: left;">Mpg123, A command line player that can play mp3 files. Install it by typing <em>"sudo apt-get install mpg123</em>". It is run with the command <em>mpg123 fairness.mp3</em>. If you were on Windows, you could use <em>Windows Media Player</em> that is part of Windows. It can be run from command line like this <em>"c:\wmplayer.exe fairness.mp3"</em></li>
<li style="text-align: left;">A highend amplifier. Most amplifiers does not do well in the edge of the audible spectrum. You might need a highend amplifier to reach 20KHz</li>
<li style="text-align: left;">A pair of good speakers. As with amplifiers, cheaper speakers are centered around the frequencies that are used the most. Speakers designed for Jazz or Classical music will do fine.</li>
<li style="text-align: left;">A Microphone. Luckily you do not need an expencive one. Childrens crying are smack in the middle of the recordable spectrum, and you can probably detect it even from the buildin mic on a laptop.</li>
</ol>
<h3 style="text-align: left;">The doing</h3>
<p style="text-align: left;">Well, from here it is fairly straight forward:</p>
<table _mce_new="1" align="right" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[Speaker Wall::You are going to need plenty of amplification]" class="jcepopup" href="images/projects/crying_child_control_2012/speakerwall.jpg"><img style="margin: auto;" alt="speakerwall" src="images/projects/crying_child_control_2012/thumbnails/thumb_speakerwall.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">You will need plenty of amplification</span></span></td>
</tr>
</tbody>
</table>
<ul>
<li style="text-align: left;">Use Audacity to create a highpitched sound only the children can hear. Personally I have quite good hearing, so I had to go way over the normal 20kHz. The specific frequency is, however, not that important just make sure that it is just above what your own hearing accepts.</li>
<li style="text-align: left;">Setup AudioTrigger to play the sound whenever it detects crying</li>
<li style="text-align: left;">Make sure the amplifier is turned well up. Higher frequencies do not penetrate walls well.</li>
</ul>
<h3 style="text-align: left;"><br />Conclusion</h3>
<p style="text-align: left;">While this should work, it is utter bullshit and should not be nessesary. It is the kind of thing you would only ever do if your sanity was in threatened (which repeated sleepless nights will do).<br />Parents should take care of their kids - They chosed to have them, not the peaceloving neighbor.<br />If parents cannot themselves take care of the kids, they should seek help.</p></div>Unbricking a (Soft) bricked Euro Samsung Galaxy Tab GP-P10002012-04-20T09:27:06+00:002012-04-20T09:27:06+00:00http://buildproject.dk/index.php/projects/completed/12-unbricking-p1000-2012Super Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Why this tiny guide?</h2>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><a target="_blank" rel="title[Unbricking_P1000::Unbricking a P1000]" class="jcepopup" href="images/projects/unbricking-p1000-2012/GT-P1000_bricked.jpg"><img alt="GT-P1000 bricked" src="images/projects/unbricking-p1000-2012/thumbnails/thumb_GT-P1000_bricked.jpg" height="113" width="150" /></a></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">This small guide tried to help people that has bricked their P1000 while trying to install ClockWorkMod - or by other means.</p>
<p style="text-align: left;">There are a number of forums telling you how to do this, but I have written this as i could not find anywhere that told me how to recover from bricking by CWM... later i found out that either your device is soft-bricked, else it is not. The recovery process is the same. Anyway, it might help some other poor sods...</p>
<p style="text-align: left;">Now, there are two ways you can brick your tablet, hard and soft.</p>
<ul>
<li style="text-align: left;">Hard means that the device is <em>dead.</em> Game over.</li>
<li style="text-align: left;">Soft means that you can still get it <em>download mode</em> by pressing <em>power+volume</em> down when it is off.</li>
</ul>
<p style="text-align: left;">This guide will help you if the latter is the case.</p>
</div><div class="feed-description"><h2 style="text-align: left;">Why this tiny guide?</h2>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><a target="_blank" rel="title[Unbricking_P1000::Unbricking a P1000]" class="jcepopup" href="images/projects/unbricking-p1000-2012/GT-P1000_bricked.jpg"><img alt="GT-P1000 bricked" src="images/projects/unbricking-p1000-2012/thumbnails/thumb_GT-P1000_bricked.jpg" height="113" width="150" /></a></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">This small guide tried to help people that has bricked their P1000 while trying to install ClockWorkMod - or by other means.</p>
<p style="text-align: left;">There are a number of forums telling you how to do this, but I have written this as i could not find anywhere that told me how to recover from bricking by CWM... later i found out that either your device is soft-bricked, else it is not. The recovery process is the same. Anyway, it might help some other poor sods...</p>
<p style="text-align: left;">Now, there are two ways you can brick your tablet, hard and soft.</p>
<ul>
<li style="text-align: left;">Hard means that the device is <em>dead.</em> Game over.</li>
<li style="text-align: left;">Soft means that you can still get it <em>download mode</em> by pressing <em>power+volume</em> down when it is off.</li>
</ul>
<p style="text-align: left;">This guide will help you if the latter is the case.</p>
</div>Extending the range for a router/repeater2012-01-15T19:46:47+00:002012-01-15T19:46:47+00:00http://buildproject.dk/index.php/projects/completed/11-extendedrangerouterrepeater2012Super Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Why extend the range of the routers?</h2>
<table _mce_new="1" align="left" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr><span style="display: inline-block;" class="wf_caption"></span>
<td><a target="_blank" rel="title[Hacked D-LINK::A D-LINK DIR 615 V.B1 Hacked to support 12 db antennas];group[extended_range_router_repeater_2012]" class="jcepopup" href="images/projects/extended_range_router_repeater_2012/extended_range_router_repeater_2012_030__rs.JPG"><img alt="extended range router repeater 2012 030 rs" src="images/projects/extended_range_router_repeater_2012/thumbnails/thumb_extended_range_router_repeater_2012_030__rs.JPG" height="113" width="150" /></a></td>
<span style="text-align: center; display: block;">Hacked D-LINK </span></tr>
</tbody>
</table>
<p style="text-align: left;">I am building the infrastructure of a network at a scoutcentre in Jutland.<br />It might sound like a trivial task, but money is severely limited and demand is high.<br />There are usually around 30 clients on the wireless net and around 60 when in peak periods.<br />This number will certainly rise as most young people are carrying smartphones at alle times.</p>
<p style="text-align: left;">The network so far consists of a wired backbone and a bunch of smaller wireless<br />repeater-islands for places where wired net is not feasible. These repeater-stations are, however placed where wireless does not have a direct line of sight, and the off-the-shelf routers cannot cope. New antennas with better rx-tx was needed.</p>
</div><div class="feed-description"><h2 style="text-align: left;">Why extend the range of the routers?</h2>
<table _mce_new="1" align="left" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr><span style="display: inline-block;" class="wf_caption"></span>
<td><a target="_blank" rel="title[Hacked D-LINK::A D-LINK DIR 615 V.B1 Hacked to support 12 db antennas];group[extended_range_router_repeater_2012]" class="jcepopup" href="images/projects/extended_range_router_repeater_2012/extended_range_router_repeater_2012_030__rs.JPG"><img alt="extended range router repeater 2012 030 rs" src="images/projects/extended_range_router_repeater_2012/thumbnails/thumb_extended_range_router_repeater_2012_030__rs.JPG" height="113" width="150" /></a></td>
<span style="text-align: center; display: block;">Hacked D-LINK </span></tr>
</tbody>
</table>
<p style="text-align: left;">I am building the infrastructure of a network at a scoutcentre in Jutland.<br />It might sound like a trivial task, but money is severely limited and demand is high.<br />There are usually around 30 clients on the wireless net and around 60 when in peak periods.<br />This number will certainly rise as most young people are carrying smartphones at alle times.</p>
<p style="text-align: left;">The network so far consists of a wired backbone and a bunch of smaller wireless<br />repeater-islands for places where wired net is not feasible. These repeater-stations are, however placed where wireless does not have a direct line of sight, and the off-the-shelf routers cannot cope. New antennas with better rx-tx was needed.</p>
</div>User experience prototypes for mobile devices2012-01-12T21:27:55+00:002012-01-12T21:27:55+00:00http://buildproject.dk/index.php/projects/completed/10-user-experience-prototypes-for-mobile-devicesSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">User experience design for mobile devices</h2>
<table align="left" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" data-mediabox="title[Fitbit Golf trainer];caption[Fitbit Golf trainer];group[fitbit_golf]" class="jcepopup" href="images/projects/user_experience_prototypes_2012/fitbit_analysis_3d.jpeg"><img style="margin: auto;" alt="Fitbit Golf trainer" src="images/projects/user_experience_prototypes_2012/thumbnails/thumb_fitbit_analysis_3d.jpeg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Fitbit Golf trainer</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">In the spring of 2012 I took the course 02266 - User Experience Engineering as a part of the program for my Masters at the Technical University of Denmark (DTU).<br />Though it was an university course i decided to post it anyway as it was quite entertaining (and a whole lot of hard work).<br />The main objective of the course was to teach the students how to create a nice user experience on an array of different devices. Assignments was mostly given along the lines "Design an interface for use with this project/idea - how can you explot the possibilities in that?"</p>
<p style="text-align: left;">Most of the prototypes was for mobile devices and made in a trial of Axure 6.0 from <a href="http://www.axure.com">www.axure.com</a></p>
<p style="text-align: left;">Below is a few of the prototypes we made (I must stress that i did not make this alone and that we were 4 in the group - <em>Sune Andersen, Johan Flod, Allan Munck and Me</em> - credit where it is due ;)</p>
</div><div class="feed-description"><h2 style="text-align: left;">User experience design for mobile devices</h2>
<table align="left" border="1" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" data-mediabox="title[Fitbit Golf trainer];caption[Fitbit Golf trainer];group[fitbit_golf]" class="jcepopup" href="images/projects/user_experience_prototypes_2012/fitbit_analysis_3d.jpeg"><img style="margin: auto;" alt="Fitbit Golf trainer" src="images/projects/user_experience_prototypes_2012/thumbnails/thumb_fitbit_analysis_3d.jpeg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Fitbit Golf trainer</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">In the spring of 2012 I took the course 02266 - User Experience Engineering as a part of the program for my Masters at the Technical University of Denmark (DTU).<br />Though it was an university course i decided to post it anyway as it was quite entertaining (and a whole lot of hard work).<br />The main objective of the course was to teach the students how to create a nice user experience on an array of different devices. Assignments was mostly given along the lines "Design an interface for use with this project/idea - how can you explot the possibilities in that?"</p>
<p style="text-align: left;">Most of the prototypes was for mobile devices and made in a trial of Axure 6.0 from <a href="http://www.axure.com">www.axure.com</a></p>
<p style="text-align: left;">Below is a few of the prototypes we made (I must stress that i did not make this alone and that we were 4 in the group - <em>Sune Andersen, Johan Flod, Allan Munck and Me</em> - credit where it is due ;)</p>
</div>Raft from a waxed groundsheet2011-10-09T12:10:33+00:002011-10-09T12:10:33+00:00http://buildproject.dk/index.php/projects/completed/9-raftfromgroundsheetSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Why build this stuff??</h2>
<table align="left" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" data-mediabox="title[Sailing merrily on a groundsheet];caption[Fun but slow... nice that it actully works];group[raft_from_groundsheet]" class="jcepopup" href="images/projects/raft_from_groundsheet_2011/raft_from_groundsheet_0.jpg"><img style="margin: auto;" alt="Sailing merrily" src="images/projects/raft_from_groundsheet_2011/thumbnails/thumb_raft_from_groundsheet_0.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Sailing merrily</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;"> Every year scouts from all over Denmark compete in building and sailing homemade rafts 10 km on the Mill River. The event is called "Mill River Rafting" (dk:<a href="http://www.molleasejladsen.dk/">Mølleåsejladsen</a>), and scouts are supposed to build their raft in two hours.</p>
<p style="text-align: left;">They are only allowed to use a tarp, hand tools, rope and whatever they can find in the forrest. Normally scouts use factory made industrial grade tarps that is cut to a special shape. This, year (2011), however, it was Mill River's 50 year aniversory, so a few of us figured that we would compete in same fashion our grandparrents did back then.</p>
</div><div class="feed-description"><h2 style="text-align: left;">Why build this stuff??</h2>
<table align="left" border="0" cellpadding="1" cellspacing="1">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" data-mediabox="title[Sailing merrily on a groundsheet];caption[Fun but slow... nice that it actully works];group[raft_from_groundsheet]" class="jcepopup" href="images/projects/raft_from_groundsheet_2011/raft_from_groundsheet_0.jpg"><img style="margin: auto;" alt="Sailing merrily" src="images/projects/raft_from_groundsheet_2011/thumbnails/thumb_raft_from_groundsheet_0.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Sailing merrily</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;"> Every year scouts from all over Denmark compete in building and sailing homemade rafts 10 km on the Mill River. The event is called "Mill River Rafting" (dk:<a href="http://www.molleasejladsen.dk/">Mølleåsejladsen</a>), and scouts are supposed to build their raft in two hours.</p>
<p style="text-align: left;">They are only allowed to use a tarp, hand tools, rope and whatever they can find in the forrest. Normally scouts use factory made industrial grade tarps that is cut to a special shape. This, year (2011), however, it was Mill River's 50 year aniversory, so a few of us figured that we would compete in same fashion our grandparrents did back then.</p>
</div>Waterproofing a tent groundsheet using beewax2011-10-09T09:31:14+00:002011-10-09T09:31:14+00:00http://buildproject.dk/index.php/projects/completed/8-waterproofing-a-tent-groundsheet-using-beewaxSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Why waterproof a groundsheet this way?</h2>
<table align="left" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" class="jcepopup" href="images/projects/waterproofing_a_tent_groundsheet_using_beeswax/waterproofing_tarp_beeswax_16.jpg"><img style="margin: auto;" alt="Waterproff groundsheet" src="images/projects/waterproofing_a_tent_groundsheet_using_beeswax/thumbnails/thumb_waterproofing_tarp_beeswax_16.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Waterproff groundsheet</span></span> </td>
</tr>
</tbody>
</table>
<p style="text-align: left;">I and some other scouts have competed in the "MillRiver Race" (dk:<a href="http://www.molleasejladsen.dk/">Mølleåsejladsen</a>) for so many years that we needed to try somethin new. The Mill River Race is a competition in which a scout should build his/hers own raft in two hours using only a tarp, some rope and whatever they can find in the forest. Thereafter they will sail the raft 10km to the finishing line.</p>
<p style="text-align: left;">These days, scouts use modern thick truck tarps that slide easily through the water, but as it was the events 50 year aniversory this year, we thought we would do something special. See, 50 years ago they did not have good plastic tarps and so used groundsheets for tents that had been waxed.</p>
<p style="text-align: left;">Therefore we set out to do the same.</p>
</div><div class="feed-description"><h2 style="text-align: left;">Why waterproof a groundsheet this way?</h2>
<table align="left" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" class="jcepopup" href="images/projects/waterproofing_a_tent_groundsheet_using_beeswax/waterproofing_tarp_beeswax_16.jpg"><img style="margin: auto;" alt="Waterproff groundsheet" src="images/projects/waterproofing_a_tent_groundsheet_using_beeswax/thumbnails/thumb_waterproofing_tarp_beeswax_16.jpg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Waterproff groundsheet</span></span> </td>
</tr>
</tbody>
</table>
<p style="text-align: left;">I and some other scouts have competed in the "MillRiver Race" (dk:<a href="http://www.molleasejladsen.dk/">Mølleåsejladsen</a>) for so many years that we needed to try somethin new. The Mill River Race is a competition in which a scout should build his/hers own raft in two hours using only a tarp, some rope and whatever they can find in the forest. Thereafter they will sail the raft 10km to the finishing line.</p>
<p style="text-align: left;">These days, scouts use modern thick truck tarps that slide easily through the water, but as it was the events 50 year aniversory this year, we thought we would do something special. See, 50 years ago they did not have good plastic tarps and so used groundsheets for tents that had been waxed.</p>
<p style="text-align: left;">Therefore we set out to do the same.</p>
</div>Creating a 250v, 12V and 5V powerbox2011-08-12T13:42:55+00:002011-08-12T13:42:55+00:00http://buildproject.dk/index.php/projects/completed/7-12v-220v-powerbox-2011Super Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">What is a powerbox?</h2>
<table align="left" border="0" cellspacing="5">
<tbody>
<tr>
<td><a target="_blank" data-mediabox="title[The Powerbox];caption[The completed powerbox, both 250v, 12v and 5v turned on];group[12v_220v_powerbox_2011]" class="jcepopup" href="images/projects/12v_220v_powerbox_2011/12v_220v_powerbox_2011_000.jpg"><img alt="The Powerbox" src="images/projects/12v_220v_powerbox_2011/thumbnails/thumb_12v_220v_powerbox_2011_000.jpg" height="113" width="150" /></a></td>
</tr>
</tbody>
</table>
<p style="text-align: left;"><strong></strong>As a scout and a gadgeteer, I have for a long time wanted a portable powersupply. Often I need mains power to run some equipment or other in the middle of nowhere and have none. I do have a small 2 step generator, but is is fairly noisy and have too many powerspikes for finer electronics. In addition, my poor excuse for a workshop is in a place where i am not permitted to set up power, and it is often needed.</p>
<p style="text-align: left;">Therefore I decided to build a "powerbox". That is, a battery powered box that would provide both 250v, 12v and 5v.</p>
</div><div class="feed-description"><h2 style="text-align: left;">What is a powerbox?</h2>
<table align="left" border="0" cellspacing="5">
<tbody>
<tr>
<td><a target="_blank" data-mediabox="title[The Powerbox];caption[The completed powerbox, both 250v, 12v and 5v turned on];group[12v_220v_powerbox_2011]" class="jcepopup" href="images/projects/12v_220v_powerbox_2011/12v_220v_powerbox_2011_000.jpg"><img alt="The Powerbox" src="images/projects/12v_220v_powerbox_2011/thumbnails/thumb_12v_220v_powerbox_2011_000.jpg" height="113" width="150" /></a></td>
</tr>
</tbody>
</table>
<p style="text-align: left;"><strong></strong>As a scout and a gadgeteer, I have for a long time wanted a portable powersupply. Often I need mains power to run some equipment or other in the middle of nowhere and have none. I do have a small 2 step generator, but is is fairly noisy and have too many powerspikes for finer electronics. In addition, my poor excuse for a workshop is in a place where i am not permitted to set up power, and it is often needed.</p>
<p style="text-align: left;">Therefore I decided to build a "powerbox". That is, a battery powered box that would provide both 250v, 12v and 5v.</p>
</div>Converting an old 8mm projector from bulb to LED2011-08-12T05:45:14+00:002011-08-12T05:45:14+00:00http://buildproject.dk/index.php/projects/completed/4-converting-an-old-8mm-projector-from-bulb-to-ledSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">The Raynox DU 707 A projector</h2>
<table align="left" border="0" cellpadding="0" cellspacing="5">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a class="jcepopup" type="image" target="_blank" data-mediabox="title[Raynox DU 707 A];caption[The Raynox DU 707 A - a well build machine];group[projects_raynox_8mm_projector_2011]" href="images/projects/raynox_8mm_projector_2011/raynox_8mm_projector_2011_000.JPG"><img style="margin: auto;" alt="Raynox DU 707 A" src="images/projects/raynox_8mm_projector_2011/thumbnails/thumb_raynox_8mm_projector_2011_000.JPG" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Raynox DU 707 A</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">I bought this lovely old Raynox DU 707 A projector a few years ago at a flea market. Along with it i<strong></strong> purchased a box of old 8mm. cartoons.</p>
<p style="text-align: left;">What a catch. There was Popeye, Disney’s Cinderella, a bunch of Tom and Jerry movies along with lots of other lesser known cartoons. It took me several hours to figure out how it worked, and how to rewind the movies without them becoming upside-down or reversed. … but I figured everything out, and it has seen quite a lot of use since.</p>
<p style="text-align: left;">Unfortunately the (expensive) bulb died on me quickly and I decided to replace it with LED.</p>
</div><div class="feed-description"><h2 style="text-align: left;">The Raynox DU 707 A projector</h2>
<table align="left" border="0" cellpadding="0" cellspacing="5">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a class="jcepopup" type="image" target="_blank" data-mediabox="title[Raynox DU 707 A];caption[The Raynox DU 707 A - a well build machine];group[projects_raynox_8mm_projector_2011]" href="images/projects/raynox_8mm_projector_2011/raynox_8mm_projector_2011_000.JPG"><img style="margin: auto;" alt="Raynox DU 707 A" src="images/projects/raynox_8mm_projector_2011/thumbnails/thumb_raynox_8mm_projector_2011_000.JPG" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Raynox DU 707 A</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">I bought this lovely old Raynox DU 707 A projector a few years ago at a flea market. Along with it i<strong></strong> purchased a box of old 8mm. cartoons.</p>
<p style="text-align: left;">What a catch. There was Popeye, Disney’s Cinderella, a bunch of Tom and Jerry movies along with lots of other lesser known cartoons. It took me several hours to figure out how it worked, and how to rewind the movies without them becoming upside-down or reversed. … but I figured everything out, and it has seen quite a lot of use since.</p>
<p style="text-align: left;">Unfortunately the (expensive) bulb died on me quickly and I decided to replace it with LED.</p>
</div>Restoring an old Arcade Machine2015-06-28T06:27:13+00:002015-06-28T06:27:13+00:00http://buildproject.dk/index.php/projects/in-progress/26-restoring-an-old-arcade-machineSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Computer and Software</h2>
<h3 style="text-align: left;"><span style="font-size: 1em;">Considerations</span></h3>
<p style="text-align: left;">As mentioned, I wanted a to use a Raspberry Pi as the computer. I did, however, read reports that the Pi version B+ is only just fast enough to run late 90's games as Street Fighter, in fact it should be a little slow.<br />It might seem a little odd that the old games takes so much computer power, but remember that mame does not just play the game. It emulates the entire system, chips and all and therefore needs lots of power.<br /><br />Therefore, I tested a few other options. I had a few thin clients lying around that should fit the bill. Among other options, I tried an <a href="http://www.viaembedded.com/en/systems/industrial-fanless-pcs/amos-3001/">VIA AMOS-3001, 2GB/1Ghz VIA Eden</a> and a <a href="http://www.nexterminal.dk/en/nexceed">Nexceed 256Mb/1.6GHz Atom Nexterminal</a>. Both does a pretty nice job, but neither has svhs or composite out, which my tv needs.<br /><br />Though I could just get a converter, i ended up opting for at <a href="https://www.raspberrypi.org/products/raspberry-pi-2-model-b/">Quad core 900MHz/512Mb Arm 7 Raspberry Pi 2</a>. Now, as of present, mame does not really lend itself well to multicore processing, but it does give a little - and more in some games - and I get the analog video out.<br /><br />The current system only has 3 buttons, and most intensive fighting games has 4. Therefore I find that the Pi2 is a fair match. It does also seem to do well.<br /><br />create a new user:</p>
<p style="text-align: left;">useradd -m mameuser</p>
<p style="text-align: left;">passwd mameuser</p>
<p style="text-align: left;"><span style="font-size: 16.015998840332px;">sudo usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,gpio,i2c,spi,input mameuser </span></p>
<p style="text-align: left;">make a mount directory</p>
<p style="text-align: left;">mkdir ~/usbdrv</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">sudo blkid</p>
<p style="text-align: left;"> </p>
<div style="text-align: left;">/dev/sda1: LABEL="KINGSTON" UUID="BB52-2651" TYPE="vfat" </div>
<div style="text-align: left;"> </div>
<div style="text-align: left;">edit /etc/fstab</div>
<div style="text-align: left;">add on one line:</div>
<div style="text-align: left;">
<p>/dev/sda1 /home/mameuser/usbdrv vfat uid=mameuser,gid=mameuser,umask=0022,sync,auto,nosuid,rw,nouser 0 0</p>
</div>
<div style="text-align: left;"> </div>
<p style="text-align: left;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><a href="http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/">http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/</a><a href="http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/"></a></p>
<p style="text-align: left;">sudo apt-get install vsftpd</p>
<p style="text-align: left;">sudo nano /etc/vsftpd.conf</p>
<p style="text-align: left;">anonymous_enable=NO <br /><br />local_enable=YES</p>
<p style="text-align: left;"> </p>
<p>write_enable=YES</p>
<p>local_umask=022</p>
<p> </p>
<p style="text-align: left;"> </p>
<p>wget <a href="http://sheasilverman.com/rpi/raspbian/debs/advancemame-raspberrypi_1-1_armhf.deb">http://sheasilverman.com/rpi/raspbian/debs/advancemame-raspberrypi_1-1_armhf.deb</a><br />wget <a href="http://sheasilverman.com/rpi/raspbian/debs/advancemenu_2.6-1_armhf.deb">http://sheasilverman.com/rpi/raspbian/debs/advancemenu_2.6-1_armhf.deb</a><br /><br />sudo dpkg --force-overwrite -i advancemame-raspberrypi_1-1_armhf.deb</p>
<p><span style="font-size: 16.015998840332px;">sudo dpkg --force-overwrite -i advancemenu_2.6-1_armhf.deb </span></p>
<p><br />rm advancemame-raspberrypi_1-1_armhf.deb <br />rm advancemenu_2.6-1_armhf.deb</p>
<p>advmame</p>
<p>advmenu</p>
<p>remember to install and run mame first, as setupscripts for advmenu othervise may not fint correct paths.<br /><span style="font-size: 16.015998840332px;"> <span style="color: #373737; font-family: Arial, sans-serif; font-size: 15px; line-height: 23.625px; background-color: #f7f7f7;">your advmame.rc for your display:</span></span></p>
<ol style="border: 0px; font-family: Arial, sans-serif; font-size: 15px; margin: 0px 0px 0px 2.5em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: upper-alpha; color: #373737; line-height: 23.625px; background-color: #f7f7f7;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">For HDMI try:<ol style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0px 2.5em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: lower-roman;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">device_video_clock 5 – 50 / 15.62 / 50 ; 5 – 50 / 15.73 / 60</li>
</ol></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">For NTSC TVs try:<ol style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0px 2.5em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: lower-roman;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">device_video_clock 5 – 50 / 15.73 / 60</li>
</ol></li>
</ol>
<p> </p>
<p> </p>
<p style="text-align: left;">finding mameversion:<br /><a href="http://advancemame.sourceforge.net/history.html">http://advancemame.sourceforge.net/history.html</a><br /><br />clrmamepro finds roms.</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Set sound<br /><br /></p>
<p>sudo nano /etc/modprobe.d/alsa-base.conf</p>
<p>options snd-usb-audio index=0<br />options snd_bcm2835 index=1</p>
<p> </p>
<pre style="font-family: inconsolata, monospace; font-size: 0.875rem; margin: 0px; overflow: auto; padding: 0px; line-height: 1.125rem; background-image: initial; background-attachment: initial; background-position: initial; background-repeat: initial;">aplay /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
</pre>
<div> </div>
<div>you will get segmentation fault in some emulators</div>
<div>sudo nano /etc/asound.conf</div>
<div> </div>
<div><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">ctl.!default {</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type hw</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">card 0</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">pcm.usb</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">{</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type hw</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">card "U012529205"</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">format S16_LE</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">pcm.!default {</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type asym</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">playback.pcm</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">{</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type plug</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">slave {</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">pcm "hw:0"</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">format S16_LE</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">capture.pcm</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">{</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type plug</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">slave.pcm "usb"</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span></div>
<p><br />check with </p>
<p> </p>
<p>copy es_systems to local, which is checked before global settings</p>
<p>cp /etc/emulationstation/es_systems.cfg ~/.emulationstation/</p>
<p> </p>
<p style="text-align: left;"><a href="http://computers.tutsplus.com/articles/using-a-usb-audio-device-with-a-raspberry-pi--mac-55876">http://computers.tutsplus.com/articles/using-a-usb-audio-device-with-a-raspberry-pi--mac-55876</a></p>
<p style="text-align: left;"><a href="https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=108523&p=747147">https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=108523&p=747147</a></p>
<p style="text-align: left;"><a href="http://plugable.com/2014/11/06/how-to-switch-to-usb-audio-on-raspberry-pi">http://plugable.com/2014/11/06/how-to-switch-to-usb-audio-on-raspberry-pi</a></p></div><div class="feed-description"><h2 style="text-align: left;">Computer and Software</h2>
<h3 style="text-align: left;"><span style="font-size: 1em;">Considerations</span></h3>
<p style="text-align: left;">As mentioned, I wanted a to use a Raspberry Pi as the computer. I did, however, read reports that the Pi version B+ is only just fast enough to run late 90's games as Street Fighter, in fact it should be a little slow.<br />It might seem a little odd that the old games takes so much computer power, but remember that mame does not just play the game. It emulates the entire system, chips and all and therefore needs lots of power.<br /><br />Therefore, I tested a few other options. I had a few thin clients lying around that should fit the bill. Among other options, I tried an <a href="http://www.viaembedded.com/en/systems/industrial-fanless-pcs/amos-3001/">VIA AMOS-3001, 2GB/1Ghz VIA Eden</a> and a <a href="http://www.nexterminal.dk/en/nexceed">Nexceed 256Mb/1.6GHz Atom Nexterminal</a>. Both does a pretty nice job, but neither has svhs or composite out, which my tv needs.<br /><br />Though I could just get a converter, i ended up opting for at <a href="https://www.raspberrypi.org/products/raspberry-pi-2-model-b/">Quad core 900MHz/512Mb Arm 7 Raspberry Pi 2</a>. Now, as of present, mame does not really lend itself well to multicore processing, but it does give a little - and more in some games - and I get the analog video out.<br /><br />The current system only has 3 buttons, and most intensive fighting games has 4. Therefore I find that the Pi2 is a fair match. It does also seem to do well.<br /><br />create a new user:</p>
<p style="text-align: left;">useradd -m mameuser</p>
<p style="text-align: left;">passwd mameuser</p>
<p style="text-align: left;"><span style="font-size: 16.015998840332px;">sudo usermod -a -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,gpio,i2c,spi,input mameuser </span></p>
<p style="text-align: left;">make a mount directory</p>
<p style="text-align: left;">mkdir ~/usbdrv</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">sudo blkid</p>
<p style="text-align: left;"> </p>
<div style="text-align: left;">/dev/sda1: LABEL="KINGSTON" UUID="BB52-2651" TYPE="vfat" </div>
<div style="text-align: left;"> </div>
<div style="text-align: left;">edit /etc/fstab</div>
<div style="text-align: left;">add on one line:</div>
<div style="text-align: left;">
<p>/dev/sda1 /home/mameuser/usbdrv vfat uid=mameuser,gid=mameuser,umask=0022,sync,auto,nosuid,rw,nouser 0 0</p>
</div>
<div style="text-align: left;"> </div>
<p style="text-align: left;"> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><a href="http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/">http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/</a><a href="http://www.ducky-pond.com/posts/2013/Aug/install-an-ftp-server-on-rpi/"></a></p>
<p style="text-align: left;">sudo apt-get install vsftpd</p>
<p style="text-align: left;">sudo nano /etc/vsftpd.conf</p>
<p style="text-align: left;">anonymous_enable=NO <br /><br />local_enable=YES</p>
<p style="text-align: left;"> </p>
<p>write_enable=YES</p>
<p>local_umask=022</p>
<p> </p>
<p style="text-align: left;"> </p>
<p>wget <a href="http://sheasilverman.com/rpi/raspbian/debs/advancemame-raspberrypi_1-1_armhf.deb">http://sheasilverman.com/rpi/raspbian/debs/advancemame-raspberrypi_1-1_armhf.deb</a><br />wget <a href="http://sheasilverman.com/rpi/raspbian/debs/advancemenu_2.6-1_armhf.deb">http://sheasilverman.com/rpi/raspbian/debs/advancemenu_2.6-1_armhf.deb</a><br /><br />sudo dpkg --force-overwrite -i advancemame-raspberrypi_1-1_armhf.deb</p>
<p><span style="font-size: 16.015998840332px;">sudo dpkg --force-overwrite -i advancemenu_2.6-1_armhf.deb </span></p>
<p><br />rm advancemame-raspberrypi_1-1_armhf.deb <br />rm advancemenu_2.6-1_armhf.deb</p>
<p>advmame</p>
<p>advmenu</p>
<p>remember to install and run mame first, as setupscripts for advmenu othervise may not fint correct paths.<br /><span style="font-size: 16.015998840332px;"> <span style="color: #373737; font-family: Arial, sans-serif; font-size: 15px; line-height: 23.625px; background-color: #f7f7f7;">your advmame.rc for your display:</span></span></p>
<ol style="border: 0px; font-family: Arial, sans-serif; font-size: 15px; margin: 0px 0px 0px 2.5em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: upper-alpha; color: #373737; line-height: 23.625px; background-color: #f7f7f7;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">For HDMI try:<ol style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0px 2.5em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: lower-roman;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">device_video_clock 5 – 50 / 15.62 / 50 ; 5 – 50 / 15.73 / 60</li>
</ol></li>
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">For NTSC TVs try:<ol style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px 0px 0px 2.5em; outline: 0px; padding: 0px; vertical-align: baseline; list-style: lower-roman;">
<li style="border: 0px; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">device_video_clock 5 – 50 / 15.73 / 60</li>
</ol></li>
</ol>
<p> </p>
<p> </p>
<p style="text-align: left;">finding mameversion:<br /><a href="http://advancemame.sourceforge.net/history.html">http://advancemame.sourceforge.net/history.html</a><br /><br />clrmamepro finds roms.</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Set sound<br /><br /></p>
<p>sudo nano /etc/modprobe.d/alsa-base.conf</p>
<p>options snd-usb-audio index=0<br />options snd_bcm2835 index=1</p>
<p> </p>
<pre style="font-family: inconsolata, monospace; font-size: 0.875rem; margin: 0px; overflow: auto; padding: 0px; line-height: 1.125rem; background-image: initial; background-attachment: initial; background-position: initial; background-repeat: initial;">aplay /usr/share/scratch/Media/Sounds/Vocals/Singer2.wav
</pre>
<div> </div>
<div>you will get segmentation fault in some emulators</div>
<div>sudo nano /etc/asound.conf</div>
<div> </div>
<div><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">ctl.!default {</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type hw</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">card 0</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">pcm.usb</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">{</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type hw</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">card "U012529205"</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">format S16_LE</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">pcm.!default {</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type asym</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">playback.pcm</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">{</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type plug</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">slave {</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">pcm "hw:0"</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">format S16_LE</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">capture.pcm</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">{</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">type plug</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">slave.pcm "usb"</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span><br style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;" /><span style="font-family: 'lucida grande', 'Lucida Sans Unicode', tahoma, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-align: left;">}</span></div>
<p><br />check with </p>
<p> </p>
<p>copy es_systems to local, which is checked before global settings</p>
<p>cp /etc/emulationstation/es_systems.cfg ~/.emulationstation/</p>
<p> </p>
<p style="text-align: left;"><a href="http://computers.tutsplus.com/articles/using-a-usb-audio-device-with-a-raspberry-pi--mac-55876">http://computers.tutsplus.com/articles/using-a-usb-audio-device-with-a-raspberry-pi--mac-55876</a></p>
<p style="text-align: left;"><a href="https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=108523&p=747147">https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=108523&p=747147</a></p>
<p style="text-align: left;"><a href="http://plugable.com/2014/11/06/how-to-switch-to-usb-audio-on-raspberry-pi">http://plugable.com/2014/11/06/how-to-switch-to-usb-audio-on-raspberry-pi</a></p></div>Android tips2014-11-20T16:19:48+00:002014-11-20T16:19:48+00:00http://buildproject.dk/index.php/projects/in-progress/22-android-tipsSuper Userbo@visfeldt.dk<div class="feed-description"><p style="text-align: left;"><span style="font-size: 16px;">Just a few tricks for android that I have needed a few times :)</span></p>
<h3 style="text-align: left;">Installing android sdk and getting it to work</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: left;">When ever installing android sdk on debian/ubuntu based systems, additional libraries must be added, as some parts of the 64bit package is actually using i386 calls. (adb for instance), All functions should work just adding the i386 architecture.<samp>aapt</samp>(which is a packing tool) does, however require a<samp>zlib</samp>, which is dependend on the three last libraries.</p>
<p style="text-align: left;"><samp>sudo dpkg --add-architecture i386</samp></p>
<p style="text-align: left;"><code>sudo apt-get update</code></p>
<p style="text-align: left;"><code>sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386</code></p>
<p style="text-align: left;">If this is not added, you will get a bunch of errors stating a lot of executables does not exist.</p>
<p style="text-align: left;">Finally install<samp>libgl1-mesa-dev</samp>. This is an OpenGL library, and is needed to render some simulators (avd's) correctly.</p>
<p style="text-align: left;"><samp>sudo apt-get install libgl1-mesa-dev</samp></p>
<p style="text-align: left;"><br />In order to debug on the phone instead of the emulator, a Udev rule must be added, and the following text added in it</p>
<p style="text-align: left;"><code>sudo /etc/udev/rules.d/51-android.rules</code></p>
<p style="text-align: left;"><code>SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"</code></p>
<p style="text-align: left;"><code>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"</code></p>
<p style="text-align: left;">after this run the following commands in order to reload udev rules</p>
<p style="text-align: left;"><samp>sudo udevadm control --reload-rules</samp></p>
<p style="text-align: left;"><samp>sudo service udev restart</samp></p>
<p style="text-align: left;">The vendorid is different for different makes of phones, and can be seen here: <a href="http://developer.android.com/tools/device.html#VendorIds">USB Vendor IDs.</a> Note that your vendorid may change if you install a ROM. Mine used to be 0bb4 (HTC), but changed to 18d1. Hence the two lines in the udev rules. You can always perform a <code>lsusb</code> to check vendorid.</p>
<p style="text-align: left;">After this reboot the computer. You should be able to use<code> adb devices</code></p>
<p style="text-align: left;">to check if the device works.</p>
<p> </p></div><div class="feed-description"><p style="text-align: left;"><span style="font-size: 16px;">Just a few tricks for android that I have needed a few times :)</span></p>
<h3 style="text-align: left;">Installing android sdk and getting it to work</h3>
<p style="text-align: justify;"> </p>
<p style="text-align: left;">When ever installing android sdk on debian/ubuntu based systems, additional libraries must be added, as some parts of the 64bit package is actually using i386 calls. (adb for instance), All functions should work just adding the i386 architecture.<samp>aapt</samp>(which is a packing tool) does, however require a<samp>zlib</samp>, which is dependend on the three last libraries.</p>
<p style="text-align: left;"><samp>sudo dpkg --add-architecture i386</samp></p>
<p style="text-align: left;"><code>sudo apt-get update</code></p>
<p style="text-align: left;"><code>sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386</code></p>
<p style="text-align: left;">If this is not added, you will get a bunch of errors stating a lot of executables does not exist.</p>
<p style="text-align: left;">Finally install<samp>libgl1-mesa-dev</samp>. This is an OpenGL library, and is needed to render some simulators (avd's) correctly.</p>
<p style="text-align: left;"><samp>sudo apt-get install libgl1-mesa-dev</samp></p>
<p style="text-align: left;"><br />In order to debug on the phone instead of the emulator, a Udev rule must be added, and the following text added in it</p>
<p style="text-align: left;"><code>sudo /etc/udev/rules.d/51-android.rules</code></p>
<p style="text-align: left;"><code>SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"</code></p>
<p style="text-align: left;"><code>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"</code></p>
<p style="text-align: left;">after this run the following commands in order to reload udev rules</p>
<p style="text-align: left;"><samp>sudo udevadm control --reload-rules</samp></p>
<p style="text-align: left;"><samp>sudo service udev restart</samp></p>
<p style="text-align: left;">The vendorid is different for different makes of phones, and can be seen here: <a href="http://developer.android.com/tools/device.html#VendorIds">USB Vendor IDs.</a> Note that your vendorid may change if you install a ROM. Mine used to be 0bb4 (HTC), but changed to 18d1. Hence the two lines in the udev rules. You can always perform a <code>lsusb</code> to check vendorid.</p>
<p style="text-align: left;">After this reboot the computer. You should be able to use<code> adb devices</code></p>
<p style="text-align: left;">to check if the device works.</p>
<p> </p></div>Buildserver visualizer2014-02-02T18:23:18+00:002014-02-02T18:23:18+00:00http://buildproject.dk/index.php/projects/in-progress/20-buildserver-visualizerSuper Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Installing operating system and configuring.</h2>
<p style="text-align: left;">As the system would only perform very limited tasks, a very basic configuration would suffice. I would therefore like to install a barebone debian or ubuntu version.</p>
<p style="text-align: left;">I tried numerous time to install the newer debian and ubuntu versions, but all stalled. After half a day trying diffrent configurations, i found out that i</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Installing the operating system on the SBC took some doing.<br />I wanted to run a tiny debian on it, so i tried to do a netinstallation of the LTS version 12.04. This did, however not work. I Installation started but threw a lot of errors and halted. After this, i tried ubuntu 12.04. This did not work either, but this time the installer told me that "<a href="http://en.wikipedia.org/wiki/Physical_Address_Extension">PAE</a>" was not supported... This is appearently a requirement for newer linux versions.</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><a href="http://www.damnsmalllinux.org/f/topic-3-26-18529-0.html">http://www.damnsmalllinux.org/f/topic-3-26-18529-0.html</a></p></div><div class="feed-description"><h2 style="text-align: left;">Installing operating system and configuring.</h2>
<p style="text-align: left;">As the system would only perform very limited tasks, a very basic configuration would suffice. I would therefore like to install a barebone debian or ubuntu version.</p>
<p style="text-align: left;">I tried numerous time to install the newer debian and ubuntu versions, but all stalled. After half a day trying diffrent configurations, i found out that i</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Installing the operating system on the SBC took some doing.<br />I wanted to run a tiny debian on it, so i tried to do a netinstallation of the LTS version 12.04. This did, however not work. I Installation started but threw a lot of errors and halted. After this, i tried ubuntu 12.04. This did not work either, but this time the installer told me that "<a href="http://en.wikipedia.org/wiki/Physical_Address_Extension">PAE</a>" was not supported... This is appearently a requirement for newer linux versions.</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><a href="http://www.damnsmalllinux.org/f/topic-3-26-18529-0.html">http://www.damnsmalllinux.org/f/topic-3-26-18529-0.html</a></p></div>Linux tips2014-01-12T11:59:21+00:002014-01-12T11:59:21+00:00http://buildproject.dk/index.php/projects/in-progress/19-linux-tipsSuper Userbo@visfeldt.dk<div class="feed-description"><p style="text-align: left;">Just a small collection of linux/gnu tips. Primarily terminal commands for stuff you do on a regurely basis, but not often enough to really remember it.</p>
<p style="text-align: left;">Figuring out what is in Ubuntu installation tasks</p>
<p style="text-align: left;"><a href="images/Nu44s.jpg" class="jcepopup" data-mediabox="title[Ubuntu packages]" target="_blank"><img src="images/thumbnails/thumb_Nu44s.jpg" width="150" height="111" alt="Ubuntu Packages" /></a></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">When installing linux packages it is difficult to know which packages in installed with what tasks. For instance: What packages "Ubuntu Basic Server" contain?<br /><br />if you run the command:<br /><code>tasksel --list-tasks</code></span></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">you will find that the "Basic Ubuntu Server" task is named "server".</span></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">If you run</span></p>
<p style="text-align: left;"><code><span style="font-size: 1.17em;">tasksel --task-packages server</span></code></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">you will get a list of the packages in this task.</span></p>
<h3 style="text-align: left;"><span style="font-size: 1.17em;">Check Linux version</span></h3>
<h3 style="text-align: left;"><span style="font-family: monospace; font-size: small;">
<h3 style="text-align: left;"><span style="font-family: monospace; font-size: small;">lsb_release -a</span></h3>
</span></h3>
<h3 style="text-align: left;">Enable bash auto-completion</h3>
<p style="text-align: left;">In order to enable the autocompletion, edit /etc/bash.bashrc</p>
<p style="text-align: left;">Uncomment the following section:</p>
<p style="text-align: left;"><samp><code><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;"># enable bash completion in interactive shells</span></code></samp><br style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;" /><samp><code><strong style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">#</strong><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">if [ -f /etc/bash_completion ]; then</span></code></samp><br style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;" /><samp><code><strong style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">#</strong><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">. /etc/bash_completion</span></code></samp><br style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;" /><samp><code><strong style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">#</strong><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">fi</span></code></samp><span style="font-family: monospace; font-size: small;"><span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px;"> </span></span></span> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Remember that all users must have executable rights to this file, otherwise it will only work for root. Also, the filepaths may be different for differnt distros.</p>
<p style="text-align: left;"> </p>
<h3 style="text-align: left;">Delete user</h3>
<p style="text-align: left;">the -r switch removes the home directory, which would otherwise have to be removed manually</p>
<p style="text-align: left;"><span style="color: #111111; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 12px; line-height: 17.996999740600586px; text-align: start; background-color: #eeeeee;">userdel -r username</span></p>
<h3 style="text-align: left;">Get a annoying Brother 7070dw printer working.</h3>
<p style="text-align: left;">The problem is that brother does not officially support postscript on the cheaper printers. Also, their own drivers are not very good and requires loads of headaches. Luckily postscript is supported somewhat.</p>
<p style="text-align: left;">When installing the printer, setup as normal Brother printer, but select "Brother 7045N" in combination with the driver "Generic PCL 6/PCL XL Printer - CUPS+Gutenprint v5.2.10-pre2". This works ok.</p>
<h3 style="text-align: left;">Removing sound jitter from Intel Z97/H97 and ALC1150 audio chipsets in Ubuntu 14.04</h3>
<p style="text-align: left;">If the sound is stuttering, it is because this specific chipset has not gotten setup definition in ubuntu 14.04. The workaround is to create a modprobe.d file with the required settings.</p>
<h3 style="text-align: left;"><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">echo "options snd-hda-intel vid=8086 pid=8ca0 snoop=0" | sudo tee /etc/modprobe.</span><wbr style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;" /><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">d/fix-sound-</span><wbr style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;" /><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">intel97.</span><wbr style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;" /><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">conf</span><span style="font-size: 16px;"> </span></h3>
<p style="text-align: left;"> </p>
<h3 style="text-align: left;">Get bluetooth working in Ubuntu LTS 14.04</h3>
<p style="text-align: left;">Pair using normal means, In bluetooth manager, set as A2DP audio sink</p>
<p style="text-align: left;">thereafter add following to /etc/pulse/default.pa</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><code>.ifexists module-bluetooth-discover.so<br />load-module module-bluetooth-discover<br />.endif</code></p>
<p><code> </code></p>
<p style="text-align: left;"><code>This makes bluetooth available to the pulse audio manager. Restart with <em>pulseaudio -k</em> followed by <em>pulseaudio -D</em> Now go to "Configuration" in Volume Control (Pulse Audio Manager) and change the profile from your newly found bluetooth headset to "A2DP"<br /></code></p>
<h3 style="text-align: left;">Backing up a website using lftp</h3>
<p style="text-align: left;">Somethimes you need to backup a website. This site was, for instance, compromised through a fault in Joomla a few years ago. It took me ages to get it up as I did not have a backup.<br /><br />There a loads of tools that can do this. Most notorious are wget and lftp. wget is very good at fetching websites. It is, however primarily made for websites, and that means that some of the switches that should make your life easier unfortunately only works in the webworld. Therefore, i generally prefer lftp, as it pretty much handles all protocols.<br /><br />Sites can easily be backed up from bash using:<br /><code>lftp <a href="ftp://${remotehost} -u">ftp://${remotehost} -u</a> ${user},${password} -e "mirror --verbose ${remotedir} ${localbackupdir}</code><br /><br /></p>
<h3 style="text-align: left;">Create user, add homedir, grant access and add to sudoers</h3>
<p style="text-align: left;"> as root do:</p>
<p style="text-align: left;"><samp>useradd username -m (-m switch creates homedir)</samp></p>
<p style="text-align: left;"><samp>passwd username</samp></p>
<p style="text-align: left;"><samp>sudo adduser username sudo</samp><samp></samp><samp></samp></p>
<h3 style="text-align: left;">Use Rsync to backup directories</h3>
<p style="text-align: left;">normal rsync for backup looks like this:<br /><strong>rsync -c -r -t -p -o -g -v -l -s --progress --delete /mnt/Stuff/ /mnt/Stuff2</strong></p>
<p style="text-align: left;">switches are:<br /><strong>-c </strong>skip based on checksum, not mod-time & size<br /><strong>-r </strong>recurse into directories<br /><strong>-t </strong>preserve modification times<br /><strong>-p </strong>preserve permissions<br /><strong>-o </strong>preserve owner (super-user only)<br /><strong>-g </strong>preserve group<br /><strong>-v </strong>increase verbosity<br /><strong>-l </strong>copy symlinks as symlinks<br /><strong>-s </strong>(protected-args) do not interprent special chars like $ and ~ in shell, but let rsync do it on remote host</p>
<p style="text-align: left;"><strong>--progress</strong> show progress during transfer<br /><strong>--delete</strong> delete files that are in dest dir but not in source dir</p>
<p style="text-align: left;">Note that the trailing / in paths means copy files IN this directory.<br />If it had not been there, the directory would be included.<br />This would result in copying to /mnt/Stuff2/Stuff<br /><br />Trailing slashes are ignored in destination folder.</p>
<p style="text-align: left;"> </p>
<samp></samp>
<p style="text-align: left;"> </p>
<samp></samp><samp></samp><samp></samp>
<h3 style="text-align: left;">Java</h3>
<p style="text-align: left;">To install java jdk using apt-get:</p>
<p style="text-align: left;"><code>sudo apt-get install <code>openjdk-7-jdk</code><br /></code></p>
<p style="text-align: left;">If Oracle JDK is needed:</p>
<p style="text-align: left;"><code>sudo apt-get install oracle-java7-installer</code></p>
<p style="text-align: left;">Manage default java version:</p>
<p style="text-align: left;"><code>sudo update-alternatives --config java</code></p>
<p style="text-align: left;">Can also be done for javac:</p>
<p style="text-align: left;"><code>sudo update-alternatives --config javac</code></p>
<p style="text-align: left;">Setting JAVA_HOME environment variable.</p>
<ol>
<li style="text-align: left;">Get path to java: <code>sudo update-alternatives --config javac</code></li>
<li style="text-align: left;">Edit /etc/environment: <code>sudo nano /etc/environment</code></li>
<li style="text-align: left;">Add Line: <code>JAVA_HOME="YOUR_PATH"</code></li>
<li style="text-align: left;">Save and afterwards reload environment variables using: <code>source /etc/environment</code></li>
<li style="text-align: left;">Test by running: <code>echo $JAVA_HOME</code></li>
</ol>
<h3 style="text-align: left;">Mono Developer</h3>
<p style="text-align: left;">to install mono along with mono developer from repositories, use:</p>
<p style="text-align: left;"><code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: 'Ubuntu Mono', 'Ubuntu Beta Mono A', Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; color: #222222; white-space: inherit;">sudo apt-get install mono-mcs libgtk2.0-cil libgtksourceview2-2.0-cil monodevelop monodoc-base mono-tools-gui mono-complete</code></p>
<p> </p>
<h3 style="text-align: left;">Ubuntu 14.04 on macbook air '11 (2013)</h3>
<p style="text-align: left;">When installing, it becomes clear that the WiFi does not function perfectly. Mine could list the networks, but not connect to them. This is a but that had been corected for my NIC (Broadwell BCM43224 808.11a/b/g/n rev 0.1) ... check you have the same NIC before trying (<code>write lspci -nn |grep 0280</code> .. if your pci.id is 14e4:4353 you have the same NIC)<br /><br />This was corrected by connecting to a nonencrypted wifi over my phone and running</p>
<p style="text-align: left;"><samp>apt-get update</samp></p>
<p style="text-align: left;"><samp>apt-get install linux-headers-generic</samp></p>
<p style="text-align: left;"><samp>apt-get install --reinstall bcmwl-kernel-source</samp></p>
<p style="text-align: left;"><samp>modprobe wl</samp></p>
<p style="text-align: left;">... kind of a chicken or egg thing.. could not get the new config for the nic because there was no connection to the nic...</p>
<h3 style="text-align: left;">Android tips</h3>
<p style="text-align: left;">When ever installing android sdk on debian/ubuntu based systems, additional libraries must be added, as some parts of the 64bit package is actually using i386 calls. (adb for instance), All functions should work just adding the i386 architecture.<samp>aapt</samp>(which is a packing tool) does, however require a<samp>zlib</samp>, which is dependend on the three last libraries.</p>
<p style="text-align: left;"><samp>sudo dpkg --add-architecture i386</samp><code></code></p>
<p style="text-align: left;"><code>sudo apt-get update</code></p>
<p style="text-align: left;"><code>sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386</code><samp></samp><samp></samp></p>
<p style="text-align: left;">If this is not added, you will get a bunch of errors stating a lot of executables does not exist.</p>
<p style="text-align: left;">Finally install<samp>libgl1-mesa-dev</samp>. This is an OpenGL library, and is needed to render some simulators (avd's) correctly.</p>
<p style="text-align: left;"><samp>sudo apt-get install libgl1-mesa-dev</samp></p>
<p style="text-align: left;"><br style="text-align: left;" />In order to debug on the phone instead of the emulator, a Udev rule must be added, and the following text added in it</p>
<p style="text-align: left;"><code>sudo /etc/udev/rules.d/51-android.rules</code></p>
<p style="text-align: left;"><code><code>SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"</code></code></p>
<p style="text-align: left;"><code><code>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"</code></code></p>
<p> </p>
<p style="text-align: left;">after this run the following commands in order to reload udev rules</p>
<p style="text-align: left;"><samp>sudo udevadm control --reload-rules</samp></p>
<p style="text-align: left;"><samp>sudo service udev restart</samp></p>
<p style="text-align: left;">The vendorid is different for different makes of phones, and can be seen here: <a href="http://developer.android.com/tools/device.html#VendorIds">USB Vendor IDs.</a> Note that your vendorid may change if you install a ROM. Mine used to be 0bb4 (HTC), but changed to 18d1. Hence the two lines in the udev rules. You can always perform a <code>lsusb</code> to check vendorid.</p>
<p style="text-align: left;">After this reboot the computer. You should be able to use<code> adb devices </code></p>
<p style="text-align: left;">to check if the device works.</p>
<h3 style="text-align: left;"> </h3></div><div class="feed-description"><p style="text-align: left;">Just a small collection of linux/gnu tips. Primarily terminal commands for stuff you do on a regurely basis, but not often enough to really remember it.</p>
<p style="text-align: left;">Figuring out what is in Ubuntu installation tasks</p>
<p style="text-align: left;"><a href="images/Nu44s.jpg" class="jcepopup" data-mediabox="title[Ubuntu packages]" target="_blank"><img src="images/thumbnails/thumb_Nu44s.jpg" width="150" height="111" alt="Ubuntu Packages" /></a></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">When installing linux packages it is difficult to know which packages in installed with what tasks. For instance: What packages "Ubuntu Basic Server" contain?<br /><br />if you run the command:<br /><code>tasksel --list-tasks</code></span></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">you will find that the "Basic Ubuntu Server" task is named "server".</span></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">If you run</span></p>
<p style="text-align: left;"><code><span style="font-size: 1.17em;">tasksel --task-packages server</span></code></p>
<p style="text-align: left;"><span style="font-size: 1.17em;">you will get a list of the packages in this task.</span></p>
<h3 style="text-align: left;"><span style="font-size: 1.17em;">Check Linux version</span></h3>
<h3 style="text-align: left;"><span style="font-family: monospace; font-size: small;">
<h3 style="text-align: left;"><span style="font-family: monospace; font-size: small;">lsb_release -a</span></h3>
</span></h3>
<h3 style="text-align: left;">Enable bash auto-completion</h3>
<p style="text-align: left;">In order to enable the autocompletion, edit /etc/bash.bashrc</p>
<p style="text-align: left;">Uncomment the following section:</p>
<p style="text-align: left;"><samp><code><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;"># enable bash completion in interactive shells</span></code></samp><br style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;" /><samp><code><strong style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">#</strong><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">if [ -f /etc/bash_completion ]; then</span></code></samp><br style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;" /><samp><code><strong style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">#</strong><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">. /etc/bash_completion</span></code></samp><br style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;" /><samp><code><strong style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">#</strong><span style="color: #444444; font-family: 'Helvetica Neue Light', HelveticaNeue-Light, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 19.600000381469727px; text-align: justify;">fi</span></code></samp><span style="font-family: monospace; font-size: small;"><span><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px;"> </span></span></span> </p>
<p style="text-align: left;"> </p>
<p style="text-align: left;">Remember that all users must have executable rights to this file, otherwise it will only work for root. Also, the filepaths may be different for differnt distros.</p>
<p style="text-align: left;"> </p>
<h3 style="text-align: left;">Delete user</h3>
<p style="text-align: left;">the -r switch removes the home directory, which would otherwise have to be removed manually</p>
<p style="text-align: left;"><span style="color: #111111; font-family: Consolas, 'Andale Mono', Monaco, Courier, 'Courier New', Verdana, sans-serif; font-size: 12px; line-height: 17.996999740600586px; text-align: start; background-color: #eeeeee;">userdel -r username</span></p>
<h3 style="text-align: left;">Get a annoying Brother 7070dw printer working.</h3>
<p style="text-align: left;">The problem is that brother does not officially support postscript on the cheaper printers. Also, their own drivers are not very good and requires loads of headaches. Luckily postscript is supported somewhat.</p>
<p style="text-align: left;">When installing the printer, setup as normal Brother printer, but select "Brother 7045N" in combination with the driver "Generic PCL 6/PCL XL Printer - CUPS+Gutenprint v5.2.10-pre2". This works ok.</p>
<h3 style="text-align: left;">Removing sound jitter from Intel Z97/H97 and ALC1150 audio chipsets in Ubuntu 14.04</h3>
<p style="text-align: left;">If the sound is stuttering, it is because this specific chipset has not gotten setup definition in ubuntu 14.04. The workaround is to create a modprobe.d file with the required settings.</p>
<h3 style="text-align: left;"><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">echo "options snd-hda-intel vid=8086 pid=8ca0 snoop=0" | sudo tee /etc/modprobe.</span><wbr style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;" /><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">d/fix-sound-</span><wbr style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;" /><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">intel97.</span><wbr style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;" /><span style="color: #333333; font-family: monospace; font-size: 12px; line-height: 18px; text-align: left;">conf</span><span style="font-size: 16px;"> </span></h3>
<p style="text-align: left;"> </p>
<h3 style="text-align: left;">Get bluetooth working in Ubuntu LTS 14.04</h3>
<p style="text-align: left;">Pair using normal means, In bluetooth manager, set as A2DP audio sink</p>
<p style="text-align: left;">thereafter add following to /etc/pulse/default.pa</p>
<p style="text-align: left;"> </p>
<p style="text-align: left;"><code>.ifexists module-bluetooth-discover.so<br />load-module module-bluetooth-discover<br />.endif</code></p>
<p><code> </code></p>
<p style="text-align: left;"><code>This makes bluetooth available to the pulse audio manager. Restart with <em>pulseaudio -k</em> followed by <em>pulseaudio -D</em> Now go to "Configuration" in Volume Control (Pulse Audio Manager) and change the profile from your newly found bluetooth headset to "A2DP"<br /></code></p>
<h3 style="text-align: left;">Backing up a website using lftp</h3>
<p style="text-align: left;">Somethimes you need to backup a website. This site was, for instance, compromised through a fault in Joomla a few years ago. It took me ages to get it up as I did not have a backup.<br /><br />There a loads of tools that can do this. Most notorious are wget and lftp. wget is very good at fetching websites. It is, however primarily made for websites, and that means that some of the switches that should make your life easier unfortunately only works in the webworld. Therefore, i generally prefer lftp, as it pretty much handles all protocols.<br /><br />Sites can easily be backed up from bash using:<br /><code>lftp <a href="ftp://${remotehost} -u">ftp://${remotehost} -u</a> ${user},${password} -e "mirror --verbose ${remotedir} ${localbackupdir}</code><br /><br /></p>
<h3 style="text-align: left;">Create user, add homedir, grant access and add to sudoers</h3>
<p style="text-align: left;"> as root do:</p>
<p style="text-align: left;"><samp>useradd username -m (-m switch creates homedir)</samp></p>
<p style="text-align: left;"><samp>passwd username</samp></p>
<p style="text-align: left;"><samp>sudo adduser username sudo</samp><samp></samp><samp></samp></p>
<h3 style="text-align: left;">Use Rsync to backup directories</h3>
<p style="text-align: left;">normal rsync for backup looks like this:<br /><strong>rsync -c -r -t -p -o -g -v -l -s --progress --delete /mnt/Stuff/ /mnt/Stuff2</strong></p>
<p style="text-align: left;">switches are:<br /><strong>-c </strong>skip based on checksum, not mod-time & size<br /><strong>-r </strong>recurse into directories<br /><strong>-t </strong>preserve modification times<br /><strong>-p </strong>preserve permissions<br /><strong>-o </strong>preserve owner (super-user only)<br /><strong>-g </strong>preserve group<br /><strong>-v </strong>increase verbosity<br /><strong>-l </strong>copy symlinks as symlinks<br /><strong>-s </strong>(protected-args) do not interprent special chars like $ and ~ in shell, but let rsync do it on remote host</p>
<p style="text-align: left;"><strong>--progress</strong> show progress during transfer<br /><strong>--delete</strong> delete files that are in dest dir but not in source dir</p>
<p style="text-align: left;">Note that the trailing / in paths means copy files IN this directory.<br />If it had not been there, the directory would be included.<br />This would result in copying to /mnt/Stuff2/Stuff<br /><br />Trailing slashes are ignored in destination folder.</p>
<p style="text-align: left;"> </p>
<samp></samp>
<p style="text-align: left;"> </p>
<samp></samp><samp></samp><samp></samp>
<h3 style="text-align: left;">Java</h3>
<p style="text-align: left;">To install java jdk using apt-get:</p>
<p style="text-align: left;"><code>sudo apt-get install <code>openjdk-7-jdk</code><br /></code></p>
<p style="text-align: left;">If Oracle JDK is needed:</p>
<p style="text-align: left;"><code>sudo apt-get install oracle-java7-installer</code></p>
<p style="text-align: left;">Manage default java version:</p>
<p style="text-align: left;"><code>sudo update-alternatives --config java</code></p>
<p style="text-align: left;">Can also be done for javac:</p>
<p style="text-align: left;"><code>sudo update-alternatives --config javac</code></p>
<p style="text-align: left;">Setting JAVA_HOME environment variable.</p>
<ol>
<li style="text-align: left;">Get path to java: <code>sudo update-alternatives --config javac</code></li>
<li style="text-align: left;">Edit /etc/environment: <code>sudo nano /etc/environment</code></li>
<li style="text-align: left;">Add Line: <code>JAVA_HOME="YOUR_PATH"</code></li>
<li style="text-align: left;">Save and afterwards reload environment variables using: <code>source /etc/environment</code></li>
<li style="text-align: left;">Test by running: <code>echo $JAVA_HOME</code></li>
</ol>
<h3 style="text-align: left;">Mono Developer</h3>
<p style="text-align: left;">to install mono along with mono developer from repositories, use:</p>
<p style="text-align: left;"><code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: 'Ubuntu Mono', 'Ubuntu Beta Mono A', Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; color: #222222; white-space: inherit;">sudo apt-get install mono-mcs libgtk2.0-cil libgtksourceview2-2.0-cil monodevelop monodoc-base mono-tools-gui mono-complete</code></p>
<p> </p>
<h3 style="text-align: left;">Ubuntu 14.04 on macbook air '11 (2013)</h3>
<p style="text-align: left;">When installing, it becomes clear that the WiFi does not function perfectly. Mine could list the networks, but not connect to them. This is a but that had been corected for my NIC (Broadwell BCM43224 808.11a/b/g/n rev 0.1) ... check you have the same NIC before trying (<code>write lspci -nn |grep 0280</code> .. if your pci.id is 14e4:4353 you have the same NIC)<br /><br />This was corrected by connecting to a nonencrypted wifi over my phone and running</p>
<p style="text-align: left;"><samp>apt-get update</samp></p>
<p style="text-align: left;"><samp>apt-get install linux-headers-generic</samp></p>
<p style="text-align: left;"><samp>apt-get install --reinstall bcmwl-kernel-source</samp></p>
<p style="text-align: left;"><samp>modprobe wl</samp></p>
<p style="text-align: left;">... kind of a chicken or egg thing.. could not get the new config for the nic because there was no connection to the nic...</p>
<h3 style="text-align: left;">Android tips</h3>
<p style="text-align: left;">When ever installing android sdk on debian/ubuntu based systems, additional libraries must be added, as some parts of the 64bit package is actually using i386 calls. (adb for instance), All functions should work just adding the i386 architecture.<samp>aapt</samp>(which is a packing tool) does, however require a<samp>zlib</samp>, which is dependend on the three last libraries.</p>
<p style="text-align: left;"><samp>sudo dpkg --add-architecture i386</samp><code></code></p>
<p style="text-align: left;"><code>sudo apt-get update</code></p>
<p style="text-align: left;"><code>sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386</code><samp></samp><samp></samp></p>
<p style="text-align: left;">If this is not added, you will get a bunch of errors stating a lot of executables does not exist.</p>
<p style="text-align: left;">Finally install<samp>libgl1-mesa-dev</samp>. This is an OpenGL library, and is needed to render some simulators (avd's) correctly.</p>
<p style="text-align: left;"><samp>sudo apt-get install libgl1-mesa-dev</samp></p>
<p style="text-align: left;"><br style="text-align: left;" />In order to debug on the phone instead of the emulator, a Udev rule must be added, and the following text added in it</p>
<p style="text-align: left;"><code>sudo /etc/udev/rules.d/51-android.rules</code></p>
<p style="text-align: left;"><code><code>SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"</code></code></p>
<p style="text-align: left;"><code><code>SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"</code></code></p>
<p> </p>
<p style="text-align: left;">after this run the following commands in order to reload udev rules</p>
<p style="text-align: left;"><samp>sudo udevadm control --reload-rules</samp></p>
<p style="text-align: left;"><samp>sudo service udev restart</samp></p>
<p style="text-align: left;">The vendorid is different for different makes of phones, and can be seen here: <a href="http://developer.android.com/tools/device.html#VendorIds">USB Vendor IDs.</a> Note that your vendorid may change if you install a ROM. Mine used to be 0bb4 (HTC), but changed to 18d1. Hence the two lines in the udev rules. You can always perform a <code>lsusb</code> to check vendorid.</p>
<p style="text-align: left;">After this reboot the computer. You should be able to use<code> adb devices </code></p>
<p style="text-align: left;">to check if the device works.</p>
<h3 style="text-align: left;"> </h3></div>Building an USB powerwall2013-12-28T09:00:12+00:002013-12-28T09:00:12+00:00http://buildproject.dk/index.php/projects/in-progress/18-buiding-an-usb-powerwallSuper Userbo@visfeldt.dk<div class="feed-description"><p><a></a><a href="http://blog.curioussystem.com/2010/08/the-dirty-truth-about-usb-device-charging/">http://blog.curioussystem.com/2010/08/the-dirty-truth-about-usb-device-charging/</a></p>
<p>uses voltage division. resistors ordered from china.</p>
<p> <a href="http://www.instructables.com/id/yet-another-iPhone-charger/">http://www.instructables.com/id/yet-another-iPhone-charger/</a></p>
<p><a href="http://timothyb.net/DIY_iPad_2_USB_Charger.html">http://timothyb.net/DIY_iPad_2_USB_Charger.html</a></p>
<p>
<table style="width: 237px; height: 114px;">
<tbody>
<tr>
<td colspan="3">Apple charge configurations</td>
</tr>
<tr>
<td>D+</td>
<td>D-</td>
<td>Power</td>
</tr>
<tr>
<td>2.0V</td>
<td>2.0V</td>
<td>500 mA</td>
</tr>
<tr>
<td>2.0</td>
<td>2.8</td>
<td>1000 mA</td>
</tr>
<tr>
<td>2.8</td>
<td>2.0</td>
<td>2000 mA</td>
</tr>
</tbody>
</table>
</p>
<p> </p>
<p style="text-align: left;"> </p></div><div class="feed-description"><p><a></a><a href="http://blog.curioussystem.com/2010/08/the-dirty-truth-about-usb-device-charging/">http://blog.curioussystem.com/2010/08/the-dirty-truth-about-usb-device-charging/</a></p>
<p>uses voltage division. resistors ordered from china.</p>
<p> <a href="http://www.instructables.com/id/yet-another-iPhone-charger/">http://www.instructables.com/id/yet-another-iPhone-charger/</a></p>
<p><a href="http://timothyb.net/DIY_iPad_2_USB_Charger.html">http://timothyb.net/DIY_iPad_2_USB_Charger.html</a></p>
<p>
<table style="width: 237px; height: 114px;">
<tbody>
<tr>
<td colspan="3">Apple charge configurations</td>
</tr>
<tr>
<td>D+</td>
<td>D-</td>
<td>Power</td>
</tr>
<tr>
<td>2.0V</td>
<td>2.0V</td>
<td>500 mA</td>
</tr>
<tr>
<td>2.0</td>
<td>2.8</td>
<td>1000 mA</td>
</tr>
<tr>
<td>2.8</td>
<td>2.0</td>
<td>2000 mA</td>
</tr>
</tbody>
</table>
</p>
<p> </p>
<p style="text-align: left;"> </p></div>Making a printer and scanner server2012-05-13T17:34:34+00:002012-05-13T17:34:34+00:00http://buildproject.dk/index.php/projects/in-progress/14-makingaprinterandscannerserver2012Super Userbo@visfeldt.dk<div class="feed-description"><h2 style="text-align: left;">Making a printer and scanner server</h2>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[Shared printer and scanner setup::Shared printer and scanner setup];group[printer_scanner_server_2012]" class="jcepopup" href="images/projects/printer_scanner_server_2012/scanner_printer_setup.jpeg"><img style="margin: auto;" alt="scanner printer setup" src="images/projects/printer_scanner_server_2012/thumbnails/thumb_scanner_printer_setup.jpeg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Shared scanner and printer setup</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">Setting up a small print-and-scanner server is fairly straight forward if you know your linux, but might give you a few problems otherwise. I have for some time wanted to be able to both print and scan from different computers and therefore wanted to build a server capable of handeling both.</p>
</div><div class="feed-description"><h2 style="text-align: left;">Making a printer and scanner server</h2>
<table _mce_new="1" align="left" border="0">
<tbody>
<tr>
<td><span style="display: inline-block;" class="wf_caption"><a target="_blank" rel="title[Shared printer and scanner setup::Shared printer and scanner setup];group[printer_scanner_server_2012]" class="jcepopup" href="images/projects/printer_scanner_server_2012/scanner_printer_setup.jpeg"><img style="margin: auto;" alt="scanner printer setup" src="images/projects/printer_scanner_server_2012/thumbnails/thumb_scanner_printer_setup.jpeg" height="113" width="150" /></a><span style="text-align: center; width: 150px; display: block;">Shared scanner and printer setup</span></span></td>
</tr>
</tbody>
</table>
<p style="text-align: left;">Setting up a small print-and-scanner server is fairly straight forward if you know your linux, but might give you a few problems otherwise. I have for some time wanted to be able to both print and scan from different computers and therefore wanted to build a server capable of handeling both.</p>
</div>