Modify

Opened 3 years ago

Last modified 2 years ago

#18105 new defect

[Buffalo WBMR-HP-G300H] dsl_cpe_control: page allocation failures

Reported by: drsound Owned by: developers
Priority: normal Milestone:
Component: packages Version: Barrier Breaker 14.07
Keywords: Cc:

Description

Running OpenWrt Barrier Breaker 14.07 on a Buffalo WBMR-HP-G300H. I get several DSL disconnections a day due to dsl_cpe_control page allocation failures. I have this problem with vanilla OpenWRT (no extra memory hungry services installed). I got it with OpenWRT 12.09 too.

I'm using Annex A modem firmware:

  • kmod-ltq-adsl-ar9 - 3.10.49+3.24.4.4-1
  • kmod-ltq-adsl-ar9-fw-a - 0.1-1
  • kmod-ltq-adsl-ar9-mei - 3.10.49-1
  • ltq-adsl-app - 3.24.4.4-2
[278624.724000] leave showtime
[278624.724000] dsl_cpe_control: page allocation failure: order:4, mode:0x2000d0
[278624.732000] CPU: 0 PID: 21114 Comm: dsl_cpe_control Not tainted 3.10.49 #5
[278624.736000] Stack : 00000000 00000000 00000000 00000000 8044c50e 0000003e 83822e70 002000d0
[278624.736000]       8037e690 803dd273 0000527a 80443960 83822e70 002000d0 803d5098 8184bbd8
[278624.736000]       0000003f 802de3b0 00000000 801f64c0 00000000 00000000 8037fd50 8184bb2c
[278624.736000]       00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[278624.736000]       00000000 00000000 00000000 00000000 00000000 00000000 00000000 8184bab8
[278624.736000]       ...
[278624.772000] Call Trace:
[278624.776000] [<802455b0>] show_stack+0x48/0x70
[278624.780000] [<80301500>] warn_alloc_failed+0x104/0x128
[278624.784000] [<8002a2c4>] __alloc_pages_nodemask+0x3d0/0x680
[278624.792000] [<800985e8>] cache_alloc_refill+0x2d8/0x83c
[278624.796000] [<80048010>] __kmalloc+0x90/0x120
[278624.800000] [<83260dec>] DSL_BSP_FWDownload+0x148/0xab8 [ltq_mei_ar9]
[278624.808000] [<831b01ec>] DSL_DRV_DEV_FwDownload+0x104/0x288 [drv_dsl_cpe_api]
[278624.812000] [<831a30a8>] DSL_DRV_AutobootLoadFirmware+0x264/0x350 [drv_dsl_cpe_api]
[278624.820000] [<831a05b8>] DSL_DRV_IoctlHandleHelperCall+0xfc/0x184 [drv_dsl_cpe_api]
[278624.828000] [<831a2dc0>] DSL_DRV_IoctlHandle+0x56c/0x5f0 [drv_dsl_cpe_api]
[278624.836000] [<831a47b0>] DSL_DRV_ErrorToOS+0x11c/0x14c [drv_dsl_cpe_api]
[278624.844000] 
[278624.844000] Mem-Info:
[278624.848000] Normal per-cpu:
[278624.848000] CPU    0: hi:   18, btch:   3 usd:   0
[278624.856000] active_anon:1286 inactive_anon:1472 isolated_anon:0
[278624.856000]  active_file:1858 inactive_file:4224 isolated_file:0
[278624.856000]  unevictable:0 dirty:0 writeback:0 unstable:0
[278624.856000]  free:989 slab_reclaimable:516 slab_unreclaimable:2062
[278624.856000]  mapped:530 shmem:132 pagetables:74 bounce:0
[278624.856000]  free_cma:0
[278624.888000] Normal free:3956kB min:980kB low:1224kB high:1468kB active_anon:5144kB inactive_anon:5888kB active_file:7432kB inactive_file:16896kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:65536kB managed:60500kB mlocked:0kB dirty:0kB writeback:0kB mapped:2120kB shmem:528kB slab_reclaimable:2064kB slab_unreclaimable:8248kB kernel_stack:408kB pagetables:296kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[278624.928000] lowmem_reserve[]: 0 0
[278624.932000] Normal: 137*4kB (UEM) 130*8kB (UEM) 60*16kB (UEM) 44*32kB (M) 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 3956kB
[278624.944000] 6403 total pagecache pages
[278624.948000] 189 pages in swap cache
[278624.952000] Swap cache stats: add 22975, delete 22786, find 47203/48711
[278624.956000] Free swap  = 530492kB
[278624.960000] Total swap = 532692kB
[278624.968000] 16384 pages RAM
[278624.968000] 1214 pages reserved
[278624.972000] 266157 pages shared
[278624.976000] 11833 pages non-shared
[278624.980000] SLAB: Unable to allocate memory on node 0 (gfp=0xd0)
[278624.984000]   cache: kmalloc-65536, object size: 65536, order: 4
[278624.992000]   node 0: slabs: 25/25, objs: 25/25, free: 0
[278624.996000] [IFX_MEI_DFEMemoryAlloc 1519]: 4: kmalloc 65536 bytes memory fail!
[278625.004000] [DSL_BSP_FWDownload 1639]: Error: No memory space left.

