LaserWeb / LaserWeb4

Collaborative effort on the next version of LaserWeb / CNCWeb
GNU Affero General Public License v3.0
711 stars 192 forks source link

No supported firmware detected. Closing port #322

Open mkeyno opened 7 years ago

mkeyno commented 7 years ago

I run laserweb4 rev 4.0.728 with GRBL 1.1f how ever same as this issue ,it disconnected to the machine , both part set to 115200baud and my board simply connected to other CAM software

 Server error: Opening COM11: Unknown error code 121
 Machine disconnected
 Connecting Machine @ USB,COM11,115200baud
 Machine connected
 No supported firmware detected. Closing port COM11
 Machine disconnected
Protoneer commented 6 years ago

Currently my RPI CNC hat does not work with LW because it uses the hardware serial. The hat has reset circuitry via some of the other RPI gpio pins.

Reset via serial works from bCNC and CNCJS.

I am creating a RPI preconfigured images and can modify LW code but I would prefer to stick to the standard build.

On 19 Dec 2017 9:36 p.m., "Claudio Prezzi" notifications@github.com wrote:

That's not what we want. Grbl detection is very stable with USB. Problems just can be caused from WLAN or Bluetooth bridges, that do not support board reset. Those rare problems can be solved with the existing env variables.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/322#issuecomment-352675113, or mute the thread https://github.com/notifications/unsubscribe-auth/ADqFI7FlsgG_8cBqmfeBXKmHtUpIwYZaks5tB3WSgaJpZM4Nkm8y .

Protoneer commented 6 years ago

I just noticed RESET_ON_CONNECT in the GRBL LPC wiki. I will try that first.

On 20 Dec 2017 6:34 a.m., "Kruger Creations" krugercreations@gmail.com wrote:

Currently my RPI CNC hat does not work with LW because it uses the hardware serial. The hat has reset circuitry via some of the other RPI gpio pins.

Reset via serial works from bCNC and CNCJS.

I am creating a RPI preconfigured images and can modify LW code but I would prefer to stick to the standard build.

On 19 Dec 2017 9:36 p.m., "Claudio Prezzi" notifications@github.com wrote:

That's not what we want. Grbl detection is very stable with USB. Problems just can be caused from WLAN or Bluetooth bridges, that do not support board reset. Those rare problems can be solved with the existing env variables.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/322#issuecomment-352675113, or mute the thread https://github.com/notifications/unsubscribe-auth/ADqFI7FlsgG_8cBqmfeBXKmHtUpIwYZaks5tB3WSgaJpZM4Nkm8y .

cprezzi commented 6 years ago

RESET_ON_CONNECT is the correct var for that. If enabled, it sends a reset command after connecting (for serial rx/tx connected devices).

jsmillie7 commented 6 years ago

Hey all, not sure if this is helpful, but after adding jyauxi's code to the info.plist, it gives me enough time to manually reset the arduino, which then connects to the bluetooth connection. A small workaround for MacOS devices.

gdenicolas commented 6 years ago

I am running Laserweb 4.0.990, Board: spark concepts xpro v3, windows 10.

I get the same error messsage. When I connect through Universal Gcode Sender, I get connected, but not with Laserweb. Pictures attached 3 1 2

cojarbi commented 6 years ago

I have the same board on 2 CNC machines with no issues.

Could you without knowing be keeping the port open in UGS?

⁣ Ariel Yahni​

On Dec 22, 2017, 6:21 PM, at 6:21 PM, gdenicolas notifications@github.com wrote:

I am running Laserweb 4.0.990, Board: spark concepts xpro v3, windows 10.

I get the same error messsage. When I connect through Universal Gcode Sender, I get connected, but not with Laserweb. Pictures attached 3 1 2

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/LaserWeb/LaserWeb4/issues/322#issuecomment-353689578

gdenicolas commented 6 years ago

@cojarbi thanks. I close the connection, and close UGS before opening Laserweb

cprezzi commented 6 years ago

@gdenicolas Is your board connected with a normal USB cable? You could try to increase the FIRMWARE_WAIT_TIME and GRBL_WAIT_TIME in the ".env" file (see above).

gdenicolas commented 6 years ago

@cprezzi I am using an USB cable that was working two weeks ago, and I tried with another.. I tried the parameters in the .env file. When I connect through UGS, the response from the board is immediate, that's why I think that this parameters are not the answer. Thank you for your ideas and support

