Voxel Custom firmware build for R7800 v. 1.0.2.80SF & v. 1.0.2.80.4SF & v. 1.0.2.80.5SF

  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

faktorqm

New Around Here
Hi! I'm a little bit lost about how to ssh to my router (my goal is to install kamoj add-on). How I'm able to get root/user passsword? or get keys? The search function atm is not working in this forum. Any guidance will be appreciatted. Thank you! Regards!
 

microchip

Very Senior Member

faktorqm

New Around Here
Another question, I would need to reproduce the steps every update? I mean, SSH keys and Kamoj add-on will survive with the next Voxel firmware version installation?
 

Sizzlechest

Regular Contributor
Another question, I would need to reproduce the steps every update? I mean, SSH keys and Kamoj add-on will survive with the next Voxel firmware version installation?
I use a USB thumb drive that I leave in the router with backups of the authorized_keys and firewall-start.sh script. When the firmware is updated, it restores those files and patches the dnscrypt-proxy-2.toml config file to use the DNS servers I want.

Code:
#!/bin/sh

if [ ! -f "/root/firewall-start.sh" ]
then
  cp /tmp/mnt/$1/firewall-start.sh /root/.
fi

if [ ! -f "/root/.ssh/authorized_keys" ]
then
  mkdir -p /root/.ssh
  cp /tmp/mnt/$1/authorized_keys /root/.ssh/authorized_keys
fi

if [ ! -f "/overlay/etc/dnscrypt-proxy-2.toml " ]; then
  sed -i -r "s/^(server_names[[:space:]]*=[[:space:]]*).*/\1['adguard-dns-doh']/" /etc/dnscrypt-proxy-2.toml
fi
The above is called post-mount.sh and goes in /autorun/scripts on the thumb drive. The thumb drive should be ext2/3/4, not FAT/FAT32.
 

HELLO_wORLD

Senior Member
I use a USB thumb drive that I leave in the router with backups of the authorized_keys and firewall-start.sh script. When the firmware is updated, it restores those files and patches the dnscrypt-proxy-2.toml config file to use the DNS servers I want.

Code:
#!/bin/sh

if [ ! -f "/root/firewall-start.sh" ]
then
  cp /tmp/mnt/$1/firewall-start.sh /root/.
fi

if [ ! -f "/root/.ssh/authorized_keys" ]
then
  mkdir -p /root/.ssh
  cp /tmp/mnt/$1/authorized_keys /root/.ssh/authorized_keys
fi

if [ ! -f "/overlay/etc/dnscrypt-proxy-2.toml " ]; then
  sed -i -r "s/^(server_names[[:space:]]*=[[:space:]]*).*/\1['adguard-dns-doh']/" /etc/dnscrypt-proxy-2.toml
fi
The above is called post-mount.sh and goes in /autorun/scripts on the thumb drive. The thumb drive should be ext2/3/4, not FAT/FAT32.
I use post-mount.sh as well. Be sure to not overwrite it if the file already exists (if you use Entware for exemple), in that case, just add those same lines at the end of it, minus the #!/bin/sh.
 

Voxel

Very Senior Member
New version of my custom firmware build: 1.0.2.80.5SF:

1. Fix busybox issue: 'date -r' command is fixed.
2. coreutils version of 'date' is available now as '/usr/bin/gnu-date'.
3. dropbear package is upgraded 2020.80->2020.81.
4. uci package is upgraded 2020-04-24->2020-10-06.
5. sysstat is changed to use 'gnu-date now' (sa2: 'gnu-date --date=yesterday').
6. ubus init script is changed to create directory '/var/run/ubus' (/var/run/ubus.sock -> /var/run/ubus/ubus.sock).
7. TZ environment variable is set by /etc/profile.

Voxel.
 

Voxel

Very Senior Member
New rules of SNB forums... I have to reply here. Let us @kamoj start the new thread himself.

Kamoj 5.4b6 running well on 1.0.2.80SF
There is very old bug in all versions of firmware (including 3 years old stock, even initial one) in 'date' command. Made by DNI/NG development team(s). It is fixed only since 1.0.2.80.5SF. Maybe it is "sleeping bug" and it does not touch you. More details: 'date -r /firmware_time' command should return the date of creation of the file "/firmware_time" file instead of current date/time. But in some cases, especially if you are not from UK i.e. not in GMT zone, or you do not set timezone in your settings by WebGUI it returns the current date (call of time() function from runtime C library, i.e. result is changed to the current time) instead of the date of "/firmware_time" creation.

