Modified firmware R7500v1 for use with Entware-ng and Debian

198 posts / 0 new
Last post
Voxel
Voxel's picture
UVC: There are some

UVC: There are some significant problems you can meet. Lack of necessary headers in kernel, etc. Because of relatively old version of kernel.

I'll try to build myself, you will test, OK? I am not sure in success...

Voxel.

casparpoon
casparpoon's picture
Hi Voxel,

Hi Voxel,

Thankyou so much. Just build it when you have spare time. I will test it afterwards...:)

Caspar

Voxel
Voxel's picture
casparpoon:

casparpoon:
 

https://yadi.sk/d/6E6mv0dP3ASeXA

ZIP with *.ko modules. To test you should load them from console, manually (by insmod). Order to load:
 

videodev
v4l2-int-device
v4l2-common
videobuf2-core
videobuf2-memops
videobuf2-vmalloc
uvcvideo
Well, it is add-on to firmware, but I had to change (a bit) kernel. So if you cannot load them by insmod, it will be necessary to re-compile whole firmware. I hope they will be loaded.

Please let me know results.

Voxel.

casparpoon
casparpoon's picture
Hi Voxel,

Hi Voxel,

Thankyou very much. The kernel modules work like a charm!

dmesg result:

usb 1-1: new high-speed USB device number 2 using xhci-hcd
usb 1-1: New USB device found, idVendor=0408, idProduct=2090
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1: Product: Astro HD Camera
usb 1-1: Manufacturer: QCM
INFO008C: Add device intf cc126c00, dev cd559000
INFO0BF9:  filter audio device
INFO008C: Add device intf cc127600, dev cd559000
INFO0BF9:  filter audio device
INFO008C: Add device intf cc126a00, dev cd559000
INFO0BF9:  filter audio device
INFO008C: Add device intf cc126000, dev cd559000
INFO0BF9:  filter audio device
INFO008C: Add device intf cc127200, dev cd559000
INFO0BF9:  filter audio device
Linux video capture interface: v2.00
uvcvideo: Found UVC 1.00 device Astro HD Camera (0408:2090)
uvcvideo: No streaming interface found for terminal 9.
input: Astro HD Camera as /devices/platform/ipq-dwc3.0/dwc3.0/xhci-hcd.0/usb1/1-1/1-1:1.0/input/input0
usbcore: registered new interface driver uvcvideo
USB Video Class driver (1.1.1)

 

Thanks again!

Caspar

Voxel
Voxel's picture
You are welcome, glad it

You are welcome, glad it works.

 

Voxel.

Roobaj
Roobaj's picture
I just updated my stock

I just updated my stock firmware to your version in hope of getting rid of the dreaded NAT Type: Unavailable on Xbox One. This issue is driving me crazy.

 

It usually goes away after a quick router reboot but it shouldn't be a problem in the first place. I tried Upnp, manually port forwarding, dmz...everything to no avail.

 

I know this isn't really your problem just venting at this router.

 

Anyway, I signed up to thank you and to tell you of this one issue currently:

 

I cannot update QOS database. Gives me Failed to download Detection Database. Please try again later message. This also happened with stock firmware but by pure luck it updated itself overnight. Should I be patient or any trick to this?

 

Regards.

Roobaj
Roobaj's picture
I am fairly noob to this so

I am fairly noob to this so hope there is an easy way to update QOS database. :(

Voxel
Voxel's picture
You know, Netgear set the

You know, Netgear set the status "End-of-Life" for R7500v1. I.e. no updates anymore. So IMO it is a reason.

 

You can try again, I know that sometimes my R7800 also fails to check updates.

Voxel.

 

Voxel
Voxel's picture
New version of my custom
New version of my custom firmware build: 1.0.1.13SF.
 
 
Changes (vs 1.0.1.12SF):
 
1.0.1.13SF
1. OpenSSL version is upgraded 1.0.2j->1.0.2k
2. OpenVPN version is upgraded 2.3.13->2.4.0.
3. ethtool version is upgraded 3.4.1->4.8.
4. e2fsprogs version is upgraded 1.43.1->1.43.3.
5. Changes in several scripts to use direct path to firmware /bin/opkg (to avoid conflicts with opkg from Entware).
6. dnscrypt-resolvers.csv is updated.
7. Toolchain: GCC compiler version is changed and its most recent OpenWRT & Debian patches are used.
8. Toolchain: yet two components are upgraded.
9. Host tools: three components are upgraded.
 
Thanks to Zdenkod and kylewu for testing.
 
Voxel.
 
Roobaj
Roobaj's picture
I kept trying for 2 days to

I kept trying for 2 days to update the QOS to no avail now. With your custom firmware, My Xbox One no longer gives me NAT Type Unavailable. Of course I cannot be 100% certain because it usually rears it's ugly head randomly. Knock on wood.

 

But now I only need to get this QOS sorted out. I will try your new firmware. Maybe it will go through with it.

 

If not, is there anything I can do to fix it? I am willing to be your guinea pig. I bought this cheap since it was on clearance but I sure didn't know I will get into this much trouble. Thankfully you are doing's god work so I really appreciate all the work you put into this. 

Roobaj
Roobaj's picture
Tried the new firmware. Still

Tried the new firmware. Still Failed to Download Detection Database. :(

Roobaj
Roobaj's picture
Is there no way to integrate

Is there no way to integrate the QOS Database with the firmware?

reiffert
reiffert's picture
Hi Voxel,

Hi Voxel,

I was trying your git R7500 tree but it's dying on openssl no matter if 1.0.2k or 1.0.2j:
I'm using the toolchain from R7500-and_qtn_gpl_src_V1.0.0.94.zip .. do you know what might go wrong here?

Thanks
Thomas

arm_uClibc-0.9.33.2_eabi/lib -L/home/thomas/voxel/staging_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/usr/lib -L/home/thomas/voxel/staging_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/lib -ldl -ldl
make[7]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[7]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[7]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[8]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[7]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[6]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
make[5]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/ssl'
making all in apps...
make[5]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/apps'
rm -f openssl
shlib_target=; if [ -n "libcrypto.so.1.0.0 libssl.so.1.0.0" ]; then \
        shlib_target="linux-shared"; \
elif [ -n "" ]; then \
  FIPSLD_CC="arm-openwrt-linux-uclibcgnueabi-gcc"; CC=/usr/local/ssl/fips-2.0/bin/fipsld; export CC FIPSLD_CC; \
fi; \
LIBRARIES="-L.. -lssl  -L.. -lcrypto" ; \
make -f ../Makefile.shared -e \
        APPNAME=openssl OBJECTS="openssl.o verify.o asn1pars.o req.o dgst.o dh.o dhparam.o enc.o passwd.o gendh.o errstr.o ca.o pkcs7.o crl2p7.o crl.o rsa.o rsautl.o dsa.o dsaparam.o ec.o ecparam.o x509.o genrsa.o gendsa.o genpkey.o s_server.o s_client.o speed.o s_time.o apps.o s_cb.o s_socket.o app_rand.o version.o sess_id.o ciphers.o nseq.o pkcs12.o pkcs8.o pkey.o pkeyparam.o pkeyutl.o spkac.o smime.o cms.o rand.o engine.o ocsp.o prime.o ts.o srp.o" \
        LIBDEPS=" $LIBRARIES -L/home/thomas/voxel/staging_dir/target-arm_uClibc-0.9.33.2_eabi/usr/lib -L/home/thomas/voxel/staging_dir/target-arm_uClibc-0.9.33.2_eabi/lib -L/home/thomas/voxel/staging_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/usr/lib -L/home/thomas/voxel/staging_dir/toolchain-arm_gcc-4.6-linaro_uClibc-0.9.33.2_eabi/lib -ldl -ldl" \
        link_app.${shlib_target}
make[6]: Entering directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/apps'
../libcrypto.so: undefined reference to `bsaes_ctr32_encrypt_blocks'
../libcrypto.so: undefined reference to `aes_v8_ctr32_encrypt_blocks'
../libcrypto.so: undefined reference to `_armv7_tick'
../libcrypto.so: undefined reference to `aes_v8_encrypt'
../libcrypto.so: undefined reference to `_armv7_neon_probe'
../libcrypto.so: undefined reference to `_armv8_pmull_probe'
../libcrypto.so: undefined reference to `bsaes_xts_encrypt'
../libcrypto.so: undefined reference to `bsaes_xts_decrypt'
../libcrypto.so: undefined reference to `_armv8_sha1_probe'
../libcrypto.so: undefined reference to `aes_v8_set_decrypt_key'
../libcrypto.so: undefined reference to `bsaes_cbc_encrypt'
../libcrypto.so: undefined reference to `aes_v8_set_encrypt_key'
../libcrypto.so: undefined reference to `gcm_ghash_neon'
../libcrypto.so: undefined reference to `aes_v8_cbc_encrypt'
../libcrypto.so: undefined reference to `gcm_gmult_neon'
../libcrypto.so: undefined reference to `aes_v8_decrypt'
../libcrypto.so: undefined reference to `_armv8_aes_probe'
../libcrypto.so: undefined reference to `gcm_init_neon'
../libcrypto.so: undefined reference to `_armv8_sha256_probe'
collect2: ld returned 1 exit status
../Makefile.shared:170: recipe for target 'link_app.gnu' failed
make[6]: *** [link_app.gnu] Error 1
make[6]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/apps'
Makefile:156: recipe for target 'openssl' failed
make[5]: *** [openssl] Error 2
make[5]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/apps'
Makefile:292: recipe for target 'build_apps' failed
make[4]: *** [build_apps] Error 1
make[4]: Leaving directory '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j'
Makefile:227: recipe for target '/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/.built' failed
make[3]: *** [/home/thomas/voxel/build_dir/target-arm_uClibc-0.9.33.2_eabi/openssl-1.0.2j/.built] Error 2
make[3]: Leaving directory '/home/thomas/voxel/package/openssl'
package/Makefile:105: recipe for target 'package/openssl/compile' failed
make[2]: *** [package/openssl/compile] Error 2
make[2]: Leaving directory '/home/thomas/voxel'
package/Makefile:101: recipe for target '/home/thomas/voxel/staging_dir/target-arm_uClibc-0.9.33.2_eabi/stamp/.package_compile' failed
make[1]: *** [/home/thomas/voxel/staging_dir/target-arm_uClibc-0.9.33.2_eabi/stamp/.package_compile] Error 2
make[1]: Leaving directory '/home/thomas/voxel'
/home/thomas/voxel/include/toplevel.mk:146: recipe for target 'world' failed
make: *** [world] Error 2
thomas@debian:~/voxel$
 
Voxel
Voxel's picture
Roobaj:

Roobaj:

I can continue in P.M.

Voxel.

Voxel
Voxel's picture
reiffert:

reiffert:

 

Hints:

You should either:

1. Change compiler options adding "-march=armv7-a" (but not compatible with Cortex-A15 options)

 

or
2. Correct OpenSSL makefiles/configs using your patches

or (as I do in my git)

3. Use "compile.sh" and asm-openssl-1.0.2k.tar. Look into compile.sh script.

 

;-)

Voxel.

 

 

Ziliboba (not verified)
Anonymous's picture
 
 
Hello! Or you can put a new firmware with revisions, but I do not know how it's done as described above.
Voxel
Voxel's picture
Sorry, I do not understand

Sorry, I do not understand your quiestion.

Voxel.

xXx
xXx's picture
Hi...

Hi...

 I would like to try installing your firmware on Linksys e8350, my only concern is if Quatenna firnware is compatible, do you have R7500v1 flash layout ?

Thanks.

Ziliboba (not verified)
Anonymous's picture
Sorry, I haven't understood

Sorry, I haven't understood how to establish your insertion though I am not a noob! Whether it is enough to stitch via the interface of a router your insertion of R7500-V1.0.1.14SF.img and to make dumping of a router or it is necessary still that to do that?

Voxel
Voxel's picture
It is enough to use WebGUI

It is enough to use WebGUI from your stock firmware to flash my build, the same as it would be a new stock firmware. And reset after this.
 

Voxel.

xpress7
xpress7's picture
Hi Voxel. Thanks for the

Hi Voxel. Thanks for the firmware. Bought this R7500 few days back.  Even with great hardware, this device is poor. Espicially the wifi signal. My Tenda router with single antenna is giving better signal than this beast with 4 horns. Don't know why.  And no proper custom firmware to customize my device. Thought I was doomed. I relaxed a bit after seeing your posts and how much you are active on this device.

Flashed your firmware, everything is working fine. Performance is good.

I observer few minor glitches in WebUI. In Attached Devices, if I enable Access Control, the table layout is broken.  ( It was working fine in stock  1.0.0.94, I used this frequently). 

 

Haven't tried SSH access yet, will try it to customize my router more. 

 

I have a few requests,

1. Is there anyway to add Wifi repeater mode to this mode? 

2. Is it possible to increase wifi singal?

 

Once again thanks for your hardwork and dedication. 

Voxel
Voxel's picture
xpress7:

xpress7:

1. Repeater: sorry, no. It is not included into stock firmware and too problematic to implement w/o access to full source codes. Some parts of Netgear GPL are closed.

2. Increase the TX power of signal. You know, in general I am against such stuffs. It is possible technically , but might violate the laws of your country, is bad for health etc. I would like to avoid my participation in this ;-) Try to contact robysax in P.M. 

Voxel.

Voxel
Voxel's picture
For those who use Entware:
For those who use Entware:
 
New version of Entware-3x (my build optimized for IPQ806x) is available to download:
 
 
Build 170221.
 
What's new:
1. Synchronized with LEDE and OpenWRT.
2. New toolchain is used with GCC 6.3.0 and glibc 2.25.
 
In my build:
1. Optimized for IPQ806x (compiler options).
2. Kernel 3.4.103 is used in compilation.
3. Few packages are upgraded to more recent versions.
4. OpenSSL asm acceleration is used.
5. OpenVPN is compiled with use of external LZ4 library v.1.7.5 (the last is added to packages)
 
Voxel.
 
nesham
nesham's picture
@Voxel    With R7500-V1.0.1

@Voxel    With R7500-V1.0.1.14SF.img internet speed is limited to max ~165Mb/s and with original firmware 1.0.0.94 goes to full speed of 500Mb/s.

Can You try to fix that?

Thanks in advance

Nebojsa

nesham
nesham's picture
[URL=http://www.speedtest.net
Voxel
Voxel's picture
nesham:

nesham:

Could you give me more info re: what connection did you test (wireless or cable) etc. Is it stable result, do you use the same host for testing?

BTW your images are not accessible.

Voxel.

VSG
VSG's picture
I corrected him links

I corrected him links

http://www.speedtest.net/result/6115805786.png

http://www.speedtest.net/my-result/6115053282

In addition, I can see that too does not work igmpproxy (IPoE)

 

nesham
nesham's picture
Tested cable connection. Yes,

Tested cable connection. Yes, stable result and same host in both tests.

Voxel
Voxel's picture
It sounds strange for me: LAN

It sounds strange for me: LAN provides 1000Mbit, but WAN not. Did you do full reset after flashing? Netgear's important notes to flash 1.0.0.94 over 1.0.0.82 was: obligatory reset because of changed drivers. I used 1.0.0.82 for my builds, so anyway, this reset. Also, 1.0.0.82 kernel version is 3.4.0, but 1.0.0.94 kernel version is 3.4.103.

Regarding fixing. Sorry:

 

1. I do not have such speed with my ISP.

2. I practically freeze suppot of R7500. I do not have R7500 anymore (I have changed it to R7800). Sorry.

Maximum what I can is renew some packages and ask somebody to test. So, VSG:  igmpproxy - also I cannot trace and test.

In general, if really problems with WAN connection, then the reason should be in ethernet driver. But driver from 3.4.103 is not workable in 3.4.0. 

 
Voxel.

nesham
nesham's picture
WAN is not problem. In QoS

WAN is not problem. In QoS Setup test gives 500/50Mb but over LAN maximum is 160/50. With 1.094 On both is 500/50.

Pages