OpenWrt Forum Archive

Topic: davidc502 1900ac 3200acm builds

The content of this topic has been archived between 26 Feb 2018 and 7 May 2018. Unfortunately there are posts – most likely complete pages – missing.

grunt wrote:
starcms wrote:
grunt wrote:

I am also experiencing browser pages not able to load, and then quickly followed by the page loading. I am on 4.4 kernel r4470. Both my wired and wireless devices are experiencing this problem. At first i thought it was dnscrypt causing the problem. I switched some of my devices over to Google's DNS, but they are still experiencing this problem. I believe I started experiencing this problem on r4323. Maybe it was introduced in mwlwifi 10.3.4.0-20170606 but im guessing at this point.

I would like to try the latest wireless driver (20170713) on a 4.4 kernel build to see if the latest commits have addressed this problem. David, would you be able to build the latest 4.4 firmware image?

Not experiencing this problem at all, and never have.  Although I am on the latest 4.9 kernel build.


I noticed @bill1228 was describing I was experiencing so I wanted to state it for record purposes.

Are you using 4.9 on the mamba? If so do you still experience the reboot problem?

No, I'm on 4.9 on the caimen (1200AC).  But I'm 99.9% sure the reboot problem still exists with 4.9 and the mamba.  It must have to do with the mamba using the Armada XP SoC instead of the Armada 385 SoC like the rest of the models.

Honestly, if I had a mamba, I would make up some problem with it (or state a real problem such as overheating) and get Linksys to replace it for a 1900AC V2 (cobra).  Mamba has old SoC (Armada XP), slower clock speed SoC, an older model switch, the stupid fan, and doesn't work with kernel 4.9.  People who first invested in the WRT series and paid big bucks shouldn't be punished.  I'd force them to give me a refurb 1900AC V2 in place of the mamba. And if that didn't work (I know I could talk them into it), I'd sell the mamba on eBay and buy a cobra or shelby in it's place for probably only $10 or $20 price difference.

(Last edited by starcms on 14 Jul 2017, 18:26)

grunt wrote:

Do you know if i can just install the new wifi driver you just posted on top the 4.4 build?

Definitely, no.  The updated driver .ipk files that @david has recently posted will only work on @david's build of r4542.

Even if @david had released r4542 with kernel 4.4 for the mamba, he would also have to specifically build a new driver specifically for r4542 with kernel 4.4.  You still couldn't use the one he had posted.

Installing any of the updated driver .ipks on any build other than david's r4542 will result in the router not booting up fully, and most likely boot-looping 4 or 5 times until the secondary firmware image is loaded.

(Last edited by starcms on 14 Jul 2017, 18:39)

davidc502 wrote:
starcms wrote:
davidc502 wrote:

First attempt failed... No difference in VPN throughput.  Will try again tomorrow night.

Will go back through the steps, and compile again.

