How to expand (use) all available flash? (openwrt shows 4MB instead of 16MB)

Hi there !
I have a buffalo WCR-1166-DS with openwrt 18.06.2.
I use it has a dumb AP only til now.

Today I wanted to play a bit and add some packages.
I checked available memory in Luci (System/software) it shows:

Free space: 87% ( 3.57 MB )

Woaw, that's not a lot :sweat_smile:

I had in mind the HW should have more, so I checked on internet and this router is supposed to have 16MB. See tech data here:

Also, I tried a dmesg and found this:
m25p80 spi0.0: w25q128 (16384 Kbytes)
(I assume this is the flash memory).

Is there any simple not too risky way to "expand" the system memory from 4 to 16MB ?

I really think you forgot that the firmware is flashed to the device too. So it's impossible that having 3.57 MB free means it's only recognizing 4MB.

Can you run df -h on the command line?

1 Like

The commit message for the WCR-1166-DS states

So you're looking at 8 MB of which, after firmware, you have roughly 4 MB available -- and that number is perfectly reasonable. Also, while it's not "a lot", it's also not "very little." A selection of all but the very expansive packages should fit fine, especially since you can't make huge leaps with 64 MB of RAM either.


Hi !

root@Buffalo:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 2.3M      2.3M         0 100% /rom
tmpfs                    29.5M    588.0K     28.9M   2% /tmp
/dev/mtdblock6            4.1M    564.0K      3.6M  13% /overlay
overlayfs:/overlay        4.1M    564.0K      3.6M  13% /
tmpfs                   512.0K         0    512.0K   0% /dev

I think you are right regarding firmware...
I'm discovering this:

I must admin I don't understand it all, but I assume there are some other partitions for firmware or whatever.

Following this link, I also see this, in dmesg:

[    1.064671] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    1.074062] 7 fixed-partitions partitions found on MTD device spi0.0
[    1.086651] Creating 7 MTD partitions on "spi0.0":
[    1.096138] 0x000000000000-0x000000030000 : "u-boot"
[    1.106985] 0x000000030000-0x000000040000 : "u-boot-env"
[    1.118397] 0x000000040000-0x000000050000 : "factory"
[    1.129306] 0x000000050000-0x000000810000 : "firmware"
[    1.143115] 2 trx-fw partitions found on MTD device firmware
[    1.154399] 0x00000005001c-0x0000001af28c : "kernel"
[    1.165147] 0x0000001af28c-0x000000810000 : "rootfs"
[    1.175829] mtd: device 5 (rootfs) set to be root filesystem
[    1.188602] 1 squashfs-split partitions found on MTD device rootfs
[    1.200907] 0x0000003f0000-0x000000810000 : "rootfs_data"
[    1.212516] 0x000000810000-0x000000fd0000 : "firmware2"
[    1.223772] 0x000000fd0000-0x000000fe0000 : "glbcfg"
[    1.234537] 0x000000fe0000-0x000000ff0000 : "board_data"


root@Buffalo:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 007c0000 00010000 "firmware"
mtd4: 0015f270 00010000 "kernel"
mtd5: 00660d74 00010000 "rootfs"
mtd6: 00420000 00010000 "rootfs_data"
mtd7: 007c0000 00010000 "firmware2"
mtd8: 00010000 00010000 "glbcfg"
mtd9: 00010000 00010000 "board_data"

does it mean there's nothing I can do ?

ha, just saw @takimata answer after sending my previous message...seems there is not so much to be done :slight_smile:

Got to check if I can do the job with 4MB

If you don't intend to run a web and database server or a torrenting box, you should be fine. Like I amended above, you will probably hit the RAM limit earlier than the flash limit.


If you do run into space problems, building packages into the ROM with either the image builder or from source compresses them by around a factor of two.

I agree that RAM is likely a concern running anything "big".

not a webserver :slight_smile:
I wanted to add bluetooth BLE support (usb dongle) (~1MB) and a python (1.5MB) + a few libs to run script that handle a sensor.
my ram is currently 61% full (idle, 2 stations connected on wifi).

:thinking: I wanted to use this device because it's close to the sensor, but maybe it's not a good choice...

(@takimata...greetings from France :wink: my router is Japanese, but I'm not, got it from ebay :yum:)

@jeff: I planned to use Luci to install software...or "opkg install" ...

"building packages into the ROM with either the image builder" => does it mean something like building my own image and reflash the router ?

Yes, exactly that. Don't be afraid, using the imagebuilder is easier than you think. :slight_smile:
And it's worth the effort, since you will "gain" precious flash space compared to installing via opkg.

1 Like

You are likely to have RAM exhaustion problems as well as not being able to fit it on even a 16 MB device (with an Archer C7v2 and 16 MB of flash, I could not get a "reasonable" Python install to fit).

Guys, I base all this discussion thinking about plugging a USB bluetooth dongle on the router.
In my mind, there was a usb port on it...but while trying to plug the dongle....Well....there is no USB on this device :sob::sob::sob::sob: (so stupid from me...)

Anyway, I learned several things here about memory! I think I will keep this device as dumb ap for the moment and consider a different one for my bluetooth playing...(with USB port!!! and with much better knowledge about RAM/flash size to consider)


This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.