Page 1 of 1

Great linux command for testing loopback

PostPosted: Fri Jun 15, 2018 3:41 pm
by Guest
To all:

I have a new xilinx FPGA project using Xillybus. In my FPGA, I have a UART that connects external physical RX/TX to a bidirectional Xillybus stream, corresponding to a linux file /dev/xillybus_serial. For testing, I find a great linux command:

cat /dev/xillybus_serial | tee /dev/xillybus_serial

From my dumb terminal, when I type into the RX of the FPGA, the "cat /dev/xillybus_serial" portion of this commands reads out what I typed. That's piped (|) to the "tee" command. The "tee" command sends stuff to both the stdout (linux terminal) and the file. Therefore, when I type "Mr. Watson -- Come here -- I want to see yo." on my dump terminal, that goes to the RX of the FPGA and through Xillybus and out the cat | tee. I see "Mr. Watson -- Come here -- I want to see you" on my linux host terminal. The tee sends it right back to /dev/xillybus_serial, which goes through my FPGA and out the TX line to my dumb terminal. Therefore, with no local echo enabled, as I type I can see the echo coming back. I can see what I type, the echo (loopback) occurring through my FPGA fabric, through Xillybus, through the cat|tee, through Xillybus, through my FPGA fabric.

Eli, you might explain this better and add the command to your getting started doc.

Re: Great linux command for testing loopback

PostPosted: Sat Jun 16, 2018 6:07 am
by support
Hi,

Thanks for that tip. Using "tee" for looping back and dumping to console is indeed a clever idea.

Regards,
Eli

Re: Great linux command for testing loopback

PostPosted: Thu Dec 06, 2018 9:21 am
by kevin
sorry for interfering in this post.

May I know for the loopback bandwidth computation, do we double (multiply by 2) the number of bytes transferred across the Tx and Rx channels ?

bandwidth = 2*number_of_bytes_sent / (total_time_until_the_last_byte_is_back_at_source)

Re: Great linux command for testing loopback

PostPosted: Fri Dec 07, 2018 7:08 pm
by support
Hello,

In Xillybus' specifications for bandwidth, it's given for each direction independently. It holds whether both directions carry traffic at the same time or not.

Loopback shouldn't be used at all when measuring bandwidth, as explained on this page:

http://xillybus.com/doc/bandwidth-guidelines

Regards,
Eli