<?xml version="1.0" encoding="utf-8" ?>

<feed version="0.3" 
   xmlns="http://purl.org/atom/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/">
    
    <link href="http://blog.h2o.ch/rss.php?version=atom0.3" rel="service.feed" title="Jun's Tech Blog" type="application/x.atom+xml" />
    <link href="http://blog.h2o.ch/"                        rel="alternate"    title="Jun's Tech Blog" type="text/html" />
    <link href="http://blog.h2o.ch/rss.php?version=2.0"     rel="alternate"    title="Jun's Tech Blog" type="application/rss+xml" />
    <link rel="stylesheet" href="" type="text/css" />
    <title mode="escaped" type="text/html">Jun's Tech Blog</title>
    <tagline mode="escaped" type="text/html">Tipps &amp; Tricks</tagline>
    <id>http://blog.h2o.ch/</id>
    <modified>2023-12-17T19:58:33Z</modified>
    <generator url="http://www.s9y.org/" version="2.5.0">Serendipity 2.5.0 - http://www.s9y.org/</generator>
    <dc:language>en</dc:language>
    <info mode="xml" type="text/html">
        <div xmlns="http://www.w3.org/1999/xhtml">You are viewing an ATOM formatted XML site feed. Usually this file is inteded to be viewed in an aggregator or syndication software. If you want to know more about ATOM, please visist <a href="http://atomenabled.org/">Atomenabled.org</a></div>
    </info>

    <entry>
        <link href="http://blog.h2o.ch/archives/48-Review-HackyPi-SB-Components.html" rel="alternate" title="Review: HackyPi (SB Components)" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2023-08-27T23:42:00Z</issued>
        <created>2023-08-27T23:42:00Z</created>
        <modified>2023-12-17T19:58:33Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=48</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=48</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/48-guid.html</id>
        <title mode="escaped" type="text/html">Review: HackyPi (SB Components)</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><span data-mce-style="font-weight: 400;" style="font-weight: 400;">The device is advertised as follows: &quot;Whether you&#39;re a beginner or an experienced coder, HackyPi from SB Components is a versatile and accessible platform for expanding your knowledge and skills in the exciting world of cybersecurity and coding.&quot; I</span><span _d-id="1701" class="--l --r sentence_highlight"> am curious to see if this dream comes true</span>.</p>

<p>I&#39;ve ordered <a href="https://www.kickstarter.com/projects/diytech/hackypi-your-diy-tool-for-learning">HackyPi on kickstarter.com</a> and I&#39;ve received it in May 2023. You can buy <a href="https://shop.sb-components.co.uk/products/hackypi-compact-diy-usb-hacking-tool">HackyPi on sb-components.co.uk</a>.</p>

<p><span _d-id="768" class="--l --r sentence_highlight"><span _d-id="770" class="--l --r hover:bg-[#B4DAE8]">There is another project called <a href="https://github.com/nimarty/hackypi">Hacky Pi</a></span><span _d-id="786" class="--l --r hover:bg-[#B4DAE8]"> which is completely different and based on a standard Raspberry Pi.</span></span></p>

<p>If you have already used Raspberry Pi Pico (RP2040) and CircuitPython, it&#39;s very easy to program. But if it&#39;s your first time it&#39;s important to get familiar with two different ways to edit your scripts.</p>

<p>If you connect the HackyPi to a USB port then a volume named HACKYPI is mounted by default. And if you use a text editor and save code.py then it will be reloaded immediately. You could change this behavior by setting supervisor.disable_autoreload().</p>

<p>CircuitPython and the computer are accessing the same filesystem simultaneously. Thats why it&#39;s best to use either one or the other. I recommend using the latest version of <a href="https://thonny.org/">Thonny</a> which is able to manage the files directly in CircuitPython over the USB serial connection. There are instructions available how to <a href="https://github.com/sbcshop/HackyPi-Software#setup-hackypi">setup HackyPi</a>.</p>

<p>You can disable mounting of HACKYPI if you don&#39;t need to access it from your computer. First boot.py is executed and then code.py. You only need to enter following to boot.py:</p>

<pre>
<code class="language-python">import storage
storage.disable_usb_drive()</code></pre>

<p>Verify code.py that there is no storage.enable_usb_drive() which would mount HACKYPI again.</p>

<p>Normally you can repair filesystem errors without any issues but when it&#39;s unsuccessful then you may need to re-flash CircuitPython. Be sure to get the firmware <a href="https://circuitpython.org/board/raspberry_pi_pico/">from the CircuitPython Website</a> as the firmware.u2f from <a href="https://github.com/sbcshop/HackyPi-Software">github.com/sbcshop</a> is outdated and <a href="https://github.com/sbcshop/HackyPi-Software/issues/4">doesn&#39;t work</a>. Warning: This will erase all scripts and other files which were saved on your HackyPi! After flashing do not forget to copy the lib folder (and all subdirs and files) to HACKYPI. Always keep a backup somewhere else.</p>

<h3>Pros</h3>

<ul>
	<li>Raspberry Pi Pico RP2040 with a 240x135px TFT display in a nice a 3D printed black enclosure.</li>
	<li>It only costs ~USD 20</li>
	<li><a href="https://github.com/sbcshop/HackyPi-Software/tree/main/examples">Example payloads</a> for Windows and MacOS are available.</li>
	<li><span _d-id="12309" class="--l --r sentence_highlight">A display is much better suited to indicate the current program status than an led which lights green or flashes red</span>.</li>
</ul>

<h3>Cons</h3>

<ul>
	<li>I couldn&#39;t find any community to share experiences and payloads with other users. You can find answers or ask new questions at <a href="https://github.com/sbcshop/HackyPi-Software/issues">issues on github.com</a> (<s>which seems to be unmaintained</s> Update: It seems to be updated very infrequently by the maker) or ask SB Components for help.</li>
	<li>Most of the examples are poorly documented.</li>
	<li>Why there are no examples provided for Linux? For Gnome use Alt-F2 and open gnome-terminal. Use keyboard_layout.write(&quot;\n&quot;) instead of keyboard.send(Keycode.ENTER), e.g.
	<pre>
<code class="language-python"># open gnome-terminal on linux
keyboard.send(Keycode.ALT, Keycode.F2)
time.sleep(1)
keyboard_layout.write("gnome-terminal\n")
time.sleep(1)

# list ip addresses
keyboard_layout.write("ip address list\n")

# close terminal after 3 seconds
time.sleep(3)
keyboard_layout.write("exit\n")</code></pre>
	</li>
	<li><s>The <a aria-describedby="item-type-24" class="Link--primary" href="https://github.com/sbcshop/HackyPi-Software/tree/main/examples/Display_images/Display_Images_from_SDCard">Display_Images_from_SDCard </a>example should be replaced by some other script which makes more sense. It takes almost 3 minutes to load a full screen image. I&#39;ve tried different SD cards but the speed was equally slow and <span _d-id="13188" class="--l --r sentence_highlight"><span _d-id="13190" class="--l --r hover:bg-[#B4DAE8]">I</span> <span _d-id="13194" class="--l --r hover:bg-[#B4DAE8]">just</span> <span _d-id="13198" class="--l --r hover:bg-[#B4DAE8]">spent</span> <span _d-id="13202" class="--l --r hover:bg-[#B4DAE8]"><span _d-id="13215" class="--l --r bg-[#B4DAE8] text-[#01557C]">unnecessary</span></span> <span _d-id="13206" class="--l --r hover:bg-[#B4DAE8]">time</span> <span _d-id="13210" class="--l --r hover:bg-[#B4DAE8]">debugging</span><span _d-id="13213" class="--l --r hover:bg-[#B4DAE8]">.</span></span></s> The internal storage is<span class="PRIVATE_TreeView-item-content-text"><span> much faster: <a href="https://github.com/sbcshop/HackyPi-Software/tree/main/examples/Display_images/Display_Images_FromHackyPi">Display_Images_FromHackyPi</a></span></span> requires only ~4 seconds for a full screen image. Update: This issue has been fixed by not rotating the image. But keep in mind that only ~1004kB are allocated for the internal storage. The lib directory is 70kB and each image requires ~100kB so there is not much space left.</li>
	<li>HackyPi is for software hackers only. Unfortunately there is nothing you can really do as a hardware hacker, but to be fair it was never intended for this purpose. On the PCB there are no pads with GPIO pins to solder additional components like switches or sensors.</li>
	<li>The only button which is available is BOOT, and it&#39;s reserved for flashing and is normally not accessible from CircuitPython. It would have been nice to select the OS and payload by pressing a button. Following hack might work but <span _d-id="1959" class="--l --r sentence_highlight">I haven&#39;t <span _d-id="1980" class="--l --r hover:bg-[#B4DAE8]">tested it yet</span></span>: <a href="https://gist.github.com/jepler/c7676f0c5fe4eab9c584424d997a7991">Reading RP2040 BOOTSEL pin from code</a>. With some additional buttons this would be much easier to implement.</li>
	<li>No WiFi connectivity</li>
	<li>No USB-C connector or adapter included</li>
