Tock V2 port - rebased and updated#620
Conversation
|
The USB driver is fixed. I tested a bit more, and OpenSK worked reliably on the second commit. Desription is updated. |
|
I tested the following on a dev board (clear storage + panic console):
I don't know if it's the test suite or this PR, but some button touch are not taken into account. The test suite did not finish successfully, I've hit the following error: I've also hit the following warnings and errors during test suite: Not sure if any of those should be particularly blocking. LGTM to proceed otherwise. |
|
The first looks like something that happens when the device hasn't booted quickly enough after a reset. The retry loop in the Test Tool doesn't always find the device. Is it reproducible for you? For the warnings and errors, I'll check if any of them is a regression. They could be outdated tests. |
|
The warnings and errors are reproducible, here are the remaining ones: This time I gave plenty of time between resetting the board and hitting enter in the test suite. The tool did not fail. Regarding the button issue, I'm even more unsure it's the PR. I used to use the next message from the tool as feedback that the button was pressed, but sometimes the tool takes a considerable amount of time before showing the next line. I tried to check whether the LEDs were blinking and could confirm that some of the times when I didn't get feedback in the tool, the LEDs actually stopped blinking which means the button touch worked. However, it's hard to keep an eye on both the tool and the LEDs at the same time, so not sure if all cases can be explained with this theory. Suggestion would be to improve the tool by printing when the button is touched. I also noticed that when the tool was saying "don't touch although LEDs are blinking", it happened once that they were not blinking (or were blinking after some non-negligible amount of time). Not sure if expected. Apart from that, no major testing issues identified on my side. |
|
Have you checked boot time differences on the dev board between Tock V1 and Tock V2? It sounds like you are seeing the same thing I am. I'm about 1/4 the way through reviewing. I'll finish today. |
|
From looking at the debug output, it looks like Tock boots in under 1 second for me on the dev board. No big difference between V1 and V2. |
|
Also the Test Tool outputs from before and after this PR are identical. Not sure about the other observations you made, but most tests consist of more than one call to the authenticator. So there can be delay between starting the test and the blinking. In this specific case, there is an easier explanation: After the long warning message that you shouldn't touch, the Tool waits 2 seconds. This is because people tend to just spam press the button to pass all tests, and it's hard to react to the warning message otherwise. So looks to me like everything is working so far? Also no problems on the dongle for me. |
ia0
left a comment
There was a problem hiding this comment.
I didn't review, only tested as described in #620 (comment) and #620 (comment). No blocking issues on my side. However, I think we should wait at least @zhalvorsen or @jmichelp to approve before merging.
|
|
||
| mod command_nr { | ||
| pub const GET_INFO: usize = 1; | ||
| pub const GET_INFO: u32 = 1; |
There was a problem hiding this comment.
Bringing a question from the previous PR here.
Is there a specific reason this syscall driver is here instead of in third_party/libtock-drivers? I think it is the only one that lives outside
There was a problem hiding this comment.
Historic reasons. I could move it, this is just the smallest diff solution. I can see why that could make things cleaner.
There was a problem hiding this comment.
If we do it, it would probably be better in a different PR anyway. So I'm good to move on.
There was a problem hiding this comment.
Sounds good. I'll look into it tomorrow and merge if @jmichelp has no objections.
|
LGTM but I didn't look too closely at the patches |
Co-authored-by: Zach Halvorsen <zhalvorsen@google.com>
|
MacOS CI didn't run on the last small commit, but they were green on all other commits. |
|
Thanks for the work of all contributors 👍🏾 |
|
Thanks for your initiative! If you want to add your board, feel free to open another PR. :) |
This PR is similar to #580. I made some changes and new observations during testing. This PR is WIP still. Most parts of this PR are ready for review, only the
patches/need more attention (see observations).Differences (FYI @L0g4n) :
boards/anddeploy.py.Observations:
The USB driver makes the kernel panic when canceling UP checks. My best guess is theCTAP_CMD_TRANSMIT_OR_RECEIVEcommand, is this command is the unique source of CTAP HID cancel packets (not to be confused with the USB cancel syscall).