What's new

Kamoj Kamoj Add-on 5.1 Beta testing poll

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Do you want to beta test Kamoj add-on v5.1b1?

  • No, I don't trust 3rd party software

    Votes: 0 0.0%
  • No, I don't use the Voxel firmware

    Votes: 0 0.0%
  • No, I don't like your add-on

    Votes: 0 0.0%

  • Total voters
    207
  • You don't need a USB-device. That is just to get rid of the error message.
  • How to stop netdata is described if you use the kamoj entware_install.sh :
    Code:
    /opt/etc/init.d/S60netdata stop
  • Unfortunately, I can not repeat your issues with "Bandwidth Usage".
    I hope other users can add valuable information to understand this.
But I don't want to use a USB device (and never had to use one before).

I use a USB to install the Kamoj add-on, but then remove it. And I used a USB to install Entware (and installed and ran netdata), but then removed it because I didn't want netdata to run continuously and I didn't know how to stop it (other than removing the USB).
 
That problem others have even with Netgear stock firmware (You can search Netgear forum a.o.).
Netgear has had many problems with different character sets through the years and their html code is a "jungle" of tries to fix it.

This thread and original Kamoj beta thread have several posts about this, e.g.:
https://www.snbforums.com/threads/k...00-x4s-and-r9000-x10.60590/page-8#post-566551
https://www.snbforums.com/threads/k...ear-r7800-x4s-and-r9000-x10.60590/post-536755
https://www.snbforums.com/threads/k...00-x4s-and-r9000-x10.60590/page-8#post-566561

A solution is to CHANGE password (NOT just enter your old credentials), or it will stay bad until you do.
Use an admin password without non-alphanumeric characters, especially $ causes troubles.
You should try to not use any of these characters in the password:
"Non-English-characters,$,!, <, >, @, %, *,?, .,+,-,/,|,\,&,=,',",`,´"

If it starts working then add "strange" characters one by one till you find out the "bad" one.

Please report back your progress.


Thanks - Such a simple fix - I thought as my password worked everywhere else on router it should not be an issue
All working now and AdGuard set up and working

Thanks again
 
  • Unfortunately, I can not repeat your issues with "Bandwidth Usage".
    I hope other users can add valuable information to understand this.
I uninstalled the Kamoj add-on; rebooted; reinstalled the Kamoj add-on (5.4b5), using the same USB and file as the first installation. Now the Bandwidth Usage reports and updates correctly. That is good, of course, but I have no explanation for why it failed before.
 
Changes in kamoj-addon beta version 5.4b6
--------------------------------------------------
- Router Information: Wireguard Client Status: Fixed erroneously showing "ERROR wg0: No wg0" (@blueliner)
- Bandwidth Usage a.o.: Removed "No such file or directory" message when no USB-device is found (@Droidrat)
- Restart_Supervision: Removed curl from ip connection test to speed up restart.
- net-wall: Fixed error message: /bin/sh: /etc/appflow/streamboost.d/40_qdiscman: not found (@D3FenD3r)
net-wall restart gives error:
/bin/sh: /etc/appflow/streamboost.d/40_qdiscman: not found
- Kamoj Add-on incl. GUI: Given higher priority for faster response at high cpu load
- Workaround for erroneous 'date' command in R9000 FW implemented:
+ net-wall
+ Bypassing
+ Restart Supervision
There are still many instances effected by the bug, e.g.
* Updating/Downloading of vpn-server-lists
* Adblocking
* DNDCrypt 2
- Minor editorials.
- FAQ.txt updated
 
Thanks - Such a simple fix - I thought as my password worked everywhere else on router it should not be an issue
All working now and AdGuard set up and working

Thanks again

I installed AdGuard and left everything at the default settings. It worked well for the first few hrs then it became almost impossible to access the internet
Logged in to router and looked at router information and found cpu maxed out
Could not access AdGuard through its interface as very slow so turned off via the r7800 interface and instantly could access internet again
I saw there was an update to the beta so did an uninstall / reinstall and set up again fresh leaving everything at defaults - Again the CPU went high and the internet was hard to reach - Tried turning off some of the preselected blockers and this made no difference
Turned off AdGuard and turned on DNSCrypt Proxy v2 instead which so far is causing no issues
When I get a chance I will try a few different options in AdGuard interface to see if I can stop the issue happening
 
I installed AdGuard and left everything at the default settings. It worked well for the first few hrs then it became almost impossible to access the internet
Logged in to router and looked at router information and found cpu maxed out
Could not access AdGuard through its interface as very slow so turned off via the r7800 interface and instantly could access internet again
I saw there was an update to the beta so did an uninstall / reinstall and set up again fresh leaving everything at defaults - Again the CPU went high and the internet was hard to reach - Tried turning off some of the preselected blockers and this made no difference
Turned off AdGuard and turned on DNSCrypt Proxy v2 instead which so far is causing no issues
When I get a chance I will try a few different options in AdGuard interface to see if I can stop the issue happening


I turned off "use adguard browsing security service" (Safebrowsing)
and all working OK
part of error log below

2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: net/http: request canceled (Client.Timeout or context cancellation while reading body)
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: net/http: request canceled (Client.Timeout or context cancellation while reading body)
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: context deadline exceeded
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: net/http: request canceled (Client.Timeout or context cancellation while reading body)
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: context deadline exceeded
2020/10/26 12:17:40 [info] SafeBrowsing: failed: couldn't initialize HTTP client or transport, cause: couldn't do a POST request to 'https://dns-family.adguard.com:443/dns-query', cause: Get "https://dns-family.adguard.com:443/dns-query?dns=LvUBAAABAAAAAAAACGlwdjRvbmx5BGFycGEAAAEAAQ": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
2020/10/26 12:17:42 [info] SafeBrowsing: failed: couldn't do a POST request to 'https://dns-family.adguard.com:443/dns-query', cause: Get "https://dns-family.adguard.com:443/...iCGIxYWU1ODdhAnNiA2RucwdhZGd1YXJkA2NvbQAAEAAB": context deadline exceeded
2020/10/26 12:17:46 [info] SafeBrowsing: failed: couldn't initialize HTTP client or transport, cause: couldn't do a POST request to 'https://dns-family.adguard.com:443/dns-query', cause: Get "https://dns-family.adguard.com:443/dns-query?dns=GhABAAABAAAAAAAACGlwdjRvbmx5BGFycGEAAAEAAQ": context deadline exceeded
2020/10/26 12:17:46 [info] SafeBrowsing: failed: couldn't initialize HTTP client or transport, cause: timeout exceeded: 7316 ms


I have now turned it back on again and the issue as yet has not reappeared
 
Thank you for valuable input :), but I still think we need to make another thread for the Adguard problems.
https://www.snbforums.com/threads/kamoj-add-on-5-1-beta-testing-poll.62315/post-626085
Especially now, since this thread will be locked:oops: 1st of November.
I turned off "use adguard browsing security service" (Safebrowsing)
and all working OK
part of error log below

2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: net/http: request canceled (Client.Timeout or context cancellation while reading body)
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: net/http: request canceled (Client.Timeout or context cancellation while reading body)
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: context deadline exceeded
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: net/http: request canceled (Client.Timeout or context cancellation while reading body)
2020/10/26 12:17:36 [info] SafeBrowsing: failed: couldn't read body contents for 'https://dns-family.adguard.com:443/dns-query', cause: context deadline exceeded
2020/10/26 12:17:40 [info] SafeBrowsing: failed: couldn't initialize HTTP client or transport, cause: couldn't do a POST request to 'https://dns-family.adguard.com:443/dns-query', cause: Get "https://dns-family.adguard.com:443/dns-query?dns=LvUBAAABAAAAAAAACGlwdjRvbmx5BGFycGEAAAEAAQ": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
2020/10/26 12:17:42 [info] SafeBrowsing: failed: couldn't do a POST request to 'https://dns-family.adguard.com:443/dns-query', cause: Get "https://dns-family.adguard.com:443/...iCGIxYWU1ODdhAnNiA2RucwdhZGd1YXJkA2NvbQAAEAAB": context deadline exceeded
2020/10/26 12:17:46 [info] SafeBrowsing: failed: couldn't initialize HTTP client or transport, cause: couldn't do a POST request to 'https://dns-family.adguard.com:443/dns-query', cause: Get "https://dns-family.adguard.com:443/dns-query?dns=GhABAAABAAAAAAAACGlwdjRvbmx5BGFycGEAAAEAAQ": context deadline exceeded
2020/10/26 12:17:46 [info] SafeBrowsing: failed: couldn't initialize HTTP client or transport, cause: timeout exceeded: 7316 ms


I have now turned it back on again and the issue as yet has not reappeared
 
I highly recommend DNSCrypt 2 with Ad-Blocking together with Aegis:
https://www.snbforums.com/threads/aegis-a-firewall-blocklist.64128/
If you then also add a VPN-client in the router you have better protection and control than most home users!
So Thank You @Voxel and @HELLO_wORLD for making this available for us common users!

I installed AdGuard and left everything at the default settings. It worked well for the first few hrs then it became almost impossible to access the internet
Logged in to router and looked at router information and found cpu maxed out
Could not access AdGuard through its interface as very slow so turned off via the r7800 interface and instantly could access internet again
I saw there was an update to the beta so did an uninstall / reinstall and set up again fresh leaving everything at defaults - Again the CPU went high and the internet was hard to reach - Tried turning off some of the preselected blockers and this made no difference
Turned off AdGuard and turned on DNSCrypt Proxy v2 instead which so far is causing no issues
When I get a chance I will try a few different options in AdGuard interface to see if I can stop the issue happening
 
Changes in kamoj-addon beta version 5.4b6
--------------------------------------------------
- Router Information: Wireguard Client Status: Fixed erroneously showing "ERROR wg0: No wg0" (@blueliner)
- Bandwidth Usage a.o.: Removed "No such file or directory" message when no USB-device is found (@Droidrat)
- Restart_Supervision: Removed curl from ip connection test to speed up restart.
- net-wall: Fixed error message: /bin/sh: /etc/appflow/streamboost.d/40_qdiscman: not found (@D3FenD3r)
net-wall restart gives error:
/bin/sh: /etc/appflow/streamboost.d/40_qdiscman: not found
- Kamoj Add-on incl. GUI: Given higher priority for faster response at high cpu load
- Workaround for erroneous 'date' command in R9000 FW implemented:
+ net-wall
+ Bypassing
+ Restart Supervision
There are still many instances effected by the bug, e.g.
* Updating/Downloading of vpn-server-lists
* Adblocking
* DNDCrypt 2
- Minor editorials.
- FAQ.txt updated
I can confirm the fix for
"- Router Information: Wireguard Client Status: Fixed erroneously showing "ERROR wg0: No wg0" (@blueliner)". Thank you Kamoj.

I don't know if this is related to the add-on, but I did have a connection issue with the router a day after switching to 5.4b6...

The Netgear Basic Home page and the Kamoj Router Information page both showed no internet connection (and Add-On showed DNSCrypt loaded but not connected). All VPN devices and bypassed devices worked OK, but the router itself did not have a working connection as confirmed by speedtest.sh, curl ifconf, etc. All Kamoj restart options (DNSCrypt, VPN, DNSMasq, net-lan, VPN and router) were selected. All other VPN check boxes were selected also.

The WG VPN still showed an active connection on the Router Information page and the WG VPN page. I had to restart the VPN manually to get the connection for the router back online. The VPN restart log was normal except for a time error on the first attempt:
2020-10-26 15:10:22 [WireGuard] wg-client 13578: 68832.24:Information: Check that time is synchronized

After starting the VPN, both the Netgear Basic Home page and the Add-on Router Information page showed an internet connection (which checked out OK). However, the Add-on still showed DNSCrypt was not connected and I had to manually restart DNSCrypt to get it back online.

Log info is attached...

Thanks,
BL
 

Attachments

  • Supervisor_log.txt
    103 KB · Views: 134
  • WG_log.txt
    5.3 KB · Views: 135
  • DNSCrypt_log.txt
    29.3 KB · Views: 152
  • WG_VPN_time_error.txt
    1.5 KB · Views: 145
Thank you, very good to get the logs.:)
I'll keep them and compare to other users and other issues.
I can't say why this happened, but understand that I and the restart supervision need to become much smarter...
One thing I noticed is a flood of internet users complaining about strange connection failures and
not working vpn connections.
Let's collect more info and see if this has anything to do with what's happening in the world now.
Thank you again for supplying the logs, very good!!! :)
 
Last edited:
This works on R7800 with latest Voxel
/usr/bin/awk 'BEGIN { print strftime("%FORMAT", TIMESTAMP); }'

Same as:
/bin/date -d TIMESTAMP -D %s +"%FORMAT"

Don’t know for R9000...

WARNING for R9000 1.0.4.45.1HF, to Kamoj add-on users, since it breaks (whole or partly) the kamoj versions of :
dnscrypt_proxy_2
wg-client
openvpn-client
Router information
adguard_home
(The new version of 'date' does not support '-D'.)
 
Yes, thank you @HELLO_wORLD, I know that "trick":).
I now use this variant of the code:
Code:
R7800_OLD_R9000="$(date -d 1603829529 -D %s +"%F %T")"
NEW_R9000="$(date -d @1603829529 +"%F %T")"

The bad thing is that now Voxel R9000 code is not compatible with any R7800 or Netgear 8900/9000,
So "our" code must include fixes both for the "date -r" and "date-D" issues depending
on router and version of Voxel code.:eek: I don't like it at all. I wish Voxel could fix the R9000 "date -r" issue.
Now for R9000 the bad "date" is removed from busybox so there is no alternative.
I already have separate code for R7800 and R9000, but to also branch on version dependent feels sour...

Maybe I'll stay with R7800 and remove R9000 support since it takes too long time to ask people to
test everything on the R9000, and I don't like disturbing/using other people.

Meanwhile thinking about it I'll try to come up with a better supervision function.

Have a great day, and very big thank's for your support! :cool:
PS
Code:
root@R7800:~$ date --help
BusyBox v1.4.2 (2020-10-09 12:54:04 UTC) multi-call binary

Usage: date [OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]

Display current time in the given FORMAT, or set system date

Options:
        -R              Outputs RFC-822 compliant date string
        -d STRING       Displays time described by STRING, not 'now'
        -I[TIMESPEC]    Outputs an ISO-8601 compliant date/time string
                        TIMESPEC='date' (or missing) for date only,
                        'hours', 'minutes', or 'seconds' for date and,
                        time to the indicated precision
        -D hint         Use 'hint' as date format, via strptime()
        -s              Sets time described by STRING
        -r FILE         Displays the last modification time of FILE
        -u              Prints or sets Coordinated Universal Time

#--------------------------------------------------------------------------
root@R9000:~$ date --help
BusyBox v1.4.2 (2020-10-20 08:56:17 UTC) multi-call binary

Usage: date [OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]

Display current time in the given FORMAT, or set system date

Options:
        -R              Outputs RFC-822 compliant date string
        -d STRING       Displays time described by STRING, not 'now'
        -I[TIMESPEC]    Outputs an ISO-8601 compliant date/time string
                        TIMESPEC='date' (or missing) for date only,
                        'hours', 'minutes', or 'seconds' for date and,
                        time to the indicated precision
        -D hint         Use 'hint' as date format, via strptime()
        -s              Sets time described by STRING
        -r FILE         Displays the last modification time of FILE
        -u              Prints or sets Coordinated Universal Time

#--------------------------------------------------------------------------
root@R9000:~$  /date.new_r9000 --help
Usage: /date.r9000 [OPTION]... [+FORMAT]
  or:  /date.r9000 [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.

Mandatory arguments to long options are mandatory for short options too.
  -d, --date=STRING          display time described by STRING, not 'now'
      --debug                annotate the parsed date,
                              and warn about questionable usage to stderr
  -f, --file=DATEFILE        like --date; once for each line of DATEFILE
  -I[FMT], --iso-8601[=FMT]  output date/time in ISO 8601 format.
                               FMT='date' for date only (the default),
                               'hours', 'minutes', 'seconds', or 'ns'
                               for date and time to the indicated precision.
                               Example: 2006-08-14T02:34:56-06:00
  -R, --rfc-email            output date and time in RFC 5322 format.
                               Example: Mon, 14 Aug 2006 02:34:56 -0600
      --rfc-3339=FMT         output date/time in RFC 3339 format.
                               FMT='date', 'seconds', or 'ns'
                               for date and time to the indicated precision.
                               Example: 2006-08-14 02:34:56-06:00
  -r, --reference=FILE       display the last modification time of FILE
  -s, --set=STRING           set time described by STRING
  -u, --utc, --universal     print or set Coordinated Universal Time (UTC)
      --help     display this help and exit
      --version  output version information and exit

FORMAT controls the output.  Interpreted sequences are:

  %%   a literal %
  %a   locale's abbreviated weekday name (e.g., Sun)
  %A   locale's full weekday name (e.g., Sunday)
  %b   locale's abbreviated month name (e.g., Jan)
  %B   locale's full month name (e.g., January)
  %c   locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
  %C   century; like %Y, except omit last two digits (e.g., 20)
  %d   day of month (e.g., 01)
  %D   date; same as %m/%d/%y
  %e   day of month, space padded; same as %_d
  %F   full date; like %+4Y-%m-%d
  %g   last two digits of year of ISO week number (see %G)
  %G   year of ISO week number (see %V); normally useful only with %V
  %h   same as %b
  %H   hour (00..23)
  %I   hour (01..12)
  %j   day of year (001..366)
  %k   hour, space padded ( 0..23); same as %_H
  %l   hour, space padded ( 1..12); same as %_I
  %m   month (01..12)
  %M   minute (00..59)
  %n   a newline
  %N   nanoseconds (000000000..999999999)
  %p   locale's equivalent of either AM or PM; blank if not known
  %P   like %p, but lower case
  %q   quarter of year (1..4)
  %r   locale's 12-hour clock time (e.g., 11:11:04 PM)
  %R   24-hour hour and minute; same as %H:%M
  %s   seconds since 1970-01-01 00:00:00 UTC
  %S   second (00..60)
  %t   a tab
  %T   time; same as %H:%M:%S
  %u   day of week (1..7); 1 is Monday
  %U   week number of year, with Sunday as first day of week (00..53)
  %V   ISO week number, with Monday as first day of week (01..53)
  %w   day of week (0..6); 0 is Sunday
  %W   week number of year, with Monday as first day of week (00..53)
  %x   locale's date representation (e.g., 12/31/99)
  %X   locale's time representation (e.g., 23:13:48)
  %y   last two digits of year (00..99)
  %Y   year
  %z   +hhmm numeric time zone (e.g., -0400)
  %:z  +hh:mm numeric time zone (e.g., -04:00)
  %::z  +hh:mm:ss numeric time zone (e.g., -04:00:00)
  %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)
  %Z   alphabetic time zone abbreviation (e.g., EDT)

By default, date pads numeric fields with zeroes.
The following optional flags may follow '%':

  -  (hyphen) do not pad the field
  _  (underscore) pad with spaces
  0  (zero) pad with zeros
  +  pad with zeros, and put '+' before future years with >4 digits
  ^  use upper case if possible
  #  use opposite case if possible

After any flags comes an optional field width, as a decimal number;
then an optional modifier, which is either
E to use the locale's alternate representations if available, or
O to use the locale's alternate numeric symbols if available.

Examples:
Convert seconds since the epoch (1970-01-01 UTC) to a date
  $ date --date='@2147483647'

Show the time on the west coast of the US (use tzselect(1) to find TZ)
  $ TZ='America/Los_Angeles' date

Show the local time for 9AM next Friday on the west coast of the US
  $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/date>
or available locally via: info '(coreutils) date invocation'
root@R9000:~$
This works on R7800 with latest Voxel
/usr/bin/awk 'BEGIN { print strftime("%FORMAT", TIMESTAMP); }'

Same as:
/bin/date -d TIMESTAMP -D %s +"%FORMAT"

Don’t know for R9000...
 
Why not this simple one liner?
with that, no need to worry about version or platform.

Code:
DATE="$(/bin/date -d @1603829529 +"%F %T" 2>/dev/null)" || DATE="$(/bin/date -d 1603829529 -D %s +"%F %T")"

Can’t test on new R9000, but I suppose -D returns an exit code 1, so the reverse would work:
Code:
DATE="$(/bin/date -d 1603829529 -D %s +"%F %T" 2>/dev/null)" || DATE="$(/bin/date -d @1603829529 +"%F %T")"

/bin/date could be replaced simply by date, so it would also look for Entware date if it is installed.

Yes, thank you @HELLO_wORLD, I know that "trick":).
I now use this variant of the code:
Code:
R7800_OLD_R9000="$(date -d 1603829529 -D %s +"%F %T")"
NEW_R9000="$(date -d @1603829529 +"%F %T")"

The bad thing is that now Voxel R9000 code is not compatible with any R7800 or Netgear 8900/9000,
So "our" code must include fixes both for the "date -r" and "date-D" issues depending
on router and version of Voxel code.:eek: I don't like it at all. I wish Voxel could fix the R9000 "date -r" issue.
Now for R9000 the bad "date" is removed from busybox so there is no alternative.
I already have separate code for R7800 and R9000, but to also branch on version dependent feels sour...

Maybe I'll stay with R7800 and remove R9000 support since it takes too long time to ask people to
test everything on the R9000, and I don't like disturbing/using other people.

Meanwhile thinking about it I'll try to come up with a better supervision function.

Have a great day, and very big thank's for your support! :cool:
PS
Code:
root@R7800:~$ date --help
BusyBox v1.4.2 (2020-10-09 12:54:04 UTC) multi-call binary

Usage: date [OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]

Display current time in the given FORMAT, or set system date

Options:
        -R              Outputs RFC-822 compliant date string
        -d STRING       Displays time described by STRING, not 'now'
        -I[TIMESPEC]    Outputs an ISO-8601 compliant date/time string
                        TIMESPEC='date' (or missing) for date only,
                        'hours', 'minutes', or 'seconds' for date and,
                        time to the indicated precision
        -D hint         Use 'hint' as date format, via strptime()
        -s              Sets time described by STRING
        -r FILE         Displays the last modification time of FILE
        -u              Prints or sets Coordinated Universal Time

#--------------------------------------------------------------------------
root@R9000:~$ date --help
BusyBox v1.4.2 (2020-10-20 08:56:17 UTC) multi-call binary

Usage: date [OPTION]... [MMDDhhmm[[CC]YY][.ss]] [+FORMAT]

Display current time in the given FORMAT, or set system date

Options:
        -R              Outputs RFC-822 compliant date string
        -d STRING       Displays time described by STRING, not 'now'
        -I[TIMESPEC]    Outputs an ISO-8601 compliant date/time string
                        TIMESPEC='date' (or missing) for date only,
                        'hours', 'minutes', or 'seconds' for date and,
                        time to the indicated precision
        -D hint         Use 'hint' as date format, via strptime()
        -s              Sets time described by STRING
        -r FILE         Displays the last modification time of FILE
        -u              Prints or sets Coordinated Universal Time

#--------------------------------------------------------------------------
root@R9000:~$  /date.new_r9000 --help
Usage: /date.r9000 [OPTION]... [+FORMAT]
  or:  /date.r9000 [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Display the current time in the given FORMAT, or set the system date.

Mandatory arguments to long options are mandatory for short options too.
  -d, --date=STRING          display time described by STRING, not 'now'
      --debug                annotate the parsed date,
                              and warn about questionable usage to stderr
  -f, --file=DATEFILE        like --date; once for each line of DATEFILE
  -I[FMT], --iso-8601[=FMT]  output date/time in ISO 8601 format.
                               FMT='date' for date only (the default),
                               'hours', 'minutes', 'seconds', or 'ns'
                               for date and time to the indicated precision.
                               Example: 2006-08-14T02:34:56-06:00
  -R, --rfc-email            output date and time in RFC 5322 format.
                               Example: Mon, 14 Aug 2006 02:34:56 -0600
      --rfc-3339=FMT         output date/time in RFC 3339 format.
                               FMT='date', 'seconds', or 'ns'
                               for date and time to the indicated precision.
                               Example: 2006-08-14 02:34:56-06:00
  -r, --reference=FILE       display the last modification time of FILE
  -s, --set=STRING           set time described by STRING
  -u, --utc, --universal     print or set Coordinated Universal Time (UTC)
      --help     display this help and exit
      --version  output version information and exit

FORMAT controls the output.  Interpreted sequences are:

  %%   a literal %
  %a   locale's abbreviated weekday name (e.g., Sun)
  %A   locale's full weekday name (e.g., Sunday)
  %b   locale's abbreviated month name (e.g., Jan)
  %B   locale's full month name (e.g., January)
  %c   locale's date and time (e.g., Thu Mar  3 23:05:25 2005)
  %C   century; like %Y, except omit last two digits (e.g., 20)
  %d   day of month (e.g., 01)
  %D   date; same as %m/%d/%y
  %e   day of month, space padded; same as %_d
  %F   full date; like %+4Y-%m-%d
  %g   last two digits of year of ISO week number (see %G)
  %G   year of ISO week number (see %V); normally useful only with %V
  %h   same as %b
  %H   hour (00..23)
  %I   hour (01..12)
  %j   day of year (001..366)
  %k   hour, space padded ( 0..23); same as %_H
  %l   hour, space padded ( 1..12); same as %_I
  %m   month (01..12)
  %M   minute (00..59)
  %n   a newline
  %N   nanoseconds (000000000..999999999)
  %p   locale's equivalent of either AM or PM; blank if not known
  %P   like %p, but lower case
  %q   quarter of year (1..4)
  %r   locale's 12-hour clock time (e.g., 11:11:04 PM)
  %R   24-hour hour and minute; same as %H:%M
  %s   seconds since 1970-01-01 00:00:00 UTC
  %S   second (00..60)
  %t   a tab
  %T   time; same as %H:%M:%S
  %u   day of week (1..7); 1 is Monday
  %U   week number of year, with Sunday as first day of week (00..53)
  %V   ISO week number, with Monday as first day of week (01..53)
  %w   day of week (0..6); 0 is Sunday
  %W   week number of year, with Monday as first day of week (00..53)
  %x   locale's date representation (e.g., 12/31/99)
  %X   locale's time representation (e.g., 23:13:48)
  %y   last two digits of year (00..99)
  %Y   year
  %z   +hhmm numeric time zone (e.g., -0400)
  %:z  +hh:mm numeric time zone (e.g., -04:00)
  %::z  +hh:mm:ss numeric time zone (e.g., -04:00:00)
  %:::z  numeric time zone with : to necessary precision (e.g., -04, +05:30)
  %Z   alphabetic time zone abbreviation (e.g., EDT)

By default, date pads numeric fields with zeroes.
The following optional flags may follow '%':

  -  (hyphen) do not pad the field
  _  (underscore) pad with spaces
  0  (zero) pad with zeros
  +  pad with zeros, and put '+' before future years with >4 digits
  ^  use upper case if possible
  #  use opposite case if possible

After any flags comes an optional field width, as a decimal number;
then an optional modifier, which is either
E to use the locale's alternate representations if available, or
O to use the locale's alternate numeric symbols if available.

Examples:
Convert seconds since the epoch (1970-01-01 UTC) to a date
  $ date --date='@2147483647'

Show the time on the west coast of the US (use tzselect(1) to find TZ)
  $ TZ='America/Los_Angeles' date

Show the local time for 9AM next Friday on the west coast of the US
  $ date --date='TZ="America/Los_Angeles" 09:00 next Fri'

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/date>
or available locally via: info '(coreutils) date invocation'
root@R9000:~$
 
I am happy letting my r9000 be a guinea pig for all sort of testing. Would be so though to see the r9000 stop getting support. But offcaurse i understand and respect the reason.
Indeed. I can certainly understand as well. However, without Voxel/Kamoj Add-on my R9000 doesn't do what I need it to do...so if it is helpful, I can certainly put more focus on testing specifics on the R9000

Best wishes,
BL
 
I am happy letting my r9000 be a guinea pig for all sort of testing.
I can certainly put more focus on testing specifics on the R9000

Specific of 'date' command included into new R9000 firmware could be tested on R7800 with installation of Entware package coreutils-date.

I wish Voxel could fix the R9000 "date -r" issue.
Sorry for this problem.

I've tried to fix of course. This version of busybox is too old and there are specific overcomplicated changes made by NG/DNI. We had to change busybox' versions of 'sort', 'patch' and something else (I do not remember) by normal standalone GNU analogs.

So @kamoj maybe it has a sense to include GNU version of 'date' into R7800 firmware?

I've tried to revert busybox codes to version prior to .29HF (29HF includes integration of the stock .28 where busybox 'date' was really changed). It does not help. I tried to use GCC 9.3.0 instead of 10.2.0 - it does not help. I used "as-is" busybox codes from firmware of R7800 - it does not help. "date -r' still does not work and I do not understand the reason: why it is workable for R7800 and not for R9000. The same codes, the same compiler. Only one option (hardware float) is different. Just displays current date. Debugging is also problematic. There are some replacement of RTL libraries. 'date' really gets proper filename, but after that something happens. Either it gets NULL somewhere or whatever else. I can debug using printf() function, but a lot of codes tree to check. So I decided to use GNU 'date' after checking a lot of scripts in R9000 firmware. Did not find incompatibility, but I did not know that you are using such an exotic option.

Other variants:

* include both version of date renaming GNU date as 'gnudate' or so
* specific processing "-r" option by gnudate called from busybox date (I do not like this way to say true).

or just replacement of date in R7800 firmware as it was done for R9000.

Maybe I'll stay with R7800 and remove R9000 support
I think it is bad idea. Please continue your project.

Voxel.
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top