-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
USB debug console prevents gpg mode from working #55
Comments
When Using the swd interface, gdb can log what the writes would have been:
Adding a breakpoint at |
If I comment out the cond wait in
(and by "work", I mean that interacting with the card works. the debug console has lots of messed up messages as a result of not waiting for the tx to complete) |
I'm not positive how
Except that |
This hack of a patch uses a tx fifo instead of the cond variables and it allows the debug console to work again. I'm really confused how it worked in the past since it appears to self-deadlock based on the way the condition variables are used and the single thread handling both the |
I've built the firmware from source and verified that gpg mode works in the stock build (flashing over SWD):
However when I enable the debug console there is both nothing printed on the uart and the device doesn't respond to
gpg --card-status
commands. The USB enumeration looks right -- there are both the CCID and CDC endpoints.lsusb.txt
Running
gpg2 --card-status
hangs. Attempting to open the serial port produces a warning on the dmesg (but no output ever appears on the console):It's not clear with gdb where the card is; everytime I single step it is in
chx_idle()
.The text was updated successfully, but these errors were encountered: