Skip to content

Instantly share code, notes, and snippets.

@tcr
Last active August 19, 2016 10:54
Show Gist options
  • Save tcr/992978a5dbe5bff2e18f495c5c0973c3 to your computer and use it in GitHub Desktop.
Save tcr/992978a5dbe5bff2e18f495c5c0973c3 to your computer and use it in GitHub Desktop.
Fix for Tessel 2 on Windows

Update (August 2016)

Please take a look at these updated instructions on Github to troubleshoot issues you have with Windows and Tessel 2.

 


 

Older instructions (pre-August 2016)

A holdover fix for Tessel 2 drivers on Windows:

  1. Download and unzip the archive on this gist, t2-windows-fix.zip

  2. Open a Command Prompt in the newly unzipped folder using Run as administrator.

  3. Unplug Tessel 2 from your computer.

  4. Run node driver-clean.js.

  5. Hold down the reset button near the edge of Tessel 2 (by the antennas). Plug in Tessel 2. It will now be in DFU mode.

  6. Run node driver-install.js.

  7. Tessel will reboot and working Windows drivers will be loaded. In about 30s, run t2 list to see if this was successful.

Having run the above steps, your computer will have uninstalled the old Tessel 2 drivers. Tessel 2 is now flashed with firmware that works on Windows out of the box.

NOTE: A Tessel 2 with updated firmware can use t2 update as normal. You do not need to repeat the above steps on a new computer that has not been exposed to the old firmware.

@dcustodio
Copy link

same error with Win 10 Pro, node 4.4.4:

E:\t2-windows-fix\t2-windows-fix>node driver-install.js
note: make sure t2 is in dfu-util mode (hold down the reset button while plugging in)

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Cannot open DFU device 1209:7551
No DFU capable USB device available
child_process.js:507
    throw err;
    ^

Error: Command failed: dfu-util-static.exe -a0 -d 1209:7551 -D firmware-winusb.bin
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Cannot open DFU device 1209:7551
No DFU capable USB device available

    at checkExecSyncError (child_process.js:464:13)
    at execSync (child_process.js:504:13)
    at Object.<anonymous> (E:\t2-windows-fix\t2-windows-fix\driver-install.js:8:13)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

@smrq
Copy link

smrq commented May 17, 2016

Cheers, worked for me. Cmd output in case it matters at all...

λ ver

Microsoft Windows [Version 10.0.10586]

λ node -v
v5.5.0

λ node driver-clean.js
devcon-x64.exe remove "@USB\VID_1209&PID_7551&MI_00\7&233A08B8&0&0000"
USB\VID_1209&PID_7551&MI_00\7&233A08B8&0&0000               : Removed
1 device(s) were removed.

devcon-x64.exe remove "@USB\VID_1209&PID_7551&MI_01\7&233A08B8&0&0001"
USB\VID_1209&PID_7551&MI_01\7&233A08B8&0&0001               : Removed
1 device(s) were removed.

devcon-x64.exe remove "@USB\VID_1209&PID_7551&MI_02\7&233A08B8&0&0002"
USB\VID_1209&PID_7551&MI_02\7&233A08B8&0&0002               : Removed
1 device(s) were removed.

devcon-x64.exe remove "@USB\VID_1209&PID_7551\HQKGTY679WC1X0ZZ6LLLWB5NMY"
USB\VID_1209&PID_7551\HQKGTY679WC1X0ZZ6LLLWB5NMY            : Removed
1 device(s) were removed.

t2 drivers have been uninstalled.

done. you can now run node driver-install.js with t2 in dfu mode.
(hold the reset button while plugging in t2 to enter this mode)

λ node driver-install.js
note: make sure t2 is in dfu-util mode (hold down the reset button while plugging in)

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
unable to read DFU status after completion
dfu-util 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org

Opening DFU capable USB device...
ID 1209:7551
Run-time device DFU version 0101
Claiming USB DFU Interface...
Setting Alternate Setting #0 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0101
Device returned transfer size 256
Copying data from PC to DFU device
Download        [=========================] 100%        14736 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present


firmware flashing complete.

λ t2 list
INFO Searching for nearby Tessels...
        USB     Tessel-02A3069708B5

@wmmihaa
Copy link

wmmihaa commented May 26, 2016

I had the same problem as @shanselman but got it working after installing the driver using Zadig in DFU mode.

https://github.com/tessel/t2-cli/issues/742#issuecomment-220487881

@rlramirez77
Copy link

This process worked for me until I unplugged the Tessel 2; then when I plugged it back in a few days later, t2 list produced:

INFO Searching for nearby Tessels...
WARN Detected a Tessel that may be booting.

I repeated the same procedure as before, but no luck and I am back to square 1 on Windows 10 x64

@jandrieu
Copy link

Hi. Same problem. Windows 10 x64, Node v4.3.1.

Running the gist failed as @shanselman and @wmmihaa.
Adding the WinUSB driver for Tessel from DFU mode with Zadig helped (Thanks @wmmihaa!)

However, then I got the following error running t2 list:

Submit Crash Report to help Tessel Developers improve the CLI ?
    If yes(y), subsequent crashes will be submitted automatically. Yes
ERR! Error writing preference crash.reporter.prompt false
ERR! Detected CLI crash { [Error: ENOENT: no such file or directory, open 'C:\Users\Joe\.tessel\preferences.json']
ERR!   errno: -4058,
ERR!   code: 'ENOENT',
ERR!   syscall: 'open',
ERR!   path: 'C:\\Users\\Joe\\.tessel\\preferences.json' } Error: ENOENT: no such file or directory, open 'C:\Users\Joe\.tessel\preferences.json'
ERR!     at Error (native)
undefined
Submit Crash Report to help Tessel Developers improve the CLI ?
-   If yes(y), subsequent crashes will be submitted automatically. (Y/n) n|

WARN No Tessels Found.
Terminate batch job (Y/N)? y

Fortunately, all I needed to do was to create that .tessel directory.

C:\Users\Joe\Documents\Software\Tessel>t2 list
INFO Searching for nearby Tessels...
        USB     Tessel-02A37EC8C33C

Then it worked.

@jandrieu
Copy link

@rlramirez, are you waiting for the blue LED to stabilize? It's about a 30s boot.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment