Add support for Canon MF743C
I've not had any luck getting network scanning working with this yet but connected via USB scanning is working most of the time after patching pixma_imageclass.c as follows
$ grep -n MF743C_PID pixma_imageclass.c
92:#define MF743C_PID 0x27FC
981: DEV ("Canon i-SENSYS MF743C", "MF743C", MF743C_PID, 600, 0, 640, 1050, PIXMA_CAP_ADFDUP),
after the change
$ sudo scanimage -L
device `pixma:04A927FC_f4a997c9f68c' is a CANON Canon i-SENSYS MF743C multi-function peripheral
Dmesg
# dmesg |tail
[199656.888545] usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[199656.888547] usb 1-8: Product: MF741C/743C
[199656.888549] usb 1-8: Manufacturer: Canon
[199656.888551] usb 1-8: SerialNumber: f4a997c9f68c
Avahi
$ avahi-browse -rt _ipp._tcp
+ enp1s0 IPv4 Canon MF741C/743C (c9:f6:8c) Internet Printer local
= enp1s0 IPv4 Canon MF741C/743C (c9:f6:8c) Internet Printer local
hostname = [Canonc9f68c.local]
address = [192.168.2.131]
port = [631]
txt = ["mopria-certified=1.3" "print_wfds=T" "rfo=ipp/faxout" "kind=document,envelope,postcard" "URF=ADOBERGB24,CP255,DM1,PQ4,RS300,SRGB24,W8-16,FN3,IS1-4,OB10-40,V1.4" "Fax=T" "Scan=T" "TLS=1.2" "usb_CMD=LIPSLX,CPCA" "UUID=6d4ff0ce-6b11-11d8-8020-f4a997c9f68c" "PaperMax=legal-A4" "Punch=0" "Staple=F" "Sort=F" "Collate=F" "Bind=F" "PaperCustom=T" "Duplex=T" "Copies=T" "Color=T" "TBCP=F" "Binary=F" "Transparent=F" "usb_MDL=MF741C/743C" "usb_MFG=Canon" "adminurl=http://Canonc9f68c.local:80/airprint.html" "pdl=application/octet-stream,image/urf,image/pwg-raster,image/jpeg,application/pdf" "product=(CNMF741C/743C)" "ty=Canon MF741C/743C" "priority=10" "qtotal=1" "note=" "rp=ipp/print" "txtvers=1"]
$ avahi-browse -rt _uscan._tcp
+ enp1s0 IPv4 Canon MF741C/743C (c9:f6:8c) _uscan._tcp local
= enp1s0 IPv4 Canon MF741C/743C (c9:f6:8c) _uscan._tcp local
hostname = [Canonc9f68c.local]
address = [192.168.2.131]
port = [80]
txt = ["usb_MFG=Canon" "mopria-certified-scan=1.2" "duplex=T" "is=platen,adf" "UUID=6d4ff0ce-6b11-11d8-8020-f4a997c9f68c" "cs=color,grayscale" "pdl=application/octet-stream,application/pdf,image/jpeg" "representation=http://Canonc9f68c.local/en/media/dev_icon_128x128.png" "adminurl=http://Canonc9f68c.local:80/airprint.html" "rs=eSCL" "vers=2.63" "note=" "ty=Canon MF741C/743C" "txtvers=1"]
It does seem there needs to be a small delay between the scans at least with skanlite
sane-find-scanner -v -v -v
<device descriptor of 0x04a9/0x27fc at 001:060 (Canon MF741C/743C)>
bLength 18
bDescriptorType 1
bcdUSB 2.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x04A9
idProduct 0x27FC
bcdDevice 0.00
iManufacturer 1 (Canon)
iProduct 2 (MF741C/743C)
iSerialNumber 3 (f4a997c9f68c)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 131
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 192 (Self-powered)
MaxPower 2 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255
bInterfaceSubClass 0
bInterfaceProtocol 255
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 (in 0x04)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 2>
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 (in 0x05)
bmAttributes 3 (interrupt)
wMaxPacketSize 64
bInterval 11 ms
bRefresh 0
bSynchAddress 0
<altsetting 1>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 7
bInterfaceSubClass 1
bInterfaceProtocol 4
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 (out 0x03)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 (in 0x04)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<interface 1>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7
bInterfaceSubClass 1
bInterfaceProtocol 2
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 (out 0x01)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<altsetting 1>
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 2
bInterfaceClass 7
bInterfaceSubClass 1
bInterfaceProtocol 4
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 (out 0x01)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 (in 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<interface 2>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7
bInterfaceSubClass 1
bInterfaceProtocol 2
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x06 (out 0x06)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x87 (in 0x07)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<trying to find out which USB chip is used>
checking for LM983[1,2,3] ...
this is not a LM983x (bcdUSB = 0x210)
checking for GT-6801 ...
this is not a GT-6801 (bDeviceClass = 0)
checking for GT-6816 ...
this is not a GT-6816 (bcdUSB = 0x210)
checking for GLxxx ...
this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255)
this is not a GLxxx (bDeviceClass = 0, bInterfaceClass = 255)
<Couldn't determine the type of the USB chip (result from sane-backends 1.0.28-840-g4156fae1-dirty)>
found USB scanner (vendor=0x04a9 [Canon], product=0x27fc [MF741C/743C]) at libusb:001:060
I'll try testing all the supported resolutions later but 75 and 150 dpi worked when testing thus far