Skip to content

Instantly share code, notes, and snippets.

@tcr

tcr/t2-fix-windows.md

Last active Aug 19, 2016
Embed
What would you like to do?
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.

@rwaldron

This comment has been minimized.

Copy link

@rwaldron rwaldron commented May 5, 2016

To enable the Windows 10 administrator account do the following:

  1. Tap on the Windows-key. ...
  2. Type cmd and wait for the results to be displayed.
  3. Right-click no the Command Prompt result and select "run as administrator" from the context menu.
  4. Run the command net user to display a list of all user accounts on the system.

Source

@rwaldron

This comment has been minimized.

Copy link

@rwaldron rwaldron commented May 5, 2016

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

Complete

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

Complete

3.Unplug Tessel 2 from your computer.

Complete

4.Run node driver-clean.js .

Complete

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.

Complete

6.Run node driver-install.js .

C:\Users\Rick\Downloads\t2-windows-fix\t2-windows-fix>dfu-util-static.exe --list
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

Cannot open DFU device 1209:7551

C:\Users\Rick\Downloads\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!!!
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!!!
No DFU capable USB device available

    at checkExecSyncError (child_process.js:464:13)
    at execSync (child_process.js:504:13)
    at Object.<anonymous> (C:\Users\Rick\Downloads\t2-windows-fix\t2-windows-fix\driver-install.js:8:13)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Function.Module.runMain (module.js:467:10)
    at startup (node.js:136:18)
    at node.js:963:3

Tried again, went back to step 4:

C:\Users\Rick\Downloads\t2-windows-fix\t2-windows-fix>node driver-clean.js
devcon-x64.exe remove "@USB\VID_1209&PID_7551\0532FFS9DMD2VKD21MXYD2W9TS"
USB\VID_1209&PID_7551\0532FFS9DMD2VKD21MXYD2W9TS            : 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)

Still successful, that's good. Now, plugged t2 back in while holding button, then:

C:\Users\Rick\Downloads\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!!!
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!!!
No DFU capable USB device available

    at checkExecSyncError (child_process.js:464:13)
    at execSync (child_process.js:504:13)
    at Object.<anonymous> (C:\Users\Rick\Downloads\t2-windows-fix\t2-windows-fix\driver-install.js:8:13)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Function.Module.runMain (module.js:467:10)
    at startup (node.js:136:18)
    at node.js:963:3

C:\Users\Rick\Downloads\t2-windows-fix\t2-windows-fix>dfu-util-static.exe --list
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
@topiux

This comment has been minimized.

Copy link

@topiux topiux commented May 8, 2016

Same as rwaldron.

driver-clean.js runs without issues on Windows 7 x64.

$ node driver-clean.js
devcon-x64.exe remove "@USB\VID_1209&PID_7551\734GV4NQV4TGQZ2Y45MRVSWSWY"
USB\VID_1209&PID_7551\734GV4NQV4TGQZ2Y45MRVSWSWY            : Removed
1 device(s) were removed.

However, driver-install.js fails with "No DFU capable USB device available".


$ 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

I also tried repeating steps 3-6, to no avail.

Additionally, the automatic Windows driver install recognizes "Tessel DFU" but fails installing a driver.

image

@dudleyjosh

This comment has been minimized.

Copy link

@dudleyjosh dudleyjosh commented May 9, 2016

I just gave this a shot on a Windows 10 x64 machine (Surface Pro 2, it only has a single USB port) running Node 4.4.1 and it worked. I tried it on a Window 7 x64 machine running Node 4.4.0 and got the same issues as @rwaldron and @topiux.

@flaki

This comment has been minimized.

Copy link

@flaki flaki commented May 10, 2016

FWIW I've just tried this and it worked just fine, with Node 4.4.0 (Surface Pro 4, x64 Win 10, though I'm on an Insider build)

@shanselman

This comment has been minimized.

Copy link

@shanselman shanselman commented May 10, 2016

Clean worked but I've got a "banged out" Tessel DFU in my Device Manager, and as such, "No DFU capable USB Device available." This is Windows 10 x64

@SQLScott

This comment has been minimized.

Copy link

@SQLScott SQLScott commented May 11, 2016

Same as shanselman. I have tried with Node 4.4.1, 4.4.2, and 4.4.3. I have "No DFU capable USB Device available".

@Coder2012

This comment has been minimized.

Copy link

@Coder2012 Coder2012 commented May 13, 2016

Windows 7 x64

$ 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.b
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

    at checkExecSyncError (child_process.js:464:13)
    at execSync (child_process.js:504:13)
    at Object.<anonymous> (E:\Users\nbrown\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
@dcustodio

This comment has been minimized.

Copy link

@dcustodio dcustodio commented May 14, 2016

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

This comment has been minimized.

Copy link

@smrq 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

This comment has been minimized.

Copy link

@wmmihaa 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

This comment has been minimized.

Copy link

@rlramirez77 rlramirez77 commented Jul 10, 2016

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

This comment has been minimized.

Copy link

@jandrieu jandrieu commented Aug 19, 2016

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

This comment has been minimized.

Copy link

@jandrieu jandrieu commented Aug 19, 2016

@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
You can’t perform that action at this time.