Attachments (1)

alternate_dsl_firmwares.tar.xz (189.7 KB) - added by drsound 3 years ago.

Download all attachments as: .zip

Change History (17)

comment:1 Changed 3 years ago by angelos

Hi. I have a WBMR too and the ADSL part of it works fine in both AA and BB.
Maybe I can help if you tell me how to re-produce the problem...

comment:2 Changed 3 years ago by drsound

Thanks for your help. I want to remark that my ADSL generally works, just I get those annoying disconnects 4-5 times a day... always when I'm in a hurry in the middle of some work! ;-) Don't know how to reproduce the problem, as I said I got this with 12.09 and now with 14.07 too. I was hoping with 14.07 this would be gone. Now I have installed some extra packages, but I got it with a fresh 14.07 install too. Here is my /etc/config/network:

config interface 'loopback'
	option ifname 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'
	option ipv6 '0'

config interface 'lan'
	option force_link '1'
	option type 'bridge'
	option proto 'static'
	option netmask '255.255.255.0'
	option ifname 'eth0.1'
	option ipaddr '10.10.10.1'
	option delegate '0'
	option ipv6 '0'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '1'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '0t 2 3 4 5'

config atm-bridge 'atm'
	option encaps 'llc'
	option payload 'bridged'
	option vci '36'
	option vpi '8'

config interface 'wan'
	option ifname 'nas0'
	option proto 'pppoe'
	option ipv6 '0'
	option username '<HIDDEN>'
	option password '<HIDDEN>'
	option peerdns '0'
	option dns '8.8.8.8 8.8.4.4'

config adsl 'dsl'
	option fwannex 'a'
	option annex 'a2p'
	option firmware '/lib/firmware/adsl.bin'

comment:3 Changed 3 years ago by anonymous

I have this exact same issue on a custom build of BB (Bleeding Edge, r37864), but it "just" happens on reboot and a few times a week. I've wrapped the dsl monitoring/reconnect into a script so I can live with this, but I hoped on 14.07 it would have been stable.

[ 79.752000] dsl_cpe_control: page allocation failure: order:5, mode:0x2000d0
[ 79.756000] Call Trace:
[ 79.760000] [<80015e80>] dump_stack+0x8/0x34
[ 79.764000] [<8006935c>] warn_alloc_failed+0xe8/0x10c
[ 79.768000] [<8006bce0>] alloc_pages_nodemask+0x5fc/0x664
[ 79.776000] [<8009650c>] cache_alloc_refill+0x2f8/0x814
[ 79.780000] [<80096bdc>] kmem_cache_alloc+0x84/0xf8
[ 79.784000] [<82d910c0>] DSL_BSP_FWDownload+0x260/0x4a4 [ltq_mei_ar9]
[ 79.792000] [<82e0ff18>] DSL_DRV_DEV_FwDownload+0x104/0x27c [drv_dsl_cpe_api]
[ 79.796000] [<82e02720>] DSL_DRV_AutobootLoadFirmware+0x24c/0x340 [drv_dsl_cpe_api]
[ 79.804000] [<82e005b0>] DSL_DRV_IoctlHandleHelperCall+0x100/0x180 [drv_dsl_cpe_api]
[ 79.812000] [<82e03034>] DSL_DRV_IoctlHandle+0x538/0x5b8 [drv_dsl_cpe_api]
[ 79.820000] [<82e04710>] DSL_DRV_ErrorToOS+0x11c/0x14c [drv_dsl_cpe_api]
[ 79.828000]
[ 79.828000] Mem-Info:
[ 79.832000] Normal per-cpu:
[ 79.832000] CPU 0: hi: 18, btch: 3 usd: 0
[ 79.836000] active_anon:497 inactive_anon:549 isolated_anon:0
[ 79.836000] active_file:4505 inactive_file:4460 isolated_file:0
[ 79.836000] unevictable:0 dirty:6 writeback:0 unstable:0
[ 79.836000] free:309 slab_reclaimable:1233 slab_unreclaimable:1775
[ 79.836000] mapped:1090 shmem:102 pagetables:119 bounce:0
[ 79.836000] free_cma:0
[ 79.868000] Normal free:1236kB min:1016kB low:1268kB high:1524kB active_anon:1988kB inactive_anon:2196kB active_file:18020kB inactive_file:17840kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:65024kB managed:61072kB mlocked:0kB dirty:24kB writeback:0kB mapped:4360kB shmem:408kB slab_reclaimable:4932kB slab_unreclaimable:7100kB kernel_stack:576kB pagetables:476kB unstable:0kB bounce:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 79.912000] lowmem_reserve[]: 0 0
[ 79.912000] Normal: 33*4kB (UEMR) 38*8kB (UEMR) 16*16kB (UMR) 7*32kB (M) 3*64kB (M) 1*128kB (R) 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1236kB
[ 79.928000] 9066 total pagecache pages
[ 79.932000] 0 pages in swap cache
[ 79.932000] Swap cache stats: add 0, delete 0, find 0/0
[ 79.940000] Free swap = 262140kB
[ 79.944000] Total swap = 262140kB
[ 79.952000] 16384 pages RAM
[ 79.952000] 1075 pages reserved
[ 79.956000] 275031 pages shared
[ 79.960000] 6610 pages non-shared
[ 79.960000] SLAB: Unable to allocate memory on node 0 (gfp=0xd0)
[ 79.968000] cache: size-131072, object size: 131072, order: 5
[ 79.972000] node 0: slabs: 6/6, objs: 6/6, free: 0
[ 79.980000] [DSL_BSP_FWDownload 1644]: kmalloc memory fail!
[ 125.928000] [DSL_BSP_Showtime 894]: Datarate US intl = 509166, fast = 0
[ 125.936000] enter showtime, cell rate: 0 - 1200, 1 - 1200, xdata addr: 0x807c0000

comment:4 Changed 3 years ago by anonymous

This is a long-shot - I'm not certain that our problems are related, but I too was getting lots of dsl connections on a similar (lantiq) router configured for an Annex A connection. My problems (and their solution) are documented here:

http://openwrt.ebilan.co.uk/viewtopic.php?f=4&t=68

I hope that this helps you. With kind regards, Jaime

comment:5 follow-up: Changed 3 years ago by drsound

Previous comment gave me a good hint! Right now I'm testing a new DSL firmware. I've found it on this page:
http://www.xtremehardware.com/forum/showthread.php?t=44004
It's in Italian, Google Translate may help you. There are links for 3 firmwares:

  • modemhwe-4.5.3.14.1.1
  • xcpe_hw_ar9_a 4.5.4.2.1.1
  • dsl_ar9_firmware_adsl_a-04.05.04.09.01.01

The poster says he tested the first two and they are working. Right now I'm testing the third one (the newer). I will test this firmware for about a week and then I will report if I still get disconnects or not.

Last edited 3 years ago by drsound (previous) (diff)

comment:6 Changed 3 years ago by drsound

On a second thought, I prefer to post here the alternate firmwares because I don't know if the mega.co.nz links will last forever.

Last edited 3 years ago by drsound (previous) (diff)

Changed 3 years ago by drsound

comment:7 in reply to: ↑ 5 Changed 3 years ago by anonymous

Replying to drsound:

I will test this frmware for about a week and then I will report if I still get disconnects or not.

Good luck with the tests - I hope you find a more-stable dsl firmware, and I look forward to hearing the results. With kind regards, Jaime

comment:8 Changed 3 years ago by drsound

