<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://codenaschen.de/tichyblog/rss.php" rel="self" type="application/rss+xml" />
    <title>codenaschen.de</title>
    <link>http://codenaschen.de/tichyblog/</link>
    <description>very low frequency tech blogging</description>
    <language>en</language>
    <copyright>krater (Andreas Schuler)</copyright>
    <dc:creator>krater (Andreas Schuler)</dc:creator>
    <pubDate>Sun, 05 Apr 2026 15:22:52 +0200</pubDate>
    <item>
      <title><![CDATA[DECT Hacking]]></title>
      <description><![CDATA[<p>Some years ago, some people hacked the DECT standard, found flaws in the DSC(Encryption), the DSAA(Authentication) and that most of the DECT devices don't encrypt anyway. I was one of this people.<br />One of my parts was the reverse engineering of the Com-On-Air Card (a PCMCIA Card, based on the SC14421 DECT baseband) and writing the hardware part of the linux driver.</p>
<p>Now, some years later, I needet the driver again and saw that dedected.org, our old website is down. All repos too.<br />Looks like the code is not available in the web anymore....</p>
<p>....no, this is no call for people to send me old code ;)</p>
<p>I have some copies of some stadium of the code on my harddisks, servers, etc.<br />Two of it are interesting, so I uploaded it to make it available again. One for really old kernels, one for old kernels. I updated dectshark too, to get simple live audio output.</p>
<p>You will find it on my <a href="https://github.com/krater/com-on-air_cs-linux">Github account</a>.<br /><br />Have fun !</p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=22_DECT Hacking dedected.org ]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=22_DECT Hacking dedected.org ]]></guid>
      <pubDate>Tue, 28 Jul 2015 18:02:17 +0200</pubDate>
    </item>
    <item>
      <title><![CDATA[I hate Experts-Exchange....]]></title>
      <description><![CDATA[<p>...and a big couple more of this useless crappy junk in Google search results. For some reason it looks like Google is doing all to prevent you from removing domains permanently from your search results. There was a relatively hidden feature on the Google website to do that in 2011, but it's discontinued some years ago. Some Firefox plugins existed, but all are removed. And so on...<br /><br />The only way you can choose is to install Google Chrome, there exists a plugin....but I don't checked if it works. I use Palemoon, a Firefox fork, for a good reason, I don't want a user interface like chrome...<br /><br />As some searching around with no result I found my own way:<br /><br />Google has the feature to remove a domain on a search request by adding -site:domain.com to your request. But to do that with 50+ domains to get usable results is anoying and time consuming. The reason is to add a new search engine entry in your Firefox/Palemoon that does this for you. It's really simple. The search engine plugins are yust small XML files with the important informations. The Google one looks like this:<br /><br /><span style="font-family: courier new,courier;">&lt;!-- This Source Code Form is subject to the terms of the Mozilla Public</span><br /><span style="font-family: courier new,courier;">&nbsp;&nbsp; - License, v. 2.0. If a copy of the MPL was not distributed with this</span><br /><span style="font-family: courier new,courier;">&nbsp;&nbsp; - file, You can obtain one at http://mozilla.org/MPL/2.0/. --&gt;</span><br /><br /><span style="font-family: courier new,courier;">&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;</span><br /><span style="font-family: courier new,courier;">&lt;ShortName&gt;Google&lt;/ShortName&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Description&gt;Google Search&lt;/Description&gt;</span><br /><span style="font-family: courier new,courier;">&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,AAABAAIAEBAAAAAAAAB9AQAAJgAAACAgAAAAAAAA8gIAAKMBAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABAIBgA</span><br /><span style="font-family: courier new,courier;">AAB/z/2EAAAFESURBVDjLpZNJSwNBEIXnt4lE4kHxovgT9BDwJHqPy0HEEOJBiAuCRg+KUdC4QS4KrpC4gCBGE3NQ48JsnZ6eZ3UOM6gjaePhQU93v6+qq2q0pqgeJj2S8EdJT1hr0OxBt</span><br /><span style="font-family: courier new,courier;">KCD5iEd8QxDYpvhvOBAuMDKURX9C9aPu4GA1GEVkzvMg10UBfYveWAWgYAP00V01fa+R9M2bA51wJvhIn3qR+ybt3D3JNQBE5sMjCIOLFpoHzOwdsLRO22qA6R6kiZiWwxUvy/PUQZIhYZ</span><br /><span style="font-family: courier new,courier;">1vFM9cvcOOsYNdcBgysISdSJBnZjJMlR0Fw8vAp0xoz5gao/h+NZBy4i/10XGwrPA+hmvDyhVRG2Avu/LwcrkFADZa16L1h330w1RNgc3DiJzCpPYRm1bpveXX11clQR28xwblHpk1vq1i</span><br /><span style="font-family: courier new,courier;">P/5mcoS0CoXDZiL0vsJ+dzfl+3T/VYAAAAASUVORK5CYIKJUE5HDQoaCgAAAA1JSERSAAAAIAAAACAIBgAAAHN6evQAAAK5SURBVFjDxVfrSxRRFJ9/Jta/oyWjF5XQm6D6EkHRgygIIgj</span><br /><span style="font-family: courier new,courier;">UTcueVgqVWSRRkppEUQYWWB8ye1iGWilWlo/Ude489s7M6Zw7D9dlt53dmd29cFiWvXvO77x+51xpaaUsoSxBaUWZQ4ECy5xji2xKZDyCMlMEw6lCNiOSgwZKJK1SkcKeSealfP64t0mBj</span><br /><span style="font-family: courier new,courier;">l4Ow39MkDUL0p2RSROOtqhZdeUEYM1pBl39XCg/fEeFtWcY7G9W4csvUxjlBkCsQ4Nt9QyWVfvT6RsAKXw3aoDGATZeYIt+W1kjw7cJG0RctWDTRebbKd8A6h5pwsDb70ba3w/eUr3wt/c</span><br /><span style="font-family: courier new,courier;">mwgfw6Yft4TNMQaY7o1P2ncm4FT4ANQH/jQBJ2xv7kqIXEADDql8eS3+n8bku7oxNm+EDIM/dU92upb3T/NJGeaNbDx/AsbsLRUY5Xn92caWXY5d8RV6gWllxSg4fAEnTC90DQW13BLlgX</span><br /><span style="font-family: courier new,courier;">R2D3dcUeDVkwOthA1bXspxILWcm3HdThcfvufB26LcJpkOEAz9NKI/lzqpSEC7feol5EWnpSeSlIxCALUkApmULdjUqxQVAQnl3D/X/yQda4QBEq2TYc12By091MQ17Bg3R88nHKlQbVmH</span><br /><span style="font-family: courier new,courier;">vj89awNBLYrwT9zXY2aBAxTkGFdiSxP/Jp6FLDw+AS7GfsdJTJ2EqSO5khD43nGfBARy/ZxOQgZHe7GPM1jzUvChUtmnBAXQPcKGMJp3fdFGq6NByEhiAO4b/YptFfQJwNyQ/bZkVQGcf9</span><br /><span style="font-family: courier new,courier;">0Ja25ndIyrKBOa/f8wIpwi3X1G8UcxNu7ozUS7tiH0jBswwS3RIaF1w6LYKU/ML2+8sGnjygQswtKrVIy/Qd9qQP6LnO64q4fPAKpxyZIymHo1jWk6p1ag2BsdNwQMHcC+M5kHFJX+YlPx</span><br /><span style="font-family: courier new,courier;">pVlbCx2mZ5DzPI04k4kUwHHdskU3pH76iftG8yWlkAAAAAElFTkSuQmCC&lt;/Image&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Url type="application/x-suggestions+json" method="GET" template="https://www.google.com/complete/search?client=palemoon&amp;amp;q={searchTerms}"/&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Url type="text/html" method="GET" template="https://www.google.com/search"&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="q" value="{searchTerms}"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="ie" value="utf-8"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="oe" value="utf-8"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="aq" value="t"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="rls" value="{moz:distributionID}:{moz:locale}"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="client" condition="defaultEngine" trueValue="palemoon-a" falseValue="palemoon"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="channel" condition="purpose" purpose="contextmenu" value="rcs"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="channel" condition="purpose" purpose="keyword" value="fflb"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="channel" condition="purpose" purpose="homepage" value="np"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="source" condition="purpose" purpose="homepage" value="hp"/&gt;</span><br /><span style="font-family: courier new,courier;">&lt;/Url&gt;</span><br /><span style="font-family: courier new,courier;">&lt;SearchForm&gt;https://www.google.com/&lt;/SearchForm&gt;</span><br /><span style="font-family: courier new,courier;">&lt;/SearchPlugin&gt;</span><br /><br />You can recognize the URL that called on every search and the parameters added to the URL. For us, the parameter "q" is important. At the moment there are simple the searchterms puttet in. We want to add some extra stuff to the search terms.<br /><br />i.E. I want to remove the domains<br />experts-exchange.com<br />softonic.com<br />gutefrage.net<br /><br />so I add +-site:experts-exchange.com+-site:softonic.com+-site:gutefrage.net to every usage of {searchterms} .Put the file to the other search engine files in your firefox/browser/searchengines directory. Maybee the location can change but the XML format should be similar in all Firefox/Palemoon/wathever versions.<br /><br />You can additionaly rename your new search plugin and add it to your search engines. My one names "Google Minus" and removes some other junk domains too. It looks like this:<br /><br /><span style="font-family: courier new,courier;">&lt;!-- This Source Code Form is subject to the terms of the Mozilla Public</span><br /><span style="font-family: courier new,courier;">&nbsp;&nbsp; - License, v. 2.0. If a copy of the MPL was not distributed with this</span><br /><span style="font-family: courier new,courier;">&nbsp;&nbsp; - file, You can obtain one at http://mozilla.org/MPL/2.0/. --&gt;</span><br /><br /><span style="font-family: courier new,courier;">&lt;SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/"&gt;</span><br /><span style="font-family: courier new,courier;">&lt;ShortName&gt;Google Minus&lt;/ShortName&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Description&gt;Google Minus&lt;/Description&gt;</span><br /><span style="font-family: courier new,courier;">&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Image width="16" height="16"&gt;data:image/x-icon;base64,AAABAAIAEBAAAAAAAAB9AQAAJgAAACAgAAAAAAAA8gIAAKMBAACJUE5HDQoaCgAAAA1JSERSAAAAEAAAABIBgA</span><br /><span style="font-family: courier new,courier;">AAB/z/2EAAAFESURBVDjLpZNJSwNBEIXnt4lE4kHxovgT9BDwJHqPy0HEEOJBiAuCRg+KUdC4QS4KrpC4gCBGE3NQ48JsnZ6eZ3UOM6gjaePhQU93v6+qq2q0pqgeJj2S8EdJT1hr0OxB</span><br /><span style="font-family: courier new,courier;">tKCD5iEd8QxDYpvhvOBAuMDKURX9C9aPu4GA1GEVkzvMg10UBfYveWAWgYAP00V01fa+R9M2bA51wJvhIn3qR+ybt3D3JNQBE5sMjCIOLFpoHzOwdsLRO22qA6R6kiZiWwxUvy/PUQZIh</span><br /><span style="font-family: courier new,courier;">YZ1vFM9cvcOOsYNdcBgysISdSJBnZjJMlR0Fw8vAp0xoz5gao/h+NZBy4i/10XGwrPA+hmvDyhVRG2Avu/LwcrkFADZa16L1h330w1RNgc3DiJzCpPYRm1bpveXX11clQR28xwblHpk1v</span><br /><span style="font-family: courier new,courier;">q1iP/5mcoS0CoXDZiL0vsJ+dzfl+3T/VYAAAAASUVORK5CYIKJUE5HDQoaCgAAAA1JSERSAAAAIAAAACAIBgAAAHN6evQAAAK5SURBVFjDxVfrSxRRFJ9/Jta/oyWjF5XQm6D6EkHRgyg</span><br /><span style="font-family: courier new,courier;">IIgjUTcueVgqVWSRRkppEUQYWWB8ye1iGWilWlo/Ude489s7M6Zw7D9dlt53dmd29cFiWvXvO77x+51xpaaUsoSxBaUWZQ4ECy5xji2xKZDyCMlMEw6lCNiOSgwZKJK1SkcKeSealfP64</span><br /><span style="font-family: courier new,courier;">t0mBjl4Ow39MkDUL0p2RSROOtqhZdeUEYM1pBl39XCg/fEeFtWcY7G9W4csvUxjlBkCsQ4Nt9QyWVfvT6RsAKXw3aoDGATZeYIt+W1kjw7cJG0RctWDTRebbKd8A6h5pwsDb70ba3w/eU</span><br /><span style="font-family: courier new,courier;">r3wt/cmwgfw6Yft4TNMQaY7o1P2ncm4FT4ANQH/jQBJ2xv7kqIXEADDql8eS3+n8bku7oxNm+EDIM/dU92upb3T/NJGeaNbDx/AsbsLRUY5Xn92caWXY5d8RV6gWllxSg4fAEnTC90DQW</span><br /><span style="font-family: courier new,courier;">13BLlgXR2D3dcUeDVkwOthA1bXspxILWcm3HdThcfvufB26LcJpkOEAz9NKI/lzqpSEC7feol5EWnpSeSlIxCALUkApmULdjUqxQVAQnl3D/X/yQda4QBEq2TYc12By091MQ17Bg3R88n</span><br /><span style="font-family: courier new,courier;">HKlQbVmHvj89awNBLYrwT9zXY2aBAxTkGFdiSxP/Jp6FLDw+AS7GfsdJTJ2EqSO5khD43nGfBARy/ZxOQgZHe7GPM1jzUvChUtmnBAXQPcKGMJp3fdFGq6NByEhiAO4b/YptFfQJwNyQ/</span><br /><span style="font-family: courier new,courier;">bZkVQGcf90Ja25ndIyrKBOa/f8wIpwi3X1G8UcxNu7ozUS7tiH0jBswwS3RIaF1w6LYKU/ML2+8sGnjygQswtKrVIy/Qd9qQP6LnO64q4fPAKpxyZIymHo1jWk6p1ag2BsdNwQMHcC+M5</span><br /><span style="font-family: courier new,courier;">kHFJX+YlPxpVlbCx2mZ5DzPI04k4kUwHHdskU3pH76iftG8yWlkAAAAAElFTkSuQmCC&lt;/Image&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Url type="application/x-suggestions+json" method="GET" template="https://www.google.com/complete/search?client=palemoon&amp;amp;q={searchTerms}+-site:gutefrage.net+-site:experts-exchange.com+-site:cosmiq.de+-site:helpster.de+-site:finanzfrage.net+-site:softonic.com+-site:filehippo.com+-site:softonic.it+-site:soft32.com+-site:giga.de"/&gt;</span><br /><span style="font-family: courier new,courier;">&lt;Url type="text/html" method="GET" template="https://www.google.com/search"&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="q" value="{searchTerms}+-site:gutefrage.net+-site:experts-exchange.com+-site:cosmiq.de+-site:helpster.de+-site:finanzfrage.net+-site:softonic.com+-site:filehippo.com+-site:softonic.it+-site:soft32.com+-site:giga.de"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="ie" value="utf-8"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="oe" value="utf-8"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="aq" value="t"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;Param name="rls" value="{moz:distributionID}:{moz:locale}"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="client" condition="defaultEngine" trueValue="palemoon-a" falseValue="palemoon"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="channel" condition="purpose" purpose="contextmenu" value="rcs"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="channel" condition="purpose" purpose="keyword" value="fflb"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="channel" condition="purpose" purpose="homepage" value="np"/&gt;</span><br /><span style="font-family: courier new,courier;">&nbsp; &lt;MozParam name="source" condition="purpose" purpose="homepage" value="hp"/&gt;</span><br /><span style="font-family: courier new,courier;">&lt;/Url&gt;</span><br /><span style="font-family: courier new,courier;">&lt;SearchForm&gt;https://www.google.com/&lt;/SearchForm&gt;</span><br /><span style="font-family: courier new,courier;">&lt;/SearchPlugin&gt;</span><br /><br /><br />If you need a better Information source for how to find the search plugins and the paths, look here <a href="http://www.terminally-incoherent.com/blog/2007/02/11/creating-a-custom-firefox-search-plugin/">[1]</a>.<br /><strong>Additionally, if you changed one of the plugins, you must remove the search.json from your profile and restart firefox before the changes are effective.</strong><br /><br />[1] <a href="http://www.terminally-incoherent.com/blog/2007/02/11/creating-a-custom-firefox-search-plugin/">http://www.terminally-incoherent.com/blog/2007/02/11/creating-a-custom-firefox-search-plugin/</a></p>
<p>&nbsp;</p>
<p><strong><span style="color: #ff0000;">UPDATE:</span></strong> <br />I uploaded my actual version to Github: <a href="https://github.com/krater/GoogleMinus/tree/master" target="_blank">https://github.com/krater/GoogleMinus/tree/master</a><br /><br /></p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=20_Removing unwanted domains from your firefox google search results]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=20_Removing unwanted domains from your firefox google search results]]></guid>
      <pubDate>Sun, 16 Nov 2014 14:02:33 +0100</pubDate>
    </item>
    <item>
      <title><![CDATA[Hacking the Rigol DS1022C to 100MHz]]></title>
      <description><![CDATA[<p><strong><span style="color: #ff0000;">WARNING: Be really careful, you could brick your scope !</span></strong><br />(It's tested on firmware 03.07.01 on DS1022C,<span style="text-decoration: line-through;"> but it should work on other firmwares and DS1042C, DS1062C, ... too</span>.)<br /><span style="color: #ff0000;">WARNING AGAIN ! I have a report of one guy that bricked his DS1062C with this instructions !</span></p>
<p>&nbsp;</p>
<p>Months ago, as I digged in the DS1052E Firmware <a href="/tichyblog/admin/index.php?action=blog&amp;entry=8_Three+Rigol+DS1052E+DS1102E+Firmware+Secrets+">I found some</a> secret keycodes, but just the one that everyone knows (<strong>CH1,CH1,CH2,CH2,MATH)</strong> has any function on the DS1052.<br />But now, Cobra71 told me that one of the secret key codes has really nice functions on the older Rigol scopes like the DS1022C :)<br /><br /></p>
<p>First go to the menu from where you can go to systeminfo, this should look like this:</p>
<p><img src="/tichyblog/images/cigbacja.jpg" alt="Normal menu" width="400" height="300" /></p>
<p>Now press the button for Systeminfo and you should see this screen:</p>
<p><img src="/tichyblog/images/dicehija.jpg" alt="Systeminfo" width="400" height="300" /></p>
<p>And now, you type this code (you can type slow if you want):</p>
<p><strong>TRIGGER MENU, ACQUIRE, ACQUIRE, UTILITY, MEASURE, STORAGE, CURSOR, CH1, CH1, REF, TRIGGER MENU</strong></p>
<p>....and nothing happened....maybee....</p>
<p><strong></strong>Press Run/Stop to go back to the menu....</p>
<p><img src="/tichyblog/images/efchaade.jpg" alt="Tadaaaaaa" width="400" height="300" /></p>
<p>and TADAAAAAAAAAA ! You have a new menuentry named "Service".</p>
<p>Now you can hack your scope to up to 100MHz bandwidth:</p>
<p><img src="/tichyblog/images/jgfcadah.jpg" alt="Bandwith" width="400" height="300" /></p>
<p>DS1022C(D) = 25mhz<br />DS1042C(D) = 40mhz<br />DS1062C(D) = 60mhz<br />DS1102C(D) = 100mhz</p>
<p>You can change the serial number:</p>
<p><img src="/tichyblog/images/addaaajb.jpg" alt="change serial number" width="400" height="300" /></p>
<p>adjust the color settings:</p>
<p><img src="/tichyblog/images/abbfgfgj.jpg" alt="adjust color settings" width="400" height="300" /></p>
<p>and edit some values that you shouldn't edit :)</p>
<p><img src="/tichyblog/images/igefegca.jpg" alt="factory settings" width="400" height="300" /></p>
<p>Then you can save all this shit and be happy ;)</p>
<p><img src="/tichyblog/images/giieddjj.jpg" alt="saving all that shit" width="400" height="300" /></p>
<p>Don't be shocked when saving looks like it hangs on the 6. piece of the bar. Just wait some moments(more is better) and switch off your scope.</p>
<p>Now you have a nice 100MHz scope with just typing some keys on your keypad.</p>
<p>On the DS1052 it's really hard to get this, ATM you must make firmware downdates with manipulated firmwares, add a serial cable etc....<br />But...all the code for this menus I found in the DS1052 v2.05 firmware too !!!<br />But there is no way to switch it on :(<br />Same at v2.02. Please try that on really old firmwares of DS1052, maybee we find a version where it will work....keep me informed!</p>
<p><strong><span style="color: #ff0000;">Be really careful, you could brick your scope !</span></strong></p>
<p>&nbsp;</p>
<p>Many thanks to Cobra71 for the hint and the pictures.<br /><br /></p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=17_Hacking Rigol DS1022C DS1042C DS1062C DS1102C]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=17_Hacking Rigol DS1022C DS1042C DS1062C DS1102C]]></guid>
      <pubDate>Sat, 04 May 2013 5:43:49 +0200</pubDate>
    </item>
    <item>
      <title><![CDATA[Low-Cost Spray Etcher in Action]]></title>
      <description><![CDATA[<p>This is the first test of my self-made spray etching machine. Maybee I will release some information and pictures in the next weeks. <br />The light you see is from the heater, it's just a halogen lamp.</p>
<p>&nbsp;</p>
<center><iframe src="http://www.youtube.com/embed/oX750KhdGk0" frameborder="0" width="560" height="315"></iframe></center>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=16_Low-Cost Spray Etching]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=16_Low-Cost Spray Etching]]></guid>
      <pubDate>Thu, 07 Mar 2013 21:18:32 +0100</pubDate>
    </item>
    <item>
      <title><![CDATA[Dojo DnD with position:fixed, a quick and dirty hack]]></title>
      <description><![CDATA[<p>Dojo is a mighty javascript framework that helps you to use mouse moveable windows in your webapp with only some lines of code.<br />Thats really nice, but will only work with position:absolute styled objects. When you want to have a window with a fixed position on the<br />screen (position:fixed), its only fixed until you moved it one time. Then dojo will set it to absolute.<br /><br />A quick'n'dirty hack to prevent dojo to do that is to patch the corresponding line in the Mover.js from<br />s.position = "absolute";&nbsp;&nbsp;&nbsp; // enforcing the absolute mode<br />to<br />s.position = "fixed";&nbsp;&nbsp;&nbsp; // enforcing the absolute mode<br /><br />Problem is, that then your absolute windows will all work as fixed.<br />Better, but not perfect is this patch:<br /><br />--- Mover.js.uncompressed.js&nbsp;&nbsp;&nbsp; 2012-09-20 15:58:23.000000000 +0200<br />+++ Mover.js&nbsp;&nbsp;&nbsp; 2012-11-06 22:15:45.000000000 +0100<br />@@ -54,7 +54,9 @@<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event processor for onmousemove/ontouchmove<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // e: Event<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mouse/touch event<br />-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autoscroll.autoScroll(e);<br />+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(this.node.style.position!="fixed")<br />+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autoscroll.autoScroll(e);<br />+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var m = this.marginBox;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.host.onMove(this, {l: m.l + e.pageX, t: m.t + e.pageY}, e);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; event.stop(e);<br />@@ -75,6 +77,7 @@<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; switch(s.position){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case "relative":<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case "absolute":<br />+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case "fixed":<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // assume that left and top values are in pixels already<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; l = Math.round(parseFloat(s.left)) || 0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t = Math.round(parseFloat(s.top)) || 0;<br /><br /><br />It helps dojo to handle fixed positions too. Additional it deactivates the autoscrolling when moving the window if it is fixed.<br />There are some quirks when you move the window, but it works.<br />Important is, that you don't set the position style with a class or id in a css file. You MUST it set directly in HTML, like this:</p>
<pre>&nbsp;&lt;div id="mywindow" class="moveable" style="position: fixed;"&gt;</pre>
<p>Thats the only way to let dojo know that the position is fixed.</p>
<p>I posted a <a href="http://bugs.dojotoolkit.org/ticket/16299" target="_blank">feature request</a> on the Dojo website, but i don't know if they will apply my patch, because the mentioned problems.</p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=14_Dojo DnD with position:fixed]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=14_Dojo DnD with position:fixed]]></guid>
      <pubDate>Tue, 06 Nov 2012 22:41:44 +0100</pubDate>
    </item>
    <item>
      <title><![CDATA[CR16C Processor Plugin for IDA Pro]]></title>
      <description><![CDATA[<p>I started to reverse engineer the Gigaset M34 DECT USB Stick. In his Baseband-Chip (SC14428) works a CR16C CPU. I didn't found any usable disassembler for this CPU, so the first step should be to write my own. Here it is....</p>
<p>...its not complete, there are a lot of not fully supported opcodes. They will follow in the next months, if I work longer on the SC14428.</p>
<p>As usual you find the source on my <a title="Github Krater" href="https://github.com/krater/">github account</a>, or checkout the code via</p>
<p><strong>git clone git://github.com/krater/CR16C-IDA-Pro-Plugin.git</strong></p>
<p>Its licensed under GPL v2.</p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=13_CR16C Disassembler Processor IDA Pro Plugin]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=13_CR16C Disassembler Processor IDA Pro Plugin]]></guid>
      <pubDate>Tue, 12 Jun 2012 1:02:26 +0200</pubDate>
    </item>
    <item>
      <title><![CDATA[Linux on a XUPv2 FPGA Board]]></title>
      <description><![CDATA[<p>Since some days, i try to install a toolchain consisting of</p>
<ul>
<li>Xilinx Embedded Development Kit 8.1</li>
<li>Xilinx ISE 8.1</li>
<li>Xilinx USB Cable Driver and</li>
<li>crosstool-ng-1.6.1</li>
</ul>
<p>on my Debian Squeeze Linux with 2.6.37.3 Kernel. I ran in some ugly linux typical problems, from these I want to show my solutions, to safe me and other people time for the next installation.</p>
<p>But first, some links to tutorials and projects that will help you to syntesize, build, install and use your FPGA linux on a XUPv2 Pro board with the use of one PowerPC core.</p>
<ul>
<li><a href="http://www.xilinx.com/support/download/index.htm">[1] Xilinx Download Center, for EDK,ISE and Service Packs</a></li>
<li><a href="http://www.xilinx.com/univ/xupv2p.html">[2] XUPV2P demo projects and Base System Builder</a></li>
<li><a href="http://www.aclevername.com/articles/linux-xilinx-tutorial/index.html">[3] The best tutorial for running Linux on a FPGA i ever seen</a></li>
<li><a href="http://getglitched.com/?page_id=285">[4] A shortened copy&amp;paste of this tutorial</a></li>
<li><a href="http://www.rmdir.de/~michael/xilinx/">[5] Xilinx USB Cable Driver</a> &amp; <a href="https://wiki.kip.uni-heidelberg.de/KIPwiki/index.php/Xilinx-USB-Treiber">[6] Installation tutorial (german)</a></li>
<li><a href="http://www.fpgadeveloper.com/tag/xupv2p">[7] Programming tutorials for XUPv2</a></li>
</ul>
<p>I installed all the Xilinx things in /opt/xilinx/ , maybee you must change some paths to your paths.</p>
<p>&nbsp;</p>
<h3>Problem 1:</h3>
<p>You have created a new project in EDK with the Base System Builder Wizard, but when you try to synthesize it, all runs perfect, but finally you get a "Build Failed" without any explaination.</p>
<p><strong>Solution:</strong> Its a upper/lower case problem in the code. Simply install Xilinx ISE 8.1 <strong>SP3</strong>.</p>
<p>&nbsp;</p>
<h3>Problem 2:</h3>
<p>You want to build the test applications generated from Base System Builder Wizard and got a error like "Can't find gmake".</p>
<p><strong>Solution:</strong> ln -s /usr/bin/make /usr/bin/gmake should help.</p>
<p>&nbsp;</p>
<h3>Problem 3:</h3>
<p>You run into problems when you want to install the Jungo USB Driver for the Xilinx USB Cable.</p>
<p><strong>Solution:</strong> The Jungo driver doesn't works with Kernel &gt;2.6.18. Use the open source cable driver linked above[5].</p>
<p>&nbsp;</p>
<h3>Problem 4:</h3>
<p>You tried this driver and he doesn't found your cable.</p>
<p><strong>Solution:</strong> Maybee you forgot to install the new cable firmware. Follow the instructions from [6](see Firmware). If this not helps, maybee you've a different udev version. Try to use this code here for you /etc/udev/rules.d/xusbdfwu.rules :</p>
<p>iATTRS{idVendor}=="03fd", ATTRS{idProduct}=="0008", SYMLINK+="windrvr6"<br />SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd",ATTRS{idProduct}=="0007", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode"<br />SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd",ATTRS{idProduct}=="0009", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode"<br />SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd",ATTRS{idProduct}=="000b", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode"<br />SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd",ATTRS{idProduct}=="000d", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode"<br />SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idVendor}=="03fd",ATTRS{idProduct}=="000f", RUN+="/sbin/fxload -v -t fx2 -I /usr/share/xusbdfwu.hex -D $tempnode"<br />ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="03fd", MODE="666"</p>
<h3>&nbsp;</h3>
<h3>Problem 5:</h3>
<p>You started impact, tried to initialize the JTAG chain, and impact needed 10 minutes to update the programmer firmware. Then you tried again and got some dynamic linker error messages.</p>
<p><strong>Solution:</strong> Maybee you messed up your environment variables. Try first to restart your shell, then maybee the whole system, before you dig deeper in your linux.</p>
<p>&nbsp;</p>
<h3>Problem 6:</h3>
<p>crosstool-ng stops by downloading a file. Mostly one of the debugger-packs.</p>
<p><strong>Solution:</strong> Download the tarball manually and copy it to the path where crosstool-ng saves the tarballs.<br />On my system, this path was "/opt/crosstool-ng-1.6.1/.build/tarballs/".You can download the debugger files here: <a href="http://ftp.gnu.org/gnu/gdb/">gdb</a>, <a href="http://sourceforge.net/projects/duma/files/duma/2.5.15/duma_2_5_15.tar.gz/download">duma</a></p>
<h3>&nbsp;</h3>
<h3>Problem 7:</h3>
<p>Compiling TestApp_Memory drops the following lines:</p>
<p>./ppc405_0/lib//libxil.a(xil_printf.o)(.text+0x58)</p>
<div>: In function `padding':<br />/cygdrive/d/Project/kernel3/ppc405_0/libsrc/standalone_v1_00_a/src/xil_printf.c:50: undefined reference to `outbyte'<br />./ppc405_0/lib//libxil.a(xil_printf.o)(.text+0x178): In function `outnum':<br />/cygdrive/d/Project/kernel3/ppc405_0/libsrc/standalone_v1_00_a/src/xil_printf.c:111: undefined reference to `outbyte'<br />./ppc405_0/lib//libxil.a(xil_printf.o)(.text+0x260): In function `xil_printf':<br />/cygdrive/d/Project/kernel3/ppc405_0/libsrc/standalone_v1_00_a/src/xil_printf.c:228: undefined reference to `outbyte'<br />./ppc405_0/lib//libxil.a(xil_printf.o)(.text+0x3a4):/cygdrive/d/Project/kernel3/ppc405_0/libsrc/standalone_v1_00_a/src/xil_printf.c:228: undefined reference to `outbyte'<br />./ppc405_0/lib//libxil.a(xil_printf.o)(.text+0x3dc):/cygdrive/d/Project/kernel3/ppc405_0/libsrc/standalone_v1_00_a/src/xil_printf.c:228: undefined reference to `outbyte'<br />./ppc405_0/lib//libxil.a(xil_printf.o)(.text+0x48c):/cygdrive/d/Project/kernel3/ppc405_0/libsrc/standalone_v1_00_a/src/xil_printf.c:66: more undefined references to `outbyte' follow<br />collect2: ld returned 1 exit status<br />make: *** [TestApp_Memory/executable.elf] Error 1</div>
<div><strong>Solution: </strong>Set the interface for stdin/stdout in Software-&gt;Plattform Settings-&gt;OS and Library.</div>
<h3>Problem 8:</h3>
<p>Compiling the kernel ends with:</p>
<p>DTC: dts-&gt;dtb&nbsp; on file "arch/powerpc/boot/dts/virtex405-mine.dts"<br />ERROR (duplicate_label): Duplicate label 'DDR_512MB_64Mx64_rank2_row13_col10_cl2_5' on /memory@10000000 and /memory@0<br />ERROR: Input tree has errors, aborting (use -f to force output)<br />make[1]: *** [arch/powerpc/boot/virtex405-mine.dtb] Error 2<br />make: *** [simpleImage.virtex405-mine] Error 2</p>
<p><strong>Solution:</strong> Simply delete the lines:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DDR_512MB_64Mx64_rank2_row13_col10_cl2_5: memory@10000000 {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; device_type = "memory";<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reg = &lt; <strong>0x10000000</strong> 0x10000000 &gt;;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } ;</p>
<p>from your "arch/powerpc/boot/dts/virtex405-mine.dts".</p>
<p>&nbsp;</p>
<h3>Problem 9:</h3>
<p>You try to load a reference design from the xilinx website with EDK newer than 7.1 and get the following error:</p>
<p>Reving up design to EDK 8.1...ERROR:MDT - Unrecoverable error(s) were encountered while updating your project</p>
<p><strong>Solution:</strong> This problem happens because of the a hardcoded libname. In my case, I missed libdb-4.1.so. I symlinked a newer version with:</p>
<p>ln -s /usr/lib/libdb-4.2.so /usr/lib/libdb-4.1.so</p>
<p>and all worked like a charm.</p>
<p>&nbsp;</p>
<h3>Problem 10:</h3>
<p>You try to start the Floorplanner or FPGA-Editor in Xilinx ISE and you got just a Message like:</p>
<p>"Process "View/Edit Placed Design (Floorplanner)" completed successfully"</p>
<p><strong>Solution:</strong>&nbsp;libXm.so.3 is missing. Install libmotif3 or libmotif4 and create a link to from libXm.so.4 to libXm.so.3. Additionally add this line to your settings.sh:</p>
<p>export DISPLAY=:0</p>
<p>On my system, it needs 30s where nothing happens before the editor starts.</p>
<p>&nbsp;</p>
<p>to be continued...</p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=12_Linux on XILINX virtex-2 pro XUPv2 FPGA PowerPC Board ]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=12_Linux on XILINX virtex-2 pro XUPv2 FPGA PowerPC Board ]]></guid>
      <pubDate>Thu, 03 May 2012 3:44:27 +0200</pubDate>
    </item>
    <item>
      <title><![CDATA[tichyBlog 1.0 released]]></title>
      <description><![CDATA[<p>If you want a small and simple software that fits exactly your needs, it's often better to write your own, as to test tousands of existing softwares and to realize, that there is nothing that can satisfy you completly. Thats the reason why i wrote tichyBlog. I know, with publishing the source, i only increase the number of softwares that you can test to realize too, that you should write your own. But maybee you can use my source as a startpoint.</p>
<h2>Features</h2>
<ul>
<li>Blogging software specialized for low frequency blogging</li>
<li>Simple CMS functions</li>
<li>Included WYSIWYG Editor</li>
<li>Full configurable over templates</li>
<li>Resource-Efficient</li>
<li>No need for SQL-Server because using SQLite</li>
<li>Logging and statistic functions</li>
<li>Not used any framework, to make the source as small and simple as possible</li>
<li>GPL v2 licensed</li>
</ul>
<h2>Integrated Software</h2>
<ul>
<li><a title="TinyMCE" href="/tichyblog/admin/tinymce.moxiecode.com">TinyMCE</a></li>
<li>TinyMCE picture plugin</li>
<li><a title="phpLiteAdmin" href="http://code.google.com/p/phpliteadmin/">phpLiteAdmin</a></li>
<li><a title="access logger" href="/tichyblog/index.php?action=blog&amp;entry=5_PHP+Access+Log+And+Statistic+Class">accesslogger</a></li>
</ul>
<h2>Todo</h2>
<ul>
<li>Limit displayed articles</li>
<li>Function to delete files from the server</li>
<li>Some more statistic things</li>
<li>Show changes in menu without delay</li>
<li>Add possibility to comment articles</li>
<li>Human readable date in article editor</li>
</ul>
<h2>Source Code</h2>
<p>You will find it on <a title="Github Site" href="https://github.com/krater/logaccess" target="_blank">my github site</a> or checkout the recent version with</p>
<p><strong>git clone&nbsp;git://github.com/krater/tichyblog.git</strong></p>
<p><br /><br /></p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=3_tichyBlog 1.0 tiny little small blogging cms software php]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=3_tichyBlog 1.0 tiny little small blogging cms software php]]></guid>
      <pubDate>Fri, 06 Apr 2012 1:23:23 +0200</pubDate>
    </item>
    <item>
      <title><![CDATA[Rigol Homebrew 4 All]]></title>
      <description><![CDATA[<p>Hi People !</p>
<p>Some time ago, I managed it to start my own software on a Rigol scope. I wrote some lines of code and manually patched the firmware at the right place to start it at the right time. It was hard and time-consuming to develop software in this way, because you have to flash the firmware again and again and again until it works as it should. The fear that your next manual manipulated firmware update will brick your device was always there.</p>
<p>This can't be the way for the masses, either for a big open source community...</p>
<p>To solve this problem, I developed a toolchain that makes it possible to build your own software, link it against the installed firmware, upload and start it in the normal operation of the oscilloscope. Its just need one time to flash a patched firmware that enhances the serial interfaces with some read/write and call functions.</p>
<p>I started a wiki to collect all the work thats done on the Rigol devices with focus to reverse engineering and homebrew programming. You will find it at <a href="http://rigolwiki.codenaschen.de">http://rigolwiki.codenaschen.de</a>. There is the source code of the toolchain and some little installation howto's.</p>
<p>To show you a little example of what's actually possible with the toolchain, I recorded this little video...</p>
<p>&nbsp;</p>
<p><iframe style="display: block; margin-left: auto; margin-right: auto;" src="http://www.youtube-nocookie.com/embed/vepLEhrALzo?hd=1" frameborder="0" width="420" height="315"></iframe></p>
<p>&nbsp;</p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=10_Rigol DS1052e Homebrew 4 All]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=10_Rigol DS1052e Homebrew 4 All]]></guid>
      <pubDate>Sat, 31 Dec 2011 0:53:50 +0100</pubDate>
    </item>
    <item>
      <title><![CDATA[Three Rigol DS1xxx Firmware Secrets]]></title>
      <description><![CDATA[<p>Here i show you some partly useful and interesting hidden functions that i found by reverse engineering the Rigol DS1xxx Firmware file. It's only tested for version 2.05 of DS1052E and DS1102D firmware.</p>
<p><strong><span style="color: #ff0000;">I advise you to don't try it at any other version, maybee it could destroy your scope!</span></strong></p>
<p>&nbsp;</p>
<h2>Secret 1: Recovering the Key Lock Code and Unlocking</h2>
<p>If you locked your Rigol with the key lock function from the utilities menu and forgot the code, you can simply type the command</p>
<p><strong>:info:keys? (alt+numblock 0+numblock 1+numblock 0)</strong></p>
<p>to the serial console of your scope. As result you get the six digit code to unlock it.</p>
<p>&nbsp;</p>
<h2>Secret 2: Lock and Unlock AUTO-Key</h2>
<p>You can lock and unlock the AUTO-Key by putting a file with the name <strong>AUTO_KEY_Lock&amp;Unlock.RGL</strong> to your USB stick and plug it in your Rigol DS1xxx scope. The file consists of the text <br /><strong>RigolTechnologies,Inc.2005Ds1000.Theprogramemadebygongguiqiang,huangzhenandzhaocaiyun.</strong><br />bytewise xor'ed with 0x19. I don't know why this function exists, but i suppose a development function or a little easter egg.</p>
<p>If you want to try it out, you can download the file <a href="/files/AUTO_KEY_Lock&amp;Unlock.RGL">here</a>.</p>
<p>&nbsp;</p>
<h2>Secret 3: Key Combinations</h2>
<p>If you want more infos about firmware and hardware version, you can type</p>
<p><strong>CH1,CH1,CH2,CH2,MATH</strong></p>
<p>at the Utility-&gt;System Information.<strong> </strong>Another combination is<strong></strong></p>
<p><strong>TRIGGER MENU,ACQUIRE,ACQUIRE,UTILITY,MEASURE,STORAGE,CURSOR,CH1,CH1,REF,TRIGGER MENU</strong></p>
<p>at the same screen. What happens is.....nothing.....<br />Okay, not really nothing, it happens the same as when you send <strong>:info:systemservice on</strong> to the serial console, but i seen no difference between systemservice on or off. Maybee someone else knows more (?)</p>
<p>I found a third key combination but i don't know from where you must use it. I don't know what it does, so maybee you should be careful.</p>
<p><strong>50%,STORAGE,DISPLAY,MEASURE,CH1,REF,MATH,AUTO</strong></p>
<p><strong><br /></strong></p>]]></description>
      <link><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=8_Three Rigol DS1052E DS1102E Firmware Secrets ]]></link>
      <dc:creator>Author</dc:creator>
      <guid><![CDATA[http://codenaschen.de/tichyblog/?action=blog&entry=8_Three Rigol DS1052E DS1102E Firmware Secrets ]]></guid>
      <pubDate>Tue, 08 Nov 2011 21:52:49 +0100</pubDate>
    </item>
  </channel>
</rss>