</ul>

<h3>FAQ</h3>

<ul>
	<li>How to prevent autoreload when files are copied to the USB mass storage device?
	<pre>
<code class="language-python">supervisor.disable_autoreload()</code></pre>
	</li>
	<li>How to disable USB mass storage device?
	<pre>
<code class="language-python">import storage
storage.disable_usb_drive()</code></pre>
	</li>
	<li>How to change the name of the USB mass storage device?<br />
	Try the new example <a href="https://github.com/sbcshop/HackyPi-Software/blob/main/examples/rename_device_script.py">rename_device_script.py</a> with the default label:
	<pre>
<code class="language-python">''' 
This script rename you device from default circuitpython to your favorite name,
Just save this script as code.py in HackyPi, then remove and re-insert.
'''
import storage
storage.remount("/", readonly=False)
m = storage.getmount("/")
m.label = "HACKYPI"    # replace name which you are interested for your device
storage.remount("/", readonly=True)
storage.enable_usb_drive()</code></pre>
	</li>
	<li>Is <a href="https://www.youtube.com/watch?v=Qg1M3jUCPgw">keystroke reflection</a> possible like with the <a href="https://shop.hak5.org/products/usb-rubber-ducky">USB Rubber Ducky</a>?<br />
	No, probably not yet. It might be possible in future CircuitPython versions.</li>
	<li>Is it possible to display images from the computer on the HackyPi?<br />
	Yes, I think its possible to run some code on the computer and send the scaled bmp images over the USB serial connection but I assume it will be very slow.</li>
	<li>I can see messages that the images are loaded correctly but the display stays black, why?<br />
	Check if the backlight is turned on:
	<pre>
<code class="language-python"># turn on backlight
tft_bl = board.GP13
led = digitalio.DigitalInOut(tft_bl)
led.direction = digitalio.Direction.OUTPUT
led.value=True</code></pre>
	</li>
</ul>

<h3>Conclusion</h3>

<p>The LCD screen is a good replacement for status LEDs and clearly shows the program state but otherwise HackyPi is not very beginner friendly. The examples aren&#39;t very useful and often not documented. The hardware has many limitations: No additional buttons and the SD card speed is very slow. Unfortunately, nobody seems to use this device which means you only have a few examples from SB Components to start with. Some examples are broken and do not work. <s>The issues are not getting fixed which makes it even worse</s>. Update: Two days after posting my review some issues have been resolved but I haven&#39;t tested them yet. I&#39;ve still haven&#39;t found a community to share experiences and payloads. That&#39;s why I can&#39;t recommend HackyPi for beginners.</p>

<h3>Alternatives</h3>

<p>I you&#39;re really interested in USB security I would rather buy a <a href="https://shop.hak5.org/products/usb-rubber-ducky">USB Rubber Ducky</a>, <a href="https://hak5.org/products/omg-cable">O.MG Cable</a> or <a href="https://hak5.org/products/bash-bunny">Bash Bunny</a> which is better documented has many more features and lots of examples to explore.</p>

<p>If you want a similar device like the HackyPi with a LCD screen then a <a href="https://www.aliexpress.com/item/1005003281043979.html">LILYGO&reg; T-Display</a> seems to be the better choice. It costs ~USD 18, shipping and case included. There is no SD card slot but it has three additional buttons (one of them is the reset button) and a red LED. It&#39;s very similar but in my opinion it&#39;s more <span class="JCzEY ZwRhJd"><span class="CSkcDe">versatile than the HackyPi and is suitable </span></span>for both software and hardware hackers<span class="JCzEY ZwRhJd"><span class="CSkcDe">. Some GPIOs for the LCD are different but it&#39;s easy to run most of the HackyPi </span></span>examples on a <a href="https://www.aliexpress.com/item/1005003281043979.html">LILYGO&reg; T-Display</a> <span class="JCzEY ZwRhJd"><span class="CSkcDe">by modifying only a few lines and adding some code to drive the PWR_EN</span></span> pin (I assume to conserve power when a LiPo battery is connected for standalone operation which doesn&#39;t make sense as a HackyPi replacement). Otherwise the LCD stays dark:</p>

<pre>
<code class="language-python"># LILYGO(R) T-Display - same ST7789 1.14" lcd, but on different GPIO
tft_clk = board.GP2 # must be a SPI CLK
tft_mosi= board.GP3 # must be a SPI TX
tft_rst = board.GP0
tft_dc  = board.GP1
tft_cs  = board.GP5
tft_bl  = board.GP4

# PWR_EN to enable 3.3V for the peripherals
pwr_en  = board.GP22 # PWR_EN

#define PWR_EN pin to enable 3.3V
power = digitalio.DigitalInOut(pwr_en)
power.direction = digitalio.Direction.OUTPUT
power.value=True</code></pre>

<p>You need a passive USB-C(m) to USB-A(m) cable to connect the board with the computer which is not included. To connect it to a computer having an USB-C port you need an additional USB-A(f) to USB-C(m) adapter. A standard USB-C(m) to USB-C(m) cable doesn&#39;t work as it contains active components for USB PD protocol which is unsupported on the <a href="https://www.aliexpress.com/item/1005003281043979.html">LILYGO&reg; T-Display</a>. But I&#39;ve found a <a href="https://www.adafruit.com/product/5328">USB Type C Plug to Plug Adapter</a> which works great to connect the board to a USB-C(f) port. And the <a href="https://www.adafruit.com/product/5329">USB-A Plug to USB-C Plug Adapter</a> seems to be the ideal adapter for a USB-A(f) port.</p>

<p>Be sure to install <a href="https://circuitpython.org/board/raspberry_pi_pico/">CircuitPython for RP2040</a> and not for the &quot;T-Display RP2040 by LILYGO&quot; which uses a different module to drive the LCD and is incompatible whith the code provided for HackyPi.</p>

<ul>
</ul>
 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/47-Lightify-Gateway-Wi-Fi-Update-auf-1.8.3.0-schlaegt-fehl.html" rel="alternate" title="Lightify Gateway: Wi-Fi Update auf 1.8.3.0 schlägt fehl" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2021-09-17T23:46:00Z</issued>
        <created>2021-09-17T23:46:00Z</created>
        <modified>2021-09-17T23:46:00Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=47</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=47</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/47-guid.html</id>
        <title mode="escaped" type="text/html">Lightify Gateway: Wi-Fi Update auf 1.8.3.0 schlägt fehl</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                Ich hatte noch einen alten Lightify Gateway rumliegen, und ich wollte ihn im September 2021 nach der Abschaltung der Lightify-Server noch ein letztes Mal updaten.<br /><br />
