# cups does not work with raw drivers

## Gh0str1d3r

Hi,

I already struggled for hours installing a network printer that uses raw drivers. It simply does not work! I installed the gutenprint drivers with all useflags set, which also installed the correct driver. However, when I try to print a test page from the cups interface (localhost:631), I get an error message like

```

could not send the job to the printer driver:

Format „application/vnd.cups-command“ not supported
```

in the error log file, two new entries emerge:

```

E [06/Oct/2010:13:59:46 +0200] Unable to open listen socket for address :::631 - Address family not supported by protocol.

E [06/Oct/2010:14:00:04 +0200] Returning IPP client-error-document-format-not-supported for Send-Document (ipp://localhost:631/printers/testprinter) from localhost
```

I followed the gentoo manual, which seems to me a bit outdated since the files

```
/etc/cups/mime.types

/etc/cups/mime.convs
```

do not exist on my machine. However, I created them with the suggested entry, and the problem remains. On Ubuntu, the correct driver is found automatically and everything works....

----------

## gerard27

In /etc/cups/mime-types do you have a line 

```

application/vnd.cups-command    string(0,'#CUPS-COMMAND')
```

If so do you have something like 

```

commandtoepson
```

in /usr/libexec/cups/filter?

Gerard.

----------

## Gh0str1d3r

first I did not have, but I added it. still it does not work. second thing is there. however, there might be a problem:

```
ls -l /usr/libexec/cups/filter/

insgesamt 1160

-rwxr-xr-x 1 root root  39456 12. Sep 20:56 bannertops*

-rwxr-xr-x 1 root root  10232  6. Okt 12:11 commandtocanon*

-rwxr-xr-x 1 root root  10248  6. Okt 12:11 commandtoepson*

-rwxr-xr-x 1 root root  10288 12. Sep 20:56 commandtoescpx*

-rwxr-xr-x 1 root root  10264 12. Sep 20:56 commandtopclx*

-rwxr-xr-x 1 root root  10336 12. Sep 20:56 commandtops*

lrwxrwxrwx 1 root root     21  6. Okt 11:19 cupsomatic -> /usr/bin/foomatic-rip*

lrwxrwxrwx 1 root root     27  6. Okt 11:19 foomatic-gswrapper -> /usr/bin/foomatic-gswrapper

lrwxrwxrwx 1 root root     21  6. Okt 11:19 foomatic-rip -> /usr/bin/foomatic-rip*

-rwxr-xr-x 1 root root  10272 12. Sep 20:56 gziptoany*

-rwxr-xr-x 1 root root  56696 12. Sep 20:56 hpgltops*

-rwxr-xr-x 1 root root  31168 12. Sep 20:56 imagetops*

-rwxr-xr-x 1 root root  61208 12. Sep 20:56 imagetoraster*

-rwxr-xr-x 1 root root  22816 12. Sep 20:56 pdftops*

-rwxr-xr-x 1 root root  18696  8. Sep 11:22 pdftoraster*

-rwxr-xr-x 1 root root  51696 12. Sep 20:56 pstops*

-rwxr-xr-x 1 root root   6414  8. Sep 11:22 pstopxl*

-rwxr-xr-x 1 root root   1874  8. Sep 11:22 pstoraster*

lrwxrwxrwx 1 root root     13 12. Sep 20:56 rastertodymo -> rastertolabel*

-rwxr-xr-x 1 root root  18600 12. Sep 20:56 rastertoepson*

-rwxr-xr-x 1 root root  35200 12. Sep 20:56 rastertoescpx*

-rwxr-xr-x 1 root root 610312  6. Okt 12:11 rastertogutenprint.5.2*

-rwxr-xr-x 1 root root  18576 12. Sep 20:56 rastertohp*

-rwxr-xr-x 1 root root  22808 12. Sep 20:56 rastertolabel*

-rwxr-xr-x 1 root root  35192 12. Sep 20:56 rastertopclx*

-rwxr-xr-x 1 root root  54880 12. Sep 20:56 texttops*

```

and

```
/usr/bin/foomatic-gswrapper
```

does not exist. But no idea where I could get it from.

----------

## gerard27

I use gutenprint for a normal Epson printer so I have no experience with raw printers.

However if you don't have "net-print/foomatic-filters-ppds" installed it might be worth a try.

You should have "cups" in your use flags and it might be necessary to re-emerge cups.

Gerard.

