├── .gitignore ├── LICENSE ├── README.md ├── bootloader update failure snippet.faultlog ├── ice40cm_hdk_20181219v2_26.fw ├── lighthouse_console.exe ├── lighthouse_watchman_update.exe ├── lighthouse_watchman_update.exe.sig ├── nrf52_20210924v1632527453.fw ├── run_hwid_check.bat ├── tundra-tracker_application_1637337510.fw ├── vrcamera_api.dll └── watchman_v3_bootloader_umodule.fw /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | *.zip 3 | 4 | configfile 5 | 6 | /releases -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Luke Beno 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Tundra Tracker HWID and bootloader check 2 | 3 | Some Kickstarter backers have received Tundra Trackers that have the incorrect Hardware ID and/or bootloader firmware revision. This package is intended to look for these issues and repair if the user accepts the changes. 4 | 5 | These scripts must run on a Microsoft Windows PC. It is only tested on Windows 10 and 11. 6 | 7 | Many of these tools are dangerous to use and can cause damage to devices that are not Tundra Tracker. Safety mechanisms have been build into the run_hwid_check.bat script but it is still required that: 8 | 9 | ***ALL STEAMVR DEVICES OTHER THAN THE TUNDRA TRACKER THAT YOU WANT TO CHECK ARE DISCONNECTED FROM YOU PC*** 10 | 11 | This includes HMDs, Controllers, etc. 12 | 13 | # How to use this tool: 14 | 15 | 1) Download the .zip file from GitHub 16 | 2) Extract the .zip file to your PC 17 | 3) Double click the `run_hwid_check.bat` 18 | 4) Follow on-screen instructions 19 | 20 | 21 | 22 | Any questions, please talk on [forum.tundra-labs.com](https://forum.tundra-labs.com/). 23 | 24 | -------------------------------------------------------------------------------- /bootloader update failure snippet.faultlog: -------------------------------------------------------------------------------- 1 | This file is used for fault finding. 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Logfile of bootloader update failure which possibly caused the FPGA firmware to not exist anymore. 11 | 12 | 13 | -- Updating bootloader -- 14 | 15 | Executing bootloader update 16 | Version: lighthouse_watchman_update.exe (buildbot_vortex-windows_steamvr_rel_win32@vortex-windows) 07006578 17 | Searching for devices with SN LHR-DEVICESERIALNUMBER and HWID matching 0xf1030009 18 | Found 1 matching device 19 | Serial: LHR-DEVICESERIALNUMBER, PID: 2300, HWID: f1030009 (unknown) 20 | Updating device: 1 of 1 21 | Serial: LHR-DEVICESERIALNUMBER, PID: 2300, HWID: f1030009 (unknown) 22 | Attempting to update WATCHMAN v3 (target: 1) via application 23 | Computed checksum (offset 0): 00000000 24 | Starting update... 25 | Sending data... 26 | ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Done 27 | Error: Update verification failed: 2 28 | Error: Failed to update firmware. Retrying... 29 | Computed checksum (offset 0): 00000000 30 | Starting update... 31 | Error: Failed to start update: 1913860112 32 | Error: Failed to update firmware. Retrying... 33 | Computed checksum (offset 0): 00000000 34 | Starting update... 35 | Error: Failed to start update: 1913860112 36 | Error: Failed to update firmware. Retrying... 37 | Computed checksum (offset 0): 00000000 38 | Starting update... 39 | Error: Failed to start update: 1913860112 40 | Error: Failed to update firmware. Retrying... 41 | Computed checksum (offset 0): 00000000 42 | Starting update... 43 | Error: Failed to start update: 1913860112 44 | Error: Failed to update firmware. 45 | Error: Failed to send reset command. 46 | 47 | -- Updating bootloader done-- 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | When checking the tracker with "lighthouse_console.exe version" the tracker was also missing the config file. 57 | 58 | 59 | LHR-DEVICESERIALNUMBER: Device does not have a stored config -------------------------------------------------------------------------------- /ice40cm_hdk_20181219v2_26.fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/ice40cm_hdk_20181219v2_26.fw -------------------------------------------------------------------------------- /lighthouse_console.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/lighthouse_console.exe -------------------------------------------------------------------------------- /lighthouse_watchman_update.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/lighthouse_watchman_update.exe -------------------------------------------------------------------------------- /lighthouse_watchman_update.exe.sig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/lighthouse_watchman_update.exe.sig -------------------------------------------------------------------------------- /nrf52_20210924v1632527453.fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/nrf52_20210924v1632527453.fw -------------------------------------------------------------------------------- /run_hwid_check.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | set vnum=1.9 4 | set vdate=April 15h 2022 5 | 6 | @echo Please check https://github.com/tundra-labs/HWID_check to make sure that you have the latest version of this script! 7 | @echo This is version number %vnum% changed on %vdate%. 8 | @echo+ 9 | @echo A new log file is created after each device verification, these can be found in the same folder as this script. 10 | @echo+ 11 | @echo+ 12 | @echo This script can cause damage to SteamVR devices that are not Tundra Tracker! 13 | @echo+ 14 | set /P c=Are you sure that only one Tundra tracker is connected to your PC and no other devices are connected? (y)es, (n)o: 15 | @echo+ 16 | 17 | for /F "Tokens=1 skip=1 delims=." %%A in ('wmic os get localdatetime') do ( 18 | if not defined dt set dt=%%A 19 | ) 20 | 21 | set /a cycles=0 22 | set overwr=false 23 | set logname=name 24 | 25 | set version_csl='lighthouse_console.exe version' 26 | 27 | set /a active_devices=0 28 | 29 | set serial_number=unknown 30 | 31 | set /a bl_version_current=0 32 | set /a bl_version_required=1637337510 33 | 34 | set hwid_current=0x0 35 | set product_id_check=0xf0000109 36 | set product_id_required=0xf1030009 37 | set hwid_ok=false 38 | 39 | set /a fw_version_current=0 40 | set /a fw_version_buffer=0 41 | set /a fw_version_required=1637337510 42 | 43 | set /a rad_version_current=0 44 | set /a rad_version_required=1632527453 45 | 46 | set "fpga_version_current=0(0)" 47 | set "fpga_version_required=538(2.26/7/2)" 48 | set "fpga_version_missing=0(0.0/255/15)" 49 | set fpga_up=false 50 | 51 | if /I "%c%" == "y" goto :check_compatibility 52 | if /I "%c%" == "n" set /P c=Script was aborted, no devices were changed. Press Enter to quit... & Exit /b 53 | if /I "%c%" == "OVER!WRITE_FIRM!WARE" @echo+ Firmware verification check disabled! & set overwr=true & goto :check_compatibility 54 | set /P c=Not a valid input, no devices were changed. Press Enter to quit... 55 | Exit /b 56 | 57 | :check_compatibility 58 | set /a cycles=cycles+1 59 | set /a nextcycle=cycles+1 60 | set logname=hwid_check_%dt:~0,4%%dt:~4,2%%dt:~6,2%%dt:~8,2%%dt:~10,2%%dt:~12,2%_c%cycles%.log 61 | echo Created logfile on the %dt:~0,4%-%dt:~4,2%-%dt:~6,2% (MM-DD) at %dt:~8,2%:%dt:~10,2%:%dt:~12,2% for HWID check with version number %vnum% from %vdate%. >%logname% 62 | echo+ Current device verification cycle is %cycles%. >>%logname% 63 | @echo+ 64 | echo+ >>%logname% 65 | if %overwr% == true echo+ WARNING: Overwrite firmware flag set! >>%logname% 66 | 67 | @echo+ 68 | @echo Do not unplug the device at any point! 69 | @echo+ 70 | @echo Verifying device data, please wait... 71 | 72 | for /F "Tokens=1,5 delims= " %%A in (%version_csl%) do ( 73 | if "%%A" == "Attached" (set /a active_devices=%%B) 74 | ) 75 | echo+ >>%logname% 76 | echo Active devices check resulted in: "%active_devices%" - expecting "3". >>%logname% 77 | echo+ >>%logname% 78 | timeout /t 1 /nobreak >nul 79 | 80 | @echo+ 81 | if %active_devices% == 0 (@echo Could not find any active devices! & echo ERROR: Could not find any active devices! >>%logname%) 82 | if %active_devices% == 0 goto :err 83 | if %active_devices% LSS 3 (@echo Wrong device connected? & echo ERROR: Wrong device connected? >>%logname%) 84 | if %active_devices% LSS 3 goto :err 85 | if %active_devices% GTR 3 (@echo Too many devices or dongle connected? & echo ERROR: Too many devices or dongle connected? >>%logname%) 86 | if %active_devices% GTR 3 goto :err 87 | 88 | for /F "Tokens=1,2 skip=10 delims=-:," %%A in (%version_csl%) do ( 89 | if "%%A" == "LHR" (set serial_number=LHR-%%B) 90 | ) 91 | echo+ >>%logname% 92 | echo+ Device serial number is "%serial_number%". >>%logname% 93 | 94 | for /F "Tokens=1,2,7 skip=14 delims=:, " %%A in (%version_csl%) do ( 95 | if "%%A" == "Watchman" if "%%B" == "Version" (set "fpga_version_current=%%C") 96 | ) 97 | 98 | for /F "Tokens=1,2,9 skip=14 delims=:, " %%A in (%version_csl%) do ( 99 | if "%%A" == "Watchman" if "%%B" == "Version" (set /a bl_version_current=%%C) 100 | ) 101 | 102 | for /F "Tokens=1,3 skip=14 delims= " %%A in (%version_csl%) do ( 103 | if "%%A" == "Hardware" (set hwid_current=%%B) 104 | if "%%A" == "VRC" ( 105 | if not %overwr% == true ( 106 | set /a fw_version_current=%%B 107 | set /a fw_version_buffer=%%B 108 | ) 109 | if %overwr% == true ( 110 | set /a fw_version_current=01100001 111 | set /a fw_version_buffer=%%B 112 | ) 113 | ) 114 | if "%%A" == "Radio" (set rad_version_current=%%B) 115 | ) 116 | 117 | 118 | echo+ >>%logname% 119 | echo Device HWID is "%hwid_current%", expecting "%product_id_required%" - new or "%product_id_check%" - old. >>%logname% 120 | echo Device FPGA version is "%fpga_version_current%", expecting "%fpga_version_required%" - needed. >>%logname% 121 | echo Device firmware version is "v%fw_version_buffer%", expecting "v%fw_version_required%" - needed. >>%logname% 122 | echo Device bootloader version is "v%bl_version_current%", expecting "v%bl_version_required%" - new. >>%logname% 123 | echo Device radio version is "v%rad_version_current%", expecting "v%rad_version_required%" - new. >>%logname% 124 | 125 | timeout /t 1 /nobreak >nul 126 | 127 | echo+ >>%logname% 128 | @echo+ 129 | @echo -- Device status -- 130 | 131 | @echo+ 132 | @echo Device serial number is "%serial_number%". 133 | 134 | @echo+ 135 | @echo Device HWID is "%hwid_current%". 136 | if %hwid_current% == 0x0 (@echo HWID could not be identified, quit for safety! & echo ERROR: HWID could not be identified, quit! >>%logname%) 137 | if %hwid_current% == 0x0 goto :stop 138 | if not %hwid_current% == %product_id_check% if not %hwid_current% == %product_id_required% (@echo HWID of "%hwid_current%" is not associated with Tundra Tracker, quit for safety! & echo WARNING: HWID of "%hwid_current%" not associated with Tundra Tracker, quit! >>%logname%) 139 | if not %hwid_current% == %product_id_check% if not %hwid_current% == %product_id_required% goto :stop 140 | if %hwid_current% == %product_id_required% (@echo This is the correct HWID for Tundra Tracker. & echo Correct HWID for Tundra Tracker. >>%logname%) 141 | if %hwid_current% == %product_id_required% (set hwid_ok=true) 142 | if %hwid_current% == %product_id_required% goto :hwid_is_safe 143 | if %hwid_current% == %product_id_check% (@echo This is an older HWID and should be updated. & echo Older HWID and should be updated. >>%logname%) 144 | if %hwid_current% == %product_id_check% goto :bad_hwid 145 | @echo HWID of "%hwid_current%" is not associated with Tundra Tracker, quit for safety! & echo WARNING: HWID of "%hwid_current%" not associated with Tundra Tracker, quit! "(Script end)" >>%logname% 146 | goto :stop 147 | 148 | :hwid_is_safe 149 | @echo+ 150 | @echo Device FPGA version is "%fpga_version_current%". 151 | if "%fpga_version_current%" == "%fpga_version_missing%" (@echo The FPGA version could not be identified, quit for safety! Please notify @Keigun on 'https://forum.tundra-labs.com/u/keigun/'! & echo ERROR: FPGA version could not be identified, quit! >>%logname%) 152 | if "%fpga_version_current%" == "%fpga_version_missing%" goto :stop 153 | if not "%fpga_version_current%" == "%fpga_version_missing%" if not "%fpga_version_current%" == "%fpga_version_required%" (@echo Unexpected FPGA version identified, quit for safety! Please notify @Keigun on 'https://forum.tundra-labs.com/u/keigun/'! & echo WARNING: Unexpected FPGA version of "%fpga_version_current%", quit! >>%logname%) 154 | if not "%fpga_version_current%" == "%fpga_version_missing%" if not "%fpga_version_current%" == "%fpga_version_required%" goto :stop 155 | if "%fpga_version_current%" == "%fpga_version_required%" (@echo This is the correct FPGA version for Tundra Tracker. & echo Correct FPGA version for Tundra Tracker. >>%logname%) 156 | if "%fpga_version_current%" == "%fpga_version_required%" goto :fpga_is_safe 157 | if not "%fpga_version_current%" == "%fpga_version_required%" if not "%fpga_version_current%" == "%fpga_version_missing%" (@echo This is an older FPGA version for Tundra Tracker. & echo Older FPGA version for Tundra Tracker. >>%logname%) 158 | if not "%fpga_version_current%" == "%fpga_version_required%" if not "%fpga_version_current%" == "%fpga_version_missing%" (set fpga_up=true) 159 | if not "%fpga_version_current%" == "%fpga_version_required%" if not "%fpga_version_current%" == "%fpga_version_missing%" goto :fpga_is_safe 160 | @echo The FPGA version could not be identified, quit for safety! Please notify @Keigun on 'https://forum.tundra-labs.com/u/keigun/'! & echo WRANING: FPGA version could not be identified, quit! "(Script end)" >>%logname%) 161 | goto :stop 162 | 163 | :fpga_is_safe 164 | @echo+ 165 | @echo Device firmware version is "v%fw_version_buffer%". 166 | if %fw_version_current% == 0 (@echo Firmware version could not be identified, quit for safety! & echo ERROR: Firmware version could not be identified, quit! >>%logname%) 167 | if %fw_version_current% == 0 goto :stop 168 | if %fw_version_current% == %fw_version_required% (@echo This is the correct firmware version for Tundra Tracker. & echo Correct firmware version for Tundra Tracker. >>%logname%) 169 | if %fw_version_current% LSS %fw_version_required% (@echo This is an older firmware version for Tundra Tracker. & echo Older firmware version for Tundra Tracker. >>%logname%) 170 | if %fw_version_current% LSS %fw_version_required% goto :bad_fw_version 171 | if %fw_version_current% GTR %fw_version_required% (@echo This is a newer than expected firmware version for Tundra Tracker, quit for safety! & echo WARNING: Newer than expected firmware version for Tundra Tracker, quit! >>%logname%) 172 | if %fw_version_current% GTR %fw_version_required% goto :stop 173 | 174 | @echo+ 175 | @echo Device bootloader version is "v%bl_version_current%". 176 | if %bl_version_current% == 0 (@echo Bootloader version could not be identified, quit for safety! & echo ERROR: Bootloader version could not be identified, quit! >>%logname%) 177 | if %bl_version_current% == 0 goto :stop 178 | if %bl_version_current% == %bl_version_required% (@echo This is the correct bootloader version for Tundra Tracker. & echo Correct bootloader version for Tundra Tracker. >>%logname%) 179 | if %bl_version_current% == %bl_version_required% if not %hwid_ok% == true if %hwid_ok% == false goto :bootloader_ok 180 | if %bl_version_current% LSS %bl_version_required% (@echo This is an older bootloader version for Tundra Tracker. & echo Older bootloader version for Tundra Tracker. >>%logname%) 181 | if %bl_version_current% LSS %bl_version_required% goto :bad_bl_version 182 | if %bl_version_current% GTR %bl_version_required% (@echo This is a newer than expected bootloader version for Tundra Tracker, quit for safety! & echo WARNING: Newer than expected bootloader version for Tundra Tracker, quit! >>%logname%) 183 | if %bl_version_current% GTR %bl_version_required% goto :stop 184 | 185 | if %hwid_ok% == true ( 186 | @echo+ 187 | @echo Device radio version is "v%rad_version_current%". 188 | if %rad_version_current% == %rad_version_required% (@echo This is the correct radio version for Tundra Tracker. & echo Correct radio version for Tundra Tracker. >>%logname%) 189 | if %rad_version_current% == %rad_version_required% goto :stop 190 | if %rad_version_current% LSS %rad_version_required% (@echo This is an older radio version for Tundra Tracker. & echo Older radio version for Tundra Tracker. >>%logname%) 191 | if %rad_version_current% LSS %rad_version_required% goto :bad_rad_version 192 | if %rad_version_current% GTR %rad_version_required% (@echo This is a newer than expected radio version for Tundra Tracker, quit for safety! & echo WARNING: Newer than expected radio version for Tundra Tracker, quit! >>%logname%) 193 | if %rad_version_current% GTR %rad_version_required% goto :stop 194 | ) 195 | 196 | if %hwid_ok% == true if %fpga_up% == true ( 197 | goto :bad_fpga 198 | ) 199 | 200 | echo Script failed, please notify @Keigun on 'https://forum.tundra-labs.com/u/keigun/'! >>%logname% 201 | @echo Script failed, please notify @Keigun on 'https://forum.tundra-labs.com/u/keigun/'! 202 | echo+ >>%logname% 203 | @echo+ 204 | goto :stop 205 | 206 | :err_hw_check 207 | @echo+ 208 | echo+ >>%logname% 209 | @echo You need to update the HWID to continue! & echo User declined HWID update! >>%logname% 210 | goto :stop 211 | 212 | :err_fw_check 213 | @echo+ 214 | echo+ >>%logname% 215 | @echo You need to update the firmware to continue! & echo User declined firmware update! >>%logname% 216 | goto :stop 217 | 218 | :err_bl_check 219 | @echo+ 220 | echo+ >>%logname% 221 | @echo You need to update the bootloader to continue! & echo User declined bootloader update! >>%logname% 222 | goto :stop 223 | 224 | :err_rad_check 225 | @echo+ 226 | echo+ >>%logname% 227 | @echo Radio update was aborted! & echo User declined radio update! >>%logname% 228 | goto :stop 229 | 230 | :err_fpga_check 231 | @echo+ 232 | echo+ >>%logname% 233 | @echo FPGA update was aborted! & echo User declined FPGA update! >>%logname% 234 | goto :stop 235 | 236 | :bad_hwid 237 | @echo+ 238 | set /P c=HWID needs to be updated, would you like to update? (y)es, (n)o: 239 | @echo+ 240 | if /I "%c%" == "y" goto :update_hwid 241 | if /I "%c%" == "n" goto :err_hw_check 242 | goto :bad_hwid 243 | 244 | :update_hwid 245 | @echo+ 246 | echo+ >>%logname% 247 | @echo -- Checking for correct firmware and bootloader -- & echo -- Checking for correct firmware and bootloader -- >>%logname% 248 | @echo+ 249 | echo+ >>%logname% 250 | goto :hwid_is_safe 251 | @echo+ 252 | echo+ >>%logname% 253 | :bootloader_ok 254 | @echo+ 255 | echo+ >>%logname% 256 | @echo -- Updating HWID -- & echo -- Updating HWID -- >>%logname% 257 | @echo+ 258 | echo+ >>%logname% 259 | echo Setting into bootloader mode. >>%logname% 260 | echo+ Executing -bw3 >>%logname% 261 | lighthouse_watchman_update.exe -bw3 >>%logname% 2>&1 262 | echo+ >>%logname% 263 | timeout /t 8 /nobreak >nul 264 | echo+ Executing -Bw3 >>%logname% 265 | lighthouse_watchman_update.exe -Bw3 0xF1030009 >>%logname% 2>&1 266 | @echo+ ... Saved info to log file ... 267 | @echo+ 268 | echo+ >>%logname% 269 | timeout /t 8 /nobreak >nul 270 | @echo -- Updating HWID done -- & echo -- Updating HWID done -- >>%logname% 271 | @echo+ 272 | echo+ >>%logname% 273 | echo+ Next device verification cycle log is hwid_check_%dt:~0,4%%dt:~4,2%%dt:~6,2%%dt:~8,2%%dt:~10,2%%dt:~12,2%_c%nextcycle%.log. >>%logname% 274 | goto :check_compatibility 275 | 276 | :bad_fw_version 277 | @echo+ 278 | set overwr=false 279 | set /P c=Firmware version is outdated, would you like to update? (y)es, (n)o: 280 | @echo+ 281 | if /I "%c%" == "y" goto :update_fw 282 | if /I "%c%" == "n" goto :err_fw_check 283 | goto :bad_fw_version 284 | 285 | :update_fw 286 | @echo+ 287 | echo+ >>%logname% 288 | @echo -- Updating firmware -- & echo -- Updating firmware -- >>%logname% 289 | @echo+ 290 | echo+ >>%logname% 291 | echo+ Executing firmware update >>%logname% 292 | lighthouse_watchman_update.exe -s %serial_number% --target=application tundra-tracker_application_1637337510.fw >>%logname% 2>&1 293 | @echo+ ... Saved info to log file ... 294 | @echo+ 295 | echo+ >>%logname% 296 | timeout /t 4 /nobreak >nul 297 | @echo -- Updating firmware done -- & echo -- Updating firmware done -- >>%logname% 298 | @echo+ 299 | echo+ >>%logname% 300 | echo+ Next device verification cycle log is hwid_check_%dt:~0,4%%dt:~4,2%%dt:~6,2%%dt:~8,2%%dt:~10,2%%dt:~12,2%_c%nextcycle%.log. >>%logname% 301 | goto :check_compatibility 302 | 303 | :bad_bl_version 304 | @echo+ 305 | set /P c=Bootloader version is outdated, would you like to update? (y)es, (n)o: 306 | @echo+ 307 | if /I "%c%" == "y" goto :update_bl 308 | if /I "%c%" == "n" goto :err_bl_check 309 | goto :bad_bl_version 310 | 311 | :update_bl 312 | @echo+ 313 | echo+ >>%logname% 314 | @echo -- Updating bootloader -- & echo -- Updating bootloader -- >>%logname% 315 | @echo+ 316 | echo+ >>%logname% 317 | echo+ Executing bootloader update >>%logname% 318 | lighthouse_watchman_update.exe -s %serial_number% --hwid %hwid_current% --target=bootloader watchman_v3_bootloader_umodule.fw >>%logname% 2>&1 319 | @echo+ ... Saved info to log file ... 320 | @echo+ 321 | echo+ >>%logname% 322 | timeout /t 4 /nobreak >nul 323 | @echo -- Updating bootloader done -- & echo -- Updating bootloader done-- >>%logname% 324 | @echo+ 325 | echo+ >>%logname% 326 | echo+ Next device verification cycle log is hwid_check_%dt:~0,4%%dt:~4,2%%dt:~6,2%%dt:~8,2%%dt:~10,2%%dt:~12,2%_c%nextcycle%.log. >>%logname% 327 | goto :check_compatibility 328 | 329 | :bad_rad_version 330 | @echo+ 331 | set /P c=Radio version is outdated, would you like to update? (y)es, (n)o: 332 | @echo+ 333 | if /I "%c%" == "y" goto :update_rad 334 | if /I "%c%" == "n" goto :err_rad_check 335 | goto :bad_rad_version 336 | 337 | :update_rad 338 | @echo+ 339 | echo+ >>%logname% 340 | @echo -- Updating radio -- & echo -- Updating radio -- >>%logname% 341 | @echo+ 342 | echo+ >>%logname% 343 | echo+ Executing radio update >>%logname% 344 | lighthouse_watchman_update.exe -s %serial_number% --hwid %hwid_current% --target=default nrf52_20210924v1632527453.fw >>%logname% 2>&1 345 | @echo+ ... Saved info to log file ... 346 | @echo+ 347 | echo+ >>%logname% 348 | timeout /t 4 /nobreak >nul 349 | @echo -- Updating radio done -- & echo -- Updating radio done-- >>%logname% 350 | @echo+ 351 | echo+ >>%logname% 352 | echo+ Next device verification cycle log is hwid_check_%dt:~0,4%%dt:~4,2%%dt:~6,2%%dt:~8,2%%dt:~10,2%%dt:~12,2%_c%nextcycle%.log. >>%logname% 353 | goto :check_compatibility 354 | 355 | :bad_fpga 356 | @echo+ 357 | set /P c=FPGA version is outdated, would you like to update? (y)es, (n)o: 358 | @echo+ 359 | if /I "%c%" == "y" goto :update_fpga 360 | if /I "%c%" == "n" goto :err_fpga_check 361 | goto :bad_fpga 362 | 363 | :update_fpga 364 | @echo+ 365 | echo+ >>%logname% 366 | @echo -- Updating FPGA -- & echo -- Updating FPGA -- >>%logname% 367 | @echo+ 368 | echo+ >>%logname% 369 | echo+ Executing FPGA update >>%logname% 370 | lighthouse_watchman_update.exe --target=ice40 ice40cm_hdk_20181219v2_26.fw >>%logname% 2>&1 371 | @echo+ ... Saved info to log file ... 372 | @echo+ 373 | echo+ >>%logname% 374 | timeout /t 4 /nobreak >nul 375 | @echo -- Updating FPGA done -- & echo -- Updating FPGA done-- >>%logname% 376 | @echo+ 377 | echo+ >>%logname% 378 | echo+ Next device verification cycle log is hwid_check_%dt:~0,4%%dt:~4,2%%dt:~6,2%%dt:~8,2%%dt:~10,2%%dt:~12,2%_c%nextcycle%.log. >>%logname% 379 | goto :check_compatibility 380 | 381 | :err 382 | @echo+ 383 | echo+ >>%logname% 384 | @echo+ 385 | echo+ >>%logname% 386 | @echo Please check connected devices! & echo ERROR: Device check failed! >>%logname% 387 | set /P c=Press Enter to quit... 388 | echo+ >>%logname% 389 | echo+ Logging finished. >>%logname% 390 | echo+ Total amount of log files for this device is %cycles%. >>%logname% 391 | Exit /b 392 | 393 | :stop 394 | @echo+ 395 | echo+ >>%logname% 396 | @echo+ 397 | echo+ >>%logname% 398 | @echo Device is now safe to unplug, please replug the device before rerunning the script! & echo Device safe to unplug. >>%logname% 399 | set /P c=Press Enter to quit... 400 | echo+ >>%logname% 401 | echo+ Logging finished. >>%logname% 402 | echo+ Total amount of log files for this device is %cycles%. >>%logname% 403 | Exit /b 404 | -------------------------------------------------------------------------------- /tundra-tracker_application_1637337510.fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/tundra-tracker_application_1637337510.fw -------------------------------------------------------------------------------- /vrcamera_api.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/vrcamera_api.dll -------------------------------------------------------------------------------- /watchman_v3_bootloader_umodule.fw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tundra-labs/HWID_check/713789800bd952c9a3b5b22a898cff7f6d56dea3/watchman_v3_bootloader_umodule.fw --------------------------------------------------------------------------------