<br /><br />
Folgendes wurde in der App unter Updates angezeigt:<br /><br />
<br /><br />
Gateway Wi-Fi<br /><br />
Current Version: 1.7.15.0<br /><br />
New Version: 1.8.3.0<br /><br />
What's New<br /><br />
<br /><br />
Gateway ZigBee<br /><br />
Current Version: 1.2.0.68<br /><br />
Update Details<br /><br />
<br /><br />
Jedes Mal nach dem starten der App nervte mich die Update-Meldung. Aber auch wenn ich das Update gestartet habe, flackerte die LED ca. 20-30s orange (=Flashvorgang?), und wechselte danach wieder auf grün, aber die App reagierte nicht mehr, und nach dem Neustart der App blieb die Version unverändert. Ein Gateway-Reset und Wifi neu konfigurieren half auch nicht, und eine Antwort vom Support blieb aus.<br /><br />
<br /><br />
Im Packet Capture sah ich kurz nach dem Start des Updates eine unverschlüsselte HTTP-Verbindung nach:<br /><br />
http://s3-eu-west-1.amazonaws.com/lightify-osram-firmware/firmware/release/Cloud/GW/zigbeegw_MC200_V1.8.3.0.bin<br /><br />
Download der URL ist problemlos im Browser möglich. Gemäss Info unter "What's New" waren frühere Versionen 1.8.2.0, 1.7.17.0 und 1.7.15.0, und letztere war installiert. Und auch diese Versionen waren alle verfügbar, z.B.<br /><br />
http://s3-eu-west-1.amazonaws.com/lightify-osram-firmware/firmware/release/Cloud/GW/zigbeegw_MC200_V1.8.2.0.bin<br /><br />
<br /><br />
Was passiert, wenn ich dem Gateway eine andere Version liefere als angefordert? Webserver eingerichtet, Pfad /lightify-osram-firmware/firmware/release/Cloud/GW/ erstellt, zigbeegw_MC200_V1.8.2.0.bin als zigbeegw_MC200_V1.8.3.0.bin darin gespeichert und auf dem Router statischen DNS-Eintrag für s3-eu-west-1.amazonaws.com erstellt mit der IP meines Werbervers.<br /><br />
<br /><br />
Update gestartet, aber keinen Unterschied zu vorher festgestellt. App beendet und neu gestartet, und siehe da: Current Version: 1.8.2.0, Update erfolgreich!<br /><br />
<br /><br />
Dann hab ich den statischen DNS entfernt und das Update nochmals gestartet - Meldung, dass das Update erfolgreich war, und Current Version: 1.8.3.0 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/46-Dell-XPS-13-9380-Laden-ueber-die-zwei-USB-C-Thunderbolt-Ports-links-geht-nicht-mehr.html" rel="alternate" title="Dell XPS 13 9380: Laden über die zwei USB-C / Thunderbolt Ports links geht nicht mehr" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2020-11-01T21:23:00Z</issued>
        <created>2020-11-01T21:23:00Z</created>
        <modified>2020-11-01T22:43:19Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=46</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=46</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/46-guid.html</id>
        <title mode="escaped" type="text/html">Dell XPS 13 9380: Laden über die zwei USB-C / Thunderbolt Ports links geht nicht mehr</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>Nach einem BIOS-Update (Version 1.11.0, 1.11.0, Release Date: 19 Aug 2020) konnte der Akku nicht mehr geladen werden, wenn ich das Netzteil an einer der zwei USB-C / Thunderbolt Ports auf der linken Seite angeschlossen habe. An diesen zwei Port wurden auch keine USB-Geräte mehr erkannt. Der USB-C Port auf der rechten Seite funktionierte hingegen einwandfrei.</p><br />
<br />
<p>Im BIOS sah ich im Event Log, dass ein Update fehlgeschagen ist mit der Message: "Alert! Firmware Update is failed", ohne weitere Angaben zur betroffenen Firmware.&#160; Da ich während des BIOS Updates keine Fehler festgestellt habe, ging ich von einem fehlenden Update einer anderen Komponente aus. Da ich Debian 10 verwende und einige Updates (u.a. auch das Firmware-Update des Thunderbird-Controllers) trotz vorinstalliertem Ubuntu offenbar nur für Windows 10 angeboten werden, habe ich Windows mit Hilfe von <a href="https://rufus.ie/">Rufus</a> auf einem schnellen USB-Stick installiert. Nach der Installation der "Dell Update Application" (Version: 3.1.3, A00, Release Date: 04 Aug 2020) und des "Intel <span class="font-weight-medium text-dark">Thunderbolt</span> Firmware Updates" (Version 4.44.101.072, A01, Release Date: 05 Feb 2020) funktionierten die Ports jedoch immer noch nicht. Erst durch ein BIOS-Reset auf die Werkeinstellungen und einer erneuten Installation des selben BIOS Updates wurde der "Main USB PD Controller 1" nicht wie alle andern bereits installieren Updates übersprungen, sondern diesmal erfolgreich installiert. Seitdem funktionieren die zwei betroffenen USB-C Ports wieder einwandfrei. Vielleicht hilft es, das BIOS Update (ohne die Installation der neuesten Thunderbolt-Firmware oder BIOS-Reset) nochmals einzuspielen und den Output zu überwachen.</p><br />
<br />
<p>Die Anmeldung im <a href="https://www.dell.com/community/Dell-Community/ct-p/English">Dell Community Forum</a> scheint unter Linux mit Firefox und Google Chrome nicht zu funtionieren (Fehler: HTTP Status 401, Stand: 02 Nov 2020), und da auch nach erfolgreicher Anmeldung unter Windows scheinbar keine Kommentare zu älteren Beiträgen oder solchen mit einer bereits vorhandenen Lösung möglich sind, findet ihr meine Lösung hier <img src="http://blog.h2o.ch/plugins/serendipity_event_emoticate/img/emoticons/laugh.png" alt=":-D" class="emoticon" /></p><br />
 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/45-Android-Access-Point-Name-settings-are-not-available-for-this-user.html" rel="alternate" title="Android: &quot;Access Point Name settings are not available for this user&quot;" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2019-09-05T07:09:00Z</issued>
        <created>2019-09-05T07:09:00Z</created>
        <modified>2019-09-05T07:22:45Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=45</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=45</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/45-guid.html</id>
        <title mode="escaped" type="text/html">Android: &quot;Access Point Name settings are not available for this user&quot;</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>This error message is misleading and is displayed when APN settings have not yet been saved.</p><br />
 <a class="block_level" href="http://blog.h2o.ch/archives/45-Android-Access-Point-Name-settings-are-not-available-for-this-user.html#extended">Continue reading "Android: &quot;Access Point Name settings are not available for this user&quot;"</a>
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/41-Howto-install-Qubes-3.0-on-Librem-13-with-NVMe-SSD.html" rel="alternate" title="Howto install Qubes 3.0 on Librem 13 with NVMe SSD" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2016-01-06T22:37:00Z</issued>
        <created>2016-01-06T22:37:00Z</created>
        <modified>2016-01-13T16:10:28Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=41</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=41</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/41-guid.html</id>
        <title mode="escaped" type="text/html">Howto install Qubes 3.0 on Librem 13 with NVMe SSD</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>The best result I've had with Qubes 3.0 (stable). I've choosed KDE only installation. For beginners I do not recommend installing Qubes-R3.1-rc1 yet as it has some bugs (e.g. it must be installed with &quot;user' as username to avoid errors in installation) and networking doesn't work out of the box.<br /><br />1) Download <a href="https://www.qubes-os.org/downloads/">Qubes-R3.0-x86_64-DVD.iso</a> and copy ISO to 8GB USB stick (Change <font face="courier new,courier,monospace">/dev/sdX</font> to your USB stick):<br /><font face="courier new,courier,monospace"><br />umount </font><font face="courier new,courier,monospace"><font face="courier new,courier,monospace">/dev/sdX; </font>dd if=/path/to/Qubes-R3.0-x86_64-DVD.iso of=/dev/sdX bs=16M; sync</font><br /><br />2) Boot and install Qubes from USB stick. Press F10 for Boot Menu or F2 for BIOS. If selectable choose the boot device without UEFI.<br /><br />3) <strong>To avoid an unbootable system do not press the reboot button after installation is finished!</strong> Change to console with Ctrl-Alt-F1 and <a href="https://savannah.gnu.org/bugs/?41883">reinstall Grub</a> first:<font face="courier new,courier,monospace"><br /><br />grub2-install --modules=part_msdos --boot-directory=/mnt/sysimage/boot /dev/nvme0n1<br /></font><br />If you already rebooted you can also boot again from USB Stick and choose Troubleshooting - Rescue Qubes System and reinstall Grub from there.<br /><br />4) After updating x11 drivers on Librem 13 I've had freezes at the lock screen so <a href="https://www.qubes-os.org/doc/certified-laptops/">do not update as recommended</a> [3]. Just connect to Internet &amp; update dom0:<br /><br /><font face="courier new,courier,monospace"><del>sudo qubes-dom0-update --releasever=3.1 xorg-x11-drivers xorg-x11-drv-intel</del><br />sudo qubes-dom0-update<br /></font><br />5) Update all Template and Standalone VM's in Qubes VM Manager. Do not forget to shutdown the Template VM (e.g. fedora-21) and restart the depending VM's.<br /></p> <br />
