Skip to content
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

TREZOR 1.4.0 fails on Windows #36

Open
bgok opened this issue Sep 22, 2016 · 3 comments
Open

TREZOR 1.4.0 fails on Windows #36

bgok opened this issue Sep 22, 2016 · 3 comments

Comments

@bgok
Copy link
Contributor

bgok commented Sep 22, 2016

After upgrading to TREZOR firmware 1.4.0, multibit is not able to communicate with the device.

At first, multibit wasn't able to detect the device. It was due to the issue described at: https://www.reddit.com/r/TREZOR/comments/52tcff/mytrezor_not_working_with_new_firmware/d7ncnqs. After applying the fix, the device was detected, but multibit was still unable to talk to the device. The error that is:

Requesting TREZOR Unlock
Failed to communicate with TREZOR device

Firmware version 1.3.6 works as expected on all platforms. Firmware version 1.4.0 works as expected on Mac osx.

Very little troubleshooting has been done so there may be a simple fix. This possibly includes:

  • Rebooting the machine
  • Looking at the logs for any clues
  • Rebuilding with the most recent .proto files.
  • Wiping the device and trying again.

We are shipping with this bug in Multibit release 0.4.1 and will get trezor 1.4.0 working in a future release (hopefully within the next 2 weeks).

@jhoenicke Any ideas about other things we should look for?

@jhoenicke
Copy link
Contributor

The main difference of 1.4.0 is a second hid interface for u2f functionality. The first HID interface enumerated should be the usual Trezor link, the second interface is u2f. You have to make sure to send the commands to the first interface.

Preferred way to distinguish these is by the HID usage page: ff00 for Trezor and f1d0 for u2f. This is sometimes given when enumerating the interfaces, or you can query the report descriptor. You can also use the endpoint (1 vs 3), but boot loader uses different endpoint so this is not reliable.

@bgok
Copy link
Contributor Author

bgok commented Sep 23, 2016

@jhoenicke Thanks for explaining. That information will be very helping in getting 1.4.0 working.

@prusnak
Copy link
Contributor

prusnak commented Oct 8, 2016

Windows (and OS X) HID drivers report usage_page, so that should be the preferred method. Only problem is in Linux/libusb where usage_page is empty and one has to use interface_number (which is empty on Windows/OS X).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants