-->
Page 1 of 1

Can't get to flash mode

PostPosted: Wed Aug 31, 2016 9:13 am
by javo
I don't know what I did wrong, probably many things. Now the problem is that I cannot enter to flash mode, and still worse I cannot upload any script. Oh! and the Lua prompt is missing.

I was using NodeMCU 0.9.6 in my ESP-01.

Booting in normal mode I get this (at baud rate 74880)
Code: Select all ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 28740, room 16
tail 4
chksum 0xcd
load 0x3ffe8000, len 2888, room 4
tail 4
chksum 0xbc
load 0x3ffe8b50, len 15252, room 4
tail 0
chksum 0x4f
csum 0x4f


And booting in flash mode it keeps the Tx LED on and prints endlessly this (baud rate 74880)

Code: Select allFatal exception (0):
epc1=0x40100000, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000


Funny thing is that it boots properly in normal mode and runs the last init.lua I could upload, but it seems to keep busy as it does not show the Lua interpreter prompt, so it ignores any command I send.

Code: Select all---- init.lua ----
print(wifi.sta.getip())

ssid = "asdf"
pass = "asdf"
ipcfg = {ip="192.168.0.23",netmask="255.255.255.0",gateway="192.168.0.1"}

wifi.setmode(wifi.STATION)
wifi.sta.config(ssid,pass)
print("hola")

tmr.alarm(1, 1000, 1, function()
     if wifi.sta.setip(ipcfg) == false then
         print("Connecting...")
         print("hola1")
     else
         print("hola2")
         tmr.stop(1)
         print("Connected, IP is "..wifi.sta.getip())
     end
end)

dofile("telnet.lua")


Code: Select all-- a simple telnet server

telnet_srv = net.createServer(net.TCP, 180)
telnet_srv:listen(2323, function(socket)
    local fifo = {}
    local fifo_drained = true

    local function sender(c)
        if #fifo > 0 then
            c:send(table.remove(fifo, 1))
        else
            fifo_drained = true
        end
    end

    local function s_output(str)
        table.insert(fifo, str)
        if socket ~= nil and fifo_drained then
            fifo_drained = false
            sender(socket)
        end
    end

    node.output(s_output, 0)   -- re-direct output to function s_ouput.

    socket:on("receive", function(c, l)
        node.input(l)           -- works like pcall(loadstring(l)) but support multiple separate line
    end)
    socket:on("disconnection", function(c)
        node.output(nil)        -- un-regist the redirect output function, output goes to serial
    end)
    socket:on("sent", sender)

    print("Welcome to NodeMCU world.")
end)


I've tried reflashing NodeMCU as well as AT 0.9.2.2 with NodeMCU flasher, Esptool, Esp Download tool, Esp downloader, and all of them fail in early communication stage.

Any ideas of how to recover my module?