ExpressLRS / ExpressLRS-Configurator

Cross platform configuration & build tool for the ExpressLRS radio link
GNU General Public License v3.0
588 stars 128 forks source link

Can not load data when behind great firewall #120

Open Index303 opened 2 years ago

Index303 commented 2 years ago

I updated the configurator to 1.2.3 but the "Target-Device category" shows "No options"

fanbinjim commented 2 years ago

image same

jurgelenas commented 2 years ago

@Index303, @fanbinjim can you post application logs or at least a full screenshot of the configurator app?

fanbinjim commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

thank for reply, i find error request of the platformio.ini. And I realized it is my network environment issue. I change the clash setting and sucessfully build the elrs finally. Mybe @Index303 is the same question.

Index303 commented 2 years ago

Thanks,but I've turn back to 1.2.1

jurgelenas commented 2 years ago

Thanks,but I've turn back to 1.2.1

Still, can you post application logs over here? This issue might affect other people too

Index303 commented 2 years ago

fine image expressslrs-configurator.log

Index303 commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

thank for reply, i find error request of the platformio.ini. And I realized it is my network environment issue. I change the clash setting and sucessfully build the elrs finally. Mybe @Index303 is the same question.

Agree,but I don't know how to deal with it ,I've used VPN

jurgelenas commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

thank for reply, i find error request of the platformio.ini. And I realized it is my network environment issue. I change the clash setting and sucessfully build the elrs finally. Mybe @Index303 is the same question.

Agree,but I don't know how to deal with it ,I've used VPN

Are you behind China Great Firewall?

Index303 commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

thank for reply, i find error request of the platformio.ini. And I realized it is my network environment issue. I change the clash setting and sucessfully build the elrs finally. Mybe @Index303 is the same question.

Agree,but I don't know how to deal with it ,I've used VPN

Are you behind China Great Firewall?

yeah......

fanbinjim commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

thank for reply, i find error request of the platformio.ini. And I realized it is my network environment issue. I change the clash setting and sucessfully build the elrs finally. Mybe @Index303 is the same question.

Agree,but I don't know how to deal with it ,I've used VPN

Are you behind China Great Firewall?

yeah......

I use clash, and open Serivce Mode, will fix [FetchError]. image

this problem can fix [FetchError]: request to https://raw.githubusercontent.com/ ... But, If I open clash proxy and press build, I can't update the platformio libraries. So I close the clash proxy, and downloads goes on. Then build done.

@Index303 铁汁,不尬英语了,我大概是这么解决的,我用的Clash科学上网的,里面有个Serivce Mode,这个要打开一下,然后打开Expresslrs-Configurator,这样是可以拉出来Target的。但是我这边网络的情况是后面编译的时候下载platformio的库会失败,这个时候我关了Clash代理然后就能正常拉下来库了,后面就正常编译了。感觉像是github的地址有污染需要代理,但是platformio的是没问题,代理了反而有问题,你可以试试。

Index303 commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

thank for reply, i find error request of the platformio.ini. And I realized it is my network environment issue. I change the clash setting and sucessfully build the elrs finally. Mybe @Index303 is the same question.

Agree,but I don't know how to deal with it ,I've used VPN

Are you behind China Great Firewall?

yeah......

I use clash, and open Serivce Mode, will fix [FetchError]. image

this problem can fix [FetchError]: request to https://raw.githubusercontent.com/ ... But, If I open clash proxy and press build, I can't update the platformio libraries. So I close the clash proxy, and downloads goes on. Then build done.

@Index303 铁汁,不尬英语了,我大概是这么解决的,我用的Clash科学上网的,里面有个Serivce Mode,这个要打开一下,然后打开Expresslrs-Configurator,这样是可以拉出来Target的。但是我这边网络的情况是后面编译的时候下载platformio的库会失败,这个时候我关了Clash代理然后就能正常拉下来库了,后面就正常编译了。感觉像是github的地址有污染需要代理,但是platformio的是没问题,代理了反而有问题,你可以试试。

好的,我用的也是clash,但是没开过这个地方,我试一下,谢谢铁汁

MercadoNegro commented 2 years ago

Hello, Im currently in Brazil and Im having the same kind of issue, targets not appearing on the configurator, but the logs are showing timeouts. I found the program download a couple of .ini files and then stop downloading for no reason, giving the timeout error, then I use a kind of workaround that consist on select "Backpack", wait until the single target appear there, then select "Configurator" and it will download some more files. I repeat this operation until all .ini files are downloaded then the target dropdown list is populated.

I`m at home, without firewall except for the one in the router.

This is the error I see on the logs when one of the .ini files fails to download. It`s a different file every time I retry untill all of them are downloaded:

{ context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/targets/happymodel_2400.ini failed, reason: connect ETIMEDOUT 185.199.111.133:443 at ClientRequest. (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932) at ClientRequest.emit (events.js:315:20) at TLSSocket.socketErrorListener (_http_client.js:469:9) at TLSSocket.emit (events.js:315:20) at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:80:21) { type: 'system', errno: 'ETIMEDOUT', code: 'ETIMEDOUT' }, level: 'info', message: 'failed to get targets from ref: 1.2.0' }

MercadoNegro commented 2 years ago

Same problem on Linux machine also.

jurgelenas commented 2 years ago

Same problem on Linux machine also.

If you are behind great firewall there is not much we can do about that at the moment.

MercadoNegro commented 2 years ago

Same problem on Linux machine also.

If you are behind great firewall there is not much we can do about that at the moment.

I'm in Brazil, no firewall at all, and I was able to use it since v1.0.5, this is the first time I have problems.

justinlampley commented 2 years ago

@MercadoNegro, earlier versions of the configurator did not download the target ini files, which may be why you did not have any issues. The ini files are required to be able to filter the target list for the selected firmware source and version.

As you mentioned, the ETIMEDOUT error is a network timeout error, so not directly an issue with the configurator, it looks as if there is something between you and raw.githubusercontent.com that may be throttling requests. Can you run the below in a terminal and see if it gives any errors and then also try running the configurator and make sure it is still giving the timeout error?

files="betafpv_900.ini betafpv_2400.ini diy_900.ini diy_2400.ini frsky.ini happymodel_900.ini happymodel_2400.ini HGLRC_900.ini HGLRC_2400.ini imrc.ini MATEK_2400.ini namimnorc_900.ini namimnorc_2400.ini neutronrc_900.ini quadkopters_2400.ini siyi.ini"
for file in $files
do
    curl -O "https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/targets/$file";
done

The configurator tries to download the ini files in parallel, while the above script serially downloads them. If the configurator is timing out, but the files are successfully downloaded with curl, it will indicate that something in your or your ISPs network is blocking requests if too many are open at the same time.

MercadoNegro commented 2 years ago

@justinlampley,

I serialized the downloads. It starts ok during the first 5 files, and freeze on 6th one. Of course this is not related to configurator itself, but could affect the usability for people that doesn't realize that they need to insist.

This is my result:

gus@pop-os:~$ files="betafpv_900.ini betafpv_2400.ini diy_900.ini diy_2400.ini frsky.ini happymodel_900.ini happymodel_2400.ini HGLRC_900.ini HGLRC_2400.ini imrc.ini MATEK_2400.ini namimnorc_900.ini namimnorc_2400.ini neutronrc_900.ini quadkopters_2400.ini siyi.ini"
gus@pop-os:~$ for file in $files
> do
> curl -O "https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/targets/$file";
> done
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1089  100  1089    0     0   2911      0 --:--:-- --:--:-- --:--:--  2911
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1139  100  1139    0     0   3282      0 --:--:-- --:--:-- --:--:--  3282
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1885  100  1885    0     0   4921      0 --:--:-- --:--:-- --:--:--  4908
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2862  100  2862    0     0   7652      0 --:--:-- --:--:-- --:--:--  7652
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  5778  100  5778    0     0  16139      0 --:--:-- --:--:-- --:--:-- 16094
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1959  100  1959    0     0     14      0  0:02:19  0:02:10  0:00:09   451
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1688  100  1688    0     0   3546      0 --:--:-- --:--:-- --:--:--  3538
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   495  100   495    0     0   1024      0 --:--:-- --:--:-- --:--:--  1024
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1089  100  1089    0     0   2245      0 --:--:-- --:--:-- --:--:--  2240
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1397  100  1397    0     0   3010      0 --:--:-- --:--:-- --:--:--  3010
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   607  100   607    0     0   1277      0 --:--:-- --:--:-- --:--:--  1275
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1946  100  1946    0     0   4203      0 --:--:-- --:--:-- --:--:--  4203
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1726  100  1726    0     0   3711      0 --:--:-- --:--:-- --:--:--  3711
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   734  100   734    0     0   1555      0 --:--:-- --:--:-- --:--:--  1555
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1299  100  1299    0     0   2912      0 --:--:-- --:--:-- --:--:--  2906
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1127  100  1127    0     0   2357      0 --:--:-- --:--:-- --:--:--  2357
MercadoNegro commented 2 years ago

@justinlampley,

I also tried the same downloads using a VPN connected to Eagan, Minnesota, and it worked without issues. Could be some kind of throtling based on my location. (Brazil).

justinlampley commented 2 years ago

I was hoping you would come back and say downloading them serially worked, since I could reduce the parallelism to make it more compatible for people who are being throttled, like yourself. However, since it is still hanging even when downloading them serially, I don't know if there is much I can do to work around that, but I will give it some thought.

MercadoNegro commented 2 years ago

@justinlampley ,

As you said, there is nothing you can do to fix the throtling issue. In any case, I appreciate your involvement and the time and effort from you and the rest of the devs to give us this really great piece of technology.

The only idea I have in mind is to have the option to use a local cache for .ini files, then if you have this kind of problem you have to use a local cache instead of download them everytime you start the configurator, and have a kind of "flag" that appears when one of the .ini files is updated and give the option to update the cache.

