OpenPrinting / cups-filters

filters, backends, driverless utility, ... - Everything which CUPS 2.x needs to be used on non-Mac systems
Apache License 2.0
162 stars 126 forks source link

Driverless Canon MF237W (MF230 series) #486

Closed volodalexey closed 1 year ago

volodalexey commented 2 years ago

Once installed Linux Mint 21 Cinnamon I can not use my printer. Printer: Canon MF237w

Previously on Ubuntu 20.04 printer worked (was connected via LAN). Now on Linux Mint 21 Cinnamon I can not use it as printer. Now it is connected via Wi-Fi. Other devices in LAN as android smartphones, Windows 10 laptop can print anything on this printer. Unfortunately I can not connect printer via LAN anymore, but I think the problem is not in the connection type.

Some research through internet brought me here. I think this is the right place to create an issue, probably.

http://localhost:631/ - shows OpenPrinting CUPS 2.4.1 version.

Self investigation did not help. E.g. steps from this comment https://github.com/OpenPrinting/cups-filters/issues/22#issuecomment-365985266:

$ driverless
ipps://Canon%20MF230._ipps._tcp.local/
ipptool -tv URI get-printer-attributes.test > ipp-attrs.txt

The output:

"/usr/share/cups/ipptool/get-printer-attributes.test":
    Get-Printer-Attributes:
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri (uri) = ipps://Canonc2b105.local:443/ipp/print
        requested-attributes (1setOf keyword) = all,media-col-database
    Get printer attributes using get-printer-attributes                  [FAIL]
        RECEIVED: 0 bytes in response
        status-code = server-error-internal-error (Invalid named IPP attribute in collection.)
        IPP request failed with status server-error-internal-error (Invalid named IPP attribute in collection.)

Setup from UI "printers" ends with server-error-internal-error message.

cat /var/log/cups/error_log shows:

E [07/Oct/2022:15:20:37 +0300] [CGI] Unable to create PPD file: Could not poll sufficient capability info from the printer (ipps://Canon%20MF230._ipps._tcp.local/, ipps://Canonc2b105.local:443/ipp/print) via IPP!
E [07/Oct/2022:15:21:26 +0300] [CGI] Unable to create PPD file: Could not poll sufficient capability info from the printer (ipps://Canon%20MF230._ipps._tcp.local/, ipps://Canonc2b105.local:443/ipp/print) via IPP!
E [07/Oct/2022:15:21:26 +0300] copy_model: empty PPD file
E [07/Oct/2022:15:21:26 +0300] [Client 20] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/CanonMF237W) from localhost.

Can anyoune help me?

tillkamppeter commented 1 year ago

Could you run

driverless --std-ipp-uris

and with the URI resulting from this then run

ipptool -tv URI get-printer-attributes.test > ipp-attrs.txt

and attach ipp-attrs.txt here?

volodalexey commented 1 year ago

@tillkamppeter

$ driverless --std-ipp-uris
ipp://Canonc2b105.local:631/ipp/print
ipps://Canonc2b105.local:443/ipp/print

Next

ipptool -tv ipp://Canonc2b105.local:631/ipp/print get-printer-attributes.test > ipp-attrs.txt

Content

$ cat ipp-attrs.txt
"/usr/share/cups/ipptool/get-printer-attributes.test":
    Get-Printer-Attributes:
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri (uri) = ipp://Canonc2b105.local:631/ipp/print
        requested-attributes (1setOf keyword) = all,media-col-database
    Get printer attributes using get-printer-attributes                  [FAIL]
        RECEIVED: 0 bytes in response
        status-code = server-error-internal-error (Invalid named IPP attribute in collection.)
        IPP request failed with status server-error-internal-error (Invalid named IPP attribute in collection.)

Now I can connect my printer via LAN, so the problem is not in connection type definitely

tillkamppeter commented 1 year ago

Can you make a copy of the file /usr/share/cups/ipptool/get-printer-attributes.test and edit the copy? The file is an instruction file for ipptool to tell which IPP request to do and how to check whether the answer of the printer is correct. Change the line

ATTR keyword requested-attributes all,media-col-database

to

ATTR keyword requested-attributes all

Now run the ipptool command using your edited copy as instruction file:

ipptool -tv ipp://Canonc2b105.local:631/ipp/print ./your-edited-file.test > ipp-attrs.txt

Could you attacch the resulting output file here?

volodalexey commented 1 year ago

@tillkamppeter Copied $ cp /usr/share/cups/ipptool/get-printer-attributes.test ~/ and edited.

$ cat get-printer-attributes.test 
# Get printer attributes using get-printer-attributes
{
    # The name of the test...
    NAME "Get printer attributes using get-printer-attributes"

    # The resource to use for the POST
    # RESOURCE /admin

    # The operation to use
    OPERATION get-printer-attributes

    # The version to use
    VERSION 2.0

    # Attributes, starting in the operation group...
    GROUP operation
    ATTR charset attributes-charset utf-8
    ATTR language attributes-natural-language en
    ATTR uri printer-uri $uri
    ATTR keyword requested-attributes all

    # What statuses are OK?
    STATUS successful-ok

    # What attributes do we expect?
    EXPECT charset-configured
    EXPECT charset-supported
    EXPECT compression-supported
    EXPECT document-format-default
    EXPECT document-format-supported
    EXPECT generated-natural-language-supported
    EXPECT ipp-versions-supported
    EXPECT media-col-default
    EXPECT natural-language-configured
    EXPECT operations-supported
    EXPECT printer-info
    EXPECT printer-is-accepting-jobs
    EXPECT printer-location
    EXPECT printer-make-and-model
    EXPECT printer-more-info
    EXPECT printer-name
    EXPECT printer-state
    EXPECT printer-state-reasons
    EXPECT printer-up-time
    EXPECT printer-uri-supported
    EXPECT uri-authentication-supported
    EXPECT uri-security-supported
}

Output

$ ipptool -tv ipp://Canonc2b105.local:631/ipp/print ./get-printer-attributes.test > ipp-attrs.txt
$ cat ipp-attrs.txt 
"./get-printer-attributes.test":
    Get-Printer-Attributes:
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri (uri) = ipp://Canonc2b105.local:631/ipp/print
        requested-attributes (keyword) = all
    Get printer attributes using get-printer-attributes                  [FAIL]
        RECEIVED: 0 bytes in response
        status-code = server-error-internal-error (Invalid named IPP attribute in collection.)
        IPP request failed with status server-error-internal-error (Invalid named IPP attribute in collection.)
volodalexey commented 1 year ago

Tried with this line ATTR keyword requested-attributes media-col-database

cat ipp-attrs.txt 
"./get-printer-attributes.test":
    Get-Printer-Attributes:
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri (uri) = ipp://Canonc2b105.local:631/ipp/print
        requested-attributes (keyword) = media-col-database
    Get printer attributes using get-printer-attributes                  [FAIL]
        RECEIVED: 4311 bytes in response
        status-code = successful-ok (successful-ok)
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        media-col-database (1setOf collection) = {media-size={x-dimension=21000 y-dimension=29700} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=18200 y-dimension=25700} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=14800 y-dimension=21000} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21590 y-dimension=35560} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21590 y-dimension=27940} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=13970 y-dimension=21590} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=18415 y-dimension=26670} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21590 y-dimension=31750} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21590 y-dimension=34036} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=20320 y-dimension=26670} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=20320 y-dimension=33020} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21500 y-dimension=34500} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=20600 y-dimension=33700} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21590 y-dimension=33020} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=10477 y-dimension=24130} media-top-margin=1000 media-left-margin=1000 media-right-margin=1000 media-bottom-margin=1000},{media-size={x-dimension=9842 y-dimension=19050} media-top-margin=1000 media-left-margin=1000 media-right-margin=1000 media-bottom-margin=1000},{media-size={x-dimension=16200 y-dimension=22900} media-top-margin=1000 media-left-margin=1000 media-right-margin=1000 media-bottom-margin=1000},{media-size={x-dimension=11000 y-dimension=22000} media-top-margin=1000 media-left-margin=1000 media-right-margin=1000 media-bottom-margin=1000},{media-size={x-dimension=7620 y-dimension=12700} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500},{media-size={x-dimension=21590 y-dimension=34290} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500}
        EXPECTED: charset-configured
        EXPECTED: charset-supported
        EXPECTED: compression-supported
        EXPECTED: document-format-default
        EXPECTED: document-format-supported
        EXPECTED: generated-natural-language-supported
        EXPECTED: ipp-versions-supported
        EXPECTED: media-col-default
        EXPECTED: natural-language-configured
        EXPECTED: operations-supported
        EXPECTED: printer-info
        EXPECTED: printer-is-accepting-jobs
        EXPECTED: printer-location
        EXPECTED: printer-make-and-model
        EXPECTED: printer-more-info
        EXPECTED: printer-name
        EXPECTED: printer-state
        EXPECTED: printer-state-reasons
        EXPECTED: printer-up-time
        EXPECTED: printer-uri-supported
        EXPECTED: uri-authentication-supported
        EXPECTED: uri-security-supported
tillkamppeter commented 1 year ago

Your result shows that this printer does not support the all keyword under requested-attributes, only explicit mention of IPP attributes to be polled. This is most probably a bug in the firmware of the printer. I do not know how to best work around it except polling all known standard printer IPP attributes explicitly.

@michaelrsweet we have found here a printer which does not understand all as requested-attributes to poll the full set of printer IPP attributes via the get-printer-attributes IPP request.

michaelrsweet commented 1 year ago

@tillkamppeter 'all' is required by IPP/1.1 (STD 92), as are 'printer-description' and 'job-template', and thus required for ALL IPP-based standards.

tillkamppeter commented 1 year ago

@michaelrsweet so this printer has a firmware bug? How does one get it to work then? What do other OSes, like iOS, Mac, or Windows do?

michaelrsweet commented 1 year ago

@tillkamppeter I'm not sure how or whether this printer works on those OS's without the vendor driver. I believe Microsoft asks for all of the named attributes they care about, but I don't recall what is done for macOS (but the AirPrint certification requires support for "all" as part of its tests...)

@volodalexey Can you try updating the firmware for this printer, either from the control panel or web interface ("http://Canonc2b105.local" based on the info you've provided us...)

volodalexey commented 1 year ago

@michaelrsweet I updated firmware. Now I can add printer to "Printers" in my system!

$ ipptool -tv ipp://Canonc2b105.local:631/ipp/print get-printer-attributes.test > ipp-attrs.txt
$ cat ipp-attrs.txt 
"get-printer-attributes.test":
    Get-Printer-Attributes:
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        printer-uri (uri) = ipp://Canonc2b105.local:631/ipp/print
        requested-attributes (keyword) = all
    Get printer attributes using get-printer-attributes                  [PASS]
        RECEIVED: 7753 bytes in response
        status-code = successful-ok (successful-ok)
        attributes-charset (charset) = utf-8
        attributes-natural-language (naturalLanguage) = en
        charset-configured (charset) = utf-8
        charset-supported (charset) = utf-8
        color-supported (boolean) = false
        compression-supported (keyword) = none
        copies-default (integer) = 1
        copies-supported (rangeOfInteger) = 1-999
        document-format-default (mimeMediaType) = image/urf
        document-format-preferred (mimeMediaType) = image/urf
        document-format-supported (1setOf mimeMediaType) = image/urf,image/pwg-raster,image/jpeg,application/pdf,application/octet-stream
        document-format-varying-attributes (keyword) = page-ranges-supported
        finishings-default (enum) = none
        finishings-supported (enum) = none
        generated-natural-language-supported (naturalLanguage) = en
        identify-actions-default (keyword) = flash
        identify-actions-supported (1setOf keyword) = flash,sound
        ipp-features-supported (1setOf keyword) = airprint-1.6,airprint-1.5,airprint-1.4,airprint-1.3
        ipp-versions-supported (1setOf keyword) = 2.0,1.1,1.0
        job-creation-attributes-supported (1setOf keyword) = copies,finishings,ipp-attribute-fidelity,job-name,media,media-col,orientation-requested,output-bin,print-color-mode,print-quality,printer-resolution,multiple-document-handling,page-ranges,print-scaling,sides
        job-ids-supported (boolean) = true
        media-col-default (collection) = {media-size={x-dimension=21000 y-dimension=29700} media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500}
        media-col-ready (collection) = {media-size={x-dimension=21000 y-dimension=29700} media-source=auto media-top-margin=500 media-left-margin=500 media-right-margin=500 media-bottom-margin=500}
        media-col-supported (1setOf keyword) = media-size,media-source,media-type,media-top-margin,media-left-margin,media-right-margin,media-bottom-margin
        media-default (keyword) = iso_a4_210x297mm
        media-ready (keyword) = iso_a4_210x297mm
        media-size-supported (1setOf collection) = {x-dimension=21000 y-dimension=29700},{x-dimension=18200 y-dimension=25700},{x-dimension=14800 y-dimension=21000},{x-dimension=21590 y-dimension=35560},{x-dimension=21590 y-dimension=27940},{x-dimension=13970 y-dimension=21590},{x-dimension=18415 y-dimension=26670},{x-dimension=21590 y-dimension=31750},{x-dimension=21590 y-dimension=34036},{x-dimension=20320 y-dimension=26670},{x-dimension=20320 y-dimension=33020},{x-dimension=21500 y-dimension=34500},{x-dimension=20600 y-dimension=33700},{x-dimension=21590 y-dimension=33020},{x-dimension=10477 y-dimension=24130},{x-dimension=9842 y-dimension=19050},{x-dimension=16200 y-dimension=22900},{x-dimension=11000 y-dimension=22000},{x-dimension=7620 y-dimension=12700},{x-dimension=21590 y-dimension=34290},{x-dimension=7620-21600 y-dimension=12700-35600}
        media-supported (1setOf keyword) = iso_a4_210x297mm,jis_b5_182x257mm,iso_a5_148x210mm,na_legal_8.5x14in,na_letter_8.5x11in,na_invoice_5.5x8.5in,na_executive_7.25x10.5in,oe_officio_8.5x12.5in,na_oficio_8.5x13.4in,oe_govt-letter_8x10.5in,na_govt-legal_8x13in,om_indianlegal_215x345mm,om_a-foolscap_206x337mm,na_foolscap_8.5x13in,na_number-10_4.125x9.5in,na_monarch_3.875x7.5in,iso_c5_162x229mm,iso_dl_110x220mm,na_index-3x5_3x5in,oe_f4a_8.5x13.5in,custom_min_76.2x127mm,custom_max_216x356mm
        multiple-document-handling-default (keyword) = separate-documents-collated-copies
        multiple-document-handling-supported (1setOf keyword) = separate-documents-uncollated-copies,separate-documents-collated-copies
        multiple-document-jobs-supported (boolean) = false
        multiple-operation-time-out (integer) = 60
        multiple-operation-time-out-action (keyword) = abort-job
        natural-language-configured (naturalLanguage) = en
        operations-supported (1setOf enum) = Print-Job,Validate-Job,Create-Job,Send-Document,Cancel-Job,Get-Job-Attributes,Get-Jobs,Get-Printer-Attributes,Close-Job,Cancel-My-Jobs,Identify-Printer
        orientation-requested-default (enum) = portrait
        orientation-requested-supported (1setOf enum) = portrait,landscape,reverse-landscape,reverse-portrait,none
        output-bin-default (keyword) = face-down
        output-bin-supported (keyword) = face-down
        overrides-supported (1setOf keyword) = pages,media,media-col
        page-ranges-supported (boolean) = true
        pages-per-minute (integer) = 23
        pdl-override-supported (keyword) = attempted
        print-color-mode-default (keyword) = auto
        print-color-mode-supported (1setOf keyword) = auto,auto-monochrome,monochrome
        print-content-optimize-default (keyword) = auto
        print-content-optimize-supported (1setOf keyword) = auto,photo,text
        printer-alert (octetString) = code=markerTonerAlmostEmpty
        printer-alert-description (textWithoutLanguage) = toner low
        printer-config-change-date-time (dateTime) = 2022-12-20T13:17:42+0200
        printer-config-change-time (integer) = 2
        printer-current-time (dateTime) = 2022-12-20T13:21:56+0200
        printer-device-id (textWithoutLanguage) = MFG:Canon;CMD:JPG,URF,PDF;MDL:MF230 Series;CLS:PRINTER;DES:;
        printer-geo-location (uri) = geo://0.000000,0.000000
        printer-get-attributes-supported (keyword) = document-format
        printer-info (textWithoutLanguage) = Canon MF230
        printer-input-tray (octetString) = type=other;mediafeed=21000;mediaxfeed=29700;maxcapacity=250;level=-2;status=0;name=auto
        printer-is-accepting-jobs (boolean) = true
        printer-location (textWithoutLanguage) = 
        printer-make-and-model (textWithoutLanguage) = CNMF230 Series
        printer-more-info (uri) = http://Canonc2b105.local:80/airprint.html
        printer-name (nameWithoutLanguage) = MF230 Series
        printer-organization (no-value) = no-value
        printer-organizational-unit (no-value) = no-value
        printer-output-tray (octetString) = type=unRemovableBin;maxcapacity=-2;remaining=-2;status=2;name=outbin;stackingorder=unknown;pagedelivery=faceDown
        printer-resolution-default (resolution) = 300dpi
        printer-resolution-supported (resolution) = 300dpi
        printer-state (enum) = idle
        printer-state-change-date-time (dateTime) = 2022-12-20T13:17:42+0200
        printer-state-change-time (integer) = 2
        printer-state-reasons (keyword) = toner-low-warning
        printer-strings-languages-supported (naturalLanguage) = en
        printer-strings-uri (no-value) = no-value
        printer-supply-info-uri (uri) = http://Canonc2b105.local:80/airprint.html
        printer-up-time (integer) = 256
        printer-uri-supported (1setOf uri) = ipp://Canonc2b105.local:631/ipp/print,ipps://Canonc2b105.local:443/ipp/print
        print-quality-default (enum) = normal
        print-quality-supported (enum) = normal
        pwg-raster-document-resolution-supported (resolution) = 600dpi
        pwg-raster-document-sheet-back (keyword) = normal
        pwg-raster-document-type-supported (1setOf keyword) = sgray_8,srgb_8
        queued-job-count (integer) = 0
        sides-default (keyword) = one-sided
        sides-supported (keyword) = one-sided
        uri-authentication-supported (1setOf keyword) = none,none
        uri-security-supported (1setOf keyword) = tls,tls
        which-jobs-supported (1setOf keyword) = completed,not-completed
        media-bottom-margin-supported (1setOf integer) = 500,1000
        media-left-margin-supported (1setOf integer) = 500,1000
        media-right-margin-supported (1setOf integer) = 500,1000
        media-top-margin-supported (1setOf integer) = 500,1000
        printer-icons (1setOf uri) = http://Canonc2b105.local:80/media/adf_128x128.png,http://Canonc2b105.local:80/media/adf_512x512.png
        printer-uuid (uri) = urn:uuid:01c80000-fe7f-11de-8a39-7438b7c2b105
        jpeg-features-supported (keyword) = none
        jpeg-k-octets-supported (rangeOfInteger) = 0-15625
        jpeg-x-dimension-supported (rangeOfInteger) = 0-15000
        jpeg-y-dimension-supported (rangeOfInteger) = 0-15000
        landscape-orientation-requested-preferred (enum) = 5
        marker-colors (nameWithoutLanguage) = #000000
        marker-high-levels (integer) = 100
        marker-levels (integer) = 4
        marker-low-levels (integer) = 1
        marker-names (nameWithoutLanguage) = Black
        marker-types (keyword) = toner
        media-source-supported (keyword) = auto
        media-type-supported (keyword) = auto
        pdf-k-octets-supported (rangeOfInteger) = 0-31250
        pdf-versions-supported (keyword) = iso-32000-1_2008
        printer-dns-sd-name (nameWithoutLanguage) = Canon MF230
        printer-firmware-name (nameWithoutLanguage) = Main Contoller
        printer-firmware-string-version (textWithoutLanguage) = 22.07
        printer-firmware-version (octetString) = \000"\000\007
        printer-kind (1setOf keyword) = document,label,envelope
        print-scaling-default (keyword) = auto
        print-scaling-supported (1setOf keyword) = auto,auto-fit,fill,fit,none
        urf-supported (1setOf keyword) = V1.4,W8,RS300,IS1,OB10,CP255,IFU0,PQ4
        printer-settable-attributes-supported (no-value) = no-value

The same old firmware worked with Ubuntu 20.04 LTS...

Now I can not send anything to the printer for printing. Looks like the printer ignores anything from Linux Mint. Checked new firmware on Android and Windows 10 - works.

volodalexey commented 1 year ago

Try to add printer:

Section: Network Printer

Option 1 Canon MF230 UFRII LT (192.168.0.222) - can not complete printer adding server-error-internal-error

$ cat /var/log/cups/error_log
...
E [20/Dec/2022:13:44:54 +0300] [Job 48] Print job canceled at printer.
W [20/Dec/2022:13:44:54 +0300] [Job 48] Backend returned status 5 (cancel job)
W [20/Dec/2022:13:45:31 +0300] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'Canon-MF230-Series-Gray..\' already exists
W [20/Dec/2022:13:45:31 +0300] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'Canon-MF230-Series-DeviceN..\' already exists
E [20/Dec/2022:13:49:03 +0300] [CGI] Unable to create PPD file: Could not poll sufficient capability info from the printer (ipps://Canon%20MF230._ipps._tcp.local/, ipps://Canonc2b105.local:443/ipp/print) via IPP!
E [20/Dec/2022:13:49:29 +0300] [CGI] Unable to create PPD file: Could not poll sufficient capability info from the printer (ipps://Canon%20MF230._ipps._tcp.local/, ipps://Canonc2b105.local:443/ipp/print) via IPP!
E [20/Dec/2022:13:49:29 +0300] copy_model: empty PPD file
E [20/Dec/2022:13:49:29 +0300] [Client 806] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/MF237w) from localhost.
E [20/Dec/2022:13:49:41 +0300] [CGI] Unable to create PPD file: Could not poll sufficient capability info from the printer (ipps://Canon%20MF230._ipps._tcp.local/, ipps://Canonc2b105.local:443/ipp/print) via IPP!
E [20/Dec/2022:13:49:41 +0300] copy_model: empty PPD file
E [20/Dec/2022:13:49:41 +0300] [Client 809] Returning IPP server-error-internal-error for CUPS-Add-Modify-Printer (ipp://localhost/printers/MF237w) from localhost.

Option 2 Canon MF230 (Canon%20MF230._ipps._tcp.local) - can complete adding (selected driver Canon MF230 Series, driverless, cups-filters 1.28.15 [en]), however printer ignores queue Option 3 Canon MF230 (Canonc2b105.local, 192.168.0.222) - can complete adding (selected driver Canon MF230 Series, driverless, cups-filters 1.28.15 [en]), however printer ignores queue

Each time when I try to print test page with Option 2 or 3 I see following in log:

E [20/Dec/2022:14:00:53 +0300] [Job 52] Print job canceled at printer.
W [20/Dec/2022:14:00:53 +0300] [Job 52] Backend returned status 5 (cancel job)
W [20/Dec/2022:14:01:56 +0300] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'Canon-MF230-Series-Gray..\' already exists
W [20/Dec/2022:14:01:56 +0300] CreateProfile failed: org.freedesktop.ColorManager.AlreadyExists:profile id \'Canon-MF230-Series-DeviceN..\' already exists
volodalexey commented 1 year ago

I installed driver from canon-europe.com

Once installed I can print! Strange but I can use driverless also! Now I have Canon-MF230-Series-UFRII-LT (URI socket://192.168.0.222 Model Canon MF230 Series UFRII LT) and Canon_MF230 (URI implicitclass://Canon_MF230/ Model CNMF230 Series, driverless, cups-filters 1.28.15) in my printers - both works!

tillkamppeter commented 1 year ago

I think with this you are not printing driverless any more. The first queue is simply connecting to the printer via its port 9100 (no IPP, simply raw printing) and preparing the job data with Canon's driver. The second queue is auto-created by cups-browsed, most probably pointing to the first queue and therefore also printing.

tillkamppeter commented 1 year ago

We need to find out why driverless still does not work for you. As a first approach you should run the command

driverless

This gets an URIs for all driverless printers visible in the network. Find the one of your printer. Now run the command

lpadmin -p testprinter -E -v <URI> -meverywhere

Replace <URI> by the URI of your printer found above. Try to print. If it does not work, set CUPS to debug logging:

cupsctl --debug-logging

remove the old job

cancel -a

and print a new one. Attach your /var/log/cups/error_log file to this bug report (rename it to have .txt extension so that GitHub accepts it).

volodalexey commented 1 year ago
$ driverless
ipps://Canon%20MF230._ipps._tcp.local/

Add test printer

lpadmin -p testprinter -E -v ipps://Canon%20MF230._ipps._tcp.local/ -meverywhere

Go to "Printers" -> open "testprinter" -> print test page -> it works!

So I think this is due to drivers that I installed https://github.com/OpenPrinting/cups-filters/issues/486#issuecomment-1359204282

So probably this is not "true" driverless anymore.

tillkamppeter commented 1 year ago

This queue should be actually driverless now, you can see in error_log that no parts of the driver should be in the filter chain and you can remove the Canon driver now.

volodalexey commented 1 year ago

I can not find how to remove installed driver. Looks like it has only install.sh script