diff --git a/gnurabbit/python/rr.py b/gnurabbit/python/rr.py
index 7ddc4165d5cf62bfd5cd9aeb71796ec87c3b899d..8b8adf90f788f37ae10798f067bebaaa4ba0a57c 100644
--- a/gnurabbit/python/rr.py
+++ b/gnurabbit/python/rr.py
@@ -70,6 +70,9 @@ class Gennum(object):
         self.loaderlib = CDLL(cwd + Gennum.rr_loader_lib)
         self.fd = os.open(Gennum.device, os.O_RDWR)
 
+    def get_fd(self):
+        return self.fd
+
     def iread(self, bar, offset, width):
         """do a read by means of the ioctl interface
 
@@ -188,10 +191,11 @@ class Gennum(object):
         return self.errno
 
     def load_firmware(self, bitstream):
-        self.loaderlib.rr_init(self.fd)
+        self.err = self.loaderlib.rr_init(self.fd)
         self.loaderlib.gpio_config()
         self.loaderlib.gpio_bootselect(GENNUM_FPGA)
-        return self.loaderlib.rr_load_bitstream_from_file(bitstream)
+        self.err = self.loaderlib.rr_load_bitstream_from_file(bitstream)
+        return self.err
 
 if __name__ == '__main__':
     g = Gennum()