<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.archhurd.org/index.php?action=history&amp;feed=atom&amp;title=DDE</id>
	<title>DDE - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archhurd.org/index.php?action=history&amp;feed=atom&amp;title=DDE"/>
	<link rel="alternate" type="text/html" href="https://wiki.archhurd.org/index.php?title=DDE&amp;action=history"/>
	<updated>2026-05-07T13:36:52Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.archhurd.org/index.php?title=DDE&amp;diff=2&amp;oldid=prev</id>
		<title>Z3ntu: Import from https://web.archive.org/web/20110902094011/http://wiki.archhurd.org/index.php?title=DDE&amp;action=edit</title>
		<link rel="alternate" type="text/html" href="https://wiki.archhurd.org/index.php?title=DDE&amp;diff=2&amp;oldid=prev"/>
		<updated>2018-07-30T11:24:40Z</updated>

		<summary type="html">&lt;p&gt;Import from https://web.archive.org/web/20110902094011/http://wiki.archhurd.org/index.php?title=DDE&amp;amp;action=edit&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;DDE is a universal interface for drivers that makes it easy for systems without many native drivers (such as the hurd) to use drivers from systems with many native drivers (like Linux 2.6).  These drivers can run in userspace, which has some interesting implications.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
&lt;br /&gt;
Porting DDE to the Hurd was originally the work of [http://www.gnu.org/software/hurd/user/zhengda.html Zheng Da].  His work is currently in the [http://git.savannah.gnu.org/cgit/hurd/incubator.git/log/?h=dde incubator] git repository of the hurd.  See [http://www.gnu.org/software/hurd/dde.html GNU&amp;#039;s DDE page] for a more in-depth dicussion.&lt;br /&gt;
&lt;br /&gt;
=== From a User Perspective ===&lt;br /&gt;
&lt;br /&gt;
For the user, this means that, once we have completed the implementation of DDE, Hurd will support a wider variety of hardware, using Linux 2.6&amp;#039;s drivers.  You need to do only three things to get DDE running:&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Download a modified Gnumach&amp;lt;br /&amp;gt;&amp;lt;li&amp;gt;Download the DDE drivers&amp;lt;li&amp;gt;Start the translators!&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gnumach ====&lt;br /&gt;
&lt;br /&gt;
The normal gnumach that is distributed with Arch Hurd cannot use DDE&amp;#039;s user level drivers.  A build of gnumach from the master-userleveldrivers git branch is in [extra], however, so run &amp;lt;pre&amp;gt;pacman -S gnumach-userleveldrivers&amp;lt;/pre&amp;gt;&amp;lt;span style=&amp;quot;color:#ee2222&amp;quot;&amp;gt;&amp;lt;b&amp;gt;!Warning!&amp;lt;/b&amp;gt;&amp;lt;/span&amp;gt;  This kernel overwrites the normal gnumach, and has forfeited some kernel-side drivers for DDE ones, such as the pcnet32 driver required to access the internet from Qemu.  Thus, either back up your gnumach package (see /var/cache/pacman/pkg/) or make sure you install your ethernet drivers at the same time, otherwise, if something goes very wrong, your system may not be able to connect to the internet.&lt;br /&gt;
&lt;br /&gt;
==== Drivers ====&lt;br /&gt;
&lt;br /&gt;
Drivers that use DDE are available in [testing], and may come to [extra] soon.  To get them, run &amp;lt;pre&amp;gt;pacman -S dde&amp;lt;/pre&amp;gt;.  The ne2k driver has been tested to have internet connection!&lt;br /&gt;
&lt;br /&gt;
==== Using ====&lt;br /&gt;
&lt;br /&gt;
These commands have been tested to use the driver dde_ne2k with gnumach-userleveldrivers under QEMU&lt;br /&gt;
&lt;br /&gt;
===== Gnumach =====&lt;br /&gt;
&lt;br /&gt;
While you are still using gnumach from [core], install the packages you will need&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pacman -S gnumach-userleveldrivers dde&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== QEMU =====&lt;br /&gt;
&lt;br /&gt;
Out of the box, QEMU uses an emulated pcnet32 driver.  The dde_pcnet32 driver has not been tested to fully work, so it is advisable to use the ne2k driver instead.  Add this to the end of your QEMU launch command (and remove other -net commands)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; -net nic,vlan=1,model=ne2k_pci -net user,vlan=1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Arch Hurd =====&lt;br /&gt;
&lt;br /&gt;
Boot your qemu image, then login as root.  It is probably not necessary to run as root, since these are *user* level drivers, but this has not been tested fully.  Run the following commands&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;settrans -fgap ne2k /hurd/dde/dde_ne2k_pci&lt;br /&gt;
settrans -fgap /dev/eth0 /hurd/dde/devnode eth0 -M ne2k&lt;br /&gt;
settrans -fgap /servers/socket/2 /hurd/dde/pfinet -i /dev/eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you run these commands, you should see status messages informing you that a device is being detected.  If all goes well, you should be able to run &amp;#039;ifconfig&amp;#039; and be informed that eth0 is UP BROADCAST RUNNING MULTICAST&lt;br /&gt;
&lt;br /&gt;
Congratulations!  You are now running a network driver compiled from linux source in your Hurd&amp;#039;s userspace!&lt;/div&gt;</summary>
		<author><name>Z3ntu</name></author>
	</entry>
</feed>