-
Notifications
You must be signed in to change notification settings - Fork 204
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
Fail to unlock Jade DIY tdisplay #1616
Comments
Same error here with LILYGO T-Display-S3 When the device is initialized(with seed inside), after entering the PIN, it will display When the device is uninitialized, after entering the new PIN twice, it will display Like @jpph described, only by passing this step with Electrum, then I can use the device with Sparrow. |
Ok, I've ordered both the legacy T-Display and the Lilygo T-Display S3. I should be able to test directly in a week or so. |
I have made further investigation, I confirm I get error trying to sign on the legacy Tdisplay. So pin entry unlock (with oracle server) and signing is not working. Verify receive adress is working. |
Ok, I have received and tested with LILYGO T-Display-S3. I did the setup over USB with Blockstream Green. I have no problems with unlocking the device, signing or displaying addresses. I am still waiting for the legacy T-Display. @qdwang It appears your issue is that the device is returning a URL for the PIN oracle that can't be accessed by Sparrow for some reason. Have you checked sparrow.log to see if there are any relevant errors? See the FAQ to find Sparrow home. |
I come to report that the same error happens to me edit I just tested version 2.0.0 msi here and it is working correctly with jade diy ttgo t display |
@craigraw Here is the log
I got this log by using |
I have now tested the legacy T-Display. The issue is that the device is both sending RPC responses in a piecemeal fashion, and, at the same time, is sending quite a bit of INFO level logging over the wire. As far as I can tell, the combination of these two factors means that it appears the device has no more data to send, when in fact it is just working through creating more logs that should be part of one complete response. This causes incomplete responses to be read, as reading terminates too early due to the incorrect signalling of "no more bytes to read" on the input stream halfway through receiving an RPC response. It is possible to detect this board and try add delays in reading from the device that improve the situation somewhat, but a much better solution is simply to suppress INFO logging, which is not necessary anyway:
Go to "Component config", "Log output", set "Default log verbosity" to Error (or No output).
Once I did this, I had no issues with logging in, signing etc using the legacy T-Display. |
This is not doable with the diy web flasher. You could manage detecting the debug stream ? It is working nice with electrum |
I would rather not. Introducing things like wait-loops are poor engineering, to solve a problem that should be solved upstream - ultimately, by specifying a protocol that has basic necessities like data framing, or at least writing all the data all at once. Unfortunately, for whatever reason the Jade's developers chose to not to do this, and application developers are left with a mess and imperfect answers. In addition, the "solution" I mentioned wasn't great - it only worked partially, there were still occasional errors. Why not open an issue on https://github.com/Blockstream/jadediyflasher to request that the Jade firmware be built without INFO logging, which is for debugging purposes in any case and shouldn't be used in production builds. |
Ok I have raised an issue to upstream (diyflasher doesnt have issue tracker) |
Fwiw I have attached the binaries I built which disable the INFO (really debug) logging. |
I have already flash the firmware(with debug log) with secure boot. The problem is OTA a new firmware without debug log can cause the device unusable. Is there another way to solve this? |
On latest 2.1.1, it can unlock Lilygo T-Display S3 Pro with Cam but not the legacy T-Display (the one at 10usd).
It can interact with it only if I first unlock it with electrum (enter the pin ) then close electrum and then open sparrow.
attached logs. It is like it timeout before entering the pin in the tdisplay
sparrow.log
Edit1: If I empty the sparrow.log file, and test again, the log file stay empty. I think the log file I attached contain previous errors, not this one
Edit2 : I sent you 15usd (btcpay trx ( id TxMobRRwFB7TDi5876xtAq). If you want to buy a Lilygo T-display , you can take the 4MB version with shell (K163)
The text was updated successfully, but these errors were encountered: