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):