<p> </p> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/40-Citrix-Receiver-installieren-unter-Linux-Mint-LMDE-64bit.html" rel="alternate" title="Citrix Receiver installieren unter Linux Mint LMDE 64bit" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2014-10-20T09:00:34Z</issued>
        <created>2014-10-20T09:00:34Z</created>
        <modified>2014-10-20T09:51:25Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=40</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=40</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/40-guid.html</id>
        <title mode="escaped" type="text/html">Citrix Receiver installieren unter Linux Mint LMDE 64bit</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p>1) Multiarch aktivieren:<br /><br /><font face="courier new,courier,monospace">sudo dpkg --add-architecture i386<br />sudo apt-get update</font><br /> <br />2) Download Citrix Receiver for Linux 64bit: <a href="http://www.citrix.com/downloads/citrix-receiver/linux">http://www.citrix.com/downloads/citrix-receiver/linux</a><br /><br />3) Pakete installieren, Zertifikate kopieren (nspluginwrapper wird nicht benoetigt):<br /> <br /><font face="courier new,courier,monospace">sudo dpkg -i icaclient_13.1.0.285639_amd64.deb<br />sudo apt-get -f install<br />sudo ln -s /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts</font><br /><br />4) Test: Wenn beim Ausfuehren von <font face="courier new,courier,monospace">/opt/Citrix/ICAClient/wfica</font> ein Fenster mit der Meldung &quot;Corrupt ICA file&quot; erscheint, ist die Installation erfolgreich.<br /><br />5) Firefox neu starten, Plugin aktivieren unter Menu: Add-ons - Plugins - &quot;Citrix Receicer for Linux&quot; - &quot;Always activate&quot;.<br /><br /><br />Optional - Installation USB Support Package<br /><br />1) Download USB Support Package for Linux 64bit: <a href="http://www.citrix.com/downloads/citrix-receiver/linux">http://www.citrix.com/downloads/citrix-receiver/linux</a><br /><br />2) Pakete installieren:<br /><br /><font face="courier new,courier,monospace">sudo apt-get install libcap2:i386<br />sudo dpkg -i ctxusb_2.4.285639_amd64.deb<br /></font><font face="courier new,courier,monospace">sudo apt-get -f install<br /></font><br />3) Falls der Daemon nicht gestartet werden kann, Abhaengigkeiten pruefen mit <font face="courier new,courier,monospace">/opt/Citrix/ICAClient/util/hdxcheck.sh</font>, noetigenfalls weitere Pakete installieren und anschliesend Daemon neu starten:<br /><br /><font face="courier new,courier,monospace">sudo service ctxusbd restart</font><br /><br /><br />Quellen:<br /><a href="http://superuser.com/questions/714375/how-do-i-install-citrix-ica-client-receiver-13-on-debian-64-bit-linux">http://superuser.com/questions/714375/how-do-i-install-citrix-ica-client-receiver-13-on-debian-64-bit-linux</a><br /><a href="https://help.ubuntu.com/community/CitrixICAClientHowTo">https://help.ubuntu.com/community/CitrixICAClientHowTo</a><br /></p> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/35-OpenWRT-NAT-fuer-statisches-Netz-ausschalten.html" rel="alternate" title="OpenWRT: NAT fuer statisches Netz ausschalten" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2010-11-26T22:26:30Z</issued>
        <created>2010-11-26T22:26:30Z</created>
        <modified>2010-11-26T22:26:30Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=35</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=35</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/35-guid.html</id>
        <title mode="escaped" type="text/html">OpenWRT: NAT fuer statisches Netz ausschalten</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
