0

I'm trying to print to my Brother MFC-7820N via network printing on a Pogoplug with Arch Linux ARM installed on it. I'm using the BRScript3 CUPS driver that came in the distribution. When I try to print at 300 dpi, the print job processes forever but never returns an error or prints. When I switch to 600 dpi, the printer prints an error message and the CUPS log says this:

W [26/Nov/2013:22:00:06 -0600] [cups-driverd] Unable to execute "/usr/lib/cups/driver/foomatic": Cannot allocate memory
W [26/Nov/2013:22:00:06 -0600] [cups-driverd] Unable to execute "/usr/lib/cups/driver/gutenprint.5.2": Cannot allocate memory

The print job status within the CUPS web interface is "Filter failed."

Given that my system is a little embedded device, I might suspect the system doesn't have enough RAM to do the job, but about half the system memory (at least 55MB and sometimes quite a bit more) is free. Is it really a RAM issue? Is there any way to get around this issue? I don't have a swap drive since I'm running the system off of a USB flash drive.

UPDATE: The output of free is:

[root@alarm ~]# free
             total       used       free     shared    buffers     cached
Mem:        121924      50736      71188          0       9704      23568
-/+ buffers/cache:      17464     104460
Swap:            0          0          0

I know it is a bad idea, but I tried adding a swap image on the USB flash drive. That prevented the aforementioned error from occurring, but the device simply froze up.

4
  • About half should be ~256MB for that 512MB device. What is the output of free? It is the -/+ buffers/cache line that you want. Nov 27, 2013 at 4:44
  • Thanks, @wingedsubmariner. I've posted it above. This is a Series 4 device; it only has 128MB of RAM. Nov 27, 2013 at 4:51
  • 1
    Man, I think that was how much RAM my first Linux desktop had (well before CUPS!). That really does look like an out of memory issue. You could try setting up a swap, at least to test, or you could try turning on memory overcommit (run echo 1 > /proc/sys/vm/overcommit_memory). Note that with overcommit Linux will allow processes to ask for as much memory as they want but will start killing them when it runs out - this is likely to cause system instability. Nov 27, 2013 at 5:06
  • thanks @wingedsubmariner, I didn't know about overcommit_memory, that solved my problem with CUPS in a RPi.
    – gipi
    Aug 12, 2015 at 20:03

0

You must log in to answer this question.

Browse other questions tagged .