TL;DR I got the debug output from Signet's UART

- The reference manual is well organized!

- I added lots of comments to the code to reference which section of which document that it came from

- I got confused with calculating the UART BR register value for a desired baud rate, but that doesn't really matter because...

- The UART port "just worked" with `screen` on Fedora 38. I'm not sure if I transposed something in the command on my Debian 12 box or if they have different defaults for parity/stop bit, or something else is going on. I'm busy the next few days, but I'll boot that box again to investigate further in a few days

- The reason my previous test was constantly writing to the `screen` was because the debug output is continuous as there are apparently some debug print in the main loop

Overall, this is excellent news. Not only did I get the ability to see runtime debug print statements from the firmware, but I also got familiar with how to find low level information about this MCU.

Plus with the notes I made in the code, next time I'm going through it (or someone else is), it'll be easier to trarck these things down.

nostr:nevent1qqsz39snpjfxaehn2q7qjvatrxg6s0ykp7kruq4x66e74dvwyqqu02qpz9mhxue69uhkummnw3e82efwvdhk6q3q6v82nr4xt62nlydtj0mtxr49r6enc5r0sl2f7cq2zwdw7q92j5gsxpqqqqqqzyycjp5

Reply to this note

Please Login to reply.

Discussion

Oh! I forgot to mention the point of this 9.5 hour debugging session! The device never gets the startup message from the client. This implies:

Qubes 4.2 filters writes to rawhid devices

Qubes 4.1 and earlier did not do this

I have more research to do in order to track down exactly how Qubes is accomplishing this. It doesn't look like it is usbguard (which seems to be running in dom0).

I don't see anything in the release notes about this.

https://www.qubes-os.org/doc/releases/4.2/release-notes/

Next stop: how does qubes accomplish making devices available from one qube to another? 🚂

nostr:nevent1qqst7gq0hzydw5sufr54q3qqykkhw68gez382kg3w6gskcexq5jky5spz9mhxue69uhkummnw3e82efwvdhk6q3q6v82nr4xt62nlydtj0mtxr49r6enc5r0sl2f7cq2zwdw7q92j5gsxpqqqqqqzneeprl