Add-on made by kamoj is using this "date -r <filename>" result. Me too for NTP settings. Stock firmware does not. Sleeping bug. So it is recommended to upgrade to 1.0.2.80.5SF to fix this bug.

Bug exists in all versions of firmware I had to process: R7500, R7800, R9000/R8900, Orbi.

Voxel.
 
Last edited:

kamoj

Very Senior Member
Thank you Voxel very much for your heroic contributions to the community, users all over the world and me.
You never stop amazing me with your brilliance, humor and humbleness.
PS
DNI/Netgear use "date -r" in their own code as well, e.g.:
/etc/init.d/sysfixtime
/usr/lib/sysstat/sa1
/usr/lib/sysstat/sa2
PPS
Shocking that this bug is also in Orbi code.
New rules of SNB forums... I have to reply here. Let us @kamoj start the new thread himself.

There is very old bug in all versions of firmware (including 3 years old stock, even initial one) in 'date' command. Made by DNI/NG development team(s). It is fixed only since 1.0.2.80.5SF. Maybe it is "sleeping bug" and it does not touch you. More details: 'date -r /firmware_time' command should return the date of creation of the file "/firmware_time" file instead of current date/time. But in some cases, especially if you are not from UK i.e. not in GMT zone, or you do not set timezone in your settings by WebGUI it returns the current date (call of time() function from runtime C library, i.e. result is changed to the current time) instead of the date of "/firmware_time" creation.

Add-on made by kamoj is using this "date -r <filename>" result. Me too for NTP settings. Stock firmware does not. Sleeping bug. So it is recommended to upgrade to 1.0.2.80.5SF to fix this bug.

Bug exists in all versions of firmware I had to process: R7500, R7800, R9000/R8900, Orbi.

Voxel.
 
Last edited:

Voxel

Very Senior Member
Thank you Voxel very much for your heroic contributions to the community, users all over the world and me.
You never stop amazing me with your brilliance, humor and humbleness.
Fortunately you are back on-line... I hope you are fine...

Ha-ha. I am not humble. Not at all. Are you joking?

Just we have to help people to connect each others. Motto by Nokia. Actual now.

You. Your add-on. I'd support this @KW. expression:

PS: if you @kamoj is a common user then I wonder what I am...
Now regarding this:

I didn't see the security fixes (except chinese vpn funjsq), but some other changes:
- busybox
- funjsq : many changes
- duma code for XR500...
- New cert generation for openvpn
- debug_detail.htm : telnet removed...
How do you get this? No GPL source codes are released. I know re: unsquashfs but busybox?

Voxel.
 

RainGater96

Occasional Visitor
I am currently running OpenWRT on my R7800. So, if I need to dive into Voxel, do I just flash the latest Voxel (R7800-V1.0.2.80.5SF.img) from the OpenWRT GUI or any special steps need to be performed? Of course, I will reset all the settings in OpenWRT but curious whether any additional steps need to be performed before Voxel.

I see lots of glowing reviews for Voxel on R7800 and would like to take it for a drive. Thank you @Voxel for all your hard work and I know you are doing it for FREE and that makes it even more special and have to appreciate it even further. :)
 

rbird2

Regular Contributor
I am currently running OpenWRT on my R7800. So, if I need to dive into Voxel, do I just flash the latest Voxel (R7800-V1.0.2.80.5SF.img) from the OpenWRT GUI or any special steps need to be performed? Of course, I will reset all the settings in OpenWRT but curious whether any additional steps need to be performed before Voxel.
You can not upload a ".img" firmware into OpenWRT (OpenWRT uses "*.bin") to get back to Netgear or Voxel firmware.

In the past I have used the following procedure to go from OpenWRT to Netgear (or Voxel) firmware:


I hope this helps...
 

RainGater96

Occasional Visitor
You can not upload a ".img" firmware into OpenWRT (OpenWRT uses "*.bin") to get back to Netgear or Voxel firmware.
Thank you. I almost forgot that I used TFTP to get to OpenWRT as it was a while back. I know how to use TFTP to move back/forth and thank you for pointing it out.

I use lots of static IPs in my network. Are the staticlist nvram variables something like this in Voxel too?

nvram get dhcp_staticlist
nvram get dhcp_hostnames

OR

nvram get static_leases
nvram get static_leasenum
 

Sign Up For SNBForums Daily Digest

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