diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py
index 5b8e05e..4495f47 100644
--- a/src/osmo_gsm_tester/obj/enb_amarisoft.py
+++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py
@@ -183,16 +183,24 @@
                 rf_dev_args = values['enb'].get('rf_dev_args', '')
                 rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
 
-                if self._num_prb < 25:
-                    rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
-                elif self._num_prb == 25:
-                    rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
-                elif self._num_prb > 25:
-                    rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
+                if self._txmode == 1:
+                    # SISO config
+                    if self._num_prb < 25:
+                        rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
+                    elif self._num_prb == 25:
+                        rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
+                    else:
+                        rf_dev_args += ''
+                else:
+                    # MIMO config
+                    if self._num_prb == 6:
+                        rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
+                    else:
+                        rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
 
-                if self._num_prb > 50:
-                    # Reduce over the wire format to sc12
-                    rf_dev_args += ',otw_format=sc12'
+                    if self._num_prb > 50:
+                        # Reduce over the wire format to sc12
+                        rf_dev_args += ',otw_format=sc12'
 
                 config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))
 
diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py
index ec2d1fc..ad92af5 100644
--- a/src/osmo_gsm_tester/obj/enb_srs.py
+++ b/src/osmo_gsm_tester/obj/enb_srs.py
@@ -207,12 +207,23 @@
                 rf_dev_args = values['enb'].get('rf_dev_args', '')
                 rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
 
-                if self._num_prb < 25:
-                    rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
-                elif self._num_prb == 25:
-                    rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
-                elif self._num_prb > 25:
+                if self._num_prb == 75:
+                    rf_dev_args += 'master_clock_rate=15.36e6,'
+
+                if self._txmode <= 2:
+                    # SISO config
+                    if self._num_prb < 25:
+                        rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
+                    elif self._num_prb == 25:
+                        rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
+                    else:
+                        rf_dev_args += ''
+                else:
+                    # MIMO config
                     rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
+                    if self._num_prb > 50:
+                        # Reduce over the wire format to sc12
+                        rf_dev_args += ',otw_format=sc12'
 
                 config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))
 
diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py
index 701794f..22e110d 100644
--- a/src/osmo_gsm_tester/obj/ms_srs.py
+++ b/src/osmo_gsm_tester/obj/ms_srs.py
@@ -306,12 +306,21 @@
                 rf_dev_args = values['ue'].get('rf_dev_args', '')
                 rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
 
-                if self.enb.num_prb() < 25:
-                    rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
-                elif self.enb.num_prb() == 25:
-                    rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
-                elif self.enb.num_prb() > 50:
+                if self.enb.num_prb() == 75:
+                    rf_dev_args += 'master_clock_rate=15.36e6,'
+
+                if self.enb.num_ports() == 1:
+                    # SISO config
+                    if self.enb.num_prb() < 25:
+                        rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
+                    elif self.enb.num_prb() == 25:
+                        rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
+                    else:
+                        rf_dev_args += ''
+                else:
+                    # MIMO config
                     rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
+                    # For the UE the otw12 format doesn't seem to work very well
 
                 config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args)))
 