Thanks David!  Really excited to see this working with NEON support.  I still can't believe NEON has never been utilized by LEDE on the 1200/1900/3200.  For those who didn't read my prior posts, this will result in a big if not huge performance increase for all models except the mamba/1900ac v1 (which has the armada xp SoC which doesn't support NEON).

Also, you might want to test other things as well, such as openssl key generation time, to see if it is working.  According to the PR, it should greatly affect "OpenSSL, ffmpeg, Opus Codec, fftw, libpng, mpg123 to name a few"

I'm excited to getting it working as well....  Probably won't be able to work on it tonight as the wife says I've been working too much and wants to go out for Margaritas tonight...   So probably won't be too productive as she apparently has other plans.

So, will mark some time on Saturday afternoon.

No rush, but definitely check the discussion at https://github.com/lede-project/source/pull/1211 before you try again.  @Ansuel posted some advice which sounds like it is very important to getting this to work, and more helpful advice may be posted before you try again:

@diizzyy to enable that we also need to have CONFIG_VFP.
I FIND THIS... think we need to change target optimization option to use it
As i can see neon is utilized to parallelize instruction, but i think that we need to compile them in a particular way to actually utilize them

Separating NEON code from ordinary code

The compiler is not aware of the special significance of kernel_neon_begin() and
kernel_neon_end(), i.e., that it is only allowed to issue NEON/VFP instructions
between calls to these respective functions. Furthermore, GCC may generate NEON
instructions of its own at -O3 level if -mfpu=neon is selected, and even if the
kernel is currently compiled at -O2, future changes may result in NEON/VFP
instructions appearing in unexpected places if no special care is taken.

Therefore, the recommended and only supported way of using NEON/VFP in the
kernel is by adhering to the following rules:

isolate the NEON code in a separate compilation unit and compile it with
'-mfpu=neon -mfloat-abi=softfp';

issue the calls to kernel_neon_begin(), kernel_neon_end() as well as the calls
into the unit containing the NEON code from a compilation unit which is not
built with the GCC flag '-mfpu=neon' set.

As the kernel is compiled with '-msoft-float', the above will guarantee that
both NEON and VFP instructions will only ever appear in designated compilation
units at any optimization level.

I understood the commits in the PR, but this is getting over my head.  Hopefully you understand wink

(Last edited by starcms on 14 Jul 2017, 18:55)

So I went back to LEDE on both my 1900AC v2 and 3200 ACM, everything seems fairly stable (to include the installed driver that was recently posted for the 3200) except for one thing. I can get my 1900 v2 to connect to my 3200 in client mode, but it doesn't want to pass traffic at all. I don't have this issue when I do this with my 1900 v2 to my 1900 v1. I have been trying to figure why this is for the better part of 6 weeks or so. Any ideas? Would this have to do with the rampant driver issues with mlwifi?

starcms wrote:
davidc502 wrote:
starcms wrote:

Thanks David!  Really excited to see this working with NEON support.  I still can't believe NEON has never been utilized by LEDE on the 1200/1900/3200.  For those who didn't read my prior posts, this will result in a big if not huge performance increase for all models except the mamba/1900ac v1 (which has the armada xp SoC which doesn't support NEON).

Also, you might want to test other things as well, such as openssl key generation time, to see if it is working.  According to the PR, it should greatly affect "OpenSSL, ffmpeg, Opus Codec, fftw, libpng, mpg123 to name a few"

I'm excited to getting it working as well....  Probably won't be able to work on it tonight as the wife says I've been working too much and wants to go out for Margaritas tonight...   So probably won't be too productive as she apparently has other plans.

So, will mark some time on Saturday afternoon.

No rush, but definitely check the discussion at https://github.com/lede-project/source/pull/1211 before you try again.  @Ansuel posted some advice which sounds like it is very important to getting this to work, and more helpful advice may be posted before you try again:

@diizzyy to enable that we also need to have CONFIG_VFP.
I FIND THIS... think we need to change target optimization option to use it
As i can see neon is utilized to parallelize instruction, but i think that we need to compile them in a particular way to actually utilize them

Separating NEON code from ordinary code

The compiler is not aware of the special significance of kernel_neon_begin() and
kernel_neon_end(), i.e., that it is only allowed to issue NEON/VFP instructions
between calls to these respective functions. Furthermore, GCC may generate NEON
instructions of its own at -O3 level if -mfpu=neon is selected, and even if the
kernel is currently compiled at -O2, future changes may result in NEON/VFP
instructions appearing in unexpected places if no special care is taken.

Therefore, the recommended and only supported way of using NEON/VFP in the
kernel is by adhering to the following rules:

isolate the NEON code in a separate compilation unit and compile it with
'-mfpu=neon -mfloat-abi=softfp';

issue the calls to kernel_neon_begin(), kernel_neon_end() as well as the calls
into the unit containing the NEON code from a compilation unit which is not
built with the GCC flag '-mfpu=neon' set.

As the kernel is compiled with '-msoft-float', the above will guarantee that
both NEON and VFP instructions will only ever appear in designated compilation
units at any optimization level.

I understood the commits in the PR, but this is getting over my head.  Hopefully you understand wink

Over mine as well. Looks like we will need to let this develop a little further.

davidc502 wrote:

I'm excited to getting it working as well....  Probably won't be able to work on it tonight as the wife says I've been working too much and wants to go out for Margaritas tonight...   So probably won't be too productive as she apparently has other plans.

So, will mark some time on Saturday afternoon.

Good to have time with the wife. Happy Wife, Happy Life!

Looking forward to your new build as well. Current r4542 is running fine on my wrt3200.

davidc502 wrote:

Latest wifi driver for the 3200acm is now available. As a gentle reminder, 3200acm owners need to be on r4542 to test the new driver.

A big thank you as always to yuhhaurlin for the continuing improvement/work.


Been running for 21 hours with the latest driver without any kernel errors or router reboots.   Looks like yuhhaurlin's confidence was well founded!  Thanks to him and davidc502 for their quick turn around in getting us a more stable driver.

seahawk wrote:
davidc502 wrote:

Latest wifi driver for the 3200acm is now available. As a gentle reminder, 3200acm owners need to be on r4542 to test the new driver.

A big thank you as always to yuhhaurlin for the continuing improvement/work.


Been running for 21 hours with the latest driver without any kernel errors or router reboots.   Looks like yuhhaurlin's confidence was well founded!  Thanks to him and davidc502 for their quick turn around in getting us a more stable driver.

Also no kernel errors over here either, so is looking good. Thanks for the feedback.

Friends hiding please quote for a spoiler impossible to read

David you rock ! i left DDWRT and i'm so happy ! your pre build with adblock is just amazing ! smile thanks man !

my WRT1200AC V2 thank you as well ! smile

There's been a kernel bump for 4.9.x, so am in process of a new build.

Attempting to do "mvebu: Split into non vfpv3+neon and capable targets" commit again.

Would like some insight into the following as the explanation was poorly written in my opinion. "File renamed without changes."  However that doesn't appear to be the case. Appears to me we are copying the 000-Default.mk into another directory.

https://github.com/diizzyy/source/blob/ … Default.mk

I'm assuming we are to make 2 directories "armada_37x_xp/profiles" and copy the 000-Default.mk file from /mvebu/profiles/ directory.

Based on what I'm seeing, I'm doing it right, but would like another opinion.

(Last edited by davidc502 on 15 Jul 2017, 15:46)

Hi,
I could really use some advice.I am completely new to openwrt, in fact I haven't flashed the router yet. I have bought a linksys wrt 1900 acs. It appears to be a version 2 (as the sticker denotes). I've been researching openwrt quite a bit and each review or forum message I saw Helped me narrow my decision towards using this router. I notice that certain users have wifi problems and also that the wiki suggests that the version 2 has unsupported wifi drivers. I have a moderate amount of experience with Linux and using the command line as I use it for all my embedded projects on raspberry pi's.
My questions are:
1)is there a build that addresses the wifi issues with the version 2 router ? I am currently drawn to your build davidc502, as all the results from my searches return to your build.
2) is there any general advice apart from what's available in the wiki to help with my journey into openwrt.

Thank you in advance

Hey David,

Any chance you could use dnsmasq-full by default instead of dnsmasq? I use DNSSEC with dnscrypt-proxy, so when I upgrade to a new image, DHCP et al breaks because of invalid options for the regular dnsmasq. The difference is size is pretty small, so I don't think it would be a big deal for those who are using one of our target Linksys routers.

Also, does anyone know the best way to upgrade when you use an external USB drive for /overlay? Some Googling led me to think you want to unmount it, flash, and then remount, but I'm having a hard time conceptually understanding how that would work when I assume files on the USB drive would be at least partially incompatible with the new image. Any insight there?

timothyharrison2007 wrote:

1)is there a build that addresses the wifi issues with the version 2 router ? I am currently drawn to your build davidc502, as all the results from my searches return to your build.

Hey there @timothyharrison2007 I have the same router as you do, and I've been using David's OpenWRT then LEDE builds for a while. The wifi driver for 1900ACS has been working really well for me and seems to be mature enough to not worry much about catastrophic performance problems. Many of the recent driver updates have been aimed at getting the 3200ACM model in a better state, since that model has been having the most driver issues as of late. It's also true that Linksys jumped the gun by declaring these routers "open source ready" before their respective wifi drivers were fully functional on those open source platforms. I think others have noted that here and elsewhere.

