TL/DR version is: you don’t. Use external AP with vendor-provided firmware to get stable and performant WiFi.
Long version: In general decoupling things like central network mini-servers/routers and disposable infrastructure elements like WiFi APs is a good idea. WiFi protocols get updated and WiFi security gets patched at a way faster pace compared to the speed upgrades we get at wired networking space. R2 is performant enough to be able to satisfy my routing and home server needs for approx 5-6 next years. On the other hand I had updated my 802.11n AP to 802.11ac AP in the end of last year and it is already sort-of obsolete as WiFi 6 (802.11ax) is on its way to public.
But even leaving this aside the built-in WiFi chip in R2 is known to be “brittle/tricky”: there are no upstream linux drivers for it, vendor-shipped drivers are buggy, AP setup process is non-standard, e.t.c. So better bet would be to get a mini-PCIEx WiFi module with a WiFI chipset that is known to be well-supported under linux and try your luck with it. I’ve seen reports on other forums of people having good results with external WiFi mini-PCIEx modules under Armbian. Try checking Armbian download/FAQ page for BPi R2 for more info.
I have been trying myself to no avail. Can you please share the exact steps you did?
I am not sure what do with what image and using dd to write the images to mmcblk1 is not working (I am on the R2 running ubuntu right now typing this).
Thanks frank, I actually already noticed this, I tried to flash on mmcblk1 as I noticed this was the only empty one, so this had to be the EMMC.
This is where I got a problem… I found in this link below the images, so I tried mtk-bpi-r2-preloader-emmc.bin
I also tried to dd this image:
I created a fat16 partition of 256 MB to flash the preloader (mmcblk1p1)
Then an ext4 partition of the rest of the storage to flash the image (mmcblk1p2)
I’m getting a bit lost here - where did you get a file named like this? There’s no such file produced when compiling OpenWRT from the fork this thread is about.
Thanks again frank I will try this (I don’t have it at home right now)
This may be my problem, I used gparted to create a partition table and then one fat16 partition for boot, one ext4 for the openwrt image… but those are p1 and p2, not sure how i can manage to create a “boot0” partition… What would be the command?
I don’t have any external hardware to test it, if this is what you refer to.
You are right, it is 18.06.4 from another thread… I tried to compile both other images and your code, using the official ubuntu on the R2 itself (on sd card) but both failed, so I figured I might as well try compiled images… If you have one for your fork I would love to try it!
I just check the commit sha for your OpenWRT branch and I see these results:
$ git describe
v18.06.2-bpir2-rc1
$ git rev-parse HEAD
2561dd6c4c3c4a14f0d3befd7b9240554af4f111
I’m not sure if these are the expected results as I see that they are different than what you provided. Or are those only some examples and not the real ones ?
I also looked into the git repository folder target/linux/mediatek/patches-4.14 and I did not see the file:
0027-net-next-mediatek-fix-DQL-support.patch
I just ran recently some speedtests and iperf and so far everything works fine (trace error did not appear).
Mine were examples - I just executed command on whatever local git working copy I’ve had at that moment. Yours are an exact match with the expected values.
As you’re reporting that you are not able to reproduce the problem lately I’m wondering are you still on the same image you were when been affected by the problem? If that’s the case then it seems that this problem might be triggered by something else in addition to the 0027-net-next-mediatek-fix-DQL-support.patch. For me I had never experienced it since the moment I dropped out this patch for good. But it does not mean that the kernel is bug-free - it might be that the problem is rare with 0027-net-next-mediatek-fix-DQL-support.patch dropped out and I’m being lucky not to hit it (yet).
Hey,
Thanks for such a lovely work and support for the R2.
I think you should update the checkout to the stable one as this is depreciated from your branch.
git checkout v18.06.2-bpir2-rc1, I used git checkout openwrt-18.06-bpir2
and in make menuconfig > I didnt change anything from this, except checked if its ext4 as mentioned.
Change this for normal users.
make -j16 to make -j(processor cores)
I had some missing dependencies and it was just shown as warning and it started to compile. Waiting for it to finish compiling then will update how successful it is.
make -j4
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libgnutls', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libopenldap', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libidn2', which does not exist
WARNING: Makefile 'package/network/utils/curl/Makefile' has a dependency on 'libssh2', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
time: target/linux/prereq#0.09#0.01#0.11
Should I install all the dependencies and then start again or let it continue? and how long does it normally take this to compile?
Error
`make -r world: build failed. Please re-run make with -j1 V=s or V=sc for a higher v
erbosity level to see what's going on
make: *** [/home/furkan/Downloads/Projects/BPI/R2/openwrt/openwrt/include/toplevel.m
k:218: world] Error 1
It’s not about you missing some deps on the build box, it is about mishaps/errors/misconfigs inside official upstream package feed. Some packages optionally may use some other packages (like curl may be compiled with libssh2 support, e.t.c.) but these other packages are not enabled by default and thus are not found. For the most part warnings like these are safe to ignore.