Bug 1530216 - Samsung scanners need proprietary driver for working [Fedora-ALL]
Summary: Samsung scanners need proprietary driver for working [Fedora-ALL]
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: sane-backends
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Nils Philippsen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1468986 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-01-02 09:42 UTC by oliver.zemann
Modified: 2018-07-28 16:14 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-01-30 15:43:51 UTC


Attachments (Terms of Use)
output of scanimage -L (26.93 KB, text/plain)
2018-01-04 09:20 UTC, oliver.zemann
no flags Details
debug.out (11.62 KB, text/plain)
2018-01-04 13:11 UTC, oliver.zemann
no flags Details
out.tiff (240 bytes, image/tiff)
2018-01-04 13:11 UTC, oliver.zemann
no flags Details

Description oliver.zemann 2018-01-02 09:42:22 UTC
same problem as in here, but also in F27: https://bugzilla.redhat.com/show_bug.cgi?id=1468986

Comment 1 oliver.zemann 2018-01-02 09:46:08 UTC
https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1728012?comments=all seems like related 

I have to use windows now to scan, because in windows its working. Since about half an year now!

Comment 2 oliver.zemann 2018-01-02 09:54:22 UTC
i tried to add the user "oli" to group "lp" and linked the files in /usr/lib/sane to /usr/lib/x86_64-gnu/sane - did not help. 
I need advice in how to get that crap running, its such a PITA to always reboot into windows, scan the documents, do some stuff, reboot into linux and continue. Is anyone seeing this bug? Or will it die when F26/F27 are discontinued?

Comment 3 Zdenek Dohnal 2018-01-02 12:50:35 UTC
Hi Oliver,

I'm sorry for being unresponsive and thank you for reporting this issue. Did you try creating udev rule as is suggested in launchpad link you shared?
Is your device multifunctional printer? Is it connected by usb? If so, would you mind sharing outputs:

1) $ lsusb
2) $ SANE_DEBUG_DLL scanimage -L 2> debug.out (and attach debug.out file)
3) $ sudo sane-find-scanner
4) $ udevadm info -a <usb-port-where-device-is-connected, find out from lsusb f.e. /dev/bus/usb/002/006> 
5) $ udevadm test <device from previous step, where manufacturer is Samsung>

I think udev rule file will need to be created.

I'll close F26 bug and change the name of this to [Fedora-ALL].

Comment 4 Zdenek Dohnal 2018-01-02 12:51:17 UTC
Bug appears on all Fedora releases since F26.

Comment 5 Zdenek Dohnal 2018-01-02 12:51:25 UTC
*** Bug 1468986 has been marked as a duplicate of this bug. ***

Comment 6 oliver.zemann 2018-01-02 14:19:09 UTC
Thanks for your response, which makes me really happy now ;) 

Its a Samsung C480W Multifunctional Printer (scanner + color laser printer).
It is connected by lan directly to my router, just as my workstation.
I did not create a udev rule as i dont know what to enter into the fields.
I dont know the idProduct for example. Is there some way to get that info?
Printing works like a charm.

Comment 7 oliver.zemann 2018-01-02 14:46:06 UTC
[root@localhost oli]# sane-find-scanner 

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
could not fetch string descriptor: Pipe error
  # No USB scanners found. If you expected something different, make sure that
  # you have loaded a kernel driver for your USB host controller and have setup
  # the USB system correctly. See man sane-usb for details.

  # Not checking for parallel port scanners.

  # Most Scanners connected to the parallel port or other proprietary ports
  # can't be detected by this program.
[root@localhost oli]# scanimage -L
device `xerox_mfp:tcp 192.168.1.171' is a Samsung C48x Series multi-function peripheral

Comment 8 Zdenek Dohnal 2018-01-04 08:34:35 UTC
(In reply to oliver.zemann from comment #7)
> device `xerox_mfp:tcp 192.168.1.171' is a Samsung C48x Series multi-function
> peripheral

Is it your scanner? If so, it is recognized as xerox mfp (probably because sane doesn't have extra backend for samsung). What is curious is that whitespace in device name. Are you able to scan by command line like this:

# scanimage -d 'xerox_mfp:tcp 192.168.1.171' -x 100 -y 130 --format=tiff >out.tiff 

or by xsane?
If not, would you mind sharing output of:

$ SANE_DEBUG_DLL=128 scanimage -L 2> debug.out (and attach debug.out file)
$ SANE_DEBUG_DLL=128 scanimage -d 'xerox_mfp:tcp 192.168.1.171' -x 100 -y 130 --format=tiff >out.tiff

?

Comment 9 oliver.zemann 2018-01-04 09:19:22 UTC
[oli@localhost ~]$ SANE_DEBUG_DLL=128 scanimage -d 'xerox_mfp:tcp 192.168.1.171' -x 100 -y 130 --format=tiff >out.tiff
[sanei_debug] Setting debug level of dll to 128.
[dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.27
[dll] sane_init/read_dlld: attempting to open directory `./dll.d'
[dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d'
[dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d'
[dll] sane_init/read_dlld: done.
[dll] sane_init/read_config: reading dll.conf
[dll] add_backend: adding backend `net'
[dll] add_backend: adding backend `abaton'
[dll] add_backend: adding backend `agfafocus'
[dll] add_backend: adding backend `apple'
[dll] add_backend: adding backend `avision'
[dll] add_backend: adding backend `artec'
[dll] add_backend: adding backend `artec_eplus48u'
[dll] add_backend: adding backend `as6e'
[dll] add_backend: adding backend `bh'
[dll] add_backend: adding backend `canon'
[dll] add_backend: adding backend `canon630u'
[dll] add_backend: adding backend `canon_dr'
[dll] add_backend: adding backend `cardscan'
[dll] add_backend: adding backend `coolscan'
[dll] add_backend: adding backend `coolscan3'
[dll] add_backend: adding backend `dell1600n_net'
[dll] add_backend: adding backend `dmc'
[dll] add_backend: adding backend `epjitsu'
[dll] add_backend: adding backend `epson2'
[dll] add_backend: adding backend `epsonds'
[dll] add_backend: adding backend `fujitsu'
[dll] add_backend: adding backend `genesys'
[dll] add_backend: adding backend `gt68xx'
[dll] add_backend: adding backend `hp'
[dll] add_backend: adding backend `hp3900'
[dll] add_backend: adding backend `hpsj5s'
[dll] add_backend: adding backend `hp3500'
[dll] add_backend: adding backend `hp4200'
[dll] add_backend: adding backend `hp5400'
[dll] add_backend: adding backend `hp5590'
[dll] add_backend: adding backend `hpljm1005'
[dll] add_backend: adding backend `hs2p'
[dll] add_backend: adding backend `ibm'
[dll] add_backend: adding backend `kodak'
[dll] add_backend: adding backend `kodakaio'
[dll] add_backend: adding backend `kvs1025'
[dll] add_backend: adding backend `kvs20xx'
[dll] add_backend: adding backend `leo'
[dll] add_backend: adding backend `lexmark'
[dll] add_backend: adding backend `ma1509'
[dll] add_backend: adding backend `magicolor'
[dll] add_backend: adding backend `matsushita'
[dll] add_backend: adding backend `microtek'
[dll] add_backend: adding backend `microtek2'
[dll] add_backend: adding backend `mustek'
[dll] add_backend: adding backend `mustek_usb'
[dll] add_backend: adding backend `mustek_usb2'
[dll] add_backend: adding backend `nec'
[dll] add_backend: adding backend `niash'
[dll] add_backend: adding backend `pie'
[dll] add_backend: adding backend `pint'
[dll] add_backend: adding backend `pixma'
[dll] add_backend: adding backend `plustek'
[dll] add_backend: adding backend `qcam'
[dll] add_backend: adding backend `ricoh'
[dll] add_backend: adding backend `rts8891'
[dll] add_backend: adding backend `s9036'
[dll] add_backend: adding backend `sceptre'
[dll] add_backend: adding backend `sharp'
[dll] add_backend: adding backend `sm3600'
[dll] add_backend: adding backend `sm3840'
[dll] add_backend: adding backend `snapscan'
[dll] add_backend: adding backend `sp15c'
[dll] add_backend: adding backend `tamarack'
[dll] add_backend: adding backend `teco1'
[dll] add_backend: adding backend `teco2'
[dll] add_backend: adding backend `teco3'
[dll] add_backend: adding backend `u12'
[dll] add_backend: adding backend `umax'
[dll] add_backend: adding backend `umax1220u'
[dll] add_backend: adding backend `v4l'
[dll] add_backend: adding backend `xerox_mfp'
[dll] sane_open: trying to open `xerox_mfp:tcp 192.168.1.171'
[dll] load: searching backend `xerox_mfp' in `/usr/lib64/sane'
[dll] load: trying to load `/usr/lib64/sane/libsane-xerox_mfp.so.1'
[dll] load: dlopen()ing `/usr/lib64/sane/libsane-xerox_mfp.so.1'
[dll] init: initializing backend `xerox_mfp'
[dll] init: backend `xerox_mfp' is version 1.0.13
[dll] sane_open: open successful
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=0)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=0,action=0,value=0x7ffc7e16fd2c,info=(nil))
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=0)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=0,action=0,value=0x7ffc7e16fc30,info=(nil))
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=1)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=2)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=3)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=4)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=5)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=6)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=7)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=8)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=9)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=10)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=9,action=0,value=0x55cccff103a0,info=(nil))
[dll] sane_control_option(handle=0x55ccd099a8e0,option=7,action=0,value=0x7ffc7e16fc34,info=(nil))
[dll] sane_control_option(handle=0x55ccd099a8e0,option=10,action=0,value=0x55cccff103a4,info=(nil))
[dll] sane_control_option(handle=0x55ccd099a8e0,option=8,action=0,value=0x7ffc7e16fc34,info=(nil))
[dll] sane_control_option(handle=0x55ccd099a8e0,option=7,action=0,value=0x7ffc7e16fd60,info=(nil))
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=9)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=9,action=1,value=0x7ffc7e16fd80,info=0x7ffc7e16fc44)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=8,action=0,value=0x7ffc7e16fd60,info=(nil))
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=10)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=10,action=1,value=0x7ffc7e16fd80,info=0x7ffc7e16fc44)
[dll] sane_get_option_descriptor(handle=0x55ccd099a8e0,option=2)
[dll] sane_control_option(handle=0x55ccd099a8e0,option=2,action=0,value=0x7ffc7e16fc30,info=(nil))
[dll] sane_start(handle=0x55ccd099a8e0)
... it hangs here

