itead / Sonoff_Devices_DIY_Tools

BSD 3-Clause "New" or "Revised" License
552 stars 166 forks source link

Sonoff Mini doesn't go into DIY mode with 3.5.0 update #75

Open Fabien14000 opened 4 years ago

Fabien14000 commented 4 years ago

I have four sonoff mini diy. They were delivered with the 3.3.0 firmware release built in. I managed to set diy mode (with jumper) and update tasmota firmware for three of them.

But when I connected the last one to eWeLink, it proposed me to update to 3.5.0 release. I've done it without any trouble. But when I put the jumper on, the mini still work in standard mode (it connects to my wifi) and replies to eWeLink. There is no way to make it connect to "sonoffDiy" wifi.

Could it be a material defect or is there an issue with the 3.5.0 release ?

Thanks.

tonbor commented 4 years ago

@homeconnector succes or gave up

raffaeler commented 4 years ago

@homeconnector if you want to use the plain DIY (no tasmota), ensure your SSID is still available, otherwise the DIY configuration page will not show up. IMO it is a bug: https://github.com/itead/Sonoff_Devices_DIY_Tools/issues/90

homeconnector commented 4 years ago

Couldn't get it going via UNIX. Went back to Windows and disabled all firewalls - found the device and flashed. thanks

eberlini commented 4 years ago

After some struggle I've managed to get into DIY mode, I've got to relink the device to ewelink and then delete it. Otherwise the wifisetting page wouldn't show up. Sonoff DIY R3 Basic curl -d '{"deviceid":"","data":{}}' http://192.168.1.34:8081/zeroconf/info {"seq":11,"error":0,"data": {"switch":"off","startup":"stay","pulse":"off","pulseWidth":500,"ssid":"xxxxxxxx","otaUnlock":true,"fwVersion":"3.6.0","deviceid":"xxxxxxxxxxxx","bssid":"xxxxxxxxxxxxxxx","signalStrength":-64}} thanks for all the information here posted eugenio

keithflannery commented 4 years ago

Hi,

Having some issues with 3.6 - firmware is downloaded but the device doesn't reboot. The device is still responsive to REST on/off commands.

Any ideas, here's the info from the device: image

tonbor commented 4 years ago

the device at ewelink delete it Otherwise the wifisetting will not been seen for tasmota

keithflannery commented 4 years ago

thanks @tonbor - I had already deleted it, tried adding the device, and deleting it fixed it.

It showed up in the DIY Tool - however couldn't flash it, I ran the logging version and found that it was failing with: image

Cheers!

tonbor commented 4 years ago

Great

raenrfm commented 4 years ago

Ready to push all my mini's into the trash where they belong. Went through the procedure, connected to my wifi and cannot get a response out of it with POSTMAN not even device info. What am I missing here? I ran this:

curl -d '{"deviceid":"","data":{}}' --trace-ascii /tmp/dump.txt http://192.168.250.158:8081/zeroconf/info

