Ofdm over gnu radio

I’m trying to use the ofdm example to create a code via GRC that:

  • create a random bitstream
  • modulate it into ofdm
  • send it over USRP (USRP2/N-Series device)
  • receive it over another USRP
  • demodulate it
  • get the original bitstream

the provided example does this except the USRP part.
I created the code, with some probes to detect the bits at each level. My main problem is that after the CRC check (the final step), the size of the stream is way smaller than the original one(sent 19968 bytes, received 5376 bytes, the later number sometimes vary within a small margin), and it is all wrong, knowing that the previous steps all check out compared to the transmitted data.
Note that the two devices are on the same desk, so the signal should be excellent.

please find the code here:

any ideas?