... Can we configure the Apps to maintain 5-6 subprocesses so that it can start loading or checking deps fast ?Dependencies get resolved in a linear fashion, meaning the lowest dependencies get loaded first and the extension you requested
... What I wonder is why would it be 1Mbps when my speed 10Mbps ? ...Read it again:
... That leaves your connection speed. At 10 Mbps that would be approximately 1Mbyte/sec ...You are confusing Mega Bits with Mega Bytes. Network bandwidth is in Mega Bits. That bandwidth includes the data in your
tce-load -wil mirrors
tcemirror.sh
... But in OOKLA Speed Test it showed 10Mbps which gradually increased to 15 Mbps. ...OOKLA defaults to Mbps which means Megabits Per Second.
mkdir icu
cd icu
wget --debug --output-file=icu.txt http://repo.tinycorelinux.net/11.x/x86_64/tcz/icu65-dev.tcz
Attach the icu.txt file to your next post.... I think we are deviating away from topic. I want to make Apps verify the deps and download the tcz faster.And I wanted to gather some more information to try to see what's going on. Is there a reason you are running IPv6? I think I remember
rm bash.tcz
wget --debug --output-file=icu.txt --inet4-only http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
2020-08-04 13:43:59 (61.9 KB/s) - 'bash.tcz' saved [442368/442368]Your download speed was 0.062 Mega Bytes/sec. I would expect your connection to be at least 10 times faster.
2020-08-06 04:34:35 (380 KB/s) - 'bash.tcz' saved [442368/442368]Your download speed was 0.380 Mega Bytes/sec, about 6.1 times faster than the last time.
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
That should disable IPv6.rm bash.tcz
wget --debug --output-file=icu.txt http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
Run this command:That says :Code: [Select]sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
That should disable IPv6.
sysctl: error: 'net.ipv6/conf/all/disable_ipv6' is an unknown key
.That says :Those should have been periods, not slashes.Code: [Select]sysctl: error: 'net.ipv6/conf/all/disable_ipv6' is an unknown key
.
sudo sysctl -a > sysctl.txt 2>&1
Then attach sysctl.txt to your next post.rm bash.tcz
time busybox wget -S http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz > icu.txt 2>&1
wget --debug --output-file=icu.txt http://repo.tinycorelinux.net/11.x/x86_64/tcz/icu65-dev.tcz
Appears to show wget trying to use IPv6 addressing, possibly because it's being offered an IPv6 address to use:Reading HSTS entries from /home/tc/.wget-hsts
--2020-08-04 13:43:51-- http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
Resolving repo.tinycorelinux.net... 89.22.99.37, 64:ff9b::5916:6325
Caching repo.tinycorelinux.net => 89.22.99.37 64:ff9b::5916:6325
Connecting to repo.tinycorelinux.net|89.22.99.37|:80... connected.
wget --debug --output-file=icu.txt --inet4-only http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
This forces wget to use only IPv4 addresses, which it does:Reading HSTS entries from /home/tc/.wget-hsts
--2020-08-06 04:34:34-- http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
Resolving repo.tinycorelinux.net... 89.22.99.37
Caching repo.tinycorelinux.net => 89.22.99.37
Connecting to repo.tinycorelinux.net|89.22.99.37|:80... connected.
time busybox wget -S http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz > icu.txt 2>&1
Does not provide the debug information that the wget.tcz version does.Resolving repo.tinycorelinux.net... 89.22.99.37, 64:ff9b::5916:6325
wget --debug --output-file=bash-inet4.txt --inet4-only http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
wget --debug --output-file=bash.txt http://repo.tinycorelinux.net/11.x/x86_64/tcz/bash.tcz
.
ifconfig -a > ifconfig.txt
slow internet "your ISP"
and:slow internet "your MODEM"
where "your ISP" is the company that provides your Internet connection and "your MODEM" is the make and model number of the MODEMeth0 Link encap:Ethernet HWaddr 60:EB:69:E0:55:A4
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
sudo ifconfig eth0 down
wget --debug --output-file=icu.txt http://repo.tinycorelinux.net/11.x/x86_64/tcz/icu65-dev.tcz
... I can't make out anything from it: https://pastebin.com/4nrKXum5
0K .......... .......... .......... .......... .......... 0% 42.5K 6m30s
50K .......... .......... .......... .......... .......... 0% 31.5K 7m37s
100K .......... .......... .......... .......... .......... 0% 40.5K 7m19s
150K .......... .......... .......... .......... .......... 1% 18.9K 9m6s
200K .......... .......... .......... .......... .......... 1% 14.6K 11m0s
250K .......... .......... .......... .......... .......... 1% 9.73K 13m48s
300K .......... .......... .......... .......... .......... 2% 12.5K 14m54s
Column 1 indicates how much of the download has completed in 50K byte increments.
16500K .......... .......... .......... .......... .......... 99% 29.4K 5s
16550K .......... .......... .......... .......... .......... 99% 52.4K 2s
16600K .......... .......... .......... .......... 100% 43.9K=15m7s
2020-08-12 10:17:52 (18.3 KB/s) - 'icu65-dev.tcz' saved [17039360/17039360]
Looking at the line that says 100% we find:... So it took 14m54s to download that single extension, ...No it took 15m7s. I updated this line in my answer to reflect that:
Column 9 has a new meaning on this line. It now displays how long it took to download the file, 15m7s.
... Mine is a Set-Top-Box(Sorry again if you don't know that) + Modem. ...Do you have a make and model number for that?
cat /etc/resolv.conf
tc@box:~$ cat /etc/resolv.conf
nameserver 192.168.55.1
which makes me think that it queries my router which queries DNS given by my ISP.
nameserver 8.8.4.4
or:nameserver 4.2.2.4
cat /etc/resolv.conf
search localhost
nameserver 192.168.1.1
If you log into your router....hopefully you have a page for network settings (DLINK)The resolv.conf automatically changes.
$ tce-load -wi e2fsprogs
$ sudo chattr +i /etc/resolv.conf
... The resolv.conf automatically changes. ...Did I misunderstand you?
chattr: Inappropriate ioctl for device while reading flags on /etc/resolv.conf
So, I added -f flag(help by Google). Then it replied no messages and hence I thought all was good. Then again, it changed back to its original. I think it deleted the file and made another one instead of it.sudo wifi.sh -a &
in my aterm and then close aterm and open firefox.cat /opt/wlan0.sh
dns="1.1.1.1 1.0.0.1"
$ cp /etc/resolv.conf /opt/resolv.conf
$ sudo rm /etc/resolv.conf
-> edit /opt/resolv.conf to taste
$ sudo chattr +i /opt/resolv.conf
$ sudo ln -s /opt/resolv.conf /etc/resolv.conf
cat /opt/wlan0.sh
#!/bin/sh
pkill udhcpc
udhcpc -b -i wlan0 -x hostname:box -p /var/run/udhcpc.eth0.pid
Try adding your desired DNS servers to the top of /usr/share/udhcpc/default.script like this, for example:After also reading http://forum.tinycorelinux.net/index.php?topic=8019.0Code: [Select]dns="1.1.1.1 1.0.0.1"
Then running wifi.sh
dns="8.8.8.8 8.8.4.4"
It will not try 8.8.4.4 unless it can not connect to 8.8.8.8. Those are both Google DNS servers so they probably see a lot of traffic.... But I have a DASAN Router ...What's the model number?
...this is not only a TCL issue...Well, then you need to exclude hardware, router, and ISP issues (e.g., if other machines connected to same wireless router have same problem, then it's a router or ISP issue; if a wired connection has same problem, then it's probably an ISP issue; etc). Until you can pinpoint the problem, it's counterproductive to search for a solution.
I was actually here to propose that Apps should verify deps by running multiple subprocess for its direct dependencies(not whole tree file, only dep file) so that it can load them faster.Oops, sorry. I guess I missed the point of the thread. TCL is very much a community project and encourages a do-it-yourself approach. The developers welcome patches.
... Is there a way to add timeout option for tce-load or wget ? Or else a retry option for wget ? ...wget has both of those options (-T and -c):
tc@E310:~$ busybox wget --help
BusyBox v1.29.3 (2018-12-19 15:29:37 UTC) multi-call binary.
Usage: wget [-c|--continue] [--spider] [-q|--quiet] [-O|--output-document FILE]
[--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
[-S|--server-response] [-U|--user-agent AGENT] [-T SEC] URL...
Retrieve files via HTTP or FTP
--spider Only check URL existence: $? is 0 if exists
-c Continue retrieval of aborted transfer
-q Quiet
-P DIR Save to DIR (default .)
-S Show server response
-T SEC Network read timeout is SEC seconds
-O FILE Save to FILE ('-' for stdout)
-U STR Use STR for User-Agent header
-Y on/off Use proxy
tc@E310:~$
tc@E310:~$ grep wget /usr/bin/tce-*
/usr/bin/tce-audit: wget -cq -P /tmp "$MIRROR"/"$TARGET" 2>/tmp/fetch_result
/usr/bin/tce-fetch.sh: wget -cq -O- "$MIRROR"/"${1//-KERNEL.tcz/-${KERNELVER}.tcz}"
/usr/bin/tce-fetch.sh: wget -cq "$MIRROR"/"$F"
/usr/bin/tce-load: wget -cq "$MIRROR"/"$1".md5.txt 2>/dev/null
/usr/bin/tce-load: wget -c "$MIRROR"/"$1"
/usr/bin/tce-load: if (system("rm -f "depfile"; wget -c -P "optional" "mirror"/"name".dep 2>/dev/null") == 0 && ! SUPPRESS)
/usr/bin/tce-status: busybox wget --spider -q "$MIRROR"/"$E" 2>/dev/null || echo "$E not found!"
/usr/bin/tce-update: wget -cq "$MIRROR"/"$1"
/usr/bin/tce-update: wget -cq "$MIRROR"/"$1" # Either there was no zsync file on the server, or it failed
tc@E310:~$
you'll see it uses the -c option for wget. You can add a -T option to the commands above if you think it will help you. Then add... Sometimes the connection to repo just breaks in the middle (happens like once or twice a month, so no bother). But when it breaks when I am downloading an extension that has like 100 tree deps (for example) it would take another 15 minutes for the Apps or tce-load to do the whole thing again. ...If tce-load gets interrupted, it resumes with the file that failed to download when you run it again.
... Thanks to the devs for using ash instead of C or C++ for tce- scripts (Idk C or C++).You will probably also find some awk in those scripts.