Edit: The file mime.convs contains a line at the bottom tha should be uncommented for raw files.

----------

## Gh0str1d3r

ok, problem got solved meanwhile. I can't really tell, what the solution is, but in fact, normal printing now works. The testpage still doesn't, same error as before.

thanks a lot gerard82 for your help. Maybe one last thing: can you (or someone else) post the content of your

```
/etc/cups/mime.types

/etc/cups/mime.convs
```

since these files simply did not exist on my machine, so there was nothing come decomment out.

----------

## gerard27

Hi Gh0str1d3r,

Here are mine:

```

#

# "$Id: mime.convs.in 8676 2009-05-22 19:30:50Z mike $"

#

#   DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW

#   VERSIONS OF CUPS.  Instead, create a "local.convs" file that

#   reflects your local configuration changes.

#

#   MIME converts file for the Common UNIX Printing System (CUPS).

#

#   Copyright 2007-2009 by Apple Inc.

#   Copyright 1997-2007 by Easy Software Products.

#

#   These coded instructions, statements, and computer programs are the

#   property of Apple Inc. and are protected by Federal copyright

#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"

#   which should have been included with this file.  If this file is

#   file is missing or damaged, see the license at "http://www.cups.org/".

#

########################################################################

#

# Format of Lines:

#

#   source/type destination/type cost filter

#

# General Notes:

#

#   The "cost" field is used to find the least costly filters to run

#   when converting a job file to a printable format.

#

#   All filters *must* accept the standard command-line arguments

#   (job-id, user, title, copies, options, [filename or stdin]) to

#   work with CUPS.

#

########################################################################

#

# PostScript filters

#

application/pdf      application/vnd.cups-postscript   66   pdftops

application/postscript   application/vnd.cups-postscript   66   pstops

application/vnd.hp-HPGL   application/postscript   66   hpgltops

application/x-cshell   application/postscript   33   texttops

application/x-csource   application/postscript   33   texttops

application/x-perl   application/postscript   33   texttops

application/x-shell   application/postscript   33   texttops

text/plain      application/postscript   33   texttops

text/html      application/postscript   33   texttops

image/gif      application/vnd.cups-postscript   66   imagetops

image/png      application/vnd.cups-postscript   66   imagetops

image/jpeg      application/vnd.cups-postscript   66   imagetops

image/tiff      application/vnd.cups-postscript   66   imagetops

image/x-bitmap      application/vnd.cups-postscript   66   imagetops

image/x-photocd      application/vnd.cups-postscript   66   imagetops

image/x-portable-anymap   application/vnd.cups-postscript   66   imagetops

image/x-portable-bitmap   application/vnd.cups-postscript   66   imagetops

image/x-portable-graymap application/vnd.cups-postscript   66   imagetops

image/x-portable-pixmap   application/vnd.cups-postscript   66   imagetops

image/x-sgi-rgb      application/vnd.cups-postscript   66   imagetops

image/x-xbitmap      application/vnd.cups-postscript   66   imagetops

image/x-xpixmap      application/vnd.cups-postscript   66   imagetops

#image/x-xwindowdump   application/vnd.cups-postscript   66   imagetops

image/x-sun-raster   application/vnd.cups-postscript   66   imagetops

########################################################################

#

# Form filter...

#

# This filter does not currently exist, but the file format is defined

# in the IDD and registered with the IANA for future use...

#

#application/vnd.cups-form application/vnd.cups-postscript 33 formtops

########################################################################

#

# Raster filters...

#

image/gif      application/vnd.cups-raster   100   imagetoraster

image/png      application/vnd.cups-raster   100   imagetoraster

image/jpeg      application/vnd.cups-raster   100   imagetoraster

image/tiff      application/vnd.cups-raster   100   imagetoraster

image/x-bitmap      application/vnd.cups-raster   100   imagetoraster

image/x-photocd      application/vnd.cups-raster   100   imagetoraster

image/x-portable-anymap   application/vnd.cups-raster   100   imagetoraster

image/x-portable-bitmap   application/vnd.cups-raster   100   imagetoraster

image/x-portable-graymap application/vnd.cups-raster   100   imagetoraster

image/x-portable-pixmap   application/vnd.cups-raster   100   imagetoraster

image/x-sgi-rgb      application/vnd.cups-raster   100   imagetoraster

image/x-xbitmap      application/vnd.cups-raster   100   imagetoraster

image/x-xpixmap      application/vnd.cups-raster   100   imagetoraster

#image/x-xwindowdump   application/vnd.cups-raster   100   imagetoraster

image/x-sun-raster   application/vnd.cups-raster   100   imagetoraster

# pstoraster is part of GPL Ghostscript...

application/vnd.cups-postscript   application/vnd.cups-raster   100   pstoraster

########################################################################

#

# Raw filter...

#

# Uncomment the following filter to allow printing of arbitrary files

# without the -oraw option.

#

#application/octet-stream   application/vnd.cups-raw   0   -

#

# End of "$Id: mime.convs.in 8676 2009-05-22 19:30:50Z mike $".

#

```

