R0 / DS-2CD2x32 BrickfixV2 brick recovery and full upgrade tool - enhanced.

First, TY for your reply

As per SADP, this DS-7604NI-E1 has firmware V3.4.5 build 170224 which I cannot locate on any DL sites and there is a static IP set on the unit which would have accessed a specific Vlan associated with the video security network
I tried the direct TFTP load method (192.0.0.128) using a few different firmware versions, the TFTP server always shows > Connect client failure,0
* all the cameras that were attached to this DVR were reset and firmware updated as standalone units

Is there any hope to gain reset to this unit ?
Cheers B
 
  • Like
Reactions: alastairstevenson
this DS-7604NI-E1 has firmware V3.4.5 build 170224 which I cannot locate on any DL sites
Just pick the nearest one - doesn't have to be exact.

the TFTP server always shows > Connect client failure,0
The tftp updater can be a little fussy about the environment.
It works best when both PC and NVR are each connected to their own switch or router port, as opposed to being connected directly.
Did the initial execution of tftpserve.exe generate a Windows firewall popup, with OK clicked to allow access?
In any case, temporarily disable Windows firewall to allow inbound access.

there is a static IP set on the unit
What is the IP address?
 
Purchased a TTL serial and loaded firmware as per guides .... I'm able to access the NVR now
Thank you to everyone who replied, good and informational support
Now to learn all about Hikvision and all its quirks
 
  • Like
Reactions: alastairstevenson
Hi, i have a DS-2CD2043G2-I that, after the last upgrade, stop to stream any kind of video.

Can i use this guide to donwgrade that version to?

Thanks
 
Thank You @alastairstevenson

Just upgraded my old Ali purchased DS-2CD2432F-IW which bricked few times trying update from V5.2.8_141231

and the process worked great.

now I'm running 2 Way Audio with Hik-connect !

Firm Ver : V5.4.800 build 210813
Encoding : V5.0 build 181011
Web Ver: V4.0.1 build 170117
Plugin Ver : V3.0.6.1


used
tftpserv,brickfixv2EN.dav ,V5.4.800_210813, putty , HxD ,


The original 'brick-fix tool' and 'enhanced mtd hack' has proven pretty useful for those with R0 cameras that had been bricked by doing a firmware update.
It's been even more useful to deal with the fallout from the 'Hikvision backdoor' disclosure where so many people are finding their cameras are being messed with from the internet, mischievously or maliciously, and need to update to safer firmware.
However - the rather techy original method to make the changes, and probably my not-very-clear instructions have been a challenge for some people.
* And I only just noticed this - my original .txt attachments were in Linux format, not Windows format, making them hard to read without proper line breaks. And no-one let me know! Dohh! *

So here is 'Brick-fix tool V2' aimed at making the process less complex, a bit automated and easier to use, with the following changes:
  • After Brick-fix toolV2 has been installed using the Hikvision tftp updater, following the power cycle to activate and drop the payload, the camera will boot directly into 'min-system' mode with telnet and tftp access and a 'fixup' script ready and primed for use.
  • No web GUI access or Windows shares are needed to move files in and out of the camera.
  • The fixup script handles all the basics of extracting the original mtdblock6, importing and applying the user-modified mtdblock6 that has had the 'enhanced mtd hack', and initiating a firmware update.
  • The Brick-fix toolV2 automatically writes a valid template into mtdblock1 that stops cameras that originally had firmware 5.2.0 or 5.2.8 from otherwise going into a bricked state when newer firmware is applied.
  • Attached to this post are the resources required to convert your R0 / DS-2CD2x32 cameras into full English upgradeable devices.
  • The brick-fix tool V2 in both EN and CN header language versions (brick_fixv2.zip).
  • A required resource list and step-by-step guide to the fixup script.
  • A description of how to do the 'enhanced mtd hack' with screenshot with a list of devType codes for those cameras that have the masqueraded values.
  • A sample transcript of the fixup script going through all 3 stages - extract mtdblocks, import modded mtdblock6, apply firmware update.

edit 15Dec17 By popular request, a video worked example using a DS-2CD3332-I camera donated by a generous forum member.


edit 28Jan18 devType codes updated - thanks @hikcamuser

Resource List
Step By Step Guide:
Here are the steps to take when using the brick-fixV2 tool to recover a bricked camera, and running the fixup script to change the camera to English / upgradeable. The camera doesn't have to be bricked to run the brick-fix tool if all that's required is a helping hand doing the 'enhanced mtd hack'.
  1. Create a folder on the local drive of your Windows PC to hold the Hikvision tftp updater, the chosen tftp server program (e.g. jouinin.net version), the unzipped 'brick-fixV2' files, and the Hikvision firmware to use for updating. The HxD hex editor should be installed on the PC.
  2. With the PC and the camera each on a wired connection (not WiFi) set the PC IP address to 192.0.0.128, subnet mask to 255.255.255.0 The default gateway does not matter.
  3. Make a copy of brickfixV2EN and name it as digicap.dav If the EN version does not work, e.g. "System update completed" is not displayed in step 5 or you don't get the login prompt when trying to telnet in step 8, try the CN version.
  4. Start the Hikvision tftp updater tftpserve.exe and if a Windows firewall popup appears, click OK to accept what the program needs.
  5. Power on the camera and observe the status messages in the tftp updater. Hopefully you will see 'System update completed' after 2 or 3 minutes.
  6. Close the Hikvision tftp updater, delete the digicap.dev file from step 3 and make a copy of the Hikvision firmware to use for updating and name it digicap.dav.
  7. Power down the camera. At this point the brickfixV2 tool has been installed but not yet activated. Power on the camera to activate the tool, it will then drop the payload, fix up mtdblock1 and reboot into min-system mode for telnet access.
  8. Using PuTTY, start a telnet session to 192.0.0.64 and make sure the telnet radio button is selected. At the login prompt username=root password=12345. You should see a # prompt. The message "can't chdir to home directory '/root/'" isn't an error and can be ignored.
  9. Start the normal tftp server (not the Hikvision tftp updater). If it's the jouinin.net version, the program is tftpd32.exe

    At this point, Stage 1 of 3 is ready to be executed.
    At the telnet command prompt, type:
    /dav/fixup.sh
    and watch the on-screen messages.​

    • On success with Stage 1, check the PC folder that the tftp server is running in for the presence of the file 'mtd6ro_orig'. You may have to hit F5 to refresh. Make a copy of mtd6ro_orig rename to mtd6ro_mod. Do the 'enhanced mtd hack' on it, using the instructions in the spoiler below.
  10. These are the steps that are used to do the 'enhanced mtd hack' to mtdblock6 in an R0 IP camera.
    • Extract a copy of mtdblock6 from the camera. The 'Brick-fixV2 tool / fixup script' will conveniently do this for you, or it could be done manually by other methods.
    • Make a copy of the mtdblock6 file and name it mtd6ro_mod
    • Open it with the HxD hex editor.
    • Referring to this image
      View attachment 24161
    • Check / change as needed the language byte at location 0x10 to ensure it is 01
    • Check the devType value in locations 0x64 and 0x65
    [*]
    If the value shown is FF98 - then the FF value needs to be replaced with the true numeric value. Ideally the true value is determined from the 'devType' line from the prtHardInfo shell command, but as that is going to be unavailable on a bricked camera use this (partial) cross-reference list, paying careful attention to the exact model number.

    There is some slight uncertainty here - it would be good if any forum members could confirm / supplement the content.

    devType - Model
    2698 - DS-2CD2032F-I
    2698 - DS-2CD2032F-IW
    0598 - DS-2CD2032-I
    0698 - DS-2CD2132-I
    1E98 - DS-2CD2132F-IS
    1E98 - DS-2CD2132F-IWS
    0798 - DS-2CD2232-I5
    0898 - DS-2CD2332-I
    1298 - DS-2CD2432F-IW
    1498 - DS-2CD2532F-IS
    1098 - DS-2CD2632F-IS
    0E98 - DS-2CD2732F-IS
    0698 - DS-2CD3132-I
    1C23 - DS-2DE2103-DE3/W
    2198 - DS-2CD2T32-I8​



    • Replace the FF in location 0x64 with the first 2 digits of the numeric devType value.
    • If location 0x64 already has a 2-digit numeric value, no change is needed.
    • Starting at location 0x09, drag to select and highlight a length of F4 bytes, as shown he the HxD bottom status bar.
    [*]
    Using the Analysis / Checksum menu, double-click Checksum-16 to calculate the new checksum. This will show as a 2 byte value in the Checksums tab at the bottom of the screen. These need to be applied using the correct 'endian-ness', which is the reverse of how the values are presented on the screen.

    The left hand byte (0x0C in the screenshot) is the most significant byte and should be used in location 0x05

    The right hand byte (0x5F in the screenshot) is the least significant byte and should be used in location 0x04

    Use your own just-calculated values - not those from the screenshot.

    Click File | Save and the mtd6ro_mod file has had the 'enhanced mtd hack' and is ready to be applied to the camera.

    This is done during Stage 2 of the fixup script in the brick-fixV2 tool.​


    Good luck!​



    At this point, Stage 2 of 3 is ready to be executed.
    At the telnet command prompt, type:
    /dav/fixup.sh
    and watch the on-screen messages.

    This will bring in the modified mtd6ro_mod and apply it to the camera to convert it to English / upgradeable.

    At this point, Stage 3 of 3 is ready to be executed.
    At the telnet command prompt, type:
    /dav/fixup.sh
    and watch the on-screen messages.

    This will attempt a firmware update using the Hikvision firmware file digicap.dav that you placed in the same folder as the tftp server.​
  11. Assuming a successful result, shut down the tftp server and power cycle the camera. Interestingly, on testing I did find that a straight jump to the 5.4.5 firmware version worked OK. YMMV. But worth trying.
  12. Start SADP and check for the camera presence running the firmware version used for the update.
  13. If you used the 5.4.5 firmware, the camera will require 'activation' with your choice of strong password.
    If already active, if earlier firmware was used for the upgrade, log in with the admin password=12345
    Change the IP address to what you want the camera to use.
