diff --git a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/Bti7000DeviceDescriptionProvider.java b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/Bti7000DeviceDescriptionProvider.java
index d779e0a..b47b534 100644
--- a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/Bti7000DeviceDescriptionProvider.java
+++ b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/Bti7000DeviceDescriptionProvider.java
@@ -29,7 +29,9 @@
 
 /**
  * A vendor-specific implementation supporting BTI Systems BTI-7000 equipment.
+ * @deprecated 1.5.0 Falcon, not compliant with ONOS SB and driver architecture.
  */
+@Deprecated
 public class Bti7000DeviceDescriptionProvider implements SnmpDeviceDescriptionProvider {
     private final Logger log = getLogger(getClass());
     protected static final IClassRegistry CLASS_REGISTRY =
diff --git a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/NetSnmpDeviceDescriptionProvider.java b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/NetSnmpDeviceDescriptionProvider.java
index 5e6689a..1d9c7ff 100644
--- a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/NetSnmpDeviceDescriptionProvider.java
+++ b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/NetSnmpDeviceDescriptionProvider.java
@@ -30,7 +30,9 @@
 
 /**
  * A agent-specific implementation supporting NET-SNMP agents.
+ * @deprecated 1.5.0 Falcon, not compliant with ONOS SB and driver architecture.
  */
+@Deprecated
 public class NetSnmpDeviceDescriptionProvider implements SnmpDeviceDescriptionProvider {
     private final Logger log = getLogger(getClass());
     protected static final IClassRegistry CLASS_REGISTRY =
diff --git a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceDescriptionProvider.java b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceDescriptionProvider.java
index 4be3a35..5167a44 100644
--- a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceDescriptionProvider.java
+++ b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceDescriptionProvider.java
@@ -18,16 +18,19 @@
 
 /**
  * Abstraction of an entity which updates a device description with information retrieved via SNMP.
+ * @deprecated 1.5.0 Falcon, not compliant with ONOS SB and driver architecture.
  */
+@Deprecated
 public interface SnmpDeviceDescriptionProvider {
 
     /**
      * Generated an updated device description.
-     *
+     * @deprecated 1.5.0 Falcon
      * @param session SNMP session
      * @param description old device description
      * @return new updated description
      */
+    @Deprecated
     DeviceDescription populateDescription(ISnmpSession session, DeviceDescription description);
 
 }
diff --git a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java
index c2e7f14..51e5fd1 100644
--- a/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java
+++ b/providers/snmp/device/src/main/java/org/onosproject/provider/snmp/device/impl/SnmpDeviceProvider.java
@@ -117,6 +117,7 @@
         super(new ProviderId("snmp", "org.onosproject.provider.device"));
         sessionFactory = new SnmpSessionFactory(
                 new DefaultSnmpConfigurationFactory(new V2cSnmpConfiguration()));
+        //TODO refactor, no hardcoding in provider, device information should be in drivers
         providers.put("1.3.6.1.4.1.18070.2.2", new Bti7000DeviceDescriptionProvider());
         providers.put("1.3.6.1.4.1.20408", new NetSnmpDeviceDescriptionProvider());
     }
@@ -362,7 +363,10 @@
                         + (device != null ? device.deviceInfo() : null), e);
             }
         }
-
+        /**
+         * @deprecated 1.5.0 Falcon, not compliant with ONOS SB and driver architecture.
+         */
+        @Deprecated
         private DeviceDescription populateDescriptionFromDevice(DeviceId did, DeviceDescription desc) {
             String[] deviceComponents = did.toString().split(":");
             if (deviceComponents.length > 1) {
