-
Notifications
You must be signed in to change notification settings - Fork 769
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
GUI wallet suddenly not opening through Trezor Model T #4105
Comments
Can you add a screenshot of the exact error? Also did you try entering an empty passphrase? |
@selsta monero-project/monero#8713 related? |
yes same , sorry if I added confusion |
@ph4r05 any idea here? |
It would be great if we can get the Monero GUI logs. Message "Cannot get a device address" is from the first message call to the Trezor, there are various checks performed, so having logs could help identifying the culprit. @Benjvoo, pls check if TrezorSuite enabled Passphrase for Trezor. The thing is that any passphrase works in principle with Trezor. No error will be shown if you type totally different passphrase, as it generates new wallet secrets for that particular passphrase (to any passphrase exists some wallet secret, plausible deniability). So if you created a Monero wallet with another passphrase that you are using now, you will be getting errors like this. Try various possible passphrases. Then there is a wallet password - totally unrelated to Trezor. Any Monero wallet has it, it is used to encrypt wallet file on the PC. Few suggestions:
|
Not sure it's related but on my macOs when i first updated to last version the app crash after password asking form. After i read the stacktrace i see it's try to open the previous version. So instead of replace current .app in software i delete existing one and install the new version (drag & drop). And it works. If dev need the stacktrace i made a backup. |
I can reproduce this issue on Arch Linux where monero-gui-wallet is dynamically linked against libusb (1.0.26) and hidapi (0.13.1) so I don't think the issue is caused by out-of-date dependencies. Trezor Suite works fine. Issue occurs with or without running trezord (Trezor Bridge), which I've never needed to run separately before. Downgrading to an old release of the Monero software doesn't resolve the issue so I suspect it was caused by a recent Trezor Model T firmware update, but that doesn't mean the problem is in the Trezor Model T firmware rather than the Monero wallet. |
@ph4r05 The hardware wallet passphrase entry dialog never appears after entering the wallet passphrase. monerod crashes. I haven't yet gotten a useful traceback since Arch packages have debug symbols stripped. There are split debug packages and I can translate the traceback later when I have time.
|
What version of Trezor firmware are you using right now? Here's the list of Trezor Model T updates which might help figuring the versions out:
|
Worth checking out - can these be related? trezor/trezor-firmware#2811 |
Currently on 2.5.3 and likely have been since early December at at the latest. Would have previously been on 2.5.2 since early September at the latest. It could be that it stopped working after updating to 2.5.3. I send a Bitcoin transaction every month to fund multiple other developers but I don't regularly use the other cryptocurrencies. Been checking on the Monero every few months to see how much is available and noticed a few days ago that it was no longer working. This issue was fairly issue to find. After entering the Monero GUI wallet decryption password, the Trezor Model T prompts for the passphrase but the Monero GUI wallet shows an error caused by the issue above instead of showing the usual prompt for choosing between entry on the computer or the hardware wallet. I tried several older Arch Linux releases of the Monero GUI wallet which required running it in a container where I had to install OpenSSL 1.1.x and downgrade Boost since it was linked against older library versions. I tried ones from mid-2022 back when it was definitely working. I don't know what has changed in the Trezor firmware recently but my suspicion was that it's either a firmware bug or a Monero GUI wallet bug that was previously not triggered until after a firmware update. Not necessarily a firmware bug but I think it was caused by a firmware change even if the bug is on the Monero wallet side of things. |
@thestinger can you reproduce with the getmonero.org binaries? |
I'll try that next. I just tried moving away my current wallet state and restoring which didn't work and triggered a similar error. |
@thestinger you can also try downgrading to 2.5.2 via |
@prusnak I have proper seed phrase backups and could do a dry run test and then test that. |
@selsta Doesn't help. This is the error I get running it without trezord:
This is the error with trezord running separately:
|
Note: that traceback is from the getmonero.org release rather than the Arch Linux build like the previous one above. |
That |
This does seem related. |
message 17 is This looks more like some sort of crosstalk: Monero is expecting a response for GetPublicKey (or the Monero equivalent) but is getting back Features. This is not something a Trezor device will just randomly do in a firmware upgrade. Either there is another program talking to the device at the same time (?) or Monero introduced a bug where they call |
There's nothing else running and Trezor Suite runs fine, so it must be a Monero GUI Wallet bug. I'm not sure why older releases didn't work for me. I could try older releases from the official site next instead of older Arch packages which may simply be having issues due to not downgrading enough packages in the container where I tried to get that to work. |
It could be from a dependency that got updated both in the Monero GUI Wallet and in Arch Linux. |
I can check @matejcik 's suggestion on reading Features / Initialize response correctly |
Just to clarify, when using Monero GUI, Trezor Suite is not running, correct?
Another option is to recompile Monero from sources on your machine with debugging (@selsta it is Function You get an error during the first logical message message to the Trezor. It seems that it may be left in invalid state or something else was talking to it. @matejcik I presume there was no change of the init / passphrase flow since the last upgrade which we integrated to monero codebase, right? I will go through passphrase logic in monero codebase in the following days and do some cleanup, remove old code and backward compatibility with old devices, this should make code simpler.
This is a good hypothesis. I've just checked it out, I initialize Trezor with But always calls |
Trezor Suite and other applications that may use it aren't running and it happens with it freshly connected and unlocked. I can try on Windows and macOS instead of Arch Linux since there are other computers around, although they don't have the Monero state on them. |
Another idea - increase log level to capture also debugging logs and pls check which transfer protocol is used for Trezor comm |
I also have this issue. |
Another tip - do you have just one Trezor connected? |
Using the official Trezor Bridge release doesn't resolve the issue for me, and neither does using a self-built trezord. I also tried building a couple older versions of trezord and nothing helped. |
@thestinger can you pls provide logs? #4105 (comment)
and also
As a last resort you can try building this PR which has libusb compilation fixed monero-project/monero#8752 |
With or without running Trezor Bridge (trezord) separately? |
@thestinger pls keep running trezord and try |
|
|
Same thing with trezord 2.0.27 and
I can try building it later with the patch. |
@thestinger how did you install monero-wallet-gui ? The logs look like you compiled without Trezor support. |
I never had to install Trezor Bridge before, and I never faced any problem before. Anyway, for the sake of it, I installed the latest version of Trezor Bridge (2.0.30). I can confirm it works from my browser (checking its status). I then ran Monero GUI, entered my passphrase, and.... exactly the same message as above. Cannot find the Trezor (while it is unlocked). |
@selsta Tried both the official release and the Arch Linux package. Both have Trezor support. |
@thestinger "device not found: Trezor" means it's compiled without Trezor support. Can you post the exact error message you are getting with the getmonero.org binary? |
It is better to enable full debugging (either
Also, Webusb is preferred approach as Trezor bridge may be left in inconsistent state and may require reset (pkill -9 trezord) + device reconnect.
Did you pls try this? Thanks! |
I just tested to download Monero GUI from the website itself rather than using the Arch Linux repository. That was it. Now everything works fine. It means whoever compiled Monero GUI for Arch Linux stopped to do it with Trezor support. |
hi, I'm the maintainer of the The package is currently built like this: mkdir -p build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D ARCH=default -D WITH_DESKTOP_ENTRY=OFF -D WITH_UPDATER=OFF ../
make In the Arch Linux bug report somebody noticed the buildlog contains this line:
I've searched the code base for this string and there's no matches in the monero-gui repo, but the monero repo mentions it (disclaimer that I'm not good at reading cmake): src/device_trezor/CMakeLists.txt # Protobuf and LibUSB processed by CheckTrezor
if(DEVICE_TREZOR_READY)
message(STATUS "Trezor support enabled")
[...]
else()
message(STATUS "Trezor support disabled")
monero_private_headers(device_trezor)
monero_add_library(device_trezor device_trezor.cpp)
target_link_libraries(device_trezor PUBLIC cncrypto)
endif() I've then searched for cmake/CheckTrezor.cmake # Try to build protobuf messages
if(Protobuf_FOUND AND USE_DEVICE_TREZOR AND TREZOR_PYTHON AND Protobuf_COMPILE_TEST_PASSED)
[...]
execute_process(COMMAND ${TREZOR_PYTHON} tools/build_protob.py ${TREZOR_PROTOBUF_PARAMS} WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/../src/device_trezor/trezor RESULT_VARIABLE RET OUTPUT_VARIABLE OUT ERROR_VARIABLE ERR)
if(RET)
message(WARNING "Trezor protobuf messages could not be regenerated (err=${RET}, python ${PYTHON})."
"OUT: ${OUT}, ERR: ${ERR}."
"Please read src/device_trezor/trezor/tools/README.md")
else()
message(STATUS "Trezor protobuf messages regenerated out: \"${OUT}.\"")
set(DEVICE_TREZOR_READY 1)
add_definitions(-DDEVICE_TREZOR_READY=1)
add_definitions(-DPROTOBUF_INLINE_NOT_IN_HEADERS=0)
[...]
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DTREZOR_DEBUG=1)
endif() It seems either any of I also recalled this other line in the build log:
I assume
I've uploaded this as |
@kpcyrd thanks for your investigation, I may change cmake so if fails if trezor compilation is not disabled and it fails for some reason. |
@kpcyrd The new Arch package works for me. Thanks! Still get the error from earlier with the official release: Not able to invest more time in this. Very happy to have it working though. |
@ph4r05 that would be great! |
So if |
I had this issue today, when I typed in my phrase on the device itself it actually worked. |
I was able to solve this issue by closing trezor suite, which was running at the same time as gui. |
having this same issue on Archcraft x86_64 (6.8.2-arch2-1), tried a full system upgrade, tried using
i ended up having to use a feather wallet appimage, as exodus is currently having issues syncing XMR. ill note, i also had to type in my jumbled password from the trezor device itself for it to work. unfortunately though after synchronizing and loading my balance properly, im unable to make a transaction from feather wallet due to "Failed to construct transaction Device state not initialized" |
I've never heard of Archcraft and I'm not interested in troubleshooting downstreams, if there are still issues with the package patches can be sent here: https://gitlab.archlinux.org/archlinux/packaging/packages/monero-gui |
an update on this, i managed to get into my feather wallet by typing the password normally through the feather prompt and make transactions successfully just by not having trezord or trezor suite run in the background
its pretty much vanilla arch with some themes for bspwm and openbox, the kernel is not modified afaik |
@dement6d did you try the monero-wallet-gui from getmonero.org instead of package manager? |
i just tried, |
@dement6d the arch package appears to have been compiled without protobuf and libusb which disables Trezor support. |
Patches welcome. I already invested a significant amount of time into this github issue and it's apparently still an issue on/off for >1 year. The concept of silently stripping features from release binaries is evidently wasting people's time. |
We have added @kpcyrd I might be wrong regarding what I wrote in my previous comment. I checked |
Hello and best wishes to you all. A quick question from a beginner to Monero gui wallet. I was able to set up GUI wallet and use it through the Trezor Model T. The set up was working great. Had not opened the wallet for a month and when I recently tried to open it I could not get past the second password requirement (which asks for the Trezor device password, the primary XMR GUI password is accepted). Getting an error message "Couldn't open wallet cannot get a device address." I've turned off all anti virus programs, even tried outside VPN. No luck. Has anyone encountered this problem or have any suggestions? Thanks so much
The text was updated successfully, but these errors were encountered: