Optimized build for the D-Link DIR-860L

Great work on the optimized builds and many thanks!

Your r12255 has been rock solid for me (using the router only as an AP, currently with 20+ days uptime) in terms of Wi-Fi speed and stability, whilst the last official openwrt build was quite buggy - frequent wi-fi issues, especially on the 5ghz band, requiring frequent reboots.


Same here, I'm using my DIR-860L as a smart switch + AP and 12255 is working quite good. Very stable and I'm also happy with the wifi performance (2.4 + 5GHz).

1 Like

I might have jumped the gun a bit....everything was rock solid until 5GHz started dying... with the following errors:

Mon Aug 10 19:32:48 2020 kern.err kernel: [589780.317390] mt76x2e 0000:01:00.0: MCU message 2 (seq 7) timed out
Mon Aug 10 19:32:48 2020 kern.info kernel: [589780.398664] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
Mon Aug 10 19:32:48 2020 kern.info kernel: [589780.409821] mt76x2e 0000:01:00.0: Build: 1
Mon Aug 10 19:32:48 2020 kern.info kernel: [589780.418195] mt76x2e 0000:01:00.0: Build Time: 201507311614____
Mon Aug 10 19:32:48 2020 kern.info kernel: [589780.447370] mt76x2e 0000:01:00.0: Firmware running!
Mon Aug 10 19:32:48 2020 kern.info kernel: [589780.467376] ieee80211 phy0: Hardware restart was requested

Any ideas?

Has anyone tried a "tickless" kernel and if so what were the performance results for forwarding/transfers/sqm?

My DIR-860L just failed upgrading to the latest snapshot from Jun 10 snapshot, which I am pretty sure is using DSA driver. Any idea how to do that without re-configure the whole device?

root@OpenWrt:/tmp# sysupgrade -v /tmp/openwrt-ramips-mt7621-dlink_dir-860l-b1-sq
Device dlink,dir-860l-b1 not supported by this image
Supported devices: dlink,dir-860l-b1 dir-860l-b1 - Image version mismatch: image 1.1, device 1.0. Please wipe config during upgrade (force required) or reinstall. Reason: Config cannot be migrated from swconfig to DSA (early adopters with DSA already set up may just force-flash keeping existing config)
Image check failed.

You cannot upgrade while keeping your configuration, since the DSA driver is not compatible with swconfig that was used earlier. Make a backup of your /etc/config folder so you can restore compatible settings after upgrading, but do NOT restore the network file, as that will softbrick your device.

1 Like

Pretty sure the snapshot I am using is already DSA driver enabled:

 OpenWrt SNAPSHOT, r13542-78e8360878
root@OpenWrt:~# uname -a
Linux OpenWrt 5.4.45 #0 SMP Wed Jun 10 23:49:24 2020 mips GNU/Linux

I am confused with the aformentioned warnings.

If you are sure, then it's probably a false positive. Just upgrade (without keeping settings so it actually works), and then restore all your configuration files. Do keep in mind that if it turns out your configuration is indeed not compatible, you might softbrick your device. Thankfully, the recovery on the DIR-860L is really solid. I have already recovered from softbricks on multiple occasions.

Fortunately I am be able to use just 'sysupgrade -F' to successfully upgrade and all settings kept.

Latest snapshot keeps the settings after reboot?

Can anyone comment in terms of 5GHz stability with the latest snapshot?
I'm still getting random errors on the 5GHz band with 12255, 2.4 appears to be rock solid....

Recent master build has updated mt76 which actually stabilized 5GHz for me.

I am currently using r14172-7ef7dbaf70 and happy with it.

1 Like

Question, do the latest master branches keep your configuration after a reboot?

Yes, no problem there.

@Bartvz this is the time for a new optimized build! :wink:

What about Hardware Acceleration in Master Build is it still broken?

Here it is, r14284. Massive updates to the ethernet code, kernel and WiFi driver. Unfortunately, there is no hardware offload anymore. For me not a problem since I use a 4G dongle to connect to the internet. Also, DSA is used in this build which means two things:

  • For the people using vlan(s), you will need to use/learn DSA.
  • For the people upgrading from a non-DSA build you will need to either start from scratch, backup and edit your old configuration (remove the vlan and WiFi bits) or force sysupgrade which to my knowledge cannot be done from LuCI.

There be dragons on the road so only upgrade if you have the time to troubleshoot any issues which might arise.
That being said imo the hardware has never worked better for me before. The only thing bothering me is the insanely high interrupt rate. Running build r14284 on my MIR3G for ~1 day and 4 hours and if I use: "cat /proc/interrupts" the following is printed:

           CPU0       CPU1       CPU2       CPU3
  8:   25632029   25632058   25632059   25632039  MIPS GIC Local   1  timer
  9:     477145          0          0          0  MIPS GIC  63  IPI call
 10:          0    1467020          0          0  MIPS GIC  64  IPI call
 11:          0          0    1064426          0  MIPS GIC  65  IPI call
 12:          0          0          0    1165229  MIPS GIC  66  IPI call
 13:   10748045          0          0          0  MIPS GIC  67  IPI resched
 14:          0   19466342          0          0  MIPS GIC  68  IPI resched
 15:          0          0    5723166          0  MIPS GIC  69  IPI resched
 16:          0          0          0   12036677  MIPS GIC  70  IPI resched
 17:          0          0          0          0  MIPS GIC  19  1e000600.gpio-bank0, 1e000600.gpio-bank1, 1e000600.gpio-bank2
 19:         17          0          0          0  MIPS GIC  33  ttyS0
 20:    9353927          0          0          0  MIPS GIC  29  xhci-hcd:usb1
 21:     592372          0          0          0  MIPS GIC  10  1e100000.ethernet
 23:       1632          0   25009224          0  MIPS GIC  11  mt7603e
 24:        947          0          0   15044694  MIPS GIC  31  mt76x2e
 26:          0          0          0          0  1e000600.gpio  18  keys
ERR:      14429

In your Build or generaly in the Master Build ?

Generally in the master branch

1 Like

IĀ“m in Master Branch should i use the Startup "echo e > /sys/class/net/eth0/queues/rx-0/rps_cpus" for packet steering instead of iqrbalance or can i use both ?