diff --git a/TestON/drivers/common/clidriver.py b/TestON/drivers/common/clidriver.py
index 0406e48..9db8f6f 100644
--- a/TestON/drivers/common/clidriver.py
+++ b/TestON/drivers/common/clidriver.py
@@ -53,7 +53,7 @@
             self.handle =pexpect.spawn('ssh -X '+self.user_name+'@'+self.ip_address,maxread=50000)
 
         self.handle.logfile = self.logfile_handler
-        i=self.handle.expect([ssh_newkey,'password:',pexpect.EOF,pexpect.TIMEOUT,refused,'>|#|$'],120)
+        i=self.handle.expect([ssh_newkey,'password:',pexpect.EOF,pexpect.TIMEOUT,refused,'>|#|\$'],120)
 
         if i==0:
             main.log.info("ssh key confirmation received, send yes")
@@ -62,7 +62,7 @@
         if i==1:
             main.log.info("ssh connection asked for password, gave password")
             self.handle.sendline(self.pwd)
-            self.handle.expect('>|#|$')
+            self.handle.expect('>|#|\$')
 
         elif i==2:
             main.log.error("Connection timeout")
@@ -76,8 +76,8 @@
         elif i==5:
             main.log.info("Password not required logged in")
 
-        self.handle.sendline("\r")
-        self.handle.expect('>|#|$', 2)
+        self.handle.sendline("\n")
+        self.handle.expect('>|#|\$', 2)
         return self.handle
 
     
@@ -99,7 +99,7 @@
         '''
 
         result = super(CLI, self).execute(self)
-        defaultPrompt = '.*[$>\#]'
+        defaultPrompt = '.*[\$>\#]'
         args = utilities.parse_args(["CMD", "TIMEOUT", "PROMPT", "MORE"], **execparams)
         expectPrompt = args["PROMPT"] if args["PROMPT"] else defaultPrompt
         self.LASTRSP = ""
@@ -163,7 +163,7 @@
         i = handle.expect([".ssword:*",default, pexpect.EOF])
         if i==0:
             handle.sendline(pwd)
-            handle.sendline("\r")
+            handle.sendline("\n")
 
         if i==1:
             handle.expect(default)
@@ -212,7 +212,7 @@
             main.log.error("ssh: connect to host "+ip_address+" port 22: Connection refused")
             return main.FALSE
 
-        self.handle.sendline("\r")
+        self.handle.sendline("\n")
         
         return self.handle
     