```

#

# "$Id: mime.types 6649 2007-07-11 21:46:42Z mike $"

#

#   MIME types file for the Common UNIX Printing System (CUPS).

#

#   DO NOT EDIT THIS FILE, AS IT IS OVERWRITTEN WHEN YOU INSTALL NEW

#   VERSIONS OF CUPS.  Instead, create a "local.types" file that

#   reflects your local configuration changes.

#

#   Copyright 2007 by Apple Inc.

#   Copyright 1997-2007 by Easy Software Products.

#

#   These coded instructions, statements, and computer programs are the

#   property of Apple Inc. and are protected by Federal copyright

#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"

#   which should have been included with this file.  If this file is

#   file is missing or damaged, see the license at "http://www.cups.org/".

#

########################################################################

#

# Format of Lines:

#

#   super/type rules

#

# "rules" can be any combination of:

#

#   ( expr )            Parenthesis for expression grouping

#   +               Logical AND

#   , or whitespace         Logical OR

#   !               Logical NOT

#   match("pattern")         Pattern match on filename

#   extension            Pattern match on "*.extension"

#   ascii(offset,length)      True if bytes are valid printable ASCII

#               (CR, NL, TAB, BS, 32-126)

#   printable(offset,length)      True if bytes are printable 8-bit chars

#               (CR, NL, TAB, BS, 32-126, 128-254)

#   string(offset,"string")      True if bytes are identical to string

#   istring(offset,"string")      True if bytes are identical to

#                                       case-insensitive string

#   char(offset,value)         True if byte is identical

#   short(offset,value)         True if 16-bit integer is identical

#   int(offset,value)         True if 32-bit integer is identical

#   locale("string")                    True if current locale matches string

#   contains(offset,range,"string")   True if the range contains the string

#

# General Notes:

#

#   MIME type names are case-insensitive.  Internally they are converted

#   to lowercase.  Multiple occurrences of a type will cause the provided

#   rules to be appended to the existing definition.  Type names are sorted

#   in ascending order, so if two types use the same rules to resolve a type

#   (e.g. doc extension for two types), the returned type will be the first

#   type in the sorted list.

#

#   The "printable" rule differs from the "ascii" rule in that it also

#   accepts 8-bit characters in the range 128-255.

#

#   String constants must be surrounded by "" if they contain whitespace.

#   To insert binary data into a string, use the <hex> notation.

#

########################################################################

#

# Application-generated files...

#

#application/msword      doc string(0,<D0CF11E0A1B11AE1>)

application/pdf         pdf string(0,%PDF)

application/postscript      ai eps ps string(0,%!) string(0,<04>%!) \

            contains(0,128,<1B>%-12345X) + \

            (contains(0,4096,"LANGUAGE=POSTSCRIPT") \

             contains(0,4096,"LANGUAGE = Postscript") \

             contains(0,4096,"LANGUAGE = PostScript") \

             contains(0,4096,"LANGUAGE = POSTSCRIPT") \

             (contains(0,4096,<0a>%!) + \

              !contains(0,4096,"ENTER LANGUAGE")))

application/vnd.hp-HPGL      hpgl \

            string(0,<1B>E<1B>%0B) \

            string(0,<1B>%-1B) string(0,<201B>)\

            string(0,BP;) string(0,IN;) string(0,DF;) \

            string(0,BPINPS;) \

            (contains(0,128,<1B>%-12345X) + \

             (contains(0,4096,"LANGUAGE=HPGL") \

              contains(0,4096,"LANGUAGE = HPGL")))

########################################################################

#

# Image files...

#

image/gif         gif string(0,GIF87a) string(0,GIF89a)

image/png         png string(0,<89>PNG)

image/jpeg         jpeg jpg jpe string(0,<FFD8FF>) &&\

            (char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\

             char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\

             char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\

             char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))

image/tiff         tiff tif string(0,MM<002A>) string(0,II<2A00>)

image/x-photocd         pcd string(2048,PCD_IPI)

image/x-portable-anymap      pnm

image/x-portable-bitmap      pbm string(0,P1) string(0,P4)

image/x-portable-graymap   pgm string(0,P2) string(0,P5)

image/x-portable-pixmap      ppm string(0,P3) string(0,P6)

image/x-sgi-rgb         rgb sgi bw icon short(0,474)

image/x-xbitmap         xbm

image/x-xpixmap         xpm ascii(0,1024) + string(3,"XPM")

#image/x-xwindowdump      xwd string(4,<00000007>)

image/x-sun-raster      ras string(0,<59a66a95>)

#image/fpx         fpx

image/x-alias         pix short(8,8) short(8,24)

image/x-bitmap         bmp string(0,BM) && !printable(2,14)

image/x-icon         ico

########################################################################

#

# Text files...

#

application/x-cshell      csh printable(0,1024) + string(0,#!) +\

            (contains(2,80,/csh) contains(2,80,/tcsh))

application/x-perl      pl printable(0,1024) + string(0,#!) +\

            contains(2,80,/perl)

application/x-shell      sh printable(0,1024) + string(0,#!) +\

            (contains(2,80,/bash) contains(2,80,/ksh)\

             contains(2,80,/sh) contains(2,80,/zsh))

application/x-csource      c cxx cpp cc C h hpp \

            printable(0,1024) + \

            (string(0,/*) string(0,//)

             string(0,#include) contains(0,1024,<0a>#include) \

             string(0,#define) contains(0,1024,<0a>#define))

text/html         html htm printable(0,1024) +\

            (istring(0,"<HTML>") istring(0,"<!DOCTYPE"))

text/plain         txt printable(0,1024)

text/css         css

########################################################################

#

# RSS feed type...

#

application/rss+xml      rss

########################################################################

#

# CUPS-specific types...

#

application/vnd.cups-command   string(0,'#CUPS-COMMAND')

application/vnd.cups-form   string(0,"<CUPSFORM>")

application/vnd.cups-pdf

application/vnd.cups-postscript

application/vnd.cups-ppd   ppd string(0,"*PPD-Adobe:")

application/vnd.cups-raster   string(0,"RaSt") string(0,"tSaR")

application/vnd.cups-raw   (string(0,<1B>E) + !string(2,<1B>%0B)) \

            string(0,<1B>@) \

            (contains(0,128,<1B>%-12345X) + \

             (contains(0,4096,"LANGUAGE=PCL") \

              contains(0,4096,"LANGUAGE = PCL")))

########################################################################

#

# Raw print file support...

#

# Comment the following type to prevent raw file printing.

#

application/octet-stream

#

# End of "$Id: mime.types 6649 2007-07-11 21:46:42Z mike $".

#

```

