bmork / defogger

D-Link DCS-8000LH usage info and defogging tools
265 stars 37 forks source link

firmwareupgrade.cgi issue #31

Open AfricanHipp0 opened 1 year ago

AfricanHipp0 commented 1 year ago

Hi there!

Awesome write-up!

Having an issue on the last step - upgrading the FW

It seems to always fail

curl --http1.0 -u admin:PIN--form upload=@fw.tar http://xxx.xxx.xxx/config/firmwareupgrade.cgi
upgrade=fail 

Is there a serial equivalent of --unsignedfw that needs to be run? I tried doing it through bluetooth and I got "done" - however it still failed. I also noticed running lighttpd through bluetooth also returns "done", but the service doesn't actually appear to be running, no might be the same issue for running --unsignedfw through BT. If there is a way to do the same thing but through serial it'd be happy to give it a go

Thanks!

jonerikandersen commented 1 year ago

My experience here is that you need to run the tdb set SecureFW _TrustLevel_byte=0command. This could be done with the ./dcs8000lh-configure.py B0:C5:54:AA:BB:CC 123456 --unsignedfw - however in my case, I needed to run that after starting the lighttpd through serial.

Check this part out in the guide and you need a USB2Serial device. Then run the following commands:

grep -Eq ^admin: /etc/passwd || echo admin:x:0:0::/:/bin/sh >>/etc/passwd

grep -Eq ^admin:x: /etc/passwd && echo "admin:$(pibinfo Pincode)" | chpasswd tdb set HTTPServer Enable_byte="1" <--- Note, this has a error in it in the guide, and this command is fixed here.

tdb set HTTPAccount AdminPasswd_ss="$(pibinfo Pincode)"

/etc/rc.d/init.d/extra_lighttpd.sh start

on the local machine, run

$ curl --http1.0 -u admin:CAMPIN --form upload=@DCS-8000LH_Ax_v2.02.02_3014.bin http://CAM.IP/config/firmwareupgrade.cgi Repsons is: curl: (52) Empty reply from server this will downgrade the firmware to 2.02.02.

Repeat the bluetooth hack or using serial to re-enable lighttpd server on your camera and run the following command on your local machine. Note: The same procedure needs to be done, but add in this command as well on the camera:

tdb set SecureFW _TrustLevel_byte=0

on then run this on local machine (the firmware update)

$ curl --http1.0 -u admin:CAMPIN --form upload=@fw.tar http://CAM.IP/config/firmwareupgrade.cgi