A few days ago, one member on forum asked how to bypass the ""Cannot find Signature" as he was trying to update his D3 miner, while this still applies to BTC miners too, so i decied to make this topic on this board, if the mods feel like it belongs to alts, please move it.
the initial thread to the guy's question can be found here >
https://bitcointalksearch.org/topic/cannot-find-signature-whats-this-5088793i gave him the soluation in step-by-step manner, so it's kinda hard to follow the whole process frorm the topic, as there were a couple of different posts, so what i am going to do here is basically combine the whole steps into 1 to make it easier to follow, if you want to check how did that guy do it and what difficulites he faced you can refer to the topic, also i would like to acknowledge that i used this russian website to learn about this method and it's only fair to post the link even if you can't read russian , i still feel the need for giving credit to the author.
https://forum.bits.media/index.php?/topic/65678-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D1%8F%D1%8F-%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D0%B0-%D0%B4%D0%BB%D1%8F-antminer-l3-%D0%BE%D1%82-blissz/&page=5&tab=comments#comment-1703686 -------------------------------------------------------
lets start.
1- you will need to use a ssh tool like putty.
2-type the ip address of the miner in putty , keep port 22
* if message pop up > click Yes
3-username :root
password:admin
then you will be inside the miner.
4-copy paste this line
cd /www/pages/cgi-bin
> hit enter
like this
5-type this
vi upgrade.cgi
6-use the down arrow and find this code
-------------------------
if [ ! -f runme.sh.sig ]; then
echo "Cannot Find Signature!!!" >> /tmp/upgrade_result
else
openssl dgst -sha256 -verify /etc/bitmain-pub.pem -signature runme.sh.sig runme.sh >/dev/null 2>&1
res=$?
if [ $res -eq 1 ]; then
echo "Installer Not Signtured!!!" >> /tmp/upgrade_result
else
if [ -f runme.sh ]; then
sh runme.sh
else
echo "Incorrect firmware!!!!" >> /tmp/upgrade_result
fi
fi
fi
#if [ -f runme.sh ]; then
# sh runme.sh
#else
# echo "Incorrect firmware!!!!" >> /tmp/upgrade_result
#fi
7-click "i" on your keyboard to enter Edit Mode
8- change the code in step 6 to this code
" you don't have to delete or add any code, reffer to the comment below the code to understand more.
# if [ ! -f runme.sh.sig ]; then
# echo "Cannot Find Signature!!!" >> /tmp/upgrade_result
#else
# openssl dgst -sha256 -verify /etc/bitmain-pub.pem -signature runme.sh.sig runme.sh >/dev/null 2>&1
# res=$?
# if [ $res -eq 1 ]; then
# echo "Installer Not Signtured!!!" >> /tmp/upgrade_result
#else
# if [ -f runme.sh ]; then
# sh runme.sh
# else
# echo "Incorrect firmware!!!!" >> /tmp/upgrade_result
# fi
# fi
#fi
if [ -f runme.sh ]; then
sh runme.sh
else
echo "Incorrect firmware!!!!" >> /tmp/upgrade_result
fi
"add # to the first 15 lines, and remove # from the next 5 lines"
* adding # meaning the line is commented aka won't be executed, so what you doing is simply making the miner ignore that IF function that looks for the signature.
after you are done editing the code, hit ESC key (escape) on your keyboard
9-type
:wq
and hit Enter > this code is to save and exist the upgrate file.
10-type
:q
and hit Enter > to exist the SSH session.
11-flush the new firmware.
------------------------------------
*do this at your own risk
if you have any questions feel free to ask.
Good luck.