diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
index d7b8e40..edeffef 100644
--- a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
+++ b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
@@ -110,7 +110,9 @@
     /**
      * RPC interfaces message.
      */
-    static final String RPC_IFS = "<interfaces/>";
+    static final String RPC_IFS =
+            "<interfaces><interface><ifPhyType>Ethernet</ifPhyType" +
+                    "></interface></interfaces>";
 
     /**
      * RPC ifm message.
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
index c6909e4..bcb7f4c 100644
--- a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
+++ b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
@@ -184,11 +184,12 @@
         NetconfSession session = getNetconfSession();
         String interfaces;
         try {
-            return session.get(getInterfacesReq());
+            interfaces = session.get(getInterfacesReq());
         } catch (IOException e) {
             throw new IllegalArgumentException(
-                    new NetconfException(INT_INFO_FAILURE));
+                    new NetconfException(INT_INFO_FAILURE, e.getCause()));
         }
+        return interfaces;
     }
 
     private Collection<PortStatistics> getPortStatistics(String ifs) {
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
index 29b617f..5d56ddc 100644
--- a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
+++ b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
@@ -79,7 +79,7 @@
 
     //TODO: All type of interfaces has to be added.
     private static final List INTERFACES = Arrays.asList(
-            "MEth", "LoopBack", "Ethernet", "POS", "GigabitEthernet");
+            "MEth", "Ethernet", "POS", "GigabitEthernet");
 
     private List<PortDescription> ports = new ArrayList<>();
     private String xml;
@@ -259,6 +259,7 @@
                                                           .getText());
 
             return builder.setDeviceId(id)
+                    .setPort(port)
                     .setPacketsReceived(packetReceived)
                     .setPacketsSent(packetSent)
                     .setBytesReceived(bytesReceived)
