Bjoern Daehn <bjoern at daehn-online.net> writes: > Hello! > > Thanks for your response. > > I tried now setting "SANE_EPSON_CMD_LVL", but neither setting it to "D1" nor > unsetting it helps. It is still throwing the out-of-memory exception: > > [root at printserver root]$ SANE_DEBUG_EPSON=255 scanimage -L > [snip] > [epson] type D 0x44 > [epson] level 1 0x31 > [epson] type D 0x44 > [epson] level 1 0x31 > [epson] forced > [epson] no option equipment installed > [epson] out of memory (line 5959) > ... > > Does that mean, that it is running out of RAM or out of memory on the > scanner?
It's not a scanner issue. It's something with the backend. This is the code that triggers the message: s->hw->res_list_size = 0; s->hw->res_list = (SANE_Int *) calloc (s->hw->res_list_size, sizeof (SANE_Int)); if (NULL == s->hw->res_list) { DBG (1, "out of memory (line %d)\n", __LINE__); return SANE_STATUS_NO_MEM; } I'd be surprised if you run out of memory when trying to allocate zero bytes (but can't rule it completely out because there may be a bit of memory management going on behind the scenes). IIRC, you run with 32MB of memory on MIPS hardware. I have absolutely zero experience on that platform. What C library and which version are you using? Wild guess, but could it be that your calloc() short circuits when you request zero bytes? Hope this helps, > On 28.06.2007 5:56 Uhr, "Olaf Meeuwissen" <olaf.meeuwissen at avasys.jp> > wrote: > >> Bjoern Daehn <bjoern at daehn-online.net> writes: >> >>> Hello! >> >> Hello! >> >>> I trying to use an EPSON 640U with sane 1.0.18+cvs20061127-1. >>> >>> The platform is a WL500gp running Oleg?s firmware (Linux 2.4.20/mips). I >>> have sane-backend installed and ?scanner.o? module is recognizing the >>> scanner: >>> ... >>> scanner.c: USB scanner device (0x04b8/0x010c) now attached to scanner0 >>> scanner.c: 0.4.16:USB Scanner Driver >>> >>> sane-find-scanner results: >>> ... >>> found USB scanner (vendor=0x04b8, product=0x010c) at /dev/usb/scanner0 >>> ... >>> >>> Access rights to /dev/usb/scanner0 are fine ? a ?SANE_DEBUG_EPSON='255' >>> scanimage ?L? results: >>> >>> [snip] >>> [epson] type D 0x44 >>> [epson] level 1 0x31 >>> [epson] type 0x00 >>> [epson] level T 0x54 >>> [epson] forced >> >> Hmm, this looks suspicious. Have you set the SANE_EPSON_CMD_LVL >> environment variable? If so, unset it or set it to D1. Somehow the >> backend picks up a non-existent command level setting. Looking at the >> code (around line 5888) that only happens when that environment >> variable is set. >> >> Hope this helps, -- Olaf Meeuwissen FLOSS Engineer -- EPSON AVASYS Corporation FSF Associate Member #1962 sign up at http://member.fsf.org/ GnuPG key: 6BE37D90/AB6B 0D1F 99E7 1BF5 EB97 976A 16C7 F27D 6BE3 7D90 Penguin's lib! -- I hack, therefore I am -- LPIC-2