MC7354 not work on Linux after connecting to Windows

This is not correct. The last bytes are missing here. The final part should look like this:
22 00 0c 00 02 04 00 00 00 00 00 01 02 00 02 xx

This is due to buffering in the reader. You won’t see the rest of this message until there is more data available. I’m afraid that is a challenge of this method. Did you use my suggested workaround of piping from dd:
dd if=/dev/cdc-wdm0 bs=1 |xxd -g1
?

Maybe that isn’t enough?

Yes, that is expected when the client ID is not allocated.

Someone (right :slight_smile: should create a proper tool for doing this…