Setialife commented 5 years ago

@cprezzi i have this issue too, this is my config , do i must to add .env ? i use esp32s & esp8266 esplink,, thanks before

require('dotenv').load({ silent: true });

var config = {};

config.webPort = process.env.WEB_PORT || 8000; config.serverVersion = '4.0.127'; config.apiVersion = '4.0.6';

config.verboseLevel = process.env.VERBOSE_LEVEL || 1; config.logLevel = process.env.LOG_LEVEL || 0; config.resetOnConnect = process.env.RESET_ON_CONNECT || 1;

config.posDecimals = process.env.DRO_DECIMALS || 2; config.firmwareWaitTime = process.env.FIRMWARE_WAIT_TIME || 10; config.grblWaitTime = process.env.GRBL_WAIT_TIME || 10; config.smoothieWaitTime = process.env.SMOOTHIE_WAIT_TIME || 1; config.tinygWaitTime = process.env.TINYG_WAIT_TIME || 1;

config.jobOnStart = ''; config.jobOnFinish = ''; config.jobOnAbort = '';

module.exports = config;

image

cprezzi commented 5 years ago

@Setialife Your config.js sets the default for "RESET_ON_CONNECT" to 1, if it's not defined in .env file. Just check that you don't have RESET_ON_CONNECT=0 in your .env file.

Setialife commented 5 years ago

i installed esp websocket too, and still can't to reset the grbl , this is my env file,, am i wrong ? or i must delete env file ? image image

Setialife commented 5 years ago

@cprezzi when when I deleted the env file and i built the app again, it still had the same problem, i try to send ctrl-x to grbl manually grbl just answer ok without restarting, are there any grbl settings that need to be changed?

Setialife commented 5 years ago

image

cprezzi commented 5 years ago

@Setialife Ah, I didn't see that you try to use esplink. We never supported that! We had our own ESP8266 firmware but we never realy finished it, because ESP websocket was not stable enough.

There is Grbl for ESP32 (https://github.com/bdring/Grbl_Esp32) which works fine over Telnet.

Setialife commented 5 years ago

@cprezzi i try 3 firmware esp8266websocket esp3266link esp32 too, this is my esp32s

Setialife commented 5 years ago

image image image

Setialife commented 5 years ago

@cprezzi this is my esplink

image

cprezzi commented 5 years ago

To get Grbl_Esp32 working, you need to set RESET_ON_CONNECT=1 in the .env file and use USB (not Telnet). To get Telnet working, you need the newest lw.comm-server version (which is not yet in the binary installers!).

Setialife commented 5 years ago

@cprezzi okayy, thanks for information sir :)

scottmil commented 4 years ago

I just installed LaserWeb4 version 4.0.136 on a RaspberryPi Model 3 B+, and I am also getting the message "No supported firmware detected. Closing Port." After reading the posts above, I edited the conf.env file per below, but continued to get the disconnect message. RESET_ON_CONNECT=1 FIRMWARE_WAIT_TIME=10 GRBL_WAIT_TIME=10

After increasing both of the above wait times in conf.env to 20 without success, I edited the config.js file per below but continued to get the same disconnect message. config.resetOnConnect = process.env.RESET_ON_CONNECT || 1 config.firmwareWaitTime = process.env.FIRMWARE_WAIT_TIME || 10 config.grblWaitTime = process.env.GRBL_WAIT_TIME || 10

When I connect directly to my engraver with CoolTerm, a Mac serial port terminal app, the engraver immediately responds with:

Grbl 1.1f ['$' for help] [MSG:'$H'|'$X' to unlock]

Do you have any suggestions to resolve this problem? Thank you.

cprezzi commented 4 years ago

The file "conf.env" is jsut a template which is not used! On Windows, the file must be renamed to ".env" (nothing in front of the dot!) for usage. On a Raspberry Pi it's better to edit config.js directly.

The resetOnConnect parameter just tells the server to send a reset command to the board after connecting the serial port, Supported boards should send a welcome string after a reset. If it doesn't, then the connection will close with the unsupported firmware message.

I can just gues that you eventually didn't use the correct serial port on the pi. Which one do you use?

scottmil commented 4 years ago

Hi Claudio-

Thanks for the prompt response. Yes, I edited the file config.js directly.

I didn’t know that the Pi required a “correct” serial port. Consequently I tried various ports on my Pi until I was successfully able to connect to grbl on port 1a86@/dev/ttyUSB0. When my Mac Chrome browser connected to LaserWeb on the Pi I could see the engraver’s grbl firmware response.