Im not suggesting to do that, Im not a programmer and have very little knowledge on that matter, just thinking in possible solutions.

For me, the workaround is still the retry: I select "Backpack", choose a target, then select "Configurator" again, and at some point all options will be there. (usually after two retry).

Thanks!

justinlampley commented 2 years ago

There is a way to workaround the issue by utilizing the local source option for your builds, you just have to manually download the source code from the ExpressLRS GitHub repo for the particular version you want to flash. To do this, go to https://github.com/ExpressLRS/ExpressLRS/, switch to the tag for the version you want to flash, download the code as an archive and extract it to a folder, then go to the local source option in the configurator and select the src folder from the extracted the files.

image image image

When using the local option, it will not reach out to GitHub to get the ini files, but will use the ones in the selected folder. This will require you to manually download the source code every time you want to upgrade to a new version, but it will workaround the throttling issue.

YI-BOYANG commented 2 years ago
{
  context: d [FetchError]: request to https://raw.githubusercontent.com/ExpressLRS/ExpressLRS/1.2.0/src/platformio.ini failed, reason: getaddrinfo ENOENT raw.githubusercontent.com
      at ClientRequest.<anonymous> (C:\Program Files\ExpressLRS Configurator\resources\app.asar\main.prod.js:14:2318932)
      at ClientRequest.emit (events.js:315:20)
      at TLSSocket.socketErrorListener (_http_client.js:469:9)
      at TLSSocket.emit (events.js:315:20)
      at emitErrorNT (internal/streams/destroy.js:106:8)
      at emitErrorCloseNT (internal/streams/destroy.js:74:3)
      at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    type: 'system',
    errno: 'ENOENT',
    code: 'ENOENT'
  },
  level: 'info',
  message: 'failed to get targets from ref: 1.2.0'
}

感谢回复,我发现platformio.ini的错误请求。我意识到这是我的网络环境问题。我更改了冲突设置并最终成功构建了 elrs。Mybe @Index303是同样的问题。

同意,但我不知道如何处理,我用过 VPN

你在中国防火墙后面吗?

是的......

我使用冲突,并打开服务模式,将修复 [FetchError]。 图片 这个问题可以解决[FetchError]: request to https://raw.githubusercontent.com/ ...但是,如果我打开冲突代理并按构建,我无法更新平台库。所以我关闭了冲突代理,然后继续下载。然后构建完成。 @Index303铁汁,不尴尬的英语了,我大概是解决的,我用的Clash科学上网的,这个里面介绍了服务模式,要打开一下,然后打开Expresslrs-Configurator,这样是可以拉出来Target的。但是我这个网络的情况是那个时候下载platformio的库会,那时我已经失败了,然后发生了冲突,然后再被污染了,就正常了。代理,但是平台没有问题,代理了有可能存在的问题,你可以好好利用。

好吧,我用的也是冲突,但没试过开过这个地方,我一下,谢谢铁汁

铁汁可还行...我从没有成功在线成功编译过固件,一直都是用本地库来编译。但本地库编译前也需要在线下载插件,默认情况下也是经常失败,而我的解决方法是用移动手机开热点下载插件,百试百灵。。。

jurgelenas commented 2 years ago

@Index303, @MercadoNegro, @fanbinjim, @YI-BOYANG can you please try this nightly release? https://github.com/ExpressLRS/ExpressLRS-Configurator-Nightlies/releases/tag/v20220204.67723.0

I have made some changes that might help you.

Index303 commented 2 years ago

@Index303, @MercadoNegro, @fanbinjim, @YI-BOYANG can you please try this nightly release? https://github.com/ExpressLRS/ExpressLRS-Configurator-Nightlies/releases/tag/v20220204.67723.0

I have made some changes that might help you.

Thanks,but still "time out" image expressslrs-configurator.log

Index303 commented 2 years ago

image

Index303 commented 2 years ago

image

Index303 commented 2 years ago

OH haha,I know. I need not VPN,turning off VPN solves this problem.

jurgelenas commented 2 years ago

image

Gotcha! Will try to work on this a bit more. Thanks for trying! :)

pacofina commented 1 month ago

I'm trying to use the configurator from China using Clash VPN. I'm getting a timeout on the targets but I can download the URL from the browser without any problem. URL: https://artifactory.expresslrs.org/ExpressLRS/hardware.zip Is there any way to fill the target comboboxes from the file system. Where can I find the ExpressLRS Configurator's code?

image

YI-BOYANG commented 1 month ago

I'm trying to use the configurator from China using Clash VPN. I'm getting a timeout on the targets but I can download the URL from the browser without any problem. URL: https://artifactory.expresslrs.org/ExpressLRS/hardware.zip Is there any way to fill the target comboboxes from the file system. Where can I find the ExpressLRS Configurator's code?

image

https://expresslrs.github.io/web-flasher/ 推荐你使用浏览器在线烧录固件 image