Problem:<br />Ich verwende OpenWRT als Router mit VDSL-Bridge.<br />Mein Provider stellt mir eine dynamische IP und ein statisches /29-Netz zur Verfuegung.<br />Die dynamische WAN-IP moechte ich fuer meine Rechner im LAN und das statische /29-Netz fuer Server in der DMZ nutzen.<br />Im Web-Interface (LuCI) laesst sich NAT jedoch nicht deaktivieren.<br /><br />LAN (VLAN 2, eth0.2) --&gt; WAN: NAT, SRC-IP: dynamische IP<br />DMZ (VLAN3, eth0.3) --&gt; WAN: Forwarding ohne NAT <br /><br />Loesung:<br /><br />1) LuCI: Network - Firewall - dmz - Forwarded Traffic Default Policy: accept<br /><br />2) /etc/firewall.postrun erstellen:<br /><br /># vorher: pruefen mit iptables -t nat -L -n -v --line-numbers<br />#<br />#Chain zone_dmz_nat (0 references)<br />#num   pkts bytes target     prot opt in     out     source               destination<br />#1        0     0 MASQUERADE  all  --  <strong>      eth0.3  0.0.0.0/0            0.0.0.0/0<br />#<br />#Chain zone_wan_nat (1 references)<br />#num   pkts bytes target     prot opt in     out     source               destination<br />#1      103  6148 MASQUERADE  all  --  </strong>      ppp0    0.0.0.0/0            0.0.0.0/0<br /><br /># alle masquerade rules in table:nat, chain:zone_dmz_nat loeschen<br />MASQDMZ=`iptables -t nat -L zone_dmz_nat -n -v --line-numbers|grep MASQUERADE|cut -d' ' -f1`<br />for RULENUM in $MASQDMZ; do<br />  iptables -t nat -D zone_dmz_nat $RULENUM<br />done<br /><br /># alle masquerade rules in table:nat, chain:zone_wan_nat mit MASQUERADE und ppp0 ersetzen<br />MASQWANPPP=`iptables -t nat -L zone_wan_nat -n -v --line-numbers|grep MASQUERADE|grep &quot;ppp0&quot;|cut -d' ' -f1`<br />NOMASQSRC=208.77.188.160/29<br />for RULENUM in $MASQWANPPP; do                                                       <br />  iptables -t nat -R zone_wan_nat $RULENUM -o ppp0 ! -s $NOMASQSRC -j MASQUERADE     <br />done<br />                        <br /># debugging zone_wan_nat<br /># herausgefunden, dass man nicht nach dem src interface filtern kann (IN= OUT=ppp0)<br />#<br />#iptables -t nat -I zone_wan_nat -o ppp0 -j LOG<br />#iptables -t nat -D zone_wan_nat 1<br />                                                              <br /># nachher: pruefen mit iptables -t nat -L -n -v --line-numbers<br />#<br /># Chain zone_dmz_nat (0 references)                                             <br /># pkts bytes target     prot opt in     out     source               destination<br />#                                 <br /># Chain zone_wan_nat (1 references)                                             <br /># pkts bytes target     prot opt in     out     source               destination<br />#   10  1251 MASQUERADE  all  --  *      ppp0   ! 208.77.188.160/29      0.0.0.0/0<br /><br />3) /lib/firewall/uci_firewall.sh editieren:<br />fw_init() {<br />        (...)<br />        for interface in $INTERFACES; do<br />                fw_event ifup &quot;$interface&quot;<br />        done<br /><br />        #jke/20101128<br />        echo &quot;Loading include /etc/firewall.postrun&quot;<br />        [ -e /etc/firewall.postrun ] &amp;&amp; . /etc/firewall.postrun<br />} 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/34-OpenWrt-Backfire-10.03-auf-alix2c0-mit-Atheros-AR5xxx-und-nativem-IPv6-ueber-PPPoE.html" rel="alternate" title="OpenWrt Backfire 10.03 auf alix2c0 mit Atheros-AR5xxx und nativem IPv6 über PPPoE" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2010-05-13T22:21:33Z</issued>
        <created>2010-05-13T22:21:33Z</created>
        <modified>2010-05-14T00:24:36Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=34</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=34</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/34-guid.html</id>
        <title mode="escaped" type="text/html">OpenWrt Backfire 10.03 auf alix2c0 mit Atheros-AR5xxx und nativem IPv6 über PPPoE</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>Neue Anleitung mit Standard Image und konfiguration mehrheitlich mit LuCI </p><ul><li>Nachfolger heisst <a href="http://www.pcengines.ch/alix2d2.htm">alix2d2</a> und ist bei www.pcengines.ch erhaeltlich. AC adapter, Pigtail cable, Antenna und Enclosure, Compact Flash und Null modem cable nicht vergessen!</li><li>Image auf CF schreiben. Achtung: Device darf nicht gemountet sein!</li></ul><pre>$ wget http://backfire.openwrt.org/10.03/x86/openwrt-x86-squashfs.image<br />$ sudo dd if=<a href="http://backfire.openwrt.org/10.03/x86/openwrt-x86-squashfs.image">openwrt-x86-squashfs.image</a> of=/dev/&lt;Devicename der CF-Karte, z.B. sdd&gt; bs=16k</pre><ul><li>Karte in alix2c0 einstecken, LAN (neben der Strombuchse) und ADSL/VDSL-Modem (neben der seriellen Schnittstelle) anschliessen und alix2c0 booten<br />Notfalls serielles Kabel anschliessen, Terminal-Programm mit 38400 8N1 starten, mit &quot;vi /etc/config/network&quot; die IP anpassen und mit &quot;/etc/init.d/network restart&quot; das Netzwerk neu starten</li><li>http://192.168.1.1 User: root Password: &lt;leer lassen&gt;</li><li>Passwort setzen unter: System - Admin Password, Submit</li><li>Rechts oben auf Administration klicken fuer erweiterte Optionen</li><li>Unter System - Software auf &quot;Update package lists&quot; klicken und folgende Pakete installieren: ip6tables radvd kmod-ath5k hostapd<br />Mit opkg update; opkg install &lt;paketnamen&gt; im Terminal geht das bedeutend schneller</li><li>Unter Network - Interfaces - LAN die IP anpassen, unter Additional Field &quot;IPv6-Address&quot; hinzufuegen und das eigene IPv6-Netz eintragen (z.B. 2001:DB8:C001:AD51::1/64), Save</li><li>Unter Network - Interfaces - WAN hinzufuegen, User und Password eingeben, &quot;Replace default route&quot;, &quot;Use peer DNS und &quot;Enable IPv6 on PPP link&quot; aktivieren. <br />Unter Additional Field &quot;Keep-Alive&quot; hinzufuegen und 10 eintragen, Save &amp; Apply</li><li>Falls unter Status - Interfaces - Bridge br-lan keine IPv6-Adresse anzeigt wird, eine Zeile in /etc/ppp/options hinzufuegen:</li></ul><pre># vi /etc/ppp/options<br /><p>+ipv6</p></pre><ul><li>IPv6-Optionen konfigurieren in /etc/sysctrl.conf</li></ul><pre># vi /etc/sysctrl.conf</pre><pre>net.ipv6.conf.all.forwarding=1<br />net.ipv6.conf.all.autoconf=0                                                                                                     <br />net.ipv6.conf.all.accept_ra=0                                                                                                    <br />net.ipv6.conf.default.autoconf=0</pre><ul><li>radvd<br />
 konfigurieren (IPv6-Adresse des Gateways im LAN <br />
announcen)</li></ul><pre># vi /etc/config/radvd</pre><pre>config interface<br />	#option ignore          1</pre><pre>config prefix<br />	option prefix	'&lt;IPv6-Netz, z.B. 2001:DB8:C001:AD51::/64&gt;'<br />	#option ignore          1</pre><ul><li><pre>radvd aktivieren</pre></li></ul><pre># /etc/init.d/radvd enable; /etc/init.d/radvd start</pre><ul><li><p>IPv6-Firewall-Script<br />
 erstellen und konfigurieren</p></li></ul><pre># cd /etc/init.d<br /># wget http://blog.h2o.ch/files/firewall6</pre><pre># vi /etc/firewall6.user</pre><pre>#wan interface<br />UPLINK=&quot;ppp0&quot;<br /><br />#allowed services from wan to lan<br />TCPSERVICES=&quot;22 80&quot;<br />UDPSERVICES=&quot;&quot;</pre><ul><li>Firewall<br />
 aktivieren und pruefen</li></ul><pre># /etc/init.d/firewall6 enable; /etc/init.d/firewall6 start<br /># ip6tables -L</pre><ul><li>Neu starten unter: System - Reboot und anschliessend pruefen, ob die Clients per IPv4 und IPv6 aufs Netz zugreifen koennen</li><li>Network - Wifi - RADIO0 - Device radio0 - Mode auf 802.11g setzen, unter Additional Field &quot;Country Code&quot; hinzufuegen und den <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements" target="_blank">Laendercode</a> (z.B. CH) eintragen. <br />Unter Interfaces ESSID waehlen, Network: lan, Mode: Access Point, Encrzyption: WPA2-PSK und unter Key eine Passphrase eintragen, Save &amp; Apply</li></ul><br />
 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/33-WL500GP-als-Wifi-Client-und-USB-Printer-Server.html" rel="alternate" title="WL500GP als Wifi Client und USB Printer Server" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2010-04-21T22:03:48Z</issued>
        <created>2010-04-21T22:03:48Z</created>
        <modified>2010-04-21T22:03:48Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=33</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=33</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/33-guid.html</id>
        <title mode="escaped" type="text/html">WL500GP als Wifi Client und USB Printer Server</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p>Wifi einrichten: LuCI - Network - Wifi - Mode: Join (Client) und andere Einstellungen vornehmen</p><p>LuCI - Network - General - &quot;Local Network&quot; konfigurieren</p><p>/etc/config/wireless</p><p>config 'wifi-iface'</p><p>option 'network' 'lan'</p><p>reboot</p><p>opkg install kmod-usb-uhci-iv kmod-usb2 usbutils kmod-usb-printer p910nd </p><p>vi /etc/config/p910nd<br /><br />
</p><p>option device /dev/usb/lp0</p><p>/etc/init.d/p910nd start; /etc/init.d/p910nd enable</p><p>reboot</p><p>http://oldwiki.openwrt.org/OpenWrtDocs%282f%29Kamikaze%282f%29Printers.html</p> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/32-IBM-5154-mit-Video7-Grafikkarte-EGA-unter-Debian-betreiben.html" rel="alternate" title="IBM 5154 mit Video7-Grafikkarte (EGA) unter Debian betreiben" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2010-04-19T21:55:00Z</issued>
        <created>2010-04-19T21:55:00Z</created>
        <modified>2018-07-22T10:34:23Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=32</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=32</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/32-guid.html</id>
        <title mode="escaped" type="text/html">IBM 5154 mit Video7-Grafikkarte (EGA) unter Debian betreiben</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><br />
