Asus RT-AC87U Kernel Module Bug

My internet has been dropping a few times a week lately. I've been chalking it up to Comcast and shaking my fist angrily in the air while resetting the router and modem. Today I took a bit of extra time to drill into it and found something surprising. It seems it was the AC87U's fault this time. 

The Setup.

A kernel module named wred seems to be causing this problem. wred (weighted early random detection) in Linux seems to be a network scheduling module, although I'm not sure if this is a problem inherited from Linux or if Asus has modified this module.

Since there's still no Open-WRT option, I'll just send in feedback for now and hope its fixed in the next update. At least this only seems to happen a few times a week... How lucky can a fella get?

Symptoms:

  • No internet access
  • After disconnecting from the WI-FI, could not reconnect

Router Log Snippet:

May 19 10:48:11 kernel: BUG: scheduling while atomic: wred/893/0xffffff00
May 19 10:48:11 kernel: module: ct_notification bf7d7000 1684
May 19 10:48:11 kernel: module: bw_forward bf7b7000 93892
May 19 10:48:11 kernel: module: IDP bf72b000 529318
May 19 10:48:11 kernel: module: nf_nat_sip bf718000 5031
May 19 10:48:11 kernel: module: nf_conntrack_sip bf70f000 15713
May 19 10:48:11 kernel: module: nf_nat_h323 bf708000 4761
May 19 10:48:11 kernel: module: nf_conntrack_h323 bf6fa000 33807
May 19 10:48:11 kernel: module: nf_nat_rtsp bf6f4000 3202
May 19 10:48:11 kernel: module: nf_conntrack_rtsp bf6ee000 4067
May 19 10:48:11 kernel: module: nf_nat_ftp bf6e8000 1144
May 19 10:48:11 kernel: module: nf_conntrack_ftp bf6e1000 4909
May 19 10:48:11 kernel: module: ip6table_mangle bf6db000 934
May 19 10:48:11 kernel: module: xt_length bf6d5000 769
May 19 10:48:11 kernel: module: cdc_mbim bf6c3000 3129
May 19 10:48:11 kernel: module: qmi_wwan bf6bc000 5780
May 19 10:48:11 kernel: module: cdc_wdm bf6b5000 7248
May 19 10:48:11 kernel: module: cdc_ncm bf6ad000 8750
May 19 10:48:11 kernel: module: rndis_host bf6a6000 4936
May 19 10:48:11 kernel: module: cdc_ether bf6a0000 3187
May 19 10:48:11 kernel: module: asix bf698000 10832
May 19 10:48:11 kernel: module: usbnet bf68f000 11161
May 19 10:48:11 kernel: module: mii bf689000 3367
May 19 10:48:11 kernel: module: usblp bf681000 10317
May 19 10:48:11 kernel: module: ohci_hcd bf677000 17918
May 19 10:48:11 kernel: module: ehci_hcd bf66a000 31565
May 19 10:48:11 kernel: module: xhci_hcd bf657000 50352
May 19 10:48:11 kernel: module: thfsplus bf63a000 82029
May 19 10:48:11 kernel: module: tntfs bf5c0000 443780
May 19 10:48:11 kernel: module: tfat bf58b000 174489
May 19 10:48:11 kernel: module: ext2 bf577000 52768
May 19 10:48:11 kernel: module: ext4 bf536000 221662
May 19 10:48:11 kernel: module: jbd2 bf523000 48989
May 19 10:48:11 kernel: module: crc16 bf51d000 1007
May 19 10:48:11 kernel: module: ext3 bf4fb000 106401
May 19 10:48:11 kernel: module: jbd bf4ea000 42367
May 19 10:48:11 kernel: module: mbcache bf4e3000 4599
May 19 10:48:11 kernel: module: usb_storage bf4d4000 34110
May 19 10:48:11 kernel: module: sg bf4c9000 19823
May 19 10:48:11 kernel: module: sd_mod bf4bd000 21983
May 19 10:48:11 kernel: module: scsi_wait_scan bf4b7000 416
May 19 10:48:11 kernel: module: scsi_mod bf492000 108730
May 19 10:48:11 kernel: module: usbcore bf46f000 101794
May 19 10:48:11 kernel: module: ip6t_LOG bf468000 4494
May 19 10:48:11 kernel: module: ip6table_filter bf462000 750
May 19 10:48:11 kernel: module: jffs2 bf444000 91266
May 19 10:48:11 kernel: module: zlib_deflate bf43a000 19489
May 19 10:48:11 kernel: module: wl bf031000 3978595
May 19 10:48:11 kernel: module: igs bf029000 11887
May 19 10:48:11 kernel: module: emf bf020000 15145
May 19 10:48:11 kernel: module: et bf00a000 61221
May 19 10:48:11 kernel: module: ctf bf000000 20227
May 19 10:48:11 kernel: Modules linked in: ct_notification bw_forward(P) IDP(P) nf_nat_sip nf_conntrack_sip nf_nat_h323 nf_conntrack_h323 nf_nat_rtsp nf_conntrack_rtsp nf_nat_ftp nf_conntrack_ftp ip6table_mangle xt_length cdc_mbim qmi_wwan cdc_wdm cdc_ncm rndis_host cdc_ether asix usbnet mii usblp ohci_hcd ehci_hcd xhci_hcd thfsplus tntfs(P) tfat(P) ext2 ext4 jbd2 crc16 ext3 jbd mbcache usb_storage sg sd_mod scsi_wait_scan scsi_mod usbcore ip6t_LOG ip6table_filter jffs2 zlib_deflate wl(P) igs(P) emf(P)
May 19 10:48:11 kernel: [] (unwind_backtrace+0x0/0xf8) from [] (schedule+0x434/0x75c)
May 19 10:48:11 kernel: [] (schedule+0x434/0x75c) from [] (sys_rt_sigsuspend+0xcc/0x108)
May 19 10:48:11 kernel: [] (sys_rt_sigsuspend+0xcc/0x108) from [] (ret_fast_syscall+0x0/0x30)