Hope it solves your problems.

Gerard.

----------

## Gh0str1d3r

thank you gerard82. I just reinstalled cups (1.4.4) and checked if these files were then installed. By that, I found out that they are just in a new location:

```
 /usr/share/cups/mime/mime.convs

/usr/share/cups/mime/mime.types
```

I will fill a bugreport to ask to include this in the documentation.

----------

## cach0rr0

I don't know if it's related, but:

```

E [06/Oct/2010:13:59:46 +0200] Unable to open listen socket for address :::631 - Address family not supported by protocol. 

```

it is trying to bind to ipv6 

Try changing /etc/cups/cupsd.conf to be:

```

Listen 127.0.0.1:631

```

instead of localhost:631 (or whatever)

Just a guess, I would be surprised if cupsd didn't simply ignore this error and bind only to ipv4, but who knows.

If this is unrelated, please ignore, I don't use cups, so I'm making guesses  :Smile: 

----------

## gerard27

I use net-print/cups-1.3.11-r2.

Tried 1.4.4 but it gave me lots of problems.

Gerard.

Edit: 1.4.4 is still masked.

----------

## Gh0str1d3r

 *gerard82 wrote:*   

> I use net-print/cups-1.3.11-r2.
> 
> Tried 1.4.4 but it gave me lots of problems.
> 
> Gerard.
> ...

 

I am running testing (~amd64) system. 

Thanks cach0rr0 for the comment, I will try that.

----------