All is well now. I hope that LaserWeb4 can continue with development and eventually include a web video livestream similar to Octoprint for 3d printers. I installed MJPG-Streamer in addition to the LaserWeb server on my Pi so that I can remotely monitor the engraving process.

https://github.com/jacksonliam/mjpg-streamer

-Scott Miller

On May 11, 2020, at 1:58 PM, Claudio Prezzi notifications@github.com wrote:

The file "conf.env" is jsut a template which is not used! On Windows, the file must be renamed to ".env" (nothing in front of the dot!) for usage. On a Raspberry Pi it's better to edit config.js directly.

The resetOnConnect parameter just tells the server to send a reset command to the board after connecting the serial port, Supported boards should send a welcome string after a reset. If it doesn't, then the connection will close with the unsupported firmware message.

I can just gues that you eventually didn't use the correct serial port on the pi. Which one do you use?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/322#issuecomment-626959500, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACQGB2SHLTSZHSASJ6HYE4DRRBRGDANCNFSM4DMSN4ZA.

cprezzi commented 4 years ago

I'm happy that it works now!

scottmil commented 4 years ago

Just a quick unrelated question: Where are LaserWeb4 settings stored? I can’t edit my my saved custom machine profile: edited values keep getting replaced with the old values on my Chrome browser. I hypothesized that possibly my custom profile settings were somehow stored with read-only permissions. Thanks!

On May 13, 2020, at 4:21 AM, Claudio Prezzi notifications@github.com wrote:

I'm happy that it works now!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/LaserWeb/LaserWeb4/issues/322#issuecomment-627917886, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACQGB2X4BT6PV7RNYJEXGPTRRJ7CRANCNFSM4DMSN4ZA.

cprezzi commented 4 years ago

The profiles are stored on the browser. The default profiles can't be edited, you must create a new profile for your own settings.

alibama commented 3 years ago
LSEnvironment GRBL_WAIT_TIME 10 LOG_LEVEL 3 VERBOSE_LEVEL 3

i added this directly below the tag in the file with no luck in the latest osx version

khvalera commented 9 months ago

I have the same problem, I connect to /dev/ttyUSB0 without any problems, but if I close the port and try to open it again I get the error:

App connected! (id=0, ip=127.0.0.1)
Connect (0) Sending Interfaces list: USB,ESP8266,Telnet
INFO: Requesting Server Config 
Connect(0) Sending Ports list: /dev/ttyUSB0,/dev/ttyS0,/dev/ttyS1,/dev/ttyS10,/dev/ttyS11,/dev/ttyS12,/dev/ttyS13,/dev/ttyS14,/dev/ttyS15,/dev/ttyS16,/dev/ttyS17,/dev/ttyS18,/dev/ttyS19,/dev/ttyS2,/dev/ttyS20,/dev/ttyS21,/dev/ttyS22,/dev/ttyS23,/dev/ttyS24,/dev/ttyS25,/dev/ttyS26,/dev/ttyS27,/dev/ttyS28,/dev/ttyS29,/dev/ttyS3,/dev/ttyS30,/dev/ttyS31,/dev/ttyS4,/dev/ttyS5,/dev/ttyS6,/dev/ttyS7,/dev/ttyS8,/dev/ttyS9
INFO: Connecting to USB,/dev/ttyUSB0,115200
Sent: ctrl-x
INFO: Connected to /dev/ttyUSB0 at 115200
GRBL detected (1.1f)
WARN: Closing Port /dev/ttyUSB0
INFO: Port closed
No supported firmware detected. Closing port /dev/ttyUSB0
PORT ERROR: Port is not open
INFO: Connecting to USB,/dev/ttyUSB0,115200
PORT ERROR: Error Resource temporarily unavailable Cannot lock port

Does anyone know how to solve the problem?

easytarget commented 4 months ago

@khvalera Probable cause given your description is that the USB port is changing when you unplug and re-plug in. But the server doesnt know that.

USB serial under linux has a 'feature' where it cycles between USB0 and USB1 each time the USB is disconnected/reconnected. If you follow the system log you will probably see this more clearly, the easy solution is to unplug/replug a second time..

This is a really annoying issue that has plagued me on both LW and OctoPrint. But it's an OS level thing and not much can be done since the SerialUSB kernel module is unlikely to be fixed.