Comment 10 oliver.zemann 2018-01-04 09:20:09 UTC
Created attachment 1376744 [details]
output of scanimage -L

Comment 11 oliver.zemann 2018-01-04 09:23:21 UTC
my bad, the printer somehow crashed (it was blinking). here is the output where the scanner behaves the same like the in the last try:

[oli@localhost ~]$ SANE_DEBUG_DLL=128 scanimage -d 'xerox_mfp:tcp 192.168.1.171' -x 100 -y 130 --format=tiff >out.tiff
[sanei_debug] Setting debug level of dll to 128.
[dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.27
[dll] sane_init/read_dlld: attempting to open directory `./dll.d'
[dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d'
[dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d'
[dll] sane_init/read_dlld: done.
[dll] sane_init/read_config: reading dll.conf
[dll] add_backend: adding backend `net'
[dll] add_backend: adding backend `abaton'
[dll] add_backend: adding backend `agfafocus'
[dll] add_backend: adding backend `apple'
[dll] add_backend: adding backend `avision'
[dll] add_backend: adding backend `artec'
[dll] add_backend: adding backend `artec_eplus48u'
[dll] add_backend: adding backend `as6e'
[dll] add_backend: adding backend `bh'
[dll] add_backend: adding backend `canon'
[dll] add_backend: adding backend `canon630u'
[dll] add_backend: adding backend `canon_dr'
[dll] add_backend: adding backend `cardscan'
[dll] add_backend: adding backend `coolscan'
[dll] add_backend: adding backend `coolscan3'
[dll] add_backend: adding backend `dell1600n_net'
[dll] add_backend: adding backend `dmc'
[dll] add_backend: adding backend `epjitsu'
[dll] add_backend: adding backend `epson2'
[dll] add_backend: adding backend `epsonds'
[dll] add_backend: adding backend `fujitsu'
[dll] add_backend: adding backend `genesys'
[dll] add_backend: adding backend `gt68xx'
[dll] add_backend: adding backend `hp'
[dll] add_backend: adding backend `hp3900'
[dll] add_backend: adding backend `hpsj5s'
[dll] add_backend: adding backend `hp3500'
[dll] add_backend: adding backend `hp4200'
[dll] add_backend: adding backend `hp5400'
[dll] add_backend: adding backend `hp5590'
[dll] add_backend: adding backend `hpljm1005'
[dll] add_backend: adding backend `hs2p'
[dll] add_backend: adding backend `ibm'
[dll] add_backend: adding backend `kodak'
[dll] add_backend: adding backend `kodakaio'
[dll] add_backend: adding backend `kvs1025'
[dll] add_backend: adding backend `kvs20xx'
[dll] add_backend: adding backend `leo'
[dll] add_backend: adding backend `lexmark'
[dll] add_backend: adding backend `ma1509'
[dll] add_backend: adding backend `magicolor'
[dll] add_backend: adding backend `matsushita'
[dll] add_backend: adding backend `microtek'
[dll] add_backend: adding backend `microtek2'
[dll] add_backend: adding backend `mustek'
[dll] add_backend: adding backend `mustek_usb'
[dll] add_backend: adding backend `mustek_usb2'
[dll] add_backend: adding backend `nec'
[dll] add_backend: adding backend `niash'
[dll] add_backend: adding backend `pie'
[dll] add_backend: adding backend `pint'
[dll] add_backend: adding backend `pixma'
[dll] add_backend: adding backend `plustek'
[dll] add_backend: adding backend `qcam'
[dll] add_backend: adding backend `ricoh'
[dll] add_backend: adding backend `rts8891'
[dll] add_backend: adding backend `s9036'
[dll] add_backend: adding backend `sceptre'
[dll] add_backend: adding backend `sharp'
[dll] add_backend: adding backend `sm3600'
[dll] add_backend: adding backend `sm3840'
[dll] add_backend: adding backend `snapscan'
[dll] add_backend: adding backend `sp15c'
[dll] add_backend: adding backend `tamarack'
[dll] add_backend: adding backend `teco1'
[dll] add_backend: adding backend `teco2'
[dll] add_backend: adding backend `teco3'
[dll] add_backend: adding backend `u12'
[dll] add_backend: adding backend `umax'
[dll] add_backend: adding backend `umax1220u'
[dll] add_backend: adding backend `v4l'
[dll] add_backend: adding backend `xerox_mfp'
[dll] sane_open: trying to open `xerox_mfp:tcp 192.168.1.171'
[dll] load: searching backend `xerox_mfp' in `/usr/lib64/sane'
[dll] load: trying to load `/usr/lib64/sane/libsane-xerox_mfp.so.1'
[dll] load: dlopen()ing `/usr/lib64/sane/libsane-xerox_mfp.so.1'
[dll] init: initializing backend `xerox_mfp'
[dll] init: backend `xerox_mfp' is version 1.0.13
[dll] sane_open: open successful
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=0)
[dll] sane_control_option(handle=0x558e8e810740,option=0,action=0,value=0x7fff296a6fdc,info=(nil))
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=0)
[dll] sane_control_option(handle=0x558e8e810740,option=0,action=0,value=0x7fff296a6ee0,info=(nil))
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=1)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=2)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=3)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=4)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=5)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=6)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=7)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=8)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=9)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=10)
[dll] sane_control_option(handle=0x558e8e810740,option=9,action=0,value=0x558e8d66e3a0,info=(nil))
[dll] sane_control_option(handle=0x558e8e810740,option=7,action=0,value=0x7fff296a6ee4,info=(nil))
[dll] sane_control_option(handle=0x558e8e810740,option=10,action=0,value=0x558e8d66e3a4,info=(nil))
[dll] sane_control_option(handle=0x558e8e810740,option=8,action=0,value=0x7fff296a6ee4,info=(nil))
[dll] sane_control_option(handle=0x558e8e810740,option=7,action=0,value=0x7fff296a7010,info=(nil))
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=9)
[dll] sane_control_option(handle=0x558e8e810740,option=9,action=1,value=0x7fff296a7030,info=0x7fff296a6ef4)
[dll] sane_control_option(handle=0x558e8e810740,option=8,action=0,value=0x7fff296a7010,info=(nil))
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=10)
[dll] sane_control_option(handle=0x558e8e810740,option=10,action=1,value=0x7fff296a7030,info=0x7fff296a6ef4)
[dll] sane_get_option_descriptor(handle=0x558e8e810740,option=2)
[dll] sane_control_option(handle=0x558e8e810740,option=2,action=0,value=0x7fff296a6ee0,info=(nil))
[dll] sane_start(handle=0x558e8e810740)
[dll] sane_get_parameters(handle=0x558e8e810740,params=0x7fff296a7010)
[dll] sane_read(handle=0x558e8e810740,data=0x558e8e7f2670,maxlen=32768,lenp=0x7fff296a6fe4)
Not a JPEG file: starts with 0x00 0x00

