Just to note this (was) all working in FireFox 49.0.2 tested with a Leonardo and was able to upload to it, after I found out I had to re-run the getting started process to accept a cert for firefox...
I was first trying to get the plugin working with Chromium which I had no luck on, so then I tried firefox. I didn't realize that you had to run the plugin interface again in the browser (as I already had the bridge installed) to get this cert nfo to pop up. Just thought it would be universal for the platform you are working with, might want to handle this differently as I didn't know what to do until I found these issue posts below then it dawned on me. That I had to then re-run the getting started stuff and then it worked great in FF. 👍 Maybe detect that they don't have the cert and point them to the getting started guide.
#45
puma/puma-dev#47 (comment)
Back to Chromium Version 54.0.2840.90 (64-bit)
Something went wrong
We are not able to establish a secure (HTTPS) connection between the Plugin and the Arduino Web Editor. You can try to restart your browser once more, or Download the Installer and run it again.
Please Write us on the Forum so we can help debugging this isse.
Minor note there is a typo in the word issue at the end of the sentence there. ^
Console:
ArduinoCreateAgent]$ ./Arduino_Create_Bridge
INFO[0000] map[avrdude:/home/username/.arduino-create/avrdude/6.3.0-arduino6 avrdude-6.3.0-arduino6:/home/username/.arduino-create/avrdude/6.3.0-arduino6]
INFO[0000] Version:1.0.46
INFO[0000] Hostname: systemname
INFO[0000] Garbage collection is on using Standard mode, meaning we just let Golang determine when to garbage collect.
INFO[0000] You specified a serial port regular expression filter: usb|acm|com
INFO[0000] Your serial ports:
INFO[0000] {/dev/ttyACM0 0x8036 0x2341 false}
INFO[0000] {/dev/ttyUSB0 0x6001 0x0403 A6004mMA false}
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
INFO[0000] Inside run of serialhub
[GIN-debug] GET / --> main.homeHandler (2 handlers)
[GIN-debug] GET /certificate.crt --> main.certHandler (2 handlers)
[GIN-debug] DELETE /certificate.crt --> main.deleteCertHandler (2 handlers)
[GIN-debug] POST /upload --> main.uploadHandler (2 handlers)
[GIN-debug] GET /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] POST /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] WS /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[GIN-debug] WSS /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] GET /info --> main.infoHandler (2 handlers)
[GIN-debug] POST /killbrowser --> main.killBrowserHandler (2 handlers)
[GIN-debug] POST /pause --> main.pauseHandler (2 handlers)
[GIN-debug] POST /update --> main.updateHandler (2 handlers)
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8991
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8991
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8991: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8991: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8992
(Arduino_Create_Bridge:14991): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
Tried an older version as well:
ArduinoCreateAgent-1.1]$ ./Arduino_Create_Bridge
INFO[0000] map[avrdude:/home/username/.arduino-create/avrdude/6.3.0-arduino6 avrdude-6.3.0-arduino6:/home/username/.arduino-create/avrdude/6.3.0-arduino6]
INFO[0000] Version:1.0.38
INFO[0000] Hostname: systemname
INFO[0000] Garbage collection is on using Standard mode, meaning we just let Golang determine when to garbage collect.
INFO[0000] You specified a serial port regular expression filter: usb|acm|com
INFO[0000] Your serial ports:
INFO[0000] {/dev/ttyACM0 0x8036 0x2341 false}
INFO[0000] {/dev/ttyUSB0 0x6001 0x0403 A6004mMA false}
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET / --> main.homeHandler (2 handlers)
[GIN-debug] GET /certificate.crt --> main.certHandler (2 handlers)
[GIN-debug] DELETE /certificate.crt --> main.deleteCertHandler (2 handlers)
[GIN-debug] POST /upload --> main.uploadHandler (2 handlers)
[GIN-debug] GET /socket.io/ --> main.*WsServer.ServeHTTP·fm (2 handlers)
INFO[0000] Inside run of serialhub
[GIN-debug] POST /socket.io/ --> main.*WsServer.ServeHTTP·fm (2 handlers)
[GIN-debug] WS /socket.io/ --> main.*WsServer.ServeHTTP·fm (2 handlers)
[GIN-debug] WSS /socket.io/ --> main.*WsServer.ServeHTTP·fm (2 handlers)
[GIN-debug] GET /info --> main.infoHandler (2 handlers)
[GIN-debug] POST /killbrowser --> main.killBrowserHandler (2 handlers)
[GIN-debug] POST /pause --> main.pauseHandler (2 handlers)
[GIN-debug] POST /update --> main.updateHandler (2 handlers)
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8991
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8991
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8991: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8991: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8992
(Arduino_Create_Bridge:15308): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
Now if I hit up the http://create.arduino.cc/getting-started/plugin?page=2 then hit skip for the plugin download as I already have it installed:
INFO[0280] called restart /home/username/ArduinoCreateAgent-1.1/Arduino_Create_Bridge
INFO[0280] Starting new spjs process
&{/home/username/ArduinoCreateAgent-1.1/Arduino_Create_Bridge [/home/username/ArduinoCreateAgent-1.1/Arduino_Create_Bridge -ls -regex usb|acm|com -gc std ] [] <nil> <nil> <nil> [] <nil> <nil> <nil> <nil> false [] [] [] [] <nil>}
FATA[0280] Exited current spjs for restart
[username@systemname ArduinoCreateAgent-1.1]$
I get bumped back to the CLI, so staying on the same page I run it again...
ArduinoCreateAgent-1.1]$ ./Arduino_Create_Bridge
INFO[0000] map[avrdude:/home/username/.arduino-create/avrdude/6.3.0-arduino6 avrdude-6.3.0-arduino6:/home/username/.arduino-create/avrdude/6.3.0-arduino6]
INFO[0000] Version:1.0.46
INFO[0000] Hostname: systemname
INFO[0000] Garbage collection is on using Standard mode, meaning we just let Golang determine when to garbage collect.
INFO[0000] You specified a serial port regular expression filter: usb|acm|com
INFO[0000] Your serial ports:
INFO[0000] {/dev/ttyACM0 0x8036 0x2341 false}
INFO[0000] {/dev/ttyUSB0 0x6001 0x0403 A6004mMA false}
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
- using env: export GIN_MODE=release
- using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] GET / --> main.homeHandler (2 handlers)
[GIN-debug] GET /certificate.crt --> main.certHandler (2 handlers)
[GIN-debug] DELETE /certificate.crt --> main.deleteCertHandler (2 handlers)
[GIN-debug] POST /upload --> main.uploadHandler (2 handlers)
[GIN-debug] GET /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] POST /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
INFO[0000] Inside run of serialhub
[GIN-debug] WS /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] WSS /socket.io/ --> main.(*WsServer).ServeHTTP-fm (2 handlers)
[GIN-debug] GET /info --> main.infoHandler (2 handlers)
[GIN-debug] POST /killbrowser --> main.killBrowserHandler (2 handlers)
[GIN-debug] POST /pause --> main.pauseHandler (2 handlers)
[GIN-debug] POST /update --> main.updateHandler (2 handlers)
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8991
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8991: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8991: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8992
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8992: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8992: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTP on 127.0.0.1:8993
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8991
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8991: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8991: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8992
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8992: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8992: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8993
[GIN-debug] [ERROR] listen tcp 127.0.0.1:8993: bind: address already in use
INFO[0000] Error trying to bind to port: listen tcp 127.0.0.1:8993: bind: address already in use, so exiting...
[GIN-debug] Listening and serving HTTPS on 127.0.0.1:8994
(Arduino_Create_Bridge:15477): Gdk-CRITICAL **: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
[ERR] bonjour: Failed to bind to udp6 port: listen udp6 :5353: bind: address already in use
...
Which the website then says:
Plugin correctly installed!
You should now see the Arduino Plugin Icon in your top or bottom bar of the Linux distribution you are using. Click on the Tray Icon for a link to the Arduino Web Editor, and if you want to Pause the plugin.
If you close it you can relanching by clicking the Arduino Plugin icon on your desktop.
Another minor typo above "relanching" => "relaunching".
"You had one job spellcheck!"
When you click next:
Restart Chrome
We know this is annoying, but to update the Certificates settings you need to restart Chrome.
If you don't restart the browser, the Arduino Web Editor won't be able to communicate with the plugin. The browser will reopen just this tab.
Any issue or question? Write us on the Forum.
Click Restart:
Loading Arduino Create...
CLI:
http2: server: error reading preface from client 127.0.0.1:53542: read tcp 127.0.0.1:8992->127.0.0.1:53542: read: connection reset by peer
WebGUI:
Something went wrong
We are not able to establish a secure (HTTPS) connection between the Plugin and the Arduino Web Editor. You can try to restart your browser once more, or Download the Installer and run it again.
Please Write us on the Forum so we can help debugging this isse.
I'm going to take a stab in the dark, but it seems like the same issue FireFox was having without the cert, as I believe it sent the same message in the CLI, but alas Chromium didn't prompt to add anything like Firefox did.
Edit: I just tried to export the cert from Firefox and then Import it into Chromium which did not work, still at a stand still, error didn't change.
I may have devalidated the cert some how in firefox using it on chromium as now it says:
http2: server: error reading preface from client 127.0.0.1:45592: remote error: tls: bad certificate
For Firefox. Yay! I tried removing it on Firefox and readding it but no luck there.