How To Upgrade
  1. Rename the firmware to digicap.dav
  2. Put the firmware under the same folder of this TFTP
  3. Set the IP of computer as 192.0.0.128
  4. Camera's IP can be anyone.
  5. Run the tftpserv.exe
  6. Power off and power on the DVR/DVS/IPC. The device will search the new firmware and upgrade it automatically.
  7. Please wait until TFTP shows "Device [192.0.0.64] system update completed!" It takes about 5 minutes.
  8. Close the TFTP before the camera reboots.
  9. DVR/DVS/IPC will restart automatically after upgrading.
 
Well done, another good result, and thanks for sharing the detail!

Alastair, I have to say, my respect for you is immense. Four years ago (Oct 2018) I came to this forum to learn how to de-brick hikvision cameras, and back then you never failed to respond to each of my questions and provide guidance... I learned a lot from you about the process!! I think it is so cool that four years later, when I visit this forum, you are still here offering your expertise to help others. Thank you!!!!
 
Thank you for the kind words!

In truth, though, there is a really good group of forum members who give freely of their time and knowledge to provide advice, guidance and problem-solving on this most excellent forum.
 
Thanks a lot for this guide! :thumb::headbang:

I have a 2032 that I accidentally upgraded to english a few years back. It have worked as is anyway but now I wanted to fix it. Could not access it using web, but the phone app worked anyway.

I followed your guide and latest EN FW 5.4.5 could be installed directly at stage 3. The 2032 devtype was 0598 in my orig file so it seems correct from your list.

Big cudos to you! Guys like you make internet worth having.

I have a 2042 with same issue and I will try fix that too some day.

Regards
Magnus from Sweden
 
Hi... and thanks for a great forum!

I have a DS-2CD2332-I I'm attempting to unbrick. I'm guessing it is a "CC" serial number as I have another bought around the same time. I'm trying to follow the instructions from this thread however, I'm macOS only with no access to a Windows machine.

I've managed to get as far as executing the /dav/fixup.sh via a mac version of Telnet. I'm also using the mac version of TFTP server.

The error I'm getting is attached.

Thanks in advance for any help offered.
 

Attachments

  • Telnet error.png
    Telnet error.png
    59.8 KB · Views: 25
I've managed to get as far as executing the /dav/fixup.sh via a mac version of Telnet.
That's working OK, the fixup.sh script is being executed.

I'm also using the mac version of TFTP server.
But the tftp server isn't allowing the outbound file transfers to the Mac.
Are there any permissions associated with it that you can check?
Or another tftp server that you can try?
 
But the tftp server isn't allowing the outbound file transfers to the Mac.
Are there any permissions associated with it that you can check?
Or another tftp server that you can try?
Thanks, Alastair!
It appears the built-in Mac TFTP server is a little finicky in that it needed folder and file permissions. It also needs those files to exist initially so I just created empty files as needed.

Anyway, long story short... The camera is back up and running in English on latest firmware.

As many other other before me have mentioned... Thank you so much for all you have done to make this a relatively easy process, even for us macOS users!

Depending on where in Scotland you are, I would be more than happy to buy you a pint on my next visit home! (have lived there for over 20 years now)