Jetson TX2 Carrier board J21

ATM I am trying to use the J21 header as a serial port, but i am having trouble sending data through that header, I am aware that it is used by the boot process, is this the full issue or should the UART become available after boot? If not then how do I enable the J21 ?

J21 is used as serial console. This is used by U-Boot prior to loading the Linux kernel, and again after the Linux kernel boots (this remains logged in even when many other parts of the system fail). If you were to go through the steps of disabling the serial console (and I discourage doing so), beware that the hardware flow control (CTS/RTS) does not work on this port…this port seems to work only under software (no) flow control.

If you are not using the camera, then J17 has a UART port which is easy to use. There is a patch needed to fix an issue prior to using this port. See:
https://devtalk.nvidia.com/default/topic/1001264/jetson-tx2/tx2-uarts/post/5125115/#5125115

If you want to patch this without building kernel source see (it’s just a device tree edit to enable the UART port, it isn’t really a kernel edit):
https://devtalk.nvidia.com/default/topic/1001264/jetson-tx2/tx2-uarts/post/5125725/#5125725