timothyharrison2007 wrote:

2) is there any general advice apart from what's available in the wiki to help with my journey into openwrt.

Other than these forums, I have found a lot of helpful resources all over the Internet from others using OpenWRT or LEDE that show you how to do almost anything. It really just depends on what you need/want out of your router.



Thanks as always!

(Last edited by anymouse617 on 15 Jul 2017, 16:49)

timothyharrison2007 wrote:

Hi,
I could really use some advice.I am completely new to openwrt, in fact I haven't flashed the router yet. I have bought a linksys wrt 1900 acs. It appears to be a version 2 (as the sticker denotes). I've been researching openwrt quite a bit and each review or forum message I saw Helped me narrow my decision towards using this router. I notice that certain users have wifi problems and also that the wiki suggests that the version 2 has unsupported wifi drivers. I have a moderate amount of experience with Linux and using the command line as I use it for all my embedded projects on raspberry pi's.
My questions are:
1)is there a build that addresses the wifi issues with the version 2 router ? I am currently drawn to your build davidc502, as all the results from my searches return to your build.
2) is there any general advice apart from what's available in the wiki to help with my journey into openwrt.

Thank you in advance

Welcome timothyharrison2007,

The good news is you can try it, and if it doesn't work out, easily go back to the Factory firmware. There are 2 partitions, so when flashing LEDE from Factory, it writes to the 2nd partition, leaving the Factory Firmware in place. To go back to factory, just use the recovery method in the wiki.

As to the wifi driver, I also have the 1900acs, but is Version 1, but uses the same wifi driver as version 2. From what I understand the 2 are nearly identical except Version 2 has the Wifi power table on chip.

I've found the 1900acs wifi to be quite good, and comparable to the factory driver, and IMHO is a little better in my environment. Your experience may differ as the environment has so much to do with performance.

So, for your journey, it's good you have experience, and are handy with SSH as it can help immensely. The first step is getting familiar with the LuCi Gui, and getting the configuration the way you want it. From there, ssh and look around at the directory structure and where the configuration files are.

(Last edited by davidc502 on 15 Jul 2017, 16:54)

One way:

create a patch file with this in your buildroot.

./scripts/diffconfig.sh > configdiffPreNEON  //you will probably want to set aside this
vi neon.patch                             //copy and paste the patch above into file
git branch                                //just to list where your at, assume no branch
git checkout -b neonbuild origin/master   //create a branch for the patch
patch -p1 < neon.patch                    //apply the patch to your branch
make menuconfig                           //you will have to reset to one of the 2 new targets 370/380

git checkout master                       //to go back to your master branch
git branch -D neonbuild                   //delete the branch
git status                                //take a look at your current changes, you may have to clean up

One gotcha, check the current
  Advanced configuration*->Target Options->Target Optimizations
as it does not reset sometimes. You can just generate a diffconfig from your post patch config, delete the line in the file, and do a make defconfig;make oldconfig.

Built a couple days back against 4.9.37 fine for me.

I have the same router as you do, and I've been using David's OpenWRT then LEDE builds for a while. The wifi driver for 1900ACS has been working really well for me and seems to be mature enough to not worry much about catastrophic performance problems

Brilliant well im glad that you say it works well hopefully by tomorrow i will hav ea working openwrt router.

It really just depends on what you need/want out of your router.

Fortunately I don't need to do anything to impressive. Mainly its about securety,Flexibility and using opensource software. However I do want to use some custom scripts for presence detection on an OpenHab project.

 

As to the wifi driver, I also have the 1900acs, but is Version 1, but uses the same wifi driver as version 2. From what I understand the 2 are nearly identical except Version 2 has the Wifi power table on chip.

I've found the 1900acs wifi to be quite good, and comparable to the factory driver, and IMHO is a little better in my environment. Your experience may differ as the environment has so much to do with performance.

So, for your journey, it's good you have experience, and are handy with SSH as it can help immensely. The first step is getting familiar with the LuCi Gui, and getting the configuration the way you want it. From there, ssh and look around at the directory structure and where the configuration files are.

Thanks David & anymouse617 for the welcome and the advice this has boosted my confidence about settting up the router tomorrow. I shall return for further advice if i stumble across any problems.

New builds r4576 are now available for both Kernels - 4.9.37 and 4.4.x.


Changes with the Website.....
1. Removed the Wifi Warning for the 3200acm.
2. Added a Notification for the 1900acV1 dealing with the reboot issue.

(Last edited by davidc502 on 16 Jul 2017, 02:38)

Villeneuve wrote:

One way:

create a patch file with this in your buildroot.

./scripts/diffconfig.sh > configdiffPreNEON  //you will probably want to set aside this
vi neon.patch                             //copy and paste the patch above into file
git branch                                //just to list where your at, assume no branch
git checkout -b neonbuild origin/master   //create a branch for the patch
patch -p1 < neon.patch                    //apply the patch to your branch
make menuconfig                           //you will have to reset to one of the 2 new targets 370/380

git checkout master                       //to go back to your master branch
git branch -D neonbuild                   //delete the branch
git status                                //take a look at your current changes, you may have to clean up

One gotcha, check the current
  Advanced configuration*->Target Options->Target Optimizations
as it does not reset sometimes. You can just generate a diffconfig from your post patch config, delete the line in the file, and do a make defconfig;make oldconfig.

Built a couple days back against 4.9.37 fine for me.

Thanks for sharing... Will take a look.

Sat Jul 15 21:06:54 2017 daemon.info dnscrypt-proxy[1564]: dnscrypt-proxy Refetching server certificates
Sat Jul 15 21:06:54 2017 user.warn igmpproxy[2782]: The source address 192.168.0.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:06:55 2017 user.warn igmpproxy[2782]: The source address 20.20.20.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:07:10 2017 daemon.err dnscrypt-proxy[1564]: dnscrypt-proxy Unable to retrieve server certificates
Sat Jul 15 21:07:10 2017 user.warn igmpproxy[2782]: The source address 192.168.0.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:07:10 2017 user.warn igmpproxy[2782]: The source address 20.20.20.1 for group 239.255.255.250, is not in any valid net for upstream VIF. So this has been happening since a few commits ago, any ideas?

I have a basic question that i couldn't find in FAQ section. Is it safe to update to new Lede firmware from old Lede firmware? I mean if i do it, can I still use the official firmware in the other partition? or should I update to new firmware from official firmware partition like I always do in ddwrt firmwares? My router is 3200ACM.

musasm wrote:

I have a basic question that i couldn't find in FAQ section. Is it safe to update to new Lede firmware from old Lede firmware? I mean if i do it, can I still use the official firmware in the other partition? or should I update to new firmware from official firmware partition like I always do in ddwrt firmwares? My router is 3200ACM.

If you want to keep your official firmware you should update from from the official partition so it flashes to your secondary partition. Same as ddwrt firmwares. Firmware will always flash to the non-current partition.



EDIT

David, I got about 3 hours uptime on 4.9 kernel before reboot on r4576 for mamba.

(Last edited by grunt on 16 Jul 2017, 09:32)

jdc2389 wrote:

Sat Jul 15 21:06:54 2017 daemon.info dnscrypt-proxy[1564]: dnscrypt-proxy Refetching server certificates
Sat Jul 15 21:06:54 2017 user.warn igmpproxy[2782]: The source address 192.168.0.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:06:55 2017 user.warn igmpproxy[2782]: The source address 20.20.20.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:07:10 2017 daemon.err dnscrypt-proxy[1564]: dnscrypt-proxy Unable to retrieve server certificates
Sat Jul 15 21:07:10 2017 user.warn igmpproxy[2782]: The source address 192.168.0.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:07:10 2017 user.warn igmpproxy[2782]: The source address 20.20.20.1 for group 239.255.255.250, is not in any valid net for upstream VIF. So this has been happening since a few commits ago, any ideas?

I'm seeing these too, but not sure if it is impacting anything

Sun Jul 16 08:50:55 2017 daemon.info dnscrypt-proxy[1562]: dnscrypt-proxy Refetching server certificates
Sun Jul 16 08:51:10 2017 daemon.err dnscrypt-proxy[1562]: dnscrypt-proxy Unable to retrieve server certificates
Sun Jul 16 08:52:16 2017 daemon.info dnscrypt-proxy[1562]: dnscrypt-proxy Refetching server certificates
Sun Jul 16 08:52:31 2017 daemon.err dnscrypt-proxy[1562]: dnscrypt-proxy Unable to retrieve server certificates
zabolots wrote:
jdc2389 wrote:

Sat Jul 15 21:06:54 2017 daemon.info dnscrypt-proxy[1564]: dnscrypt-proxy Refetching server certificates
Sat Jul 15 21:06:54 2017 user.warn igmpproxy[2782]: The source address 192.168.0.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:06:55 2017 user.warn igmpproxy[2782]: The source address 20.20.20.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:07:10 2017 daemon.err dnscrypt-proxy[1564]: dnscrypt-proxy Unable to retrieve server certificates
Sat Jul 15 21:07:10 2017 user.warn igmpproxy[2782]: The source address 192.168.0.1 for group 239.255.255.250, is not in any valid net for upstream VIF.
Sat Jul 15 21:07:10 2017 user.warn igmpproxy[2782]: The source address 20.20.20.1 for group 239.255.255.250, is not in any valid net for upstream VIF. So this has been happening since a few commits ago, any ideas?

I'm seeing these too, but not sure if it is impacting anything

Sun Jul 16 08:50:55 2017 daemon.info dnscrypt-proxy[1562]: dnscrypt-proxy Refetching server certificates
Sun Jul 16 08:51:10 2017 daemon.err dnscrypt-proxy[1562]: dnscrypt-proxy Unable to retrieve server certificates
Sun Jul 16 08:52:16 2017 daemon.info dnscrypt-proxy[1562]: dnscrypt-proxy Refetching server certificates
Sun Jul 16 08:52:31 2017 daemon.err dnscrypt-proxy[1562]: dnscrypt-proxy Unable to retrieve server certificates

So far I've not seen those errors. 

This is who I am using - cs-ussouth2

Who are you guys connecting to?

(Last edited by davidc502 on 16 Jul 2017, 15:26)

Has anyone been able to get a NTFS formatted drive to work?
wrt1200ac v1

Security Related issue.

Due to the possibility of "Birthday attacks" on 64-bit block ciphers in TLS and OpenVPN, I've removed DES-CBC3 from the Apache TLS ciphers for the website. Feel free to read more about it --https://www.openssl.org/blog/blog/2016/08/24/sweet32/ and https://sweet32.info/

Who will this affect? Windows XP users and users running older browsers.

Due to the public nature of the data being served, the risk is minimal. However, I want to keep my site's security certification, and removing this vulnerability is required to keep that certification.