Ich habe bisher den Grafik-Modus nicht zum laufen gebracht. Deshalb beim installieren von Debian bei der Paketauswahl &quot;Desktop Environment&quot; nicht auswaehlen. Auf Debian 6 (Squeeze) am besten mit einer anderen Grafikkarte die Installation durchfuehren und vor dem Austausch der Grafikkarte folgende Anweisungen befolgen:<br /><br />1) Einloggen, dann <font face="courier new,courier,monospace">su -</font><br />2) In <font face="courier new,courier,monospace">/etc/default/console-setup</font> die Variablen FONTFACE und FONTSIZE leeren:<br /><font face="courier new,courier,monospace">FONTFACE=&quot;&quot;<br />FONTSIZE=&quot;&quot;</font><br /><br />3) In <font face="courier new,courier,monospace">/etc/default/grub</font> die Variable GRUB_TERMINAL aktivieren (vorangestelltes # entfernen):<br /><font face="courier new,courier,monospace">GRUB_TERMINAL=console</font><br /><br />4) <font face="courier new,courier,monospace">update-grub</font> ausfuehren, um die neuen Grub-Einstellungen zu aktivieren<br />5) Reboot<br /><br /><br />Mit Debian 5 (Lenny) konnte man noch mit der Video7-Grafikkarte die Installation durchfuehren, aber spaetestens beim booten des frisch installierten Systems kam es zu Grafikfehlern. Dies kann wie folgt behoben werden: <br /><br />a) Reboot, dann Grub starten mit Option <font face="courier new,courier,monospace">init=/bin/sh</font> (und <font face="courier new,courier,monospace">vga=0x0f01</font> fuer 43 Zeilen)<br />b) Einloggen, dann <font face="courier new,courier,monospace">su -</font><br />c) read/write-mounten: <font face="courier new,courier,monospace">mount</font> --&gt; Device von / ermitteln und einbinden mit:&#160; <font face="courier new,courier,monospace">mount -o remount &lt;device&gt; /</font><br />d) weiterfahren mit Punkt 2<br /><br /></p> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/31-Laufenden-Prozess-disownen.html" rel="alternate" title="Laufenden Prozess &quot;disownen&quot;" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2010-04-08T14:04:12Z</issued>
        <created>2010-04-08T14:04:12Z</created>
        <modified>2010-04-08T14:45:38Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=31</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=31</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/31-guid.html</id>
        <title mode="escaped" type="text/html">Laufenden Prozess &quot;disownen&quot;</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<name><name>Das kann von Nutzen sein, wenn der übers Netzwerk per SSH ausgeführte Prozess weiterlauften soll, auch wenn die Verbindung (und damit auch die ausführende Shell) abbricht:<br /><br /><b>Prozess läuft schon im Vordergrund</b><br />1) Ein beliebiger Prozess läuft in der Shell (z.B. &quot;xscreensaver&quot; oder &quot;find / -mtime -1 &gt;/tmp/changedlast24h&quot;)<br />2) Prozess mit [Ctrl]-[z] anhalten<br />3) Mit &quot;bg&quot; den Prozess in den Hintergrund bringen (als sei der Prozess mit einem angehängten &amp; ausgeführt worden)<br />4) Mit &quot;disown&quot; wird der Prozess eigenständig und beendet sich auch nach dem schliessen der Shell nicht mehr<br /><br /><b>Neuer Prozess wird gestartet</b><br />1) Shell öffnen und einen beliebigen Prozess im Hintergrund starten (z.B. &quot;xscreensaver &amp;&quot; oder &quot;find / -mtime -1 &gt;/tmp/changedlast24h &amp;&quot;)<br />2) Mit &quot;disown&quot; wird der Prozess eigenständig und beendet sich auch nach dem schliessen der Shell nicht mehr<br /><br />In beiden Fällen kann man leider den Output der Prozesse nicht anschauen und interagieren ist ebenfalls nicht möglich. Darum ist es besser, nach erfolgreicher SSH-Verbindung mit &quot;screen&quot; eine unabhaengige Shell zu öffnen:<br /><br /><b>Einsatz von Screen</b><br />1) &quot;screen -S test&quot; dem Screen einen Namen geben<br />2) Prozess starten (z.B. &quot;xscreensaver&quot; oder &quot;find / -mtime -1 &gt;/tmp/changedlast24h&quot;)<br />3) [Ctrl]-[a], d lässt sich die Shell jederzeit disconnecten<br />4) Shell schliessen, neue Shell (mit dem gleichen User, welcher screen gestartet hat) öffnen<br />5) Per &quot;screen -r test&quot; wieder reconnecten</name></name> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/23-Angstrom-Distribution-Ethernet-,-Wifi-,-GPRS-Verbindung,-USB-Serial-Adapter-und-Bluetooth-Serial-Adapter-einrichten.html" rel="alternate" title="Angstrom-Distribution: Ethernet-, Wifi-, GPRS-Verbindung, USB Serial Adapter und Bluetooth Serial Adapter einrichten" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2009-03-12T23:48:37Z</issued>
        <created>2009-03-12T23:48:37Z</created>
        <modified>2009-03-13T01:09:03Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=23</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=23</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/23-guid.html</id>
        <title mode="escaped" type="text/html">Angstrom-Distribution: Ethernet-, Wifi-, GPRS-Verbindung, USB Serial Adapter und Bluetooth Serial Adapter einrichten</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p><b></b></p><p><b></b></p><p><b></b></p><p><b>Wifi mit Socket Rugged CF 10/100 Card</b></p><p>Treiber entfernen: ipkg remove kernel-module-pcnet-cs</p><p>Treiber installieren: <a href="http://blog.h2o.ch/files/kernel-module-axnet-cs_2.6.24-r9_akita.ipk">kernel-module-axnet-cs für Kernel 2.6.24</a></p><p><b>Wireless Konfig</b></p><p>vi /etc/network/interfaces</p><pre>iface wlan0 inet dhcp<br />    wpa-conf /etc/wpa_supplicant.conf<br />    wpa-driver hostap</pre><p>vi /etc/wpa_supplicant.conf</p><pre>ctrl_interface=/var/run/wpa_supplicant<br />ctrl_interface_group=0<br />eapol_version=1<br />ap_scan=1<br />fast_reauth=1<br />network={<br />    ssid=&quot;meine-ssid&quot;<br />    proto=WPA2<br />    pairwise=TKIP<br />    psk=&quot;mein-passwort&quot;<br />    priority=1</pre><p><b>GPRS Config</b></p><p>ipkg update; ipkg install gpe-bluetooth</p><p>vi /etc/bluetooth/rfcomm.conf (nokia telefon hinzufügen)</p><p>rfcomm0 {<br />    # Automatically bind the device at startup<br />    bind yes;<br /><br />    # Bluetooth address of the device<br />    device nokias-bt-adresse;<br /><br />    # RFCOMM channel for the connection<br />    channel    1;<br /><br />    # Description of the connection<br />    comment &quot;nokia&quot;;<br />}</p><p>diverse <a href="http://blog.h2o.ch/files/gprs.tgz">pppd-konfigurationsdateien und gprs-startscript</a> speichern</p><p>nokia mit zaurus paaren:</p><p>passkey-agent --default mein-PIN</p><p>anschliessend im gui-tool beide geräte paaren und dabei mein-PIN eingeben.</p><p>GPRS mit startgprs_nokia.sh starten, Verbindung beenden mit &quot;killall pppd&quot;.</p><p><b>USB Serial Adapter</b></p><p>Treiber installieren: <a href="http://blog.h2o.ch/files/kernel-module-mct-u232_2.6.24-r9_akita.ipk">kernel-module-mct-u232 für Kernel 2.6.24</a></p><p>echo &gt;/etc/modules/ohci-hcd &quot;ohci-hcd&quot;; update-modules</p><p>vi /etc/default/usb-gadget</p><p>USB_MODE=&quot;host-mode&quot;</p><p>Reboot &amp; z.B. <a href="http://blog.h2o.ch/files/minicom_2.1-r0_armv5te.ipk">minicom</a> installieren und /dev/ttyUSB0 nutzen</p><p><b>Socket Cordless Serial Adapter</b></p><p>vi /etc/bluetooth/rfcomm.conf (serial adapter hinzufügen)</p><p>rfcomm1 {<br />    # Automatically bind the device at startup<br />    bind no;<br /><br />    # Bluetooth address of the device<br />    device serial-adapters-bt-adresse;<br /><br />    # RFCOMM channel for the connection<br />    channel    1;<br /><br />    # Description of the connection<br />    comment &quot;socket cordless serial adapter&quot;;<br />}</p><p>z.B. minicom installieren und /dev/ttyUSB0 nutzen</p><p /><p /> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/22-Angstrom-Distribution-mit-Socket-Rugged-CF-10100.html" rel="alternate" title="Angstrom-Distribution mit Socket Rugged CF 10/100" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2009-03-12T23:13:34Z</issued>
        <created>2009-03-12T23:13:34Z</created>
        <modified>2011-10-30T19:47:19Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=22</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=22</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/22-guid.html</id>
        <title mode="escaped" type="text/html">Angstrom-Distribution mit Socket Rugged CF 10/100</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <p><strong>1a) Kompilierumgebung erstellen</strong></p><br />
<pre>#!/bin/sh<br />
# file: /data/OE-install<br />
# http://www.angstrom-distribution.org/building-angstrom<br />
# http://developer.berlios.de/projects/bitbake/<br />
# http://oe.linuxtogo.org/snapshots/<br />
mkdir -p /data/OE/build<br />
cd /data/OE<br />
wget http://download.berlios.de/bitbake/bitbake-1.8.10.tar.gz<br />
wget http://wiki.openembedded.net/snapshots/OE.mtn.bz2<br />
tar zxf /data/OE/bitbake-1.8.10.tar.gz <br />
bunzip2 /data/OE/OE.mtn.bz2 <br />
mtn --db=/data/OE/OE.mtn pull monotone.openembedded.org org.openembedded.{stable,dev}<br />
mtn --db=/data/OE/OE.mtn checkout --branch=org.openembedded.stable</pre><br />
<p>&#160;</p><br />
<p>&#160;</p><br />
<p>&#160;</p><br />
<p><strong>1b) Kompilierumgebung aktualisieren</strong></p><br />
<pre>#!/bin/sh<br />
# file: /data/OE-update<br />
# update oe metadata<br />
cd /data/OE/org.openembedded.stable<br />
mtn pull monotone.openembedded.org org.openembedded.{stable,dev}<br />
mtn update</pre><br />
<p>&#160;</p><br />
<p>&#160;</p><br />
<p>&#160;</p><br />
<p><strong>2) Environment vorbereiten</strong></p><br />
<pre>#!/bin/sh<br />
# file: /data/OE-setupenv<br />
&#160;BBPATH=/data/OE/:/data/OE/build/:/data/OE/org.openembedded.stable/<br />
&#160;PKGDIR=/data/OE/build/ <br />
&#160;DL_DIR=/data/OE/downloads<br />
&#160;echo Setting up dev env for ??ngstr??m<br />
&#160;if [ -z ${ORG_PATH} ]<br />
&#160;then<br />
&#160; ORG_PATH=${PATH}<br />
&#160;&#160; export ORG_PATH<br />
&#160;&#160; fi<br />
&#160; if [ -z ${ORG_LD_LIBRARY_PATH} ]<br />
&#160; then<br />
&#160;&#160; ORG_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}<br />
&#160;&#160;&#160; export ORG_LD_LIBRARY_PATH<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; fi<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; PATH=/data/OE/bitbake-1.8.10/bin:${ORG_PATH}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; cd $PKGDIR<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; LD_LIBRARY_PATH=<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; export PATH LD_LIBRARY_PATH BBPATH<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; export LANG=C<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160; echo "Altered environment for OE Development"</pre><br />
<p>&#160;</p><br />
<p>&#160;</p><br />
<p>&#160;</p><br />
<p><strong>3) Konfiguration</strong></p><br />
<pre># file: /data/OE/org.openembedded.stable/conf/local.conf<br />
#<br />
# OpenEmbedded local configuration file (sample)<br />
#<br />
# Please visit the Wiki at http://openembedded.org/ for more info.<br />
#<br />
#<br />
# Be SURE to read this file in its entirety and the GettingStarted page on the<br />
# wiki before proceeding.<br />
#<br />
# Once you have done that, remove the line at the end of this<br />
# file and build away.<br />
# <br />
# WARNING: lines starting with a space (' ') will result in parse failures.<br />
# Remove '# ' from commented lines to activate them.<br />
#<br />
# NOTE: Do NOT use $HOME in your paths, BitBake does NOT expand ~ for you.&#160; If you<br />
# must have paths relative to your homedir use ${HOME} (note the {}'s there<br />
# you MUST have them for the variable expansion to be done by BitBake).&#160; Your<br />
# paths should all be absolute paths (They should all start with a / after<br />
# expansion.&#160; Stuff like starting with ${HOME} or ${TOPDIR} is ok).<br />
<br />
# Use this to specify where BitBake should place the downloaded sources into<br />
DL_DIR = "/data/OE/sources"<br />
<br />
# Delete the line below. Then specify which .bb files to consider for<br />
# your build. Typically this will be something like BBFILES = "/path/to/openembedded/packages/*/<strong>.bb"<br />
BBFILES := "/data/OE/org.openembedded.stable/packages/*/</strong>.bb"<br />
<br />
# Use the BBMASK below to instruct BitBake to <u>NOT</u> consider some .bb files<br />
# This is a regulary expression, so be sure to get your parenthesis balanced.<br />
BBMASK = ""<br />
<br />
# Uncomment this if you want to use a prebuilt toolchain. You will need to<br />
# provide packages for toolchain and additional libraries yourself. You also<br />
# have to set PATH in your environment to make sure BitBake finds additional binaries.<br />
# Note: You will definitely need to say:<br />
#&#160;&#160;&#160;&#160; ASSUME_PROVIDED += "virtual/arm-linux-gcc-2.95"<br />
# to build any of two Linux 2.4 Embedix kernels,<br />
# i.e. openzaurus-sa-2.4.18 and openzaurus-pxa-2.4.18 - and don't forget<br />
# to rename the binaries as instructed in the Wiki.<br />
# ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}gcc virtual/libc"<br />
<br />
# Select between multiple alternative providers, if more than one is eligible.<br />
PREFERRED_PROVIDERS = "virtual/qte:qte virtual/libqpe:libqpe-opie"<br />
PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-x11"<br />
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"<br />
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"<br />
PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"<br />
<br />
# Uncomment this to specify where BitBake should create its temporary files.<br />
# Note that a full build of everything in OpenEmbedded will take GigaBytes of hard<br />
# disk space, so make sure to free enough space. The default TMPDIR is<br />
# &lt;build directory&gt;/tmp<br />
# Don't use symlinks in in the path to avoid problems<br />
# TMPDIR = /usr/local/projects/oetmp<br />
<br />
# Uncomment this to specify a machine to build for. See the conf directory<br />
# for machines currently known to OpenEmbedded. This will automatically take care<br />
# of TARGET_ARCH<br />
MACHINE = "akita"<br />
<br />
# Use this to specify the target architecture. Note that this is only<br />
# needed when building for a machine not known to OpenEmbedded. Better use<br />
# the MACHINE attribute (see above)<br />
# TARGET_ARCH = "arm"<br />
<br />
# Use this to specify the target operating system.&#160; The default is "linux",<br />
# for a normal linux system with glibc. Set this to "linux-uclibc" if you want<br />
# to build a uclibc based system.<br />
# Normally the DISTRO of your choosing will take care of this <br />
# TARGET_OS = "linux"<br />
# TARGET_OS = "linux-uclibc"<br />
<br />
# Uncomment this to select a distribution policy. See the conf directory<br />
# for distributions currently known to OpenEmbedded.<br />
# Although it no longer contain version number in the (file-)name<br />
# openzaurus-unstable is a so called "versioned"&#160; distro, i.e. they <br />
# explicitely select specific versions of various packages.<br />
# Stay away from unversioned distros unless you really know what you are doing<br />
#DISTRO = "angstrom-2007.1"<br />
DISTRO = "angstrom-2007.12-r18"<br />
<br />
# So far, angstrom.conf sets ENABLE_BINARY_LOCALE_GENERATION<br />
# to generate binary locale packages at build time using qemu-native and<br />
# thereby guarantee i18n support on all devices. If your build breaks on <br />
# qemu-native consider disabling ENABLE_BINARY_LOCALE_GENERATION (note that<br />
# this breaks i18n on devices with less than 128MB RAM) or installing<br />
# a working third-party qemu (e.g. provided by your distribution) and<br />
# adding qemu-native to ASSUME_PROVIDED. Caveat emptor, since third-party<br />
# qemus lack patches needed to work with various OE targets.<br />
# ENABLE_BINARY_LOCALE_GENERATION = "0"<br />
# ASSUME_PROVIDED += "qemu-native"<br />
<br />
# If ENABLE_BINARY_LOCALE_GENERATION is set to "1", you can limit locales<br />
# generated to the list provided by GLIBC_GENERATE_LOCALES. This is huge<br />
# time-savior for developmental builds. Format: list of locale.encoding pairs<br />
# with spaces as separators.<br />
# GLIBC_GENERATE_LOCALES = "en_GB.UTF-8 de_DE.UTF-8"<br />
<br />
# Uncomment this to select a particular major kernel version if the MACHINE setting<br />
# supports more than one major kernel version. Currently this is suported by the<br />
# following MACHINE types: poodle, tosa and simpad.<br />
# MACHINE_KERNEL_VERSION = "2.6"<br />
<br />
# Uncomment one of these to build packages during the build process.<br />
# This is done automatically if you set DISTRO (see above)<br />
# INHERIT = "package_ipk"<br />
# INHERIT = "package_tar"<br />
<br />
# Add the required image file system types below. Valid are <br />
# jffs2, tar(.gz|bz2), cpio(.gz), cramfs, ext2(.gz), ext3(.gz)<br />
# squashfs, squashfs-lzma<br />
IMAGE_FSTYPES = "jffs2 tar.gz"<br />
<br />
# Uncomment this to disable the parse cache (not recommended).<br />
# CACHE = ""<br />
<br />
# Uncomment this if you want BitBake to emit debugging output<br />
# BBDEBUG = "yes"<br />
<br />
# Uncomment these two if you want BitBake to build images useful for debugging. <br />
# Note that INHIBIT_PACKAGE_STRIP needs a package format to be defined.<br />
# Also note that OE now produces -dbg packages which contain debugging symbols.<br />
# DEBUG_BUILD = "1"<br />
# INHIBIT_PACKAGE_STRIP = "1"<br />
<br />
# Uncomment these to build a package such that you can use gprof to profile it.<br />
# NOTE: This will only work with 'linux' targets, not<br />
# 'linux-uclibc', as uClibc doesn't provide the necessary<br />
# object files.&#160; Also, don't build glibc itself with these<br />
# flags, or it'll fail to build.<br />
#<br />
# PROFILE_OPTIMIZATION = "-pg"<br />
# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"<br />
# LDFLAGS =+ "-pg"<br />
<br />
# Uncomment this to enable parallel make.<br />
# This allows make to spawn mutliple processes to take advantage of multiple <br />
# processors. Useful on SMP machines. This may break some packages - we're<br />
# in the process of marking these so let us know if you find any.<br />
# PARALLEL_MAKE = "-j 4"<br />
<br />
# Uncomment this if you want BitBake to emit the log if a build fails.<br />
BBINCLUDELOGS = "yes"<br />
<br />
# Specifies a location to search for pre-generated tarballs when fetching<br />
# a cvs:// URI. Outcomment this, if you always want to pull directly from CVS.<br />
#CVS_TARBALL_STASH = ""<br />
<br />
# EDIT THIS FILE and then remove the line below before using!<br />
#REMOVE_THIS_LINE:="${@bb.fatal('Read the comments in your conf/local.conf')}"</pre><br />
<pre><pre><p></p><p><strong>4) axnet-Treiber patchen</strong></p><p>cd /data/OE/org.openembedded.stable/packages/linux/linux-rp-2.6.24/<br />
wget http://blog.h2o.ch/files/axnet_cs.patch</p><pre><pre><p></p><p>vi /data/OE/org.openembedded.stable/packages/linux/linux-rp_2.6.24.bb (zeile hinzufügen)</p><pre>"file://axnet_cs.patch;patch=1;status=hack "</pre><pre><pre><p></p><p><strong>5) Kompilieren</strong></p><pre>#!/bin/sh<br />
# file: /data/OE-build<br />
source /OE-setupenv<br />
cd /data/OE/org.openembedded.stable<br />
mtn pull ; mtn update<br />
# bitbake x11-image <br />
cd /data/OE/org.openembedded.stable/tmp/deploy/glibc/images/akita/<br />
#cd /data/OE/org.openembedded.stable/tmp/deploy/glibc/ipk/akita/kernel-module-axnet-cs_2.6.24-r9_akita.ipk</pre><br />
</pre></pre></pre></pre></pre></pre> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/19-Daten-sicher-loeschen.html" rel="alternate" title="Daten sicher löschen" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2008-08-22T11:06:12Z</issued>
        <created>2008-08-22T11:06:12Z</created>
        <modified>2009-03-13T00:54:46Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=19</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=19</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/19-guid.html</id>
        <title mode="escaped" type="text/html">Daten sicher löschen</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
<p><b>Dateien sicher löschen</b><br /><br />Beim überschreiben von Daten können (z.B. durch ungenaue Schreibkopf-Positionierung) alte Daten in den Randbereichen zwischen den Tracks zurückbleiben. Dadurch, dass nicht überall alte Daten zurückbleiben und weil in diesen Randbereichen die Fehlerrate hoch ist, wird man dort keine oder nur geringe Datenmengen retten können. Solche Datenrettungsversuche sind sehr aufwändig und koennen auch nicht durch Spezialfirmen in nützlicher Zeit durchgeführt werden. Das einmalige Überschreiben mit echten Zufallsdaten sollte also in den meisten Fällen ausreichen. Wer mehr Sicherheit wünscht, kann das Überschreiben beliebig oft wiederholen. Die Gutmann-Methode [1], welche 35 Mal mit bestimmten Mustern überschreibt, halte ich für übertrieben und durch den hohen Zeitaufwand nicht praktikabel. Eine Datei ein Mal komplett mit Zufallsdaten zu überschreiben geht z.B. mit: srm -vll &lt;Datei&gt;<br /><br />Bei Filesystemen mit Journaling reicht es eventuell nicht, eine Datei zu überschreiben. In diesem Fall ist es besser, die Datei normal zu löschen und anschliessend den freien Speicher auf der Festplatte komplett zu überschreiben. Den freien Speicher ein Mal zufällig überschreiben geht z.B. mit: sfill -vll &lt;Pfad&gt;</p><p>Unter Debian/Ubuntu sind srm und sfill im Paket secure-delete zu finden.<br /><br />Wie komplex Festplatten heutzutage aufgebaut sind, wie die Daten aufbereitet und auf die Disks geschrieben werden und welche Möglichkeiten zur Datenrettung bestehen, kann man unter [2] nachlesen.<br /><br /><br /><b>Daten auf Festplatten sicher entsorgen / löschen</b><br /><br />Wer sicher gehen will, dass die Daten auf einer Festplatte unwiderruflich vernichtet werden, sollte die Festplatte physikalisch beschädigen: Die Festplatte öffnen, alle Plattenoberflächen zerkratzen und die Platten verbiegen oder noch sicherer: Die Platten mit geeignetem Gerät zerkleinern. Wem dies zu aufwändig ist, kann von oben Löscher in die ungeöffnete Festplatte bohren, wo sich die Platten befinden.<br /><br />Das entfernen der Steuerplatine reicht nicht, da die Datenrettung durch den Austausch der Steuerplatine aus der selben Serie zum Erfolg führen kann. Jede Festplatte weist unterschiedliche Parameter auf, aber sie werden beim Burn-In ermittelt und mit der Firmware auf die Platte geschrieben.<br /><br />Wer die Festplatte weiterverwenden und nur löschen will, sollte die Festplatte mit einem geeigneten Programm überschreiben, z.B. mit DBAN [3].<br /><br /><br />Quellen:<br />[1] http://www.nber.org/sys-admin/overwritten-data-guttman.html<br />[2] http://www.actionfront.com/whitepaper/Drive-Independent%20Data%20Recovery%20Ver14Alrs.pdf<br />[3] http://www.dban.org/</p> 
            </div>
        </content>

        
    </entry>
    <entry>
        <link href="http://blog.h2o.ch/archives/18-Debian-IPv6-Parameter-in-etcsysctrl.conf-werden-nicht-ausgefuehrt.html" rel="alternate" title="Debian: IPv6-Parameter in /etc/sysctrl.conf werden nicht ausgefuehrt" type="text/html" />
        <author>
            <name>Junya Keller</name>
                    </author>
    
        <issued>2008-08-12T22:54:14Z</issued>
        <created>2008-08-12T22:54:14Z</created>
        <modified>2008-10-27T05:39:10Z</modified>
        <wfw:comment>http://blog.h2o.ch/wfwcomment.php?cid=18</wfw:comment>
        <slash:comments>0</slash:comments>
        <wfw:commentRss>http://blog.h2o.ch/rss.php?version=atom0.3&amp;type=comments&amp;cid=18</wfw:commentRss>
    
        <id>http://blog.h2o.ch/archives/18-guid.html</id>
        <title mode="escaped" type="text/html">Debian: IPv6-Parameter in /etc/sysctrl.conf werden nicht ausgefuehrt</title>
        <content type="application/xhtml+xml" xml:base="http://blog.h2o.ch/">
            <div xmlns="http://www.w3.org/1999/xhtml">
                <br />
Die Parameter muessen gesetzt werden, nachdem das IPv6-Modul geladen ist, aber bevor das Interface gestartet wird. Dies kann man so bewerkstelligen:<br /><ul><li>In /etc/network/interfaces :</li></ul><pre>iface eth0 inet6 static<br />  pre-up modprobe ipv6<br />  up echo 0 &gt; /proc/sys/net/ipv6/conf/eth0/autoconf<br />  (...)</pre> 
            </div>
        </content>

        
    </entry>
</feed>