tdevmon - received data is always 00 on Linux 6.2.13

I'm using tdevmon-3.3.11-linux-amd64 on Manjaro Linux with 6.2.13 kernel. When I'm using Serial Monitor to sniff for serial traffic, tdevmon correctly shows the output data, but the input data is shown as zero.

For example, this is a glimpse of an output for a Python script I'm using to write and read to /dev/ttyUSB0:

DEBUG:downloader:>> 5a a5 f3 82 84 38 6d 6e 5d 1f 55 fb 64 2c 9a 80 9a 04 95 7c 95 0e 59 f0 8a c4 90 30 31 ce 32 32 01 f9 c3 e0 4f 81 de 3e f8 9f a7 7d bf c2 7e 13 d4 fc 41 69 f6 e4 d3 4c b6 10 f9 80 5c 32 97 08 71 c8 f9 41 62 4f 00 02 49 02 b4 ee 7f 66 9f 8a 16 be 35 d6 7c 20 de 0a d5 25 f1 3e 8f 62 35 2b ed 2a de 31 34 f0 db 9d 98 7d a8 4e 73 e6 26 00 c9 3b 87 15 ee df 08 3c 5b ac f8 3f fe 09 cd f1 66 e3 43 d5 2e b4 9b 9b 9f 17 58 5a cb 3d 9c a6 39 1a 26 89 0b 26 e1 c8 07 68 07 07 91 91 d0 91 50 7e c2 be 21 d5 6e a4 fd a2 b5 69 b5 3b c9 b5 48 fe 13 eb 52 25 f4 93 bb 4e ac 8b 16 c6 0e 4e e0 57 03 07 3c 60 62 80 3c 1b e2 97 ec fb f1 1b e0 9c 1a 6c fe 39 f0 86 a5 e1 b8 35 1d c2 d6 5b c8 c6 c9 08 00 95 dc a4 80 c0 10 76 9c 1f 6a ed 7e 20 7e cd 1a ef
DEBUG:downloader:<< 5a a5 03 82 4f 4b

Yet, IO Ninja shows this:

Screenshot_20230508_152812.png

Same happens with Linux 6.3.0, while it works fine on Linux 5.15.109.

The issue is confirmed.

Apparently, in linux-6.2.0, they introduced a new check that prevents copying from iov_iter unless it's an iterator created for a write operation. Hence, the read_iter hook failed to copy data from the buffer.

Please try the latest build tdevmon-3.3.12 (available at the Downloads page) and let me know if it works for you.

I checked on 6.2.13 and seems to work now. Thanks!

Hi.
I'm on Linux 6.5.0 with tdevmon-3.3.13. I'm also getting the zeroes instead of the real bytes. Is there any solution for this.

Thanks.

Cheers,
Mateusz

Hi.

Just tried it on linux-6.6.1-arch-x86_64, and it works (showing both TX and RX data). What exactly are the symptoms? Can you share any screenshots? Also,

$ uname -a
??

$ ./tdevmon --version
??