mirror of
https://github.com/SpacehuhnTech/esp8266_deauther.git
synced 2026-04-26 00:05:55 +03:00
[GH-ISSUE #1498] Lolin NodeMCU v3 (CH340) No Display, Resets (SLOVED) #809
Labels
No labels
best of
bug
development
discussion
documentation
duplicate
feature request
help wanted
help wanted
improvement
pinned
pull-request
question
stale
translation
v3
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/esp8266_deauther#809
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @captclearleft on GitHub (Dec 10, 2021).
Original GitHub issue: https://github.com/SpacehuhnTech/esp8266_deauther/issues/1498
I will continue to look for and post a solution.
I am having the same exact issues described as resets constantly in the Testing section of the tutorial. Following the "Setup Display & Buttons" exactly. (NodeMCU with Display Example I2c)
I am using the LOLIN NodeMCU v3 with the ch340 chip (I have 3 of them, and have tried 2 of em).
I tried changing the code for the SDA and SCK pins from 5, 4 to 4,5 to D1,D2. I tried swapping those wires.
I tried uncommenting these lines in the A_config.h...
#define NODEMCU
#define DISPLAY_EXAMPLE_I2C
I tried different power sources.
I tried just flashing it with the Node MCU Flasher and the .bin file.
I don't have any custom anything going on, just set up exactly as described in the tutorial.
The regular NodeMCU code without display works flawlessly on both boards.
When I run the OLED display code from https://github.com/squix78/esp8266-oled-ssd1306 The display works fine. No resets, and the display shows everything just fine.
I am guessing its something to do with the way this board and the ch340 chip exists.
Maybe ill try the resistors on D4 and D8.
Any one else use this board, or have a solution? Thanks so much.
Originally posted by @captclearleft in https://github.com/SpacehuhnTech/esp8266_deauther/issues/1452#issuecomment-990300764
@welcome[bot] commented on GitHub (Dec 10, 2021):
Congrats on opening your first issue on this repository! 🎉
This is a automated message to help you avoid common pitfalls when asking for help online.
👉 Be sure to:
* 🇬🇧 Communicate in English so everybody can understand you
* 📖 Have a look at the Wiki and README for information
* 🔍 Search for similar issues (open and closed)
* ✍️ Provide enough information to understand, recreate and help out with your problem
* ℹ️ Let us know if you find a solution and please share it with us
* 📕 Close the issue when your problem has been solved
@captclearleft commented on GitHub (Dec 10, 2021):
Just another update. Tried adding the resistors (D4 - High, D8 - Low, and I even tried Pulling Reset High (10k))
Same results - No display, constant resets...
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000cb3d0
~ld
Reloaded the SSD1306SimpleDemo.ino sketch. Screen still works fine.
I still think its something screwy with this ch340 chipped LOLIN NodeMCU.
I did try my Adafruit feather esp8266 - That didnt work either. I may have not hooked that up correctly as there are only the two SDA and SCK (4,5) on that board and thats what I used...
I updated all my libraries for Arduino, still no luck. Any ideas would be appreciated. Thanks
@captclearleft commented on GitHub (Dec 10, 2021):
Update.
I am able to run the Version 3 code no problem (No Display, No Resets).
I ordered the NodeMCU With the CP2102 usb chip (Im guessing thats the fix.)
I might try today to change the SDA SCK pins to other pins to see if that works.
@captclearleft commented on GitHub (Dec 10, 2021):
Tried changing SDA to 13 and SCK to 12. That did not work - Same results.
Tried changing the pin 5 to pin 4 and 4 to 5 in the code. tried switching the wires back and forth as well...
No luck.
Also tried changing the display type to the SH1106 (even though I know its a SSD1306 (as it works with the https://github.com/squix78/esp8266-oled-ssd1306 code)... Hmmmmm. Has to be this board with the CH340.... Must be a mismatch on one of the pins.... Not sure yet.
@captclearleft commented on GitHub (Dec 10, 2021):
Ok, I tried adding capacitors to the power line and the 3.3v line. No luck
@captclearleft commented on GitHub (Dec 11, 2021):
I think we got this solved with the help of @strolll395 (https://github.com/strolll395)
https://github.com/wh1ter0z/esp8266_deauther/blob/v1/esp8266_deauther/A_config.h
Ok, So I copied the above A_config.h into the Arduino IDE replacing the original A_config.h code.
Used "NodeMCU" As the "Board" and the "Deauther Config" under tools.
And it worked.
So I took the 2.6.1 original A-cinfig.h file and stripped out all the stuff I would not be using. Took out most of the #if statements.
It looks like there is something in the #if #elseif statements when using the "Deauther Config= Deisplay Example IIC" mode that causes an issue. Using just the file with all the #if #elseif statements removed and then just defining the display worked.
Thanks
https://github.com/wh1ter0z/esp8266_deauther
Here is my new 2.6.1 A-congig.h file
`
/* This software is licensed under the MIT License: https://github.com/spacehuhntech/esp8266_deauther */
#pragma once
#define ENABLE_DEBUG
#define DEBUG_PORT Serial
#define DEBUG_BAUD 115200
#define DEFAULT_ESP8266
// ===== DISPLAY ===== //
// #define SH1106_I2C
#define SSD1306_I2C
#define I2C_ADDR 0x3C
#define I2C_SDA 5
#define I2C_SCL 4
// #define FLIP_DIPLAY true
// ===== BUTTONS ===== //
#define BUTTON_UP 14
#define BUTTON_DOWN 12
#define BUTTON_A 13
// ===== LED ===== //
#define LED_NEOPIXEL_GRB
// #define LED_NEOPIXEL_RGB
#define LED_NUM 1
#define LED_NEOPIXEL_PIN 9
#define LED_MODE_BRIGHTNESS 10
#if defined(DEFAULT_ESP8266) || defined(NODEMCU) || defined(WEMOS_D1_MINI) || defined(DSTIKE_USB_DEAUTHER) || defined(DSTIKE_NODEMCU_07) || defined(DSTIKE_DEAUTHER_V1) || defined(DSTIKE_DEAUTHER_V2) || defined(DSTIKE_DEAUTHER_V3)
// ===== LED ===== //
#define LED_DIGITAL
#define LED_PIN_R 16 // NodeMCU on-board LED
#define LED_PIN_B 2 // ESP-12 LED
#endif /* if defined(DEFAULT_ESP8266) || defined(NODEMCU) || defined(WEMOS_D1_MINI) || defined(DSTIKE_USB_DEAUTHER) || defined(DSTIKE_NODEMCU_07) || defined(DSTIKE_DEAUTHER) || defined(DSTIKE_DEAUTHER_V1) || defined(DSTIKE_DEAUTHER_V2) || defined(DSTIKE_DEAUTHER_V3) */
// ============================== //
// ========= FALLBACK ========= //
// ===== AUTOSAVE ===== //
#ifndef AUTOSAVE_ENABLED
#define AUTOSAVE_ENABLED true
#endif /* ifndef ATTACK_ALL_CH */
#ifndef AUTOSAVE_TIME
#define AUTOSAVE_TIME 60
#endif /* ifndef ATTACK_ALL_CH */
// ===== ATTACK ===== //
#ifndef ATTACK_ALL_CH
#define ATTACK_ALL_CH false
#endif /* ifndef ATTACK_ALL_CH */
#ifndef RANDOM_TX
#define RANDOM_TX false
#endif /* ifndef RANDOM_TX */
#ifndef ATTACK_TIMEOUT
#define ATTACK_TIMEOUT 600
#endif /* ifndef ATTACK_TIMEOUT */
#ifndef DEAUTHS_PER_TARGET
#define DEAUTHS_PER_TARGET 25
#endif /* ifndef DEAUTHS_PER_TARGET */
#ifndef DEAUTH_REASON
#define DEAUTH_REASON 1
#endif /* ifndef DEAUTH_REASON */
#ifndef BEACON_INTERVAL_100MS
#define BEACON_INTERVAL_100MS true
#endif /* ifndef BEACON_INTERVAL_100MS */
#ifndef PROBE_FRAMES_PER_SSID
#define PROBE_FRAMES_PER_SSID 1
#endif /* ifndef PROBE_FRAMES_PER_SSID */
// ===== SNIFFER ===== //
#ifndef CH_TIME
#define CH_TIME 200
#endif /* ifndef CH_TIME */
#ifndef MIN_DEAUTH_FRAMES
#define MIN_DEAUTH_FRAMES 3
#endif /* ifndef MIN_DEAUTH_FRAMES */
// ===== ACCESS POINT ===== //
#ifndef AP_SSID
#define AP_SSID "pwned"
#endif /* ifndef AP_SSID */
#ifndef AP_PASSWD
#define AP_PASSWD "deauther"
#endif /* ifndef AP_PASSWD */
#ifndef AP_HIDDEN
#define AP_HIDDEN false
#endif /* ifndef AP_HIDDEN */
#ifndef AP_IP_ADDR
#define AP_IP_ADDR { 192, 168, 4, 1 }
#endif /* ifndef AP_IP_ADDR */
// ===== WEB INTERFACE ===== //
#ifndef WEB_ENABLED
#define WEB_ENABLED true
#endif /* ifndef WEB_ENABLED */
#ifndef WEB_CAPTIVE_PORTAL
#define WEB_CAPTIVE_PORTAL false
#endif /* ifndef WEB_CAPTIVE_PORTAL */
#ifndef WEB_USE_SPIFFS
#define WEB_USE_SPIFFS false
#endif /* ifndef WEB_USE_SPIFFS */
#ifndef DEFAULT_LANG
#define DEFAULT_LANG "en"
#endif /* ifndef DEFAULT_LANG */
// ===== CLI ===== //
#ifndef CLI_ENABLED
#define CLI_ENABLED true
#endif /* ifndef CLI_ENABLED */
#ifndef CLI_ECHO
#define CLI_ECHO true
#endif /* ifndef CLI_ECHO */
// =============== LED =============== //
#if defined(LED_NEOPIXEL_RGB) || defined(LED_NEOPIXEL_GRB)
#define LED_NEOPIXEL
#endif /* if defined(LED_NEOPIXEL_RGB) || defined(LED_NEOPIXEL_GRB) */
#if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(LED_MY92) && !defined(LED_DOTSTAR)
#define LED_DIGITAL
#define USE_LED false
#else // if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(LED_MY92) && !defined(LED_DOTSTAR)
#define USE_LED true
#endif // if !defined(LED_DIGITAL) && !defined(LED_RGB) && !defined(LED_NEOPIXEL) && !defined(LED_MY92) && !defined(LED_DOTSTAR)
#ifndef LED_PIN_R
#define LED_PIN_R 255
#endif /* ifndef LED_PIN_R */
#ifndef LED_PIN_G
#define LED_PIN_G 255
#endif /* ifndef LED_PIN_G */
#ifndef LED_PIN_B
#define LED_PIN_B 255
#endif /* ifndef LED_PIN_B */
#ifndef LED_ANODE
#define LED_ANODE false
#endif /* ifndef LED_ANODE */
#ifndef LED_MODE_OFF
#define LED_MODE_OFF 0, 0, 0
#endif /* ifndef LED_MODE_OFF */
#ifndef LED_MODE_SCAN
#define LED_MODE_SCAN 0, 0, 255
#endif /* ifndef LED_MODE_SCAN */
#ifndef LED_MODE_ATTACK
#define LED_MODE_ATTACK 255, 0, 0
#endif /* ifndef LED_MODE_ATTACK */
#ifndef LED_MODE_IDLE
#define LED_MODE_IDLE 0, 255, 0
#endif /* ifndef LED_MODE_IDLE */
#ifndef LED_MODE_BRIGHTNESS
#define LED_MODE_BRIGHTNESS 10
#endif /* ifndef LED_MODE_BRIGHTNESS */
// =============== DISPLAY =============== //
#ifndef DISPLAY_TIMEOUT
#define DISPLAY_TIMEOUT 600
#endif /* ifndef DISPLAY_TIMEOUT */
#ifndef DISPLAY_TEXT
#define DISPLAY_TEXT ""
#endif /* ifndef DISPLAY_TEXT */
#ifndef FLIP_DIPLAY
#define FLIP_DIPLAY false
#endif /* ifndef FLIP_DIPLAY */
#if !defined(SSD1306_I2C) && !defined(SSD1306_SPI) && !defined(SH1106_I2C) && !defined(SH1106_SPI)
#define SSD1306_I2C
#define USE_DISPLAY false
#else /* if !defined(SSD1306_I2C) && !defined(SSD1306_SPI) && !defined(SH1106_I2C) && !defined(SH1106_SPI) /
#define USE_DISPLAY true
#endif / if !defined(SSD1306_I2C) && !defined(SSD1306_SPI) && !defined(SH1106_I2C) && !defined(SH1106_SPI) */
#ifndef I2C_ADDR
#define I2C_ADDR 0x3C
#endif /* ifndef I2C_ADDR */
#ifndef I2C_SDA
#define I2C_SDA 5
#endif /* ifndef I2C_SDA */
#ifndef I2C_SCL
#define I2C_SCL 4
#endif /* ifndef I2C_SCL */
#ifndef SPI_RES
#define SPI_RES 5
#endif /* ifndef SPI_RES */
#ifndef SPI_DC
#define SPI_DC 4
#endif /* ifndef SPI_DC */
#ifndef SPI_CS
#define SPI_CS 15
#endif /* ifndef SPI_CS */
// =============== BUTTONS =============== //
#ifndef BUTTON_UP
#define BUTTON_UP 255
#endif // ifndef BUTTON_UP
#ifndef BUTTON_DOWN
#define BUTTON_DOWN 255
#endif // ifndef BUTTON_DOWN
#ifndef BUTTON_A
#define BUTTON_A 255
#endif // ifndef BUTTON_A
#ifndef BUTTON_B
#define BUTTON_B 255
#endif // ifndef BUTTON_B
// ===== Reset ====== //
#ifndef RESET_BUTTON
#if BUTTON_UP != 0 && BUTTON_DOWN != 0 && BUTTON_A != 0 && BUTTON_B != 0
#define RESET_BUTTON 0
#else // if BUTTON_UP != 0 && BUTTON_DOWN != 0 && BUTTON_A != 0 && BUTTON_B != 0
#define RESET_BUTTON 255
#endif // if BUTTON_UP != 0 && BUTTON_DOWN != 0 && BUTTON_A != 0 && BUTTON_B != 0
#endif // ifndef RESET_BUTTON
// ===== Web ===== //
#ifndef WEB_IP_ADDR
#define WEB_IP_ADDR (192, 168, 4, 1)
#endif // ifndef WEB_IP_ADDR
#ifndef WEB_URL
#define WEB_URL "deauth.me"
#endif // ifndef WEB_URL
// ======== CONSTANTS ========== //
// Do not change these values unless you know what you're doing!
#define DEAUTHER_VERSION "2.6.1"
#define DEAUTHER_VERSION_MAJOR 2
#define DEAUTHER_VERSION_MINOR 6
#define DEAUTHER_VERSION_REVISION 1
#define EEPROM_SIZE 4095
#define BOOT_COUNTER_ADDR 1
#define SETTINGS_ADDR 100
// ======== AVAILABLE SETTINGS ========== //
/*
// ===== ATTACK ===== //
#define ATTACK_ALL_CH false
#define RANDOM_TX false
#define ATTACK_TIMEOUT 600
#define DEAUTHS_PER_TARGET 25
#define DEAUTH_REASON 1
#define BEACON_INTERVAL_100MS true
#define PROBE_FRAMES_PER_SSID 1
// ====== SNIFFER ====== //
#define CH_TIME 200
#define MIN_DEAUTH_FRAMES 3
// ===== ACCESS POINT ===== //
#define AP_SSID "pwned"
#define AP_PASSWD "deauther"
#define AP_HIDDEN false
#define AP_IP_ADDR {192, 168, 4, 1}
// ===== WEB INTERFACE ===== //
#define WEB_ENABLED true
#define WEB_CAPTIVE_PORTAL false
#define WEB_USE_SPIFFS false
#define DEFAULT_LANG "en"
// ===== CLI ===== //
#define CLI_ENABLED true
#define CLI_ECHO true
// ===== LED ===== //
#define USE_LED true
#define LED_DIGITAL
#define LED_RGB
#define LED_NEOPIXEL
#define LED_MY92
#define LED_ANODE false
#define LED_PIN_R 16
#define LED_PIN_G 255
#define LED_PIN_B 2
#define LED_NEOPIXEL_RGB
#define LED_NEOPIXEL_GRB
#define LED_NUM 1
#define LED_NEOPIXEL_PIN 255
#define LED_MODE_OFF 0,0,0
#define LED_MODE_SCAN 0,0,255
#define LED_MODE_ATTACK 255,0,0
#define LED_MODE_IDLE 0,255,0
#define LED_MODE_BRIGHTNESS 10
#define LED_NUM 1
#define LED_MY92_DATA 4
#define LED_MY92_CLK 5
#define LED_MY92_CH_R 0
#define LED_MY92_CH_G 1
#define LED_MY92_CH_B 2
#define LED_MY92_CH_BRIGHTNESS 3
#define LED_MY92_MODEL MY92XX_MODEL_MY9291
#define LED_MY92_MODEL MY92XX_MODEL_MY9231
#define LED_DOTSTAR
#define LED_NUM 1
#define LED_DOTSTAR_CLK 12
#define LED_DOTSTAR_DATA 13
// ===== DISPLAY ===== //
#define USE_DISPLAY false
#define DISPLAY_TIMEOUT 600
#define FLIP_DIPLAY false
#define SSD1306_I2C
#define SSD1306_SPI
#define SH1106_I2C
#define SH1106_SPI
#define I2C_ADDR 0x3C
#define I2C_SDA 5
#define I2C_SCL 4
#define SPI_RES 5
#define SPI_DC 4
#define SPI_CS 15
// ===== BUTTONS ===== //
#define BUTTON_UP 255
#define BUTTON_DOWN 255
#define BUTTON_A 255
#define BUTTON_B 255
// ===== Reset ====== //
#define RESET_BUTTON 5
// ===== Web ===== //
#define WEB_IP_ADDR (192, 168, 4, 1)
#define WEB_URL "deauth.me"
*/
// ========== ERROR CHECKS ========== //
#if LED_MODE_BRIGHTNESS == 0
#error LED_MODE_BRIGHTNESS must not be zero!
#endif /* if LED_MODE_BRIGHTNESS == 0 */
`
@captclearleft commented on GitHub (Dec 12, 2021):
I actually think the rests were being caused by the LED settings
In the default A_config file these are commented out:
#define LED_DIGITAL
#define LED_PIN_R 16 // NodeMCU on-board LED
#define LED_PIN_B 2 // ESP-12 LED
I found that this being commented out was causing resets: #define LED_DIGITAL
I now have it uncommented.
@clisterX commented on GitHub (Oct 25, 2022):
I was giving up after hours of trial and error and then in a last attempt I copied your code and it's working don't know why, don't know how. Thank you very much!