and got this: == Info: Expire in 0 ms for 6 (transfer 0x564e5e35cf20) == Info: Trying 192.168.250.158... == Info: TCP_NODELAY set == Info: Expire in 200 ms for 4 (transfer 0x564e5e35cf20) == Info: Connected to 192.168.250.158 (192.168.250.158) port 8081 (#0) => Send header, 167 bytes (0xa7) 0000: POST /zeroconf/info HTTP/1.1 001e: Host: 192.168.250.158:8081 003a: User-Agent: curl/7.64.0 0053: Accept: / 0060: Content-Length: 25 0074: Content-Type: application/x-www-form-urlencoded 00a5: => Send data, 25 bytes (0x19) 0000: {"deviceid":"","data":{}}

tonbor commented 4 years ago

Need more info, what did you do, sonoff mini original firmware or flashed with Tasmota?

raenrfm commented 4 years ago

Didn't even get to flashing it. All I did was set into DIY mode then it just ignores my POST commands.

tonbor commented 4 years ago

Diy mode with use of header is with version 3.5 and 3.6 no longer there.

tonbor commented 4 years ago

Do not use header, that is for version < 3.5

raenrfm commented 4 years ago

What does that mean? I'm using postman.

raenrfm commented 4 years ago

Sorry I figured out the header issue and disabled it in Postman. I did another command line using curl and I'm getting something different after cycling the power on the mini:

== Info: Expire in 0 ms for 6 (transfer 0x55cf97246f20) == Info: Trying 192.168.250.158... == Info: TCP_NODELAY set == Info: Expire in 200 ms for 4 (transfer 0x55cf97246f20) == Info: Connected to 192.168.250.158 (192.168.250.158) port 8081 (#0) => Send header, 167 bytes (0xa7) 0000: POST /zeroconf/info HTTP/1.1 001e: Host: 192.168.250.158:8081 003a: User-Agent: curl/7.64.0 0053: Accept: / 0060: Content-Length: 25 0074: Content-Type: application/x-www-form-urlencoded 00a5: => Send data, 25 bytes (0x19) 0000: {"deviceid":"","data":{}} == Info: upload completely sent off: 25 out of 25 bytes == Info: Recv failure: Connection reset by peer == Info: Closing connection 0

Once the mini is in DIY mode it should stay that way until reset correct?

tonbor commented 4 years ago

No after 2 minutes it quits DIY mode.

raenrfm commented 4 years ago

ok so I have 2 minutes to get it flashed then when I do get a response?

raenrfm commented 4 years ago

Ok so then I don't understand the instructions at all. You press and hold the reset button a couple times to force it into AP mode then you assign your home wifi creds so it connects to it permanently which it does. Are you saying that even after that the unit only stays in DIY mode for 2 min? I can ping the unit, that isn't the problem, it's the lack of response from the POST. Is there something I'm missing to get that accomplished?

tonbor commented 4 years ago

What original firmware does the mini have? That is the start. For 3.3 there is an other path to go then 3.5 or 3.6

raenrfm commented 4 years ago

I already upgraded the unit to 3.6 before I realized it wasn't working with the previous flashing procedure.

tonbor commented 4 years ago

Once you have got your head around it, its actually very simple. Here is a simple guide to flash the Sonoff R3 Basic (not sure if it works on the mini, i have never tried). This works if your firmware is 3.5.0. PRE-REQUISITES: ARC plugin on Chrome (or any other REST tool) XAMPP (or any other webserver tool) tasmota-lite.bin If your Sonoff Basic R3 is not on 3.5.0 then:

  1. Do NOT put the jumper on, power it up.
  2. Connect to ewelink and upgrade firmware to 3.5.0 and allow it to reboot.
  3. Not Set up Apache server on your PC (i used XAMPP) put the tasmota-lite.bin file in the server (the file must be accessible by "http://ip/path"). You can test this works by putting the URL in your browser and see that the file downloads.

Start here with 3.5

  1. On the Sonoff device press button for 5 seconds (light pattern changes)
  2. Press button again for 5secs (light pattern changes again)
  3. Connect to the isteadxxxx AP using pwd 12345678
  4. Browse to http://10.10.7.1
  5. Enter your SSID and pwd for your network- case sensitive and hit Save
  6. Wait for device to reboot
  7. Find IP address of Sonoff (in your local network).
  8. In the ARC in chrome send POST request WITH JSON to: http://IPofDevice:8081/zeroconf/ota_unlock You must send it with this JSON: {"deviceid":"","data":{}}
  9. Now send POST to URL: http://IPofDevice:8081/zeroconf/info with JSON: {"deviceid":"","data":{}} Here you should get some information returned to you. You will be able to see these two important pieces of information deviceid: xxxxxxxxxx otaUnlock= True

} { "seq": 4, "error": 0, "data": { "switch": "off", "startup": "off", "pulse": "off", "pulseWidth": 500, "ssid": "XXXXXXXXX", "otaUnlock": true, "fwVersion": "3.6.0", "deviceid": "1000ca04ed", "bssid": "XXXXXXXXXXX", "signalStrength": -68 } } Ok go to the tool set there you can find the mini,

raenrfm commented 4 years ago

I appreciate this but I have done and tried all of that. Perhaps something is different again with 3.6 Idk. I cannot illicit a response from the mini with a post command.

tonbor commented 4 years ago

well I flashed 3.5 and 3.6 with this, the only thing what wend wrong with me is not delete the mini at ewelink

Op di 18 aug. 2020 16:53 schreef raenrfm notifications@github.com:

I appreciate this but I have done and tried all of that. Perhaps something is different again with 3.6 Idk. I cannot illicit a response from the mini with a post command.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/itead/Sonoff_Devices_DIY_Tools/issues/75#issuecomment-675527730, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKD7IIV2Y7SIZLXDEIZW7G3SBKIYLANCNFSM4L25RT5Q .

raenrfm commented 4 years ago

Are you saying you had to delete it from ewelink for it to work?

tonbor commented 4 years ago

yep

Op di 18 aug. 2020 17:08 schreef raenrfm notifications@github.com:

Are you saying you had to delete it from ewelink for it to work?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/itead/Sonoff_Devices_DIY_Tools/issues/75#issuecomment-675536355, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKD7IIQULGVEPHHAT6TT5CTSBKKNNANCNFSM4L25RT5Q .

escot commented 4 years ago

I finally managed to enter DIY mode (Sonoff Basic R3, ver. 3,6) - without connecting the jumper at all. Does it mean there is no practical need for the jumper anymore?

tonbor commented 4 years ago

YEP

Op do 27 aug. 2020 om 08:08 schreef escot notifications@github.com:

I finally managed to enter DIY mode (Sonoff Basic R3, ver. 3,6) - without connecting the jumper at all. Does it mean there is no practical need for the jumper anymore?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/itead/Sonoff_Devices_DIY_Tools/issues/75#issuecomment-681598051, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKD7IIWJIXHKF2ZMPLYU35TSCXZ6XANCNFSM4L25RT5Q .

escot commented 4 years ago

and now I cannot switch back from DIY to eWeLink mode... Please advise!

tonbor commented 4 years ago

After update firmware to tasmota there is no switch back to EWeLink mode, for that you have to restore original firmware. So it is or Tasmota or eWeLink mode

escot commented 4 years ago

thank you, I meant to switch back to eWeLink from "native" DYI, without upgrading the firmware. I managed to get back to Ewelink mode already - pressed reset button for ~5 seconds, than initial pairing with EweLink app.

lukaskukacka commented 3 years ago

The tips from @Fabien14000 actually helped me a lot.

If you are on firmware 3.6.x, request update using POST http://IP/zeroconf/ota_flash and yet your Sonoff never flashes, restarts and starts with Tasmota, make sure you use supported server to serve the firmware binary file.

Looking to protocol v2.0 docs it mentions:

The download address of the new firmware, only supports the HTTP protocol, the HTTP server must support the Range request header.

It is a deal breaker! Some basic servers (like python -m SimpleHTTPServer 8080) will not work.

Using the right server (Nginx in Docker for me), Sonoff actually finally flashed and restarted to Tasmota.

For more details I wrote my notes in blog post.

camochu commented 3 years ago

I've just received a pair of Sonoff Mini with v3.5.0. I've updated only one of them to 3.6.0 Once in DIY mode and connected to my wifi I was able to flash tasmota-lite.bin v8.5.0 with tool_01DIY85(3.3.0).exe without any problem on both devices

This is the log from DIY tool:

2020-09-18 22:19:19{"deviceid": "1000e4fd1e", "data": {"downloadUrl": "http://192.168.2.10:776/i/itead.bin", "sha256sum": "c4c8347666c4fd1e412a11338fe4a599f8010d5eaa5418bacb43bbc3b5149dbd"}}

2020-09-18 22:19:19{"seq":4,"error":0}

I didn't need to remove the minis from eWeLink app, send ota_unlock POST nor install a web server Perhaps I'm a fortunate one

nltran commented 3 years ago

I can confirm what @camochu said.

Updated my sonoff mini to 3.6.0 from 3.3.0, enabled DIY mode according to protocol 2.0 and then flashed esphome using tool_01DIY85_v330(log).exe without any problem.

rradar commented 3 years ago

@nltran wrote:

using tool_01DIY85_v330(log).exe without any problem.

Really? Your are executing software which is known to contain malicous software?

Trojan:Win32/Tiggre!plock in tool_01DIY85(3.3.0).exe by defender & confirmed by virustotal #36

nltran commented 3 years ago

Really? Your are executing software which is known to contain malicous software?

Trojan:Win32/Tiggre!plock in tool_01DIY85(3.3.0).exe by defender & confirmed by virustotal #36

The thread you linked, when read past the title and till the end, debates on the maliciousness of the file and concludes by it being a false positive. Today Defender does not detect anything and VirusTotal shows totally different results.

If you have conclusive evidence on the maliciousness though please make it known it in the other thread so the debate goes on there and we keep this thread about going into DIY mode on recent firmware.

tonbor commented 3 years ago

@nltran right!

tolrahC commented 3 years ago

The tips from @Fabien14000 actually helped me a lot.

If you are on firmware 3.6.x, request update using POST http://IP/zeroconf/ota_flash and yet your Sonoff never flashes, restarts and starts with Tasmota, make sure you use supported server to serve the firmware binary file.

Looking to protocol v2.0 docs it mentions:

The download address of the new firmware, only supports the HTTP protocol, the HTTP server must support the Range request header.

It is a deal breaker! Some basic servers (like python -m SimpleHTTPServer 8080) will not work.

Using the right server (Nginx in Docker for me), Sonoff actually finally flashed and restarted to Tasmota.

For more details I wrote my notes in blog post.

Hi @laziukiewicz ,

I followed your blog post, but it is still not working. At the end I can see in nginx that the SonOff device try a post request, but obviously it doesn't work.

[18/Oct/2020:23:40:29 +0000] "POST /api/device/otaFlash HTTP/1.1" 404 153 "-" "-" "-" 2020/10/18 23:40:29 [error] 7#7: *28 open() "/opt/www/file-browser/api/device/otaFlash" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "POST /api/device/otaFlash HTTP/1.1"

Did you face this issue?

Great article by the way! Thank you

omriavital commented 3 years ago

To whoever comes to this page after googling "Empty reply from server" (like I did) or if you weren't able to get any response after trying to send the POST request to http://ip:8081

Here's the solution the worked for me:

Use a different WIFI network. That's it.

For me, what worked was creating a hotspot on my iPhone, connecting the SONOFF to that hotspot (see the comments above me for how), and connecting my computer to the same hotspot as well.

Then, If you're on a mac (like me) you can use a software called "Network Radar" to find the IP address of the SONOFF.

Again, for mac users: I used this article, for the actual flashing instructions. Of course, since you already got your SONOFF and your mac to be on the same network, you can skip the "create Wifi with SSID sonoffDiy..." step.

I'm not sure why using the iphone's hotspot - worked, but using my home wifi network - didn't. Maybe my router is blocking something with the POST request... maybe something else. DK.

Hope this will be helpful.

Omri

ekraus50 commented 3 years ago

Is there a way to flesh a mini OTA without creating a windows server?

ekraus50 commented 3 years ago

I have finally decided to give up on this crap! After spending several hours on trying to Tasmotize another mini I am sending all of them back to Amazon.

camochu commented 3 years ago

@ekraus50, if sonoff mini are the new model without jumper, me an other people have tasmotized them very easy. Set diy mode, connect to your wifi and flash with tool_01DIY85(3.3.0).exe

CervDotBe commented 3 years ago

A couple of months ago I posted these easy instructions. Tested today with a new set, it's still applicable.

  1. Download and install the eweLink app
  2. Quick pair your device
  3. Update firmware to 3.6 in the eWelink app
  4. Once done, delete the device from the app
  5. Put your device into DIY hotspot pairing mode, connect with a device and fill in your WLAN data (via http://10.10.7.1). It will connect to your WIFI network. No jumper needed.

If you want to install tasmota on it, continue with these instructions:

  1. Download & open the DIY tool from this GIT. Open it on a computer within the same network (disable your firewall if it's not listed), your device will appear in the list
  2. Download the tasmota-lite firmware (http://thehackbox.org/tasmota/release/), install it trough the DIY tool (I used the log version)
camochu commented 3 years ago

And with new sonoff mini models, you can start with step 5

raffaeler commented 3 years ago

While I was successful in upgrading my devices, it is a huge waste of time in understanding why it was so hard. Frankly, this process is too complex while it should not require any hint or guide. Either Sonoff changes the upgrade procedure, or they will lose customers.

Sucess is never made from the hardware alone, it always depends on the combination of hardware and software. Companies who do not understand this concept are going to fail.

ekraus50 commented 3 years ago

Look I appreciate all the reply's but the only way I have been successful with all the Sonoff devices I have purchased is to break out the soldering iron and flash them using a usb to ttl adapter. I am through wasting my time with these BS OTA tools that Ited puts out that don't work. So far i have spent 5 hours screwing around with one of the new mimi's I got. I cant even get it to respond to an HTTP post. I have tried everything, every tutorial and method except the soldering iron. Now I am to the point that the only way I can communicate with it is with the ewelink app. Which i don't want to use. I have 4 of them sitting here that are useless to me.

ekraus50 commented 3 years ago

Well I am batting 1000 with these. 4 more that are not flashable. The tool doesn't work and flashing using Postman.

Snoopy1368 commented 3 years ago

Hardware is only as good as the software that drives it. I suspect these devices fail. I am off to try a USB to serial hardware solution. I also wasted about 2 days on this DIY mode, I still suspect eWelink don't want it to work.

ekraus50 commented 3 years ago

If you turn the device over the pads are easy to find on the bottom and there are plenty of tutorials on flashing. image

ekraus50 commented 3 years ago

Here is what I got from Sonoff Tech Support after opening a ticket that DIY mode does not work. Dear Xxxx, Thanks for your email. Could you please take a video to show the problem? We need to check the problem so that we can offer you some solutions. Regards, Taylor in SONOFF

ekraus50 commented 3 years ago

I sent this back. Video of what? Here is what happens. (NOT USING JUMPER)

Entering the Compatible Pairing Mode (AP) by long press the paring button for 5 seconds after power on
Connecting the Access Point named ITEAD-XXXXXXXXXX with default password 12345678 via mobile phone or PC
Browser visits http://10.10.7.1/
Filling in the existing WiFi network SSID and password
Entering DIY Mode successfully with specific WiFi network connected.

Start Tool "tool_01DIY85(3.3.0)" First switch ON/OFF to see if I am connected. Select device Import Firmware Click OK (OK becomes greyed out) And then it sots there at Progress 0%

Tried another one with the JUMPER ON Same results.

I also tried using RESTful API Control Protocol(HTTP POST) NO RESPONSE FROM DEVICE.

The 4 came with Firmware 3.5.0 Tried that first. Then upgraded to Firmware 3.6.0

Nothing works !!!!!!!! I sent 8 back before. Bought 4 July 11. Sent them back.

Bought 4 July 16. I flashed all 4 of those by soldering wires on to the +, GND, TX and RX pads on the bottom and using a Serial to TTL adaptor.

DIY MODE does not work and neither does the tool !!!!!!!!!!!!!!!