diff --git a/appliance_setup/device_types.py b/appliance_setup/device_types.py
index 3886f6b2422464782de27486cf063994b868c696..ba237489a92f092434f79bd022bcd529943b1af3 100755
--- a/appliance_setup/device_types.py
+++ b/appliance_setup/device_types.py
@@ -366,9 +366,9 @@ class Ether8888Device (Device):
     self.device_close ()
     self.ui.wait_enter ("Device was reset. Please press Return.")
 
-  def bulk_data_write (self, data, length):
+  def bulk_data_write (self, data, length, cmd="\x01\x01", unknown="\0\0"):
     packet = Ether8888Packet (localAddr = self.localAddr, remoteAddr = self.remoteAddr)
-    request = packet.encode ("\x01\x01", "\0\0", 0, length, data)
+    request = packet.encode (cmd, unknown, 0, length, data)
     self.ui.debug ("Request: " + request)
     res = None
     try:
@@ -407,6 +407,26 @@ class Ether8888Device (Device):
     return res[13:]
 
 
+TODO:
+  def command_send (self, cmd):
+    cfg = "%s:\n" % cmd
+    res = self.bulk_data_write (cfg, len(cfg), cmd="\x01\x01", unknown="\0\0")
+    return self.bulk_data_read (25600)
+
+  def config_retrieve (self):
+    self.ui.debug ("Reading current configuration...");
+    return self.command_send ("9100")
+
+  def config_send (self, config):
+    self.ui.progress ("Sending new configuation to the device. Please wait")
+    cfgstring = config.to_string ()
+    self.ui.debug ("\tNew device config: %s\n" % cfgstring)
+    self.bulk_data_write (cfgstring, len(cfgstring), cmd="\0x02)
+    self.ui.sleep_progress (10)
+    # Now reset the device:
+    return self.device_reset ()
+
+
 ### FTP-based devices like ???
 #class FTPDevice (Device):
 #    def __init__ (self):