os-js / OS.js

OS.js - JavaScript Web Desktop Platform
https://www.os-js.org/
Other
6.9k stars 822 forks source link

[v2] [Arduino] Problems with webserver and general issues #436

Closed ghost closed 4 years ago

ghost commented 8 years ago

Edited by Anders: Some Yun (and other boards) exhibit some problems with loading resources over HTTP and intermittently stops (or starts throwing strange errors).

Read comments from the bottom and up for updates and solutions, workarounds, etc

A minor update is in progress, a major update can be expecter later (a separate build can be downloaded for testing asap)


Symptom 1: Application 'X' preloading failed:


Symptom 2: General errors when launching apps (usually regarding UI). Note this spesific error has been resolved in the latest update (which is not in binary yet), and will instead throw the error above (because the loading of resources was moved to minimize faliures while initializing).

TypeError: Cannot read property 'querySelector' of null
    at UIScheme.getFragment (http://192.168.240.1/osjs.js:5223:30)
    at UIScheme.parse (http://192.168.240.1/osjs.js:5231:24)
    at UIScheme.render (http://192.168.240.1/osjs.js:5282:24)
    at ApplicationSettingsWindow.init (http://192.168.240.1/packages/target/Settings/combined.js:181:12)
    at Process.WindowManager.addWindow (http://192.168.240.1/osjs.js:4288:7)
    at Process.Application._addWindow (http://192.168.240.1/osjs.js:2701:12)
    at http://192.168.240.1/packages/target/Settings/combined.js:865:12
    at Object.onerror (http://192.168.240.1/osjs.js:5213:9)
    at XMLHttpRequest.onReadyStateChange (http://192.168.240.1/osjs.js:1146:16)

Symptom 3: General problems with board communication.

ajax/xhr error


Symptom 4:

Message: Unspecified error.
andersevenrud commented 8 years ago

Seems like something went wrong with a HTTP request. Did you experience this again ?

andersevenrud commented 8 years ago

Just like in #437 and #439 this is a problem with preloading of files for OS.js packages. This is not a problem with OS.js itself but rather the webserver that runs on the board that fails to deliver proper responses.

Do you get this all the time or is it intermittent ?

I'm starting to suspect that your board might be unstable

andersevenrud commented 8 years ago

It seems like the uhttpd webserver on the Arduino stops intermittently in some cases.

Going to check with the maintainers of that project to see if I can get som input as of why this happens.

andersevenrud commented 8 years ago

I might have found a fix for this, but not entirely sure yet. Need some help for testing here :)

So, I modified /etc/config/uhttpd and changed:

        option max_requests '4'
        option script_timeout '60'
        option network_timeout '60'
        option http_keepalive '3'
        option tcp_keepalive '1'

I think http_keepalive is the problem here and the docs note that it might cause bugs. Disabling it by setting to zero might also be worth trying. Just remember to restart uhttptd (or device) after changing the config file(s).

andersevenrud commented 7 years ago

Just a small update on this. It seems that some of the system packages has recieved updated and might solve this issue. It seems to be working fine on my board.

  1. Log in via a shell to your Arduino
  2. Run opkg update
  3. Run opkg list-upgradable | xargs opkg upgrade
andersevenrud commented 7 years ago

A note to anyone having trouble configuring the device:

There seems to be issues with some boards and its underlying webserver.

You can still configure your board using Luci.

You can access the Luci utility by visiting http://<your-board-ip>/cgi-bin/luci

Liam1947 commented 7 years ago

RE: Symptom 3: General problems with board communication.

I have an Arduino Yun branded arduino.org and cannot configure the wireless network. I can wireless connect to the Yun direct from the laptop. Using Arduino OS I encounter the above reported ajax/xhr error and cannot configure the wireless network. When the error occurs the Yun goes offline (a reboot is needed to get it online again). I have tried the Luci utility via http:///cgi-bin/luci as advised above. Again configuration of the wireless network fails and the Yun goes offline. The utility continues to report "Applying changes" and just sits there. If I "save and apply" password and time zone changes these go through OK and are confirmed as "configuration applied".

andersevenrud commented 7 years ago

@Liam1947

I have tried the Luci utility via http:///cgi-bin/luci as advised above. Again configuration of the wireless network fails and the Yun goes offline.

So if I understand you correctly: Luci is not working and/or faulty as well ? The reason I ask is because if you have trouble with ArduinoOS, you should be able to use Luci just fine as it is a completely different software.

If so, then there's not much I can do, because Luci was made by Arduino. Sounds like your board is crashing which can be a software and/or hardware issue... I don't know and can't support you regarding that.

Liam1947 commented 7 years ago

Hello Anders,

Many thanks for your fast reply.

Since posting, I also tried to configure my Yun using the YunFirstConfig sketch and this appeared to work fine. However, when I went to login to the Yun I got the same error when I tried configuring through ArduinoOS.

I will have access to another Yun on Monday and will see how that behaves.

Regards,

Liam


From: Anders Evenrud notifications@github.com Sent: 31 March 2017 18:59:30 To: os-js/OS.js Cc: Liam McDonnell; Mention Subject: Re: [os-js/OS.js] [Arduino Yun/Tian] Problems with webserver and general issues (#436)

@Liam1947https://github.com/Liam1947

I have tried the Luci utility via http:///cgi-bin/luci as advised above. Again configuration of the wireless network fails and the Yun goes offline.

So if I understand you correctly: Luci is not working and/or faulty as well ? The reason I ask is because if you have trouble with ArduinoOS, you should be able to use Luci just fine as it is a completely different software.

If so, then there's not much I can do, because Luci was made by Arduino. Sounds like your board is crashing which can be a software and/or hardware issue... I don't know and can't support you regarding that.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/os-js/OS.js/issues/436#issuecomment-290784149, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIT-W4FJqfM_foOAui4rG0GQ5dkET8Apks5rrT8CgaJpZM4JGQ4G.

thewinner958 commented 6 years ago

Hello while I was trying to build this script but I recived this:

thewinner666@kali:~/Desktop/OS.js-master$ node osjs build
Building configuration
Building manifest
Building themes
/bin/sh: 1: /home/thewinner666/Desktop/OS.js-master/node_modules/.bin/webpack: not found
Error: Command failed: /home/thewinner666/Desktop/OS.js-master/node_modules/.bin/webpack --progress --hide-modules
    at checkExecSyncError (child_process.js:601:13)
    at execSync (child_process.js:641:13)
    at Promise (/home/thewinner666/Desktop/OS.js-master/node_modules/osjs-build/node_modules/ygor/index.js:70:13)
    at new Promise (<anonymous>)
    at Function.shell (/home/thewinner666/Desktop/OS.js-master/node_modules/osjs-build/node_modules/ygor/index.js:68:10)
    at Object.execWebpack (/home/thewinner666/Desktop/OS.js-master/node_modules/osjs-build/utils.js:169:15)
    at newTask (/home/thewinner666/Desktop/OS.js-master/node_modules/osjs-build/cli.js:173:19)
    at ocfg.readConfigurationTree.then (/home/thewinner666/Desktop/OS.js-master/node_modules/osjs-build/cli.js:89:21)
    at tryCatcher (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/promise.js:512:31)
    at Promise._settlePromise (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/promise.js:569:18)
    at Promise._settlePromise0 (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/promise.js:614:10)
    at Promise._settlePromises (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/promise.js:693:18)
    at Async._drainQueue (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/async.js:133:16)
    at Async._drainQueues (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/async.js:143:10)
    at Immediate.Async.drainQueues [as _onImmediate] (/home/thewinner666/Desktop/OS.js-master/node_modules/bluebird/js/release/async.js:17:14)

Can you help me?

andersevenrud commented 6 years ago

@thewinner666 You have to install dependencies with npm install. If you still have issues, please open a new issue.

andersevenrud commented 6 years ago

I'm locking this issue because it is not related to this codebase, but rather software or hardware related on the Arduino platform. If you have issues that does not relate to connectivity, feel free to open a new thread.

A note to anyone having trouble configuring the device:

There seems to be issues with some boards and its underlying webserver.

You can still configure your board using Luci.

You can access the Luci utility by visiting http://<your-board-ip>/cgi-bin/luci