diff --git a/devices/sercomm.py b/devices/sercomm.py
index 72df821..a64186a 100644
--- a/devices/sercomm.py
+++ b/devices/sercomm.py
@@ -17,7 +17,6 @@
     ParameterName,
     TrParameterType,
 )
-from configuration.service_configs import load_enb_config
 from device_config.configuration_init import build_desired_config
 from device_config.enodeb_config_postprocessor import EnodebConfigurationPostProcessor
 from device_config.enodeb_configuration import EnodebConfiguration
@@ -495,7 +494,6 @@
 
         pass_through_params = [ParameterName.GPS_LAT, ParameterName.GPS_LONG]
 
-        print(name_to_val)
         for name in pass_through_params:
             device_cfg.set_parameter(name, name_to_val[name])
 
@@ -636,7 +634,7 @@
         ParameterName.DL_BANDWIDTH: TrParam(
             FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.DLBandwidth",
             is_invasive=False,
-            type=TrParameterType.STRING,
+            type=TrParameterType.INT,
             is_optional=False,
         ),
         ParameterName.UL_BANDWIDTH: TrParam(
@@ -645,7 +643,7 @@
             type=TrParameterType.STRING,
             is_optional=False,
         ),
-        ParameterName.PCI: TrParam(
+        ParameterName.PCI_LIST: TrParam(
             FAPSERVICE_PATH + "CellConfig.LTE.RAN.RF.PhyCellID",
             is_invasive=False,
             type=TrParameterType.STRING,
@@ -689,7 +687,7 @@
             is_optional=False,
         ),
         # Core network parameters
-        ParameterName.MME_IP: TrParam(
+        ParameterName.MME_ADDRESS: TrParam(
             FAP_CONTROL + "LTE.Gateway.S1SigLinkServerList",
             is_invasive=False,
             type=TrParameterType.STRING,
@@ -701,7 +699,7 @@
             type=TrParameterType.INT,
             is_optional=False,
         ),
-        ParameterName.TAC: TrParam(
+        ParameterName.TAC1: TrParam(
             FAPSERVICE_PATH + "CellConfig.LTE.EPC.TAC",
             is_invasive=False,
             type=TrParameterType.INT,
@@ -872,23 +870,8 @@
         super().__init__()
         self.acs = acs
 
-    def postprocess(
-        self, mconfig: Any, service_cfg: Any, desired_cfg: EnodebConfiguration,
-    ) -> None:
-        # Bump up the parameter key version
-        self.acs.parameter_version_inc()
-
-        # Load eNB customized configuration from "./magma_config/serial_number/"
-        # and configure each connected eNB based on serial number
-        enbcfg = load_enb_config()
-        sn = self.acs.get_parameter(ParameterName.SERIAL_NUMBER)
-
-        for name, val in enbcfg.get(sn, {}).items():
-            if desired_cfg.has_parameter(name):
-                desired_cfg.set_parameter(name, val)
-                print("Config %s updated to: %s" % (name, val))
-
-        print(desired_cfg)
+    def postprocess(self, desired_cfg: EnodebConfiguration) -> None:
+        pass
 
 
 class SercommSendGetTransientParametersState(EnodebAcsState):
@@ -1106,11 +1089,7 @@
         # Now we have enough information to build the desired configuration
         if self.acs.desired_cfg is None:
             self.acs.desired_cfg = build_desired_config(
-                self.acs.mconfig,
-                self.acs.service_config,
-                self.acs.device_cfg,
-                self.acs.data_model,
-                self.acs.config_postprocessor,
+                self.acs.device_cfg, self.acs.data_model, self.acs.config_postprocessor,
             )
 
         if (
