*** tpb has joined #tomu | 00:00 | |
xobs | mithro: I took a stab at refactoring some of the tests yesterday. I got all the "rx" tests to pass, but I had to move from toggling "CE" to adding a "i_valid" signal, because otherwise the "o_put" signal would get stuck. | 01:19 |
---|---|---|
mithro | Hrm? | 01:21 |
mithro | Got the diff somewhere? | 01:21 |
xobs | https://github.com/xobs/valentyusb/commit/d8e03e0c13be32b58cc67aa7709cb9172d98b279 (and https://github.com/xobs/valentyusb/commit/21b3234f0ed77ddba0936d43b412efe5ba864b9e (and to a lesser extent https://github.com/xobs/valentyusb/commit/fd7de9f959a91d2ffc9dd12c8b0d35bd4ec5cf3c)) | 01:22 |
tpb | Title: usbcore: rx: shifter: BREAKING CHANGE: add `i_valid` signal · xobs/valentyusb@d8e03e0 · GitHub (at github.com) | 01:22 |
mithro | xobs: you probably don't want to do that if I understand correctly | 01:24 |
xobs | mithro: why not? | 01:25 |
mithro | It will take about 3 to 4 times the logic unless the optimiser is clever | 01:25 |
xobs | Hmm... but the trick of just stopping the clock doesn't work, because e.g. the "data ready" line won't go high if the last bit is stuffed. | 01:27 |
xobs | Likewise, if the second-to-last bit is stuffed, then the "o_put" line will go high for an extra cycle, due to the synchronizer being stalled | 01:28 |
mithro | The bitstuffer effectively causes the shifter to never "see" the stuffed bits | 01:29 |
mithro | It should be stalling the *whole* pipeline after it | 01:29 |
xobs | So the tests are wrong? | 01:30 |
mithro | Likely | 01:30 |
mithro | I wouldn't trust the tests any more than I would trust the code :-P | 01:32 |
mithro | Luke's code originally used your i_valid approach | 01:32 |
mithro | Which is possible why it seemed like it was the right solution? | 01:32 |
mithro | The flipflops have 3 input signals, D, SR, CE | 01:33 |
mithro | So, doing things like stalling or resetting a pipeline tend to be pretty logic efficient | 01:37 |
mithro | The optimisers tend to be pretty good at trying to make stuff into those - so maybe it doesn't matter... | 01:39 |
mithro | The i_valid signal (rather than using CE) is a pretty ASIC method of doing things | 01:40 |
mithro | Which makes sense given that the CE stuff can be a lot harder to get right | 01:42 |
mithro | Specially around resets... | 01:44 |
mithro | xobs: makes sense? | 01:44 |
xobs | That makes sense. I think the edge cases the tests were finding were related to that 0x1c bug we saw. | 01:46 |
mithro | Possibly | 01:46 |
mithro | I can't remember the exact symptoms | 01:50 |
xobs | Basically, I think the sentinal approach is incompatible with the CE approach. I suspect we might have a similar problem in the tx path. | 01:57 |
mithro | xobs: sentinel? | 03:51 |
xobs | mithro: where the "o_put" signal is tied to a 1 that marches down a counter | 03:52 |
mithro | xobs: definitely works, I had it working before | 03:54 |
mithro | You just need to be careful about when you are checking for the put | 03:55 |
mithro | You need it one cycle before you think you need it | 03:55 |
*** futarisIRCcloud has quit IRC | 03:56 | |
mithro | xobs: the old Migen simulator is a bit weirr | 04:05 |
mithro | Weird | 04:05 |
*** futarisIRCcloud has joined #tomu | 04:37 | |
*** futarisIRCcloud has quit IRC | 06:56 | |
*** futarisIRCcloud has joined #tomu | 08:09 | |
*** xkapastel has joined #tomu | 12:04 | |
*** futarisIRCcloud has quit IRC | 12:16 | |
*** andi- has quit IRC | 12:31 | |
*** andi- has joined #tomu | 12:39 | |
*** AmosSam has left #tomu | 12:44 | |
*** AmosSam has joined #tomu | 12:45 | |
*** andi- has quit IRC | 12:48 | |
*** andi- has joined #tomu | 12:57 | |
*** xkapastel has quit IRC | 14:14 | |
*** AmosSam has left #tomu | 16:08 | |
*** AmosSam has joined #tomu | 16:13 | |
*** asymmetric has joined #tomu | 17:57 | |
asymmetric | hi! i'm trying to use tomu as a u2f key on github but it's not working | 17:57 |
asymmetric | i built the firmware and used dfu-util | 17:57 |
asymmetric | although the instructions for dfu-util on tomu.im differ from the ones on gl-sergei/u2f-token | 17:58 |
asymmetric | the -d 1209:70b1 is missing | 17:58 |
asymmetric | i also added the udev rules | 17:59 |
asymmetric | any idea how to debug what's not working? | 17:59 |
asymmetric | i tried github on both chromium and firefox | 17:59 |
asymmetric | (i'm on a nixos linux machine) | 17:59 |
asymmetric | also the idVendor in the udev rule is different | 18:09 |
asymmetric | and it seems the one on the github project is correct for my key | 18:09 |
asymmetric | is this normal? | 18:09 |
*** asymmetric has quit IRC | 19:07 | |
*** asymmetric has joined #tomu | 19:13 | |
*** asymmetric has quit IRC | 19:37 | |
*** asymmetric has joined #tomu | 19:39 | |
asymmetric | https://github.com/gl-sergei/u2f-token/issues/21 | 20:14 |
tpb | Title: Different udev rules · Issue #21 · gl-sergei/u2f-token · GitHub (at github.com) | 20:14 |
*** gio has quit IRC | 20:29 | |
*** xkapastel has joined #tomu | 20:30 | |
*** gio has joined #tomu | 20:31 | |
*** gio has quit IRC | 20:42 | |
*** gio has joined #tomu | 20:47 | |
*** asymmetric has quit IRC | 21:40 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!