What's new

Custom firmware build for R7800 v. 1.0.2.75.1SF & v. 1.0.2.75.2SF

Voxel

Very Senior Member
Well. This is important release. Mainly because of using new Toolchain including significant changes such as latest GCC compiler v 9.3.0 released Mar 12, 2020 instead of old 4.8.5 (2015).

https://gcc.gnu.org/gcc-9/

Goal is obvious: additional performance boost because of modern compiler optimization.


Continuation of
. . .
https://www.snbforums.com/threads/c...or-r7800-v-1-0-2-74-2sf-v-1-0-2-74-3sf.61962/
https://www.snbforums.com/threads/custom-firmware-build-for-r7800-v-1-0-2-74-4sf.62646/

New version of my custom firmware build: 1.0.2.75.1SF.

Changes (vs 1.0.2.74.4SF):

1. Toolchain: GCC is upgraded 4.8.5->9.3.0.
2. Toolchain: binutils version is upgraded 2.32->2.34.
3. Toolchain: Go is upgraded 1.13.8->1.14.1.
4. nano package is added (editor).
5. redis package: build scheme is changed.
6. NG/DNI bug in UPG_upgrade.htm is fixed (by Kamoj).
7. NG/DNI bug in dnibusybox "date" command is fixed (reported by Kamoj, fixed by Voxel).
8. transmission package is changed to use OpenSSL v. 1.0.2 (attept to fix https issue).
9. hotplug2: changes for upcoming WireGuard-Go add-on (config from USB flash, dos2unix).
10. libgcrypt sqlite3 wget packages: optimize for a size.
11. OpenSSL v. 1.1.1 package is upgraded 1.1.1d->1.1.1e.
12. DNSCrypt Proxy v.2 is upgraded 2.0.39->2.0.41.
13. bc package is upgraded 1.06->1.06.95.
14. libreadline package is upgraded 5.2->6.3.
15. libdevmapper package is upgraded 2.02.91->2.02.119.
16. e2fsprogs package is upgraded 1.45.5->1.45.6.
17. usbmode data is updated to v. 20191128.
18. Changes in the Linux kernel and in many packages to provide compilation by GCC 9.3.0.

[Edited]

Quick fix version: 1.0.2.75.2SF.

Changes (vs 1.0.2.75.1SF):

1. NG/DNI bug in radvd is fixed (reported by microchip)

The link is:

https://www.voxel-firmware.com (thanks to vladlenas for his help with hosting).

P.S.
Who would be so brave to try it :)? I've flashed it of course on my routers... Working good for me...

Voxel.
 
Last edited:

Voxel

Very Senior Member
This is a fantastic achievement of you @Voxel !
Now your Tool chain is in the front line of all developers.
I look forward to use this new release branch!
Thank you! :D
Similar plans (GCC 9.3.0) for R9000 and Orbi firmware. Testing now. To say true it was a headache to fix all problems. Intermediate internal beta releases using GCC 5.5.0->7.5.0->8.4.0...

PS
Nice that you already prepared for Wireguard!
So, could you please test it?

https://voxel-firmware.com/Downloads/Voxel/html/r7800.html ---> WireGuard folder.

You know how to install and it ;).

Voxel.
 

microchip

Very Senior Member
radvd is not working. Doing radvd -C /root/radvd.conf (my conf file), radvd is either silently crashing or not starting at all. Tried the default /etc/radvd.conf file too. Same results

I'm going to revert back to 74.4SF. I need a working IPv6
 

Voxel

Very Senior Member
radvd is not working. Doing radvd -C /root/radvd.conf (my conf file), radvd is either silently crashing or not starting at all. Tried the default /etc/radvd.conf file too. Same results

I'm going to revert back to 74.4SF. I need a working IPv6
Thank you for report. There could be sleeping bug. Waked up by new compiler.

Could you try to install old radvd from 74.4SF compiled by old compiler:

https://voxel-firmware.com/Downloads/radvd_1.5-1_ipq806x.ipk

I mean to install it to 75.1SF.

Voxel.
 

microchip

Very Senior Member

Voxel

Very Senior Member

microchip

Very Senior Member

Voxel

Very Senior Member
Yup, works. Thanks
Thanks for your help with testing. So it has a sense to release quick fix version.

P.S.
As I said there could be sleeping bugs. This one for example. Bug details (NG/DNI changes): attempt to read the file from /tmp. Later: comparison of contents with some string values. But there could be situations when no such file in /tmp or it is dummy. No processing such cases. Now fixed. The same bug in R9000 firmware.

Another example. Bug found by kamoj in "date" command (pre-release of fw): loop of comparison some char buffer content until zero is found. But there could be cases when no zeros at all in the buffer. So there was segmentation fault (checking continues violating memory bounds). Fixed already.

Voxel.
 

microchip

Very Senior Member
I've just updated from 74.4 to 75.2 and It seems like IPv6 still doesn't work in 75.2.
I also upgraded to 75.2SF. Works for me
 

helekip

New Around Here
Is there a reason uClibc is still on the old 0.9.33.2 instead of the newer uClibc-ng libraries? Also, have you tried compiling with musl given its various advantages? I still run into various issues building your firmware as-is no matter how much stackoverflow I google so I was thinking maybe you've played around with it more.
 

Voxel

Very Senior Member
I've just updated from 74.4 to 75.2 and It seems like IPv6 still doesn't work in 75.2.
Report from @microchip is close to ideal. Concrete package/program: and I know what does not work. Sorry but report from you is too general.

I do not exclude the possibility of other sleeping bugs of course. But let us be more precise. We make our life better all together.

Voxel.
 

Voxel

Very Senior Member
Is there a reason uClibc is still on the old 0.9.33.2 instead of the newer uClibc-ng libraries? Also, have you tried compiling with musl given its various advantages? I still run into various issues building your firmware as-is no matter how much stackoverflow I google so I was thinking maybe you've played around with it more.
Versions of uClibc are not compatible. If I change the version uClibc I have to recompile everything from the scratch. But I have to use some pre-build packages from NG/DNI (built with 0.9.33.2). I do not talk re: musl or glibc. I have to keep in my build the single advantage of the stock FW: hardware acceleration.

Voxel.
 

Budgeter

Occasional Visitor
Report from @microchip is close to ideal. Concrete package/program: and I know what does not work. Sorry but report from you is too general.

I do not exclude the possibility of other sleeping bugs of course. But let us be more precise. We make our life better all together.

Voxel.
Sorry because of that, but since I'm not that technical so I can't provide a precise bug report. What I can say now is, my IPv6 was working normally on 74.4, then it stops working on 75.2. Maybe someone else has the same problem like me can have a comment on it. As of now, I will revert back to 74.4.
 

Voxel

Very Senior Member
Sorry because of that, but since I'm not that technical so I can't provide a precise bug report. What I can say now is, my IPv6 was working normally on 74.4, then it stops working on 75.2. Maybe someone else has the same problem like me can have a comment on it. As of now, I will revert back to 74.4.
I had in mind that it would be good to have more detailed report.

Voxel.
 

e38BimmerFN

Very Senior Member
Try a reset with the router to see if this changes anything. If not, revert back to 74.4...
 

helekip

New Around Here
Versions of uClibc are not compatible. If I change the version uClibc I have to recompile everything from the scratch. But I have to use some pre-build packages from NG/DNI (built with 0.9.33.2). I do not talk re: musl or glibc. I have to keep in my build the single advantage of the stock FW: hardware acceleration.

Voxel.
Thanks for the information. Is there a specific reason this is built with soft float instead of pure hard float? I understand that softfp is still faster than soft but I was simply wondering why not just hard float as softfp still has some theoretical overhead even when using hardware fp
 

manup85

Occasional Visitor
Hello All, just double checking here. no factory reset and Kamoj addon still compatible right? thank you
 

Sign Up For SNBForums Daily Digest

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