Ok, the test is over: the DSL firmware I've tested runs smoothly and I have no more problems! To resume, here is the fix:

  1. Download alternate_dsl_firmwares.tar.xz​ attached to this bug page
  2. Unpack it
  3. Copy dsl_ar9_firmware_adsl_a-04.05.04.09.01.01 to /tmp on your WBMR-HP-G300H, for example via scp
  4. Ssh to your WBMR-HP-G300H
  5. Overwrite your current DSL firmware with
    cp /tmp/dsl_ar9_firmware_adsl_a-04.05.04.09.01.01 /lib/firmware/ltq-dsl-fw-a-ar9.bin
    
  6. Reboot your WBMR-HP-G300H

Anyone knows how to get in touch with the kmod-ltq-adsl-ar9-fw-a package developers? So that I could ask them to change the firmware they are currently using.

comment:9 Changed 3 years ago by anonymous

Hey, that's great news - I'm pleased that you've succeeded in finding a dsl firmware that is stable for your connection. I realise that we're using different firmwares (your SoC is a Lantiq AR9 whereas mine is a Lantiq Danube), but it's interesting to note that the original/openwrt-supplied Danube firmware works perfectly for certain people while it's unstable for me. I guess the difference must be something to do with our respective providers' DSLAMs. With best wishes, Jaime

comment:10 follow-up: Changed 3 years ago by anonymous

Other question: where does the newer firmware come from? Why is it just posted on that mysterious Italian forum? And why does my dsl run stable though Im not having this firmware? My ISP has Annex B though and not A, though I am using kmod-ltq-adsl-ar9-fw-b which comes with the package. Im on r43332 and never had any problems with disconnects.

comment:11 follow-up: Changed 3 years ago by anonymous

And why is there just Annex A fw, where is the same version for Annex B? And should I update it if I dont have dcs?

comment:12 in reply to: ↑ 10 Changed 3 years ago by drsound

Replying to anonymous:

where does the newer firmware come from? Why is it just posted on that mysterious Italian forum?

Don't know where does it come from, we shold ask to the original poster on the Italian forum. I've tried to search on Google for the file name but I've found nothing more than that forum.

And why does my dsl run stable though Im not having this firmware? My ISP has Annex B though and not A, though I am using kmod-ltq-adsl-ar9-fw-b which comes with the package. Im on r43332 and never had any problems with disconnects.

I'm happy you already have a stable connection. But you are running on Annex B, maybe with Annex A you had problems too. I hadn't a stable connection and with this firmware I solved. So my suggestion is: if you are running original annex A firmware and you have a stable connection, keep it as it is! But if are expreriencing disconnections, then try this firmware.

comment:13 in reply to: ↑ 11 Changed 3 years ago by drsound

Replying to anonymous:

And why is there just Annex A fw, where is the same version for Annex B? And should I update it if I dont have dcs?

In Italy there isn't DSL over ISDN (annex B), just DSL over POTS (annex A), so it's clear why just annex A was posted on the Italian forum.

comment:14 Changed 2 years ago by anonymous

Can confirm this fixed my connection issues on a Netgear DGN3500

comment:15 Changed 2 years ago by Sergio

Hi. I can confirm that, after replacing the ADSL driver on my Netgear DGN3500, the PPPoE connection is rock solid. Its been over 30 hours without a single drop (it used to drop every 1~2 hours).
I'm using the dsl_ar9_firmware_adsl_a-04.05.04.09.01.01.bin file. I copied the file to the router (using scp) and then made the symbolic link on /lib/firmware/ads.bin to point to the new file. After rebooting is solved the problem. Great!

comment:16 Changed 2 years ago by haydude

Ever since I installed OpenWRT 15.05 on my WBMR-HP-G300H I have never been able to maintain an ADSL connection for longer than 15 minutes. The average was a drop and re-train after 4 minutes.

I was about to write off my experience with OpenWRT when I found this page.

I installed the latest firmware file included in the link above:
dsl_ar9_firmware_adsl_a-04.05.04.09.01.01.bin

Fantastic! No more ADSL line dropping every 5 minutes, in fact no more ADSL line dropping at all.

I am surprised OpenWRT includes such an old firmware file within the latest distribution.
I would like to add to the requests above to get it updated as soon as possible.

Thank you!

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.