Comment 12 oliver.zemann 2018-01-04 09:24:28 UTC
when i start xsane and scan something, i get the same error:

[oli@localhost ~]$ xsane #now i click the button on scan
Not a JPEG file: starts with 0x00 0x00 #xsane ends and thats the result

Comment 13 oliver.zemann 2018-01-04 09:49:23 UTC
i added into the /etc/sane.d/xerox_mfp.conf this at the end:
tcp 192.168.1.171

unfortunately, the official linux drivers for samsung do not work since F26 and they are also not downloadable anymore since HP bought samsungs printer segment.
i just contacted the support of HP if they are somewhere else available for download.

Comment 14 Zdenek Dohnal 2018-01-04 13:08:37 UTC
Would you mind attaching file debug.out created by this command:

$ SANE_DEBUG_XEROX_MFP=255 SANE_DEBUG_DLL=255 scanimage -d 'xerox_mfp:tcp 192.168.1.171' -x 100 -y 130 --format=tiff >out.tiff 2>debug.out

?

Comment 15 oliver.zemann 2018-01-04 13:11:12 UTC
Created attachment 1376914 [details]
debug.out

Comment 16 oliver.zemann 2018-01-04 13:11:32 UTC
Created attachment 1376916 [details]
out.tiff

Comment 17 oliver.zemann 2018-01-04 21:42:54 UTC
i got the driver now from the hp support: https://support.hp.com/gb-en/drivers/selfservice/samsung-xpress-sl-c480-color-laser-multifunction-printer-series/16462546/model/16462554

