diff --git a/config/APSPUTR.yaml b/config/APSPUTR.yaml
index 00ed6d0b0a4694cee9d2e6ac67ce014f3c52c9d5..fda5a14f66f1716bcb2f08703918c9cc06dc3d7c 100644
--- a/config/APSPUTR.yaml
+++ b/config/APSPUTR.yaml
@@ -25,20 +25,48 @@ device_registers:
    - name: Serial
      address: 0x20
 
+ - name: POL_LBA
+   address: 0x3C 
+   driver: i2c_smbus
+   registers: 
+   - { name: "TEMP", address: 0x8D, crc: True}
+   - { name: "VIN" , address: 0x88, crc: True}
+   - { name: "VOUT", address: 0x8B, crc: True}
+   - { name: "IOUT", address: 0x8C, crc: True}
+ - name: POL_RCU2A
+   address: 0x3D
+   driver: i2c_smbus
+   registers: 
+   - { name: "TEMP", address: 0x8D, crc: True}
+   - { name: "VIN" , address: 0x88, crc: True}
+   - { name: "VOUT", address: 0x8B, crc: True}
+   - { name: "IOUT", address: 0x8C, crc: True}
+ - name: POL_RCU2D
+   address: 0x3E
+   driver: i2c_smbus
+   registers: 
+   - { name: "TEMP", address: 0x8D, crc: True}
+   - { name: "VIN" , address: 0x88, crc: True}
+   - { name: "VOUT", address: 0x8B, crc: True}
+   - { name: "IOUT", address: 0x8C, crc: True}
+
 
  - name: MAX
    description: MAX6620 fan speed controller
    address: 0x29
    driver: I2C_PU
    registers:
-   - name: GLOBAL
-     address: 0x00
-   - name: TACH1
-     address: 0x10
-   - name: TACH2
-     address: 0x12
-   - name: TACH3
-     address: 0x14
+   - { name: GLOBAL, address: 0x00}
+   - { name: TACH1,  address: 0x10}
+   - { name: TACH2,  address: 0x12}
+   - { name: TACH3, address: 0x14}
+   - { name: r2, address: 0x2}
+   - { name: r3, address: 0x3}
+   - { name: r4, address: 0x4}
+   - { name: r5, address: 0x5}
+   - { name: r6, address: 0x6}
+   - { name: r7, address: 0x7}
+   - { name: r8, address: 0x8}
 
 
 variables:
@@ -82,10 +110,9 @@ variables:
     rw:  ro
     dtype: string
 
-
   - name: [APSPU_LBA_VOUT,APSPU_RCU2A_VOUT,APSPU_RCU2D_VOUT]
     driver: I2C_PU
-    devreg:  [0x3C.0x8B,0x3D.0x8B,0x3E.0x8B]
+    devreg:  [POL_LBA.VOUT,POL_RCU2A.VOUT,POL_RCU2D.VOUT]
     width: 16
     rw:  ro
     dtype: double
@@ -95,7 +122,7 @@ variables:
 
   - name: [APSPU_LBA_IOUT,APSPU_RCU2A_IOUT,APSPU_RCU2D_IOUT]
     driver: I2C_PU
-    devreg:  [0x3C.0x8C,0x3D.0x8C,0x3E.0x8C]
+    devreg:  [POL_LBA.IOUT,POL_RCU2A.IOUT,POL_RCU2D.IOUT]
     width: 16
     rw:  ro
     dtype: double
@@ -104,7 +131,7 @@ variables:
 
   - name: [APSPU_LBA_TEMP,APSPU_RCU2A_TEMP,APSPU_RCU2D_TEMP]
     driver: I2C_PU
-    devreg:  [0x3C.0x8D,0x3D.0x8D,0x3E.0x8D]
+    devreg:  [POL_LBA.TEMP,POL_RCU2A.TEMP,POL_RCU2D.TEMP]
     width: 16
     rw:  ro
     dtype: double
@@ -131,15 +158,16 @@ methods:
       - APSPU_PCB_ID : Update
       - APSPU_PCB_version : Update
       - APSPU_PCB_number : Update
+      - APSPU_FAN_monitor_on : 0
 
   - name: APSPU_FAN_monitor_on
     description: Setup the FAN monitor to give RPM
     driver: I2C_PU
     instructions:   
-      - MAX.GLOBAL : 0x02; #Run monitor
-      - MAX.0x02 : 0x88;
-      - MAX.0x06 : 0x80; # int((math.log(TACH_PERIODS{16}) / math.log(2))) << 5, 
-      - MAX.0x03 : 0x88;
-      - MAX.0x07 : 0x80;
-      - MAX.0x04 : 0x88;
-      - MAX.0x08 : 0x80;
+      - MAX.GLOBAL : 0x02 #Run monitor
+      - MAX.r2 : 0x88
+      - MAX.r6 : 0x80 # int((math.log(TACH_PERIODS{16}) / math.log(2))) << 5, 
+      - MAX.r3 : 0x88
+      - MAX.r7 : 0x80
+      - MAX.r4 : 0x88
+      - MAX.r8 : 0x80
diff --git a/config/UNB2TR.yaml b/config/UNB2TR.yaml
index 3dbda4a9e605b8a744bd4aa3cea0e67d5464c8b1..bdef91ea52e88061f614850f72ad2435dd1c386b 100644
--- a/config/UNB2TR.yaml
+++ b/config/UNB2TR.yaml
@@ -483,9 +483,11 @@ methods:
     debug: True
     instructions:   
       - UNB2TR_I2C_error: 0
+      - UNB2_I2C_enabled: 1 #Make sure I2C switches are enabled
       - UNB2_PCB_ID: Update
       - UNB2_PCB_version: Update
       - UNB2_PCB_number: Update
+#      - FP_IO.CONF: 0xf8 #bit 0-2 output for LED
       - UNB2_Front_Panel_LED_colour: Update
       - UNB2_PWR_on: Update
 
diff --git a/i2cserv/i2c_dev.py b/i2cserv/i2c_dev.py
index 6e6885f496dbd8633fd74fb014d80e52f15b66af..0ba2eb8e859809d7712ec745525212cb8c51f675 100644
--- a/i2cserv/i2c_dev.py
+++ b/i2cserv/i2c_dev.py
@@ -290,7 +290,8 @@ class i2c_dev(hwdev):
               callback(0,[devreg['wait']],read=3)
               if not(callback(devreg['addr'],value2,read=1)): return False;
            else:
-              if not(callback(devreg['addr'],value2,reg=reg,read=1)): return False;
+              rd=(5 if devreg.get('crc') else 1)
+              if not(callback(devreg['addr'],value2,reg=reg,read=rd)): return False;
         if value2[0] is None:  return False
         value[:]=value2[:];
         if devreg.get('store'):