EDIT
Parece que interpreté mal la pregunta, pero como Gustavo cree que valdría la pena dejarla, lo haré. No estoy realmente seguro de si el problema es la mala interpretación de los paquetes de radio por parte del OP o si es la FIFO con la que no se está llevando a cabo. De todos modos, sé amable si me he perdido la marca en esto.
Por lo general, un transmisor y receptor de radio tiene un tamaño de paquete limitado debido a la probabilidad de errores de datos: cuanto más pequeño sea el paquete, menor será la probabilidad de error. El receptor debe poder detectar un error utilizando el valor de verificación de error adjunto. Si se detecta un error, el receptor vuelve a solicitar el paquete.
Si el paquete era "largo", hay una mayor probabilidad de error y demorará más en retransmitir el paquete.
Esto es un "dilema" al diseñar un sistema de paquetes de radio. Los paquetes largos son más propensos a errores y tardan más tiempo en retransmitirse, por lo que la velocidad efectiva de datos de carga útil es más lenta. Por otro lado, un paquete corto o pequeño es ineficiente porque necesita un montón de bits (llamado preámbulo) que permiten que el detector del receptor se bloquee y necesita un CRC (o errores de comprobación de errores adjuntos).
Una vez que se determina el tamaño del paquete, la transmisión (por ejemplo) de un archivo de 1MByte no tiene nada que ver con el tamaño del paquete de la radio, sino cómo se elige integrar un mayor nivel de control en su protocolo, permítame decirlo nuevamente. esto no tiene nada que ver con el tamaño del paquete de la radio.
Intentar "secuestrar" el pequeño paquete transmitido por la radio para hacer la vida más fácil está bien, pero si necesita transmitir algo más grande, debe aplicar un protocolo de nivel superior para que el extremo receptor pueda juntar el archivo de 1 Mbyte y entender cuando el archivo se recibe completamente.