i installed it and it installed a wierd xml file but has .conf ending in /etc/sane.d/smfp-samung.conf

but i have no idea how to configure that, so that its working and finding my scanner

Comment 18 oliver.zemann 2018-01-04 21:44:21 UTC
[root@localhost noarch]# scanimage -L
device `smfp:net;192.168.1.171' is a Samsung C48x Series on 192.168.1.171 Scanner

Comment 19 oliver.zemann 2018-01-04 21:48:03 UTC
its working now with xsane and scanimage - i just installed that driver and removed that tcp line from the xerox conf

Comment 20 Zdenek Dohnal 2018-01-08 12:23:29 UTC
So Samsung scanners need proprietary driver to run scanner properly. Because it is proprietary driver, IMO it cannot be shipped in Fedora, which means I do not have any means to make these device to work by default - user will need to download proprietary driver from manufacturer. I can write this solution to README.Fedora for other users though.

Comment 21 Fedora Update System 2018-01-08 13:15:29 UTC
sane-backends-1.0.27-9.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-225e6912e6

Comment 22 Fedora Update System 2018-01-08 20:30:13 UTC
sane-backends-1.0.27-9.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-225e6912e6

Comment 23 oliver.zemann 2018-01-09 11:29:29 UTC
Would be nice if there would be some way to reverse engineer that and make it open source (if thats allowed) to not depend on the drivers on samsung/hp.

Comment 24 Fedora Update System 2018-01-12 14:42:54 UTC
sane-backends-1.0.27-9.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 25 Dirk Hoffmann 2018-07-28 16:14:40 UTC
For what it's worth, this even helped me to get the scanner working on FC28.

The point is that the scanner driver delivered by default with the device (www.samsung.com/printersetup) is *NOT* up to date, and the link provided by oli above contained a working driver installation. I copy it here for reference:
i got the driver now from the hp support: https://support.hp.com/gb-en/drivers/selfservice/samsung-xpress-sl-c480-color-laser-multifunction-printer-series/16462546/model/16462554


Note You need to log in before you can comment on or make changes to this bug.