From paddy-hack at member.fsf.org Thu Oct 1 12:39:21 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Thu, 01 Oct 2020 20:39:21 +0900 Subject: [sane-devel] Rebase In-Reply-To: References: <20200930204719.GA870@kunai> Message-ID: <87tuve89au.fsf@quark> Hi Ralph, Ralph Little writes: > Hi, > > On Wed, Sep 30, 2020 at 1:47 PM Wolfram Sang wrote: > >> Hi Ralph, >> >> > I have an issue branch that now has conflicts with master. >> > I have not had a lot of experience with rebasing, but I read somewhere that >> > rebasing is not recommended if you have pushed changes to origin because of >> > the dangers of someone else working on the branch. ACK. Only if you don't a farthing about the trouble you're causing folks working off your published branch is it okay to rebase a branch and force push. That said, chances there are such people are slim :-) >> I am still new to SANE, but from my Kernel experience: >> >> If you pushed a branch to the public and other people use the branch to >> work on top of that, then rebasing is indeed a bad idea. If not, then >> just rebase. Which branch is it? >> >> It is 264-canon-pixma-mx492-adf-issue. > > AFAICS I am the only one to work on this branch, so I suspect that rebasing > will be OK. I'd check with the pixma backend's new maintainer, hi Povilas!, and Louis just to make sure but what is the argument for not wanting to merge master into your branch instead? BTW, I know for a fact that the old maintainer occasionally rebased. > Just really looking for perspectives for the SANE project. > I suspect different projects have views on this subject. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From skelband at gmail.com Thu Oct 1 15:36:47 2020 From: skelband at gmail.com (Ralph Little) Date: Thu, 1 Oct 2020 07:36:47 -0700 Subject: [sane-devel] Rebase In-Reply-To: <87tuve89au.fsf@quark> References: <20200930204719.GA870@kunai> <87tuve89au.fsf@quark> Message-ID: Hi, On 2020-10-01 4:39 a.m., Olaf Meeuwissen wrote: > Hi Ralph, > > Ralph Little writes: > > AFAICS I am the only one to work on this branch, so I suspect that rebasing > will be OK. > I'd check with the pixma backend's new maintainer, hi Povilas!, and > Louis just to make sure but what is the argument for not wanting to > merge master into your branch instead? > > BTW, I know for a fact that the old maintainer occasionally rebased. > It was Rolf's suggestion to rebase or merge. I have not rebased to a public git server before so I wanted to garner some opinion and advice. My preference for rebasing in this case would be to compress a rather long running branch to make review easier and to keep the branch clean. There are further fixes to push to the branch before it is merged back to master. For my testing of the branch, I do need to get some changes from master into it that relate to the imageClass machine that I have. Cheers, Ralph From netukar201409+sane at mailbox.org Fri Oct 2 08:55:57 2020 From: netukar201409+sane at mailbox.org (netukar201409+sane at mailbox.org) Date: Fri, 2 Oct 2020 09:55:57 +0200 Subject: [sane-devel] Fwd: book scanner recognized as v4l device - Invalid argument VIDIOCSPICT Message-ID: <6363f42f-94f4-7fef-37c2-a42cb7979095@mailbox.org> Hi, thank you for the hint with the colon. Now the scanimage command gives the following output: SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 Output format is not set, using pnm as a default. [08:32:10.656977] [sanei_debug] Setting debug level of v4l to 128. [08:32:10.657002] [v4l] SANE v4l backend version 1.0 build 5 from sane-backends 1.0.30-970-gd00af49e3 [08:32:10.657090] [v4l] attach: trying to open /dev/bttv0 [08:32:10.657114] [v4l] attach: failed to open device `/dev/bttv0': No such file or directory [08:32:10.657122] [v4l] attach: trying to open /dev/video0 [08:32:10.671591] [v4l] attach: found videodev `USB2.0 HD UVC WebCam: USB2.0 HD' on `/dev/video0' [08:32:10.671713] [v4l] attach: trying to open /dev/video1 [08:32:10.671913] [v4l] attach: failed to open device `/dev/video1': Invalid argument [08:32:10.671930] [v4l] attach: trying to open /dev/video2 [08:32:10.675048] [v4l] attach: found videodev `JY-VP216: JY-VP216' on `/dev/video2' [08:32:10.675089] [v4l] attach: trying to open /dev/video3 [08:32:10.675110] [v4l] attach: failed to open device `/dev/video3': No such file or directory [08:32:10.675130] [v4l] sane_open: device /dev/video2 found in devlist [08:32:10.678262] [v4l] sane_open: 1 channels, 0 audio devices [08:32:10.678296] [v4l] sane_open: minwidth=1280, minheight=720, maxwidth=4896, maxheight=3672 [08:32:10.678308] [v4l] sane_open: V4L device can capture to memory [08:32:10.678333] [v4l] sane_open: channel 0 (Camera 1), tuners=0, flags=0x0, type=2, norm=0 [08:32:10.678362] [v4l] sane_open: input is camera input [08:32:10.679064] [v4l] sane_open: brightness=26214, hue=0, colour=30583, contrast=34952 [08:32:10.679076] [v4l] sane_open: whiteness=0, depth=24, palette=4 [08:32:10.679525] [v4l] sane_open: ioctl VIDIOCSPICT failed (Invalid argument) [08:32:10.679536] [v4l] sane_open: x=0, y=0, width=2048, height=1536 [08:32:10.679548] [v4l] sane_get_option_descriptor: option 0 (Number of options) [08:32:10.679557] [v4l] sane_control_option: get option 0 (Number of options) [08:32:10.679588] [v4l] sane_get_option_descriptor: option 0 (Number of options) [08:32:10.679597] [v4l] sane_control_option: get option 0 (Number of options) [08:32:10.679606] [v4l] sane_get_option_descriptor: option 1 (Scan Mode) [08:32:10.679615] [v4l] sane_get_option_descriptor: option 2 (mode) [08:32:10.679625] [v4l] sane_get_option_descriptor: option 3 (channel) [08:32:10.679635] [v4l] sane_get_option_descriptor: option 4 (Geometry) [08:32:10.679645] [v4l] sane_get_option_descriptor: option 5 (tl-x) [08:32:10.679656] [v4l] sane_get_option_descriptor: option 6 (tl-y) [08:32:10.679665] [v4l] sane_get_option_descriptor: option 7 (br-x) [08:32:10.679675] [v4l] sane_get_option_descriptor: option 8 (br-y) [08:32:10.679685] [v4l] sane_get_option_descriptor: option 9 (Enhancement) [08:32:10.679697] [v4l] sane_get_option_descriptor: option 10 (brightness) [08:32:10.679706] [v4l] sane_get_option_descriptor: option 11 (hue) [08:32:10.679716] [v4l] sane_get_option_descriptor: option 12 (color) [08:32:10.679726] [v4l] sane_get_option_descriptor: option 13 (contrast) [08:32:10.679736] [v4l] sane_get_option_descriptor: option 14 (white-level) [08:32:10.679746] [v4l] sane_control_option: get option 7 (br-x) [08:32:10.679756] [v4l] sane_control option: option is inactive [08:32:10.679766] [v4l] sane_control_option: get option 5 (tl-x) [08:32:10.679776] [v4l] sane_control option: option is inactive [08:32:10.679785] [v4l] sane_control_option: get option 8 (br-y) [08:32:10.679796] [v4l] sane_control option: option is inactive [08:32:10.679805] [v4l] sane_control_option: get option 6 (tl-y) [08:32:10.679815] [v4l] sane_control option: option is inactive [08:32:10.679827] [v4l] sane_control_option: get option 5 (tl-x) [08:32:10.679837] [v4l] sane_control option: option is inactive [08:32:10.679847] [v4l] sane_get_option_descriptor: option 7 (br-x) scanimage: ignored request to set inactive option br-x [08:32:10.679860] [v4l] sane_control_option: get option 6 (tl-y) [08:32:10.679870] [v4l] sane_control option: option is inactive [08:32:10.679880] [v4l] sane_get_option_descriptor: option 8 (br-y) scanimage: ignored request to set inactive option br-y scanimage: output is not a file, exiting [08:32:10.679903] [v4l] sane_close: trying to close handle 0x55fd2b1e8220 [08:32:10.679922] [v4l] sane_exit: all devices freed Regards, --- Michael Dittmer FSFE fellower Am 2020-09-27 um 10:47 schrieb Olaf Meeuwissen: > Hi, > > netukar201409+sane at mailbox.org writes: > >> Hi, >> >> thank you for your hints. I reconnected the book scanner and was now >> recognized as video2. > The number is likely to change between power-cycling of the device. > >> scanimage --list-devices >> device `v4l:/dev/video2' is a Noname JY-VP216: JY-VP216 virtual device >> device `v4l:/dev/video0' is a Noname USB2.0 HD UVC WebCam: USB2.0 HD >> virtual device >> >> Then I tried >> >> scanimage -d v4l:/dev/video2 --help --all-options >> >> with result >> >> Usage: scanimage [OPTION]... >> Start image acquisition on a scanner device and write image data to >> standard output. >> [...] >> Options specific to device `v4l:/dev/video2': >> Scan Mode: >> --mode Gray|Color [Gray] >> Selects the scan mode (e.g., lineart, monochrome, or color). >> --channel Camera 1 [inactive] >> Selects the channel of the v4l device (e.g. television or video-in. >> Geometry: >> -l 0..-513pel (in steps of 1) [inactive] >> Top-left x position of scan area. >> -t 0..-209pel (in steps of 1) [inactive] >> Top-left y position of scan area. >> -x 1280..767pel (in steps of 1) [inactive] >> Width of scan-area. >> -y 720..511pel (in steps of 1) [inactive] >> Height of scan-area. >> Enhancement: >> --brightness 0..255 [102] >> Controls the brightness of the acquired image. >> --hue 0..255 [0] >> Controls the "hue" (blue-level) of the acquired image. >> --color 0..255 [119] >> Sets the picture's color. >> --contrast 0..255 [136] >> Controls the contrast of the acquired image. >> --white-level 0..255 [0] >> Selects what radiance level should be considered "white". >> >> All options specific to device `v4l:/dev/video2': >> [same output ...] >> >> Geometry settings seem not to be supported by V4L module. >> >> I also tried successlessly >> >> SANE_DEBUG_V4L=128 scanimage -v -d v4l*/dev/video2 >> Output format is not set, using pnm as a default. >> scanimage: open of device v4l*/dev/video2 failed: Invalid argument > Is that asterisk a typo in your command? It should be a colon. > > Whoops, I now see that typo was in my suggestion. Sorry. > # That's what I get for mixing Japanese and US ASCII keyboards. > >> Regards, >> >> --- >> >> Michael Dittmer >> >> FSFE fellower >> >> Am 2020-09-06 um 08:18 schrieb Olaf Meeuwissen: >>> Hi, >>> >>> Suggestions inlined below. >>> >>> netukar201409+sane at mailbox.org writes: >>> >>>> ---------- Ursprüngliche Nachricht ---------- >>>> Von: Michael Dittmer >>>> An:"sane-devel at alioth-lists.debian.net" >>>> >>>> Datum: 23.08.2020 12:00 >>>> Betreff: book scanner recognized as v4l device >>>> >>>> I bought a book scanner >>>> >>>> JOURIST BT16 >>>> >>>> from a german dealer >>>> >>>> looks like: >>>> http://www.scanner.expert/de/images/products/buchscanner/description/5_JOURIST_Buchscanner_BS16_Standalone.jpg >>>> >>>> >>>> It takes photos from the pages with a camera like a CZUR book >>>> scanner. My bookscanner camera also can be opened by >>>> >>>> guvcview >>>> >>>> It has maximum resolution of >>>> >>>> 4608x3456 >>>> >>>> pixels for A3 scan (resolution can be selected by gucview and is shown >>>> later when starting xsane). >>>> >>>> When I plug it onto a usb port, several devices are recognized (dmesg >>>> output) >>>> >>>> [...] >>>> >>>> All book scanner manufacturers seem to deliver only twain drivers. So >>>> I tried to handle the scanner as an generic v4l device >>>> >>>> My linux mint 19.3 (based on Ubuntu 18.04) distribution has a sane >>>> backend package (1.0.27) without compiled v4l backend. >>>> After compiling current 1.0.30 sources with v4l-dev libraries I >>>> obtained the v4l backend >>>> >>>> scanimage --list-devices >>>> device `v4l:/dev/video3' is a Noname JY-VP216: JY-VP216 virtual device >>>> >>>> but xsane and scanimage are not able to perform scan ("illegal argument") >>> Check the supported settings and allowed values with >>> >>> scanimage -d v4l:/dev/video3 --help --all-options >>> >>>> SANE_DEBUG_SANEI_USB=4 scanimage -v -d v4l:/dev/video3 --format tiff > output.tif >>>> scanimage: ignored request to set inactive option br-x >>>> scanimage: ignored request to set inactive option br-y >>>> scanimage: sane_start: Invalid argument >>> Try >>> >>> SANE_DEBUG_V4L=128 scanimage -v -d v4l*/dev/video3 >>> >>> and see if that sheds any light upon your issue. >>> >>>> Another program >>>> >>>> simple scan >>>> >>>> from Ubuntu distribution is able to scan into pdf with 1600x1200 pixel >>>> but not with maximum resolution. >>>> >>>> It seems for me that the v4l backend has to support higher >>>> resolutions, like 4608x3456 e.g. > Hope this helps, > -- > Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 > GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 > Support Free Softwarehttps://my.fsf.org/donate > Join the Free Software Foundationhttps://my.fsf.org/join From anton.khabbaz at gmail.com Fri Oct 2 18:29:54 2020 From: anton.khabbaz at gmail.com (Anton Khabbaz) Date: Fri, 2 Oct 2020 13:29:54 -0400 Subject: [sane-devel] Thank you for the help with Canon TS9120 Message-ID: Dear Alexander and Theirry, Last April you helped me install a canon scanner on my Ubuntu 18.04 distribution. I just wanted to Thank you for your help. I was able to install it again on the another computer. This time I never installed any sane backends, just airscan from the github website. I followed the instructions there and it worked. Under /etc/sane.d/ has all the .conf files and this time I see no conf file for ecsl. Thank you for your help, Anton -------------- next part -------------- An HTML attachment was scrubbed... URL: From wsa at kernel.org Sat Oct 3 06:55:10 2020 From: wsa at kernel.org (Wolfram Sang) Date: Sat, 3 Oct 2020 07:55:10 +0200 Subject: [sane-devel] Is any developer interested in getting a canon dr-2020u scanner? In-Reply-To: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> References: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> Message-ID: <20201003055510.GA992@kunai> Hi, > I am from Germany/Munich so I am preferably looking for some one from > Germany (would send it for free) or maybe otherwise from Europe (depends on > shipping costs/probably also for free). > > Is anyone interested? Well, since nobody else replied so far, I would have a try. I can check if the scanner uses some already implementend backend and can adapt the backend if needed. SANE wiki mentions GL84x. I don't have the bandwidth to create a new backend from scratch, though. I live in Germany, so that would fit. If I can't get anywhere, I will send the scanner to other interested developers, of course. So, if you think that fits, just contact me. Thanks and happy hacking, Wolfram -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From colibri at mailbox.org Sat Oct 3 07:33:34 2020 From: colibri at mailbox.org (colibri) Date: Sat, 3 Oct 2020 08:33:34 +0200 Subject: [sane-devel] Is any developer interested in getting a canon dr-2020u scanner? In-Reply-To: <20201003055510.GA992@kunai> References: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> <20201003055510.GA992@kunai> Message-ID: <27a83fa7-3847-4933-03d5-2477c97cf26b@mailbox.org> Hi, thank you for your offer, but in fact I was contacted by Povilas already. He didn't send me his address yet. I am not sure if I messed up my reply or him just being busy. So I probably should wait a little bit longer but if he is not interested anymore I am going to send it to you. Best regards, Roman > Hi, > >> I am from Germany/Munich so I am preferably looking for some one from >> Germany (would send it for free) or maybe otherwise from Europe (depends on >> shipping costs/probably also for free). >> >> Is anyone interested? > > Well, since nobody else replied so far, I would have a try. > > I can check if the scanner uses some already implementend backend and > can adapt the backend if needed. SANE wiki mentions GL84x. I don't have > the bandwidth to create a new backend from scratch, though. > > I live in Germany, so that would fit. If I can't get anywhere, I will > send the scanner to other interested developers, of course. > > So, if you think that fits, just contact me. > > Thanks and happy hacking, > > Wolfram > From wsa at kernel.org Sat Oct 3 07:56:45 2020 From: wsa at kernel.org (Wolfram Sang) Date: Sat, 3 Oct 2020 08:56:45 +0200 Subject: [sane-devel] Is any developer interested in getting a canon dr-2020u scanner? In-Reply-To: <27a83fa7-3847-4933-03d5-2477c97cf26b@mailbox.org> References: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> <20201003055510.GA992@kunai> <27a83fa7-3847-4933-03d5-2477c97cf26b@mailbox.org> Message-ID: <20201003065645.GB992@kunai> > So I probably should wait a little bit longer but if he is not interested > anymore I am going to send it to you. Sure, let's hope he will send the address. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From pimvantend at yahoo.com Sat Oct 3 11:09:45 2020 From: pimvantend at yahoo.com (Pim van Tend) Date: Sat, 3 Oct 2020 10:09:45 +0000 (UTC) Subject: [sane-devel] Fwd: book scanner recognized as v4l device - Invalid argument VIDIOCSPICT In-Reply-To: <6363f42f-94f4-7fef-37c2-a42cb7979095@mailbox.org> References: <6363f42f-94f4-7fef-37c2-a42cb7979095@mailbox.org> Message-ID: <1539062657.1358446.1601719785186@mail.yahoo.com> SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 >myfirstscan.pnm is the command to write your scan to myfirstscan.pnm Without the >-clause scanimage refuses to work. If you just want to experiment without looking at tje scan, usr >/dev/null -------------- next part -------------- An HTML attachment was scrubbed... URL: From yo35 at melix.net Sun Oct 4 17:31:34 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Sun, 4 Oct 2020 18:31:34 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working Message-ID: Hi, I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- not recognized by SANE. I've seen on the device list page that testers are needed for this device, so I would be happy to test what need to be tested in order to have this thing work properly. Please find attached the output of command 'sudo sane-find-scanner -v -v'. Regards, Y. -------------- next part -------------- This is sane-find-scanner from sane-backends 1.0.29 # 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. searching for SCSI scanners: checking /dev/scanner... failed to open (Invalid argument) checking /dev/sg0... failed to open (Invalid argument) checking /dev/sg1... failed to open (Invalid argument) checking /dev/sg2... failed to open (Invalid argument) checking /dev/sg3... failed to open (Invalid argument) checking /dev/sg4... failed to open (Invalid argument) checking /dev/sg5... failed to open (Invalid argument) checking /dev/sg6... failed to open (Invalid argument) checking /dev/sg7... failed to open (Invalid argument) checking /dev/sg8... failed to open (Invalid argument) checking /dev/sg9... failed to open (Invalid argument) checking /dev/sga... failed to open (Invalid argument) checking /dev/sgb... failed to open (Invalid argument) checking /dev/sgc... failed to open (Invalid argument) checking /dev/sgd... failed to open (Invalid argument) checking /dev/sge... failed to open (Invalid argument) checking /dev/sgf... failed to open (Invalid argument) checking /dev/sgg... failed to open (Invalid argument) checking /dev/sgh... failed to open (Invalid argument) checking /dev/sgi... failed to open (Invalid argument) checking /dev/sgj... failed to open (Invalid argument) checking /dev/sgk... failed to open (Invalid argument) checking /dev/sgl... failed to open (Invalid argument) checking /dev/sgm... failed to open (Invalid argument) checking /dev/sgn... failed to open (Invalid argument) checking /dev/sgo... failed to open (Invalid argument) checking /dev/sgp... failed to open (Invalid argument) checking /dev/sgq... failed to open (Invalid argument) checking /dev/sgr... failed to open (Invalid argument) checking /dev/sgs... failed to open (Invalid argument) checking /dev/sgt... failed to open (Invalid argument) checking /dev/sgu... failed to open (Invalid argument) checking /dev/sgv... failed to open (Invalid argument) checking /dev/sgw... failed to open (Invalid argument) checking /dev/sgx... failed to open (Invalid argument) checking /dev/sgy... failed to open (Invalid argument) checking /dev/sgz... failed to open (Invalid argument) # No SCSI scanners found. If you expected something different, make sure that # you have loaded a kernel SCSI driver for your SCSI adapter. searching for USB scanners: checking /dev/usb/scanner... failed to open (Invalid argument) checking /dev/usb/scanner0... failed to open (Invalid argument) checking /dev/usb/scanner1... failed to open (Invalid argument) checking /dev/usb/scanner2... failed to open (Invalid argument) checking /dev/usb/scanner3... failed to open (Invalid argument) checking /dev/usb/scanner4... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner7... failed to open (Invalid argument) checking /dev/usb/scanner8... failed to open (Invalid argument) checking /dev/usb/scanner9... failed to open (Invalid argument) checking /dev/usb/scanner10... failed to open (Invalid argument) checking /dev/usb/scanner11... failed to open (Invalid argument) checking /dev/usb/scanner12... failed to open (Invalid argument) checking /dev/usb/scanner13... failed to open (Invalid argument) checking /dev/usb/scanner14... failed to open (Invalid argument) checking /dev/usb/scanner15... failed to open (Invalid argument) checking /dev/usbscanner... failed to open (Invalid argument) checking /dev/usbscanner0... failed to open (Invalid argument) checking /dev/usbscanner1... failed to open (Invalid argument) checking /dev/usbscanner2... failed to open (Invalid argument) checking /dev/usbscanner3... failed to open (Invalid argument) checking /dev/usbscanner4... failed to open (Invalid argument) checking /dev/usbscanner5... failed to open (Invalid argument) checking /dev/usbscanner6... failed to open (Invalid argument) checking /dev/usbscanner7... failed to open (Invalid argument) checking /dev/usbscanner8... failed to open (Invalid argument) checking /dev/usbscanner9... failed to open (Invalid argument) checking /dev/usbscanner10... failed to open (Invalid argument) checking /dev/usbscanner11... failed to open (Invalid argument) checking /dev/usbscanner12... failed to open (Invalid argument) checking /dev/usbscanner13... failed to open (Invalid argument) checking /dev/usbscanner14... failed to open (Invalid argument) checking /dev/usbscanner15... failed to open (Invalid argument) trying libusb: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8001 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 2 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1d.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8009 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1a.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x0451 idProduct 0x8340 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 19 (interrupt) wMaxPacketSize 2 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1D6B idProduct 0x0003 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.01 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x82FF bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC52B bcdDevice 18.11 iManufacturer 1 (Logitech) iProduct 2 (USB Receiver) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 4 (RQR12.11_B0032) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 32 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 2 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x8342 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04A9 idProduct 0x1890 bcdDevice 1.02 iManufacturer 1 (Canon) iProduct 2 (TS8300 series) iSerialNumber 3 (21260F) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 223 bNumInterfaces 7 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 2 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x07 (out 0x07) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x88 (in 0x08) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x89 (in 0x09) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 11 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x01 (out 0x01) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 bInterfaceSubClass 6 bInterfaceProtocol 80 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x84 (in 0x04) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x05 (out 0x05) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x03 (out 0x03) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0A (out 0x0A) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8B (in 0x0B) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 could not claim USB device interface found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 series]) at libusb:003:013 bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC328 bcdDevice 134.00 iManufacturer 1 (Logitech) iProduct 2 (USB Keyboard) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 4 (U86.00_B0003) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 3 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 bDeviceSubClass 2 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x046D idProduct 0x0825 bcdDevice 0.10 iManufacturer 0 () iProduct 0 () iSerialNumber 2 (5EC3E6C0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 2469 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 () bmAttributes 128 () MaxPower 500 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x87 (in 0x07) bmAttributes 3 (interrupt) wMaxPacketSize 16 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 192 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 384 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 512 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 640 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 800 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 944 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2688 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 8 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2848 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 9 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 3040 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 10 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 4992 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 11 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 5116 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 68 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 100 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 132 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 196 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can't be detected by this program. done From skelband at gmail.com Sun Oct 4 22:33:58 2020 From: skelband at gmail.com (Ralph Little) Date: Sun, 4 Oct 2020 14:33:58 -0700 Subject: [sane-devel] Rebase In-Reply-To: <87tuve89au.fsf@quark> References: <20200930204719.GA870@kunai> <87tuve89au.fsf@quark> Message-ID: <1ae7f9bb-9277-f241-f6e9-d19e9aebdd75@gmail.com> Hi, On 2020-10-01 4:39 a.m., Olaf Meeuwissen wrote: > I'd check with the pixma backend's new maintainer, hi Povilas!, and > Louis just to make sure but what is the argument for not wanting to > merge master into your branch instead? > > BTW, I know for a fact that the old maintainer occasionally rebased. > OK, due to an "abundance of caution", I opted for the merge, although the size of the commit is enormous. Kinda thinking that maybe a rebase would have been better now but it's done. Where I work, we use mercurial and cherry picking is a tool that we commonly use there. I wonder if that might not have been a better bet here. Cheers, Ralph From thierry at ordissimo.com Sun Oct 4 22:51:44 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Sun, 04 Oct 2020 23:51:44 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: Message-ID: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> Le 2020-10-04 18:31, Yoann Le Montagner a écrit : > Hi, > > I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- not > recognized by SANE. I've seen on the device list page that testers are > needed for this device, so I would be happy to test what need to be > tested in order to have this thing work properly. > > Please find attached the output of command 'sudo sane-find-scanner -v > -v'. > The usb support has been added, for your template in version 1.0.30 of sane-backends. Full wifi support in version 1.0.31 of sane-backends. If your OS is ubuntu I invite you to update as follows: sudo add-apt-repository ppa:sane-project/sane-git sudo apt update sudo apt install libsane libsane-common sane-utils > Regards, > > Y. From thierry at ordissimo.com Mon Oct 5 19:10:01 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 20:10:01 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> Message-ID: <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Le 2020-10-05 19:22, Yoann Le Montagner a écrit : > Hi, > > Thanks for the answer. Indeed, things are better with libsane 1.0.31. > > However, I still encounter some random errors when trying to use the > scanner. For instance, using 'scanimage', I get: > >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> Erreur de segmentation (core dumped) >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> scanimage: rounded value of br-x from 215.9 to 215.9 >> scanimage: rounded value of br-y from 297.011 to 297.011 >> scanimage: sane_start: Device busy >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> Erreur de segmentation (core dumped) >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> scanimage: rounded value of br-x from 215.9 to 215.9 >> scanimage: rounded value of br-y from 297.011 to 297.011 > > ... the first 3 attempts failed, the fourth one succeed. The number of > attempts may change from one trial to another. And the scanner is > almost unusable from a graphical frontend such as XSane (probably > because of these errors I guess). > You are plugged in USB! Why use the network driver? ippusbxd doesn't work very well, I advise you to uninstall it. # sudo apt purge ippusbxd The PIXMA driver should then detect your scanner and everything should work. You can also use it in networks! Thierry > If there is any manipulation that I should try to provide more > information, please let me know. > > Regards, > > Yoann > > Le 04/10/2020 à 23:51, Thierry HUCHARD a écrit : > >> Le 2020-10-04 18:31, Yoann Le Montagner a écrit : >> >>> Hi, >>> >>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>> not >>> recognized by SANE. I've seen on the device list page that testers >>> are >>> needed for this device, so I would be happy to test what need to >>> be >>> tested in order to have this thing work properly. >>> >>> Please find attached the output of command 'sudo sane-find-scanner >>> -v -v'. >> The usb support has been added, for your template in version 1.0.30 >> of sane-backends. >> Full wifi support in version 1.0.31 of sane-backends. >> If your OS is ubuntu I invite you to update as follows: >> sudo add-apt-repository ppa:sane-project/sane-git >> sudo apt update >> sudo apt install libsane libsane-common sane-utils >> >>> Regards, >>> >>> Y. From yo35 at melix.net Mon Oct 5 18:22:58 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 19:22:58 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> Message-ID: <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> Hi, Thanks for the answer. Indeed, things are better with libsane 1.0.31. However, I still encounter some random errors when trying to use the scanner. For instance, using 'scanimage', I get: yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. Erreur de segmentation (core dumped) yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. scanimage: rounded value of br-x from 215.9 to 215.9 scanimage: rounded value of br-y from 297.011 to 297.011 scanimage: sane_start: Device busy yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. Erreur de segmentation (core dumped) yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. scanimage: rounded value of br-x from 215.9 to 215.9 scanimage: rounded value of br-y from 297.011 to 297.011 ... the first 3 attempts failed, the fourth one succeed. The number of attempts may change from one trial to another. And the scanner is almost unusable from a graphical frontend such as XSane (probably because of these errors I guess). If there is any manipulation that I should try to provide more information, please let me know. Regards, Yoann Le 04/10/2020 à 23:51, Thierry HUCHARD a écrit : > Le 2020-10-04 18:31, Yoann Le Montagner a écrit : >> Hi, >> >> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- not >> recognized by SANE. I've seen on the device list page that testers are >> needed for this device, so I would be happy to test what need to be >> tested in order to have this thing work properly. >> >> Please find attached the output of command 'sudo sane-find-scanner -v >> -v'. >> > The usb support has been added, for your template in version 1.0.30 of > sane-backends. > Full wifi support in version 1.0.31 of sane-backends. > If your OS is ubuntu I invite you to update as follows: > sudo add-apt-repository ppa:sane-project/sane-git > sudo apt update > sudo apt install libsane libsane-common sane-utils > > >> Regards, >> >> Y. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Mon Oct 5 20:06:13 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 21:06:13 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: Le 2020-10-05 20:30, Yoann Le Montagner a écrit : > Hi, > > I've uninstalled ippusbxd, then reboot... and as a result the scanner > is not detected anymore! > > 'scanimage -L' returns "No scanners were identified." can you give me the log of : SANE_DEBUG_DLL=255 scanimage -L your scanner is found : found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 series]) at libusb:003:009 > > 'sane-find-scanner' still lists the scanner among the USB devices > (output of 'sudo sane-find-scanner -v -v' is attached). > > I don't understand you point regarding the scanner being plugged in > USB. Do you mean it would better to have it connected through Wifi ? > > Regards, > > Yoann > > > Le 05/10/2020 à 20:10, Thierry HUCHARD a écrit : >> Le 2020-10-05 19:22, Yoann Le Montagner a écrit : >>> Hi, >>> >>> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >>> >>> However, I still encounter some random errors when trying to use the >>> scanner. For instance, using 'scanimage', I get: >>> >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> Erreur de segmentation (core dumped) >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>>> scanimage: sane_start: Device busy >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> Erreur de segmentation (core dumped) >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>> >>> ... the first 3 attempts failed, the fourth one succeed. The number >>> of >>> attempts may change from one trial to another. And the scanner is >>> almost unusable from a graphical frontend such as XSane (probably >>> because of these errors I guess). >>> >> You are plugged in USB! >> Why use the network driver? >> ippusbxd doesn't work very well, I advise you to uninstall it. >> # sudo apt purge ippusbxd >> The PIXMA driver should then detect your scanner and everything should >> work. >> You can also use it in networks! >> >> Thierry >> >>> If there is any manipulation that I should try to provide more >>> information, please let me know. >>> >>> Regards, >>> >>> Yoann >>> >>> Le 04/10/2020 à 23:51, Thierry HUCHARD a écrit : >>> >>>> Le 2020-10-04 18:31, Yoann Le Montagner a écrit : >>>> >>>>> Hi, >>>>> >>>>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>>>> not >>>>> recognized by SANE. I've seen on the device list page that testers >>>>> are >>>>> needed for this device, so I would be happy to test what need to >>>>> be >>>>> tested in order to have this thing work properly. >>>>> >>>>> Please find attached the output of command 'sudo sane-find-scanner >>>>> -v -v'. >>>> The usb support has been added, for your template in version 1.0.30 >>>> of sane-backends. >>>> Full wifi support in version 1.0.31 of sane-backends. >>>> If your OS is ubuntu I invite you to update as follows: >>>> sudo add-apt-repository ppa:sane-project/sane-git >>>> sudo apt update >>>> sudo apt install libsane libsane-common sane-utils >>>> >>>>> Regards, >>>>> >>>>> Y. From pzz at apevzner.com Mon Oct 5 20:06:54 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 22:06:54 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> Message-ID: <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> On 10/5/20 8:22 PM, Yoann Le Montagner wrote: > Hi, > > Thanks for the answer. Indeed, things are better with libsane 1.0.31. > > However, I still encounter some random errors when trying to use the > scanner. For instance, using 'scanimage', I get: This is a bug in sane-escl driver, which causes it to crash. Basically, you have 3 options now: 1. You may try to help Thierry HUCHARD (the author of sane-escl) to debug his driver 2. You may uninstall ippusbxd in a hope that sane-pixma will work with your scanner via USB, as Thierry suggested 3. You may may install sane-airscan, the independent eSCL/WSD driver: sane-airscan can be downloaded from here: https://github.com/alexpevzner/sane-airscan - project page https://download.opensuse.org/repositories/home:/pzz/ - binary packages Note, ippusbxd is officially deprecated and replaced with ipp-usb. It works much more reliable. You can download ipp-usb binary package from the repository, mentioned above. Note also, the newest version of Debian/Ubuntu will come with sane-airscan and ipp-usb included by default; -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Mon Oct 5 20:10:57 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 21:10:57 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: <3fb96e35-0fdc-0f67-c159-64baa8398628@melix.net> Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' Regards, Yoann Le 05/10/2020 à 21:06, Thierry HUCHARD a écrit : > Le 2020-10-05 20:30, Yoann Le Montagner a écrit : >> Hi, >> >> I've uninstalled ippusbxd, then reboot... and as a result the scanner >> is not detected anymore! >> >> 'scanimage -L' returns "No scanners were identified." > can you give me the log of : > SANE_DEBUG_DLL=255 scanimage -L > > your scanner is found : > found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 > series]) at libusb:003:009 > >> >> 'sane-find-scanner' still lists the scanner among the USB devices >> (output of 'sudo sane-find-scanner -v -v' is attached). >> >> I don't understand you point regarding the scanner being plugged in >> USB. Do you mean it would better to have it connected through Wifi ? >> >> Regards, >> >> Yoann >> >> >> Le 05/10/2020 à 20:10, Thierry HUCHARD a écrit : >>> Le 2020-10-05 19:22, Yoann Le Montagner a écrit : >>>> Hi, >>>> >>>> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >>>> >>>> However, I still encounter some random errors when trying to use the >>>> scanner. For instance, using 'scanimage', I get: >>>> >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> Erreur de segmentation (core dumped) >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>>>> scanimage: sane_start: Device busy >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> Erreur de segmentation (core dumped) >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>>> >>>> ... the first 3 attempts failed, the fourth one succeed. The number of >>>> attempts may change from one trial to another. And the scanner is >>>> almost unusable from a graphical frontend such as XSane (probably >>>> because of these errors I guess). >>>> >>> You are plugged in USB! >>> Why use the network driver? >>> ippusbxd doesn't work very well, I advise you to uninstall it. >>> # sudo apt purge ippusbxd >>> The PIXMA driver should then detect your scanner and everything >>> should work. >>> You can also use it in networks! >>> >>> Thierry >>> >>>> If there is any manipulation that I should try to provide more >>>> information, please let me know. >>>> >>>> Regards, >>>> >>>> Yoann >>>> >>>> Le 04/10/2020 à 23:51, Thierry HUCHARD a écrit : >>>> >>>>> Le 2020-10-04 18:31, Yoann Le Montagner a écrit : >>>>> >>>>>> Hi, >>>>>> >>>>>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>>>>> not >>>>>> recognized by SANE. I've seen on the device list page that testers >>>>>> are >>>>>> needed for this device, so I would be happy to test what need to >>>>>> be >>>>>> tested in order to have this thing work properly. >>>>>> >>>>>> Please find attached the output of command 'sudo sane-find-scanner >>>>>> -v -v'. >>>>> The usb support has been added, for your template in version 1.0.30 >>>>> of sane-backends. >>>>> Full wifi support in version 1.0.31 of sane-backends. >>>>> If your OS is ubuntu I invite you to update as follows: >>>>> sudo add-apt-repository ppa:sane-project/sane-git >>>>> sudo apt update >>>>> sudo apt install libsane libsane-common sane-utils >>>>> >>>>>> Regards, >>>>>> >>>>>> Y. -------------- next part -------------- [21:08:44.634792] [sanei_debug] Setting debug level of dll to 255. [21:08:44.634923] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.31-160-g81227d1d4 [21:08:44.634955] [dll] sane_init/read_dlld: attempting to open directory `./dll.d' [21:08:44.634985] [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d' [21:08:44.635010] [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d' [21:08:44.635038] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip [21:08:44.635065] [dll] sane_init/read_config: reading dll.d/hplip [21:08:44.635094] [dll] add_backend: adding backend `hpaio' [21:08:44.635120] [dll] sane_init/read_dlld: done. [21:08:44.635143] [dll] sane_init/read_config: reading dll.conf [21:08:44.635167] [dll] add_backend: adding backend `net' [21:08:44.635182] [dll] add_backend: adding backend `abaton' [21:08:44.635197] [dll] add_backend: adding backend `agfafocus' [21:08:44.635212] [dll] add_backend: adding backend `apple' [21:08:44.635227] [dll] add_backend: adding backend `artec' [21:08:44.635241] [dll] add_backend: adding backend `artec_eplus48u' [21:08:44.635256] [dll] add_backend: adding backend `as6e' [21:08:44.635271] [dll] add_backend: adding backend `avision' [21:08:44.635286] [dll] add_backend: adding backend `bh' [21:08:44.635300] [dll] add_backend: adding backend `canon' [21:08:44.635315] [dll] add_backend: adding backend `canon630u' [21:08:44.635330] [dll] add_backend: adding backend `canon_dr' [21:08:44.635345] [dll] add_backend: adding backend `canon_lide70' [21:08:44.635359] [dll] add_backend: adding backend `cardscan' [21:08:44.635374] [dll] add_backend: adding backend `coolscan' [21:08:44.635389] [dll] add_backend: adding backend `coolscan3' [21:08:44.635405] [dll] add_backend: adding backend `dell1600n_net' [21:08:44.635419] [dll] add_backend: adding backend `dmc' [21:08:44.635434] [dll] add_backend: adding backend `epjitsu' [21:08:44.635450] [dll] add_backend: adding backend `epson2' [21:08:44.635464] [dll] add_backend: adding backend `epsonds' [21:08:44.635480] [dll] add_backend: adding backend `escl' [21:08:44.635495] [dll] add_backend: adding backend `fujitsu' [21:08:44.635510] [dll] add_backend: adding backend `genesys' [21:08:44.635525] [dll] add_backend: adding backend `gt68xx' [21:08:44.635540] [dll] add_backend: adding backend `hp' [21:08:44.635555] [dll] add_backend: adding backend `hp3500' [21:08:44.635570] [dll] add_backend: adding backend `hp3900' [21:08:44.635584] [dll] add_backend: adding backend `hp4200' [21:08:44.635599] [dll] add_backend: adding backend `hp5400' [21:08:44.635614] [dll] add_backend: adding backend `hp5590' [21:08:44.635629] [dll] add_backend: adding backend `hpljm1005' [21:08:44.635644] [dll] add_backend: adding backend `hpsj5s' [21:08:44.635662] [dll] add_backend: adding backend `hs2p' [21:08:44.635677] [dll] add_backend: adding backend `ibm' [21:08:44.635692] [dll] add_backend: adding backend `kodak' [21:08:44.635707] [dll] add_backend: adding backend `kodakaio' [21:08:44.635722] [dll] add_backend: adding backend `kvs1025' [21:08:44.635737] [dll] add_backend: adding backend `kvs20xx' [21:08:44.635752] [dll] add_backend: adding backend `kvs40xx' [21:08:44.635767] [dll] add_backend: adding backend `leo' [21:08:44.635782] [dll] add_backend: adding backend `lexmark' [21:08:44.635797] [dll] add_backend: adding backend `ma1509' [21:08:44.635812] [dll] add_backend: adding backend `magicolor' [21:08:44.635827] [dll] add_backend: adding backend `matsushita' [21:08:44.635842] [dll] add_backend: adding backend `microtek' [21:08:44.635857] [dll] add_backend: adding backend `microtek2' [21:08:44.635872] [dll] add_backend: adding backend `mustek' [21:08:44.635887] [dll] add_backend: adding backend `mustek_usb' [21:08:44.635902] [dll] add_backend: adding backend `mustek_usb2' [21:08:44.635917] [dll] add_backend: adding backend `nec' [21:08:44.635932] [dll] add_backend: adding backend `niash' [21:08:44.635948] [dll] add_backend: adding backend `pie' [21:08:44.635963] [dll] add_backend: adding backend `pieusb' [21:08:44.635978] [dll] add_backend: adding backend `pint' [21:08:44.636002] [dll] add_backend: adding backend `pixma' [21:08:44.636021] [dll] add_backend: adding backend `plustek' [21:08:44.636037] [dll] add_backend: adding backend `qcam' [21:08:44.636052] [dll] add_backend: adding backend `ricoh' [21:08:44.636067] [dll] add_backend: adding backend `ricoh2' [21:08:44.636083] [dll] add_backend: adding backend `rts8891' [21:08:44.636098] [dll] add_backend: adding backend `s9036' [21:08:44.636113] [dll] add_backend: adding backend `sceptre' [21:08:44.636128] [dll] add_backend: adding backend `sharp' [21:08:44.636143] [dll] add_backend: adding backend `sm3600' [21:08:44.636159] [dll] add_backend: adding backend `sm3840' [21:08:44.636174] [dll] add_backend: adding backend `snapscan' [21:08:44.636189] [dll] add_backend: adding backend `sp15c' [21:08:44.636205] [dll] add_backend: adding backend `tamarack' [21:08:44.636220] [dll] add_backend: adding backend `teco1' [21:08:44.636235] [dll] add_backend: adding backend `teco2' [21:08:44.636251] [dll] add_backend: adding backend `teco3' [21:08:44.636266] [dll] add_backend: adding backend `u12' [21:08:44.636282] [dll] add_backend: adding backend `umax' [21:08:44.636297] [dll] add_backend: adding backend `umax1220u' [21:08:44.636313] [dll] add_backend: adding backend `v4l' [21:08:44.636328] [dll] add_backend: adding backend `xerox_mfp' [21:08:44.636362] [dll] sane_get_devices [21:08:44.636379] [dll] load: searching backend `xerox_mfp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.636395] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:08:44.636417] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:08:44.636538] [dll] init: initializing backend `xerox_mfp' [21:08:44.641118] [dll] init: backend `xerox_mfp' is version 1.0.13 [21:08:44.641181] [dll] load: searching backend `v4l' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.641189] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' [21:08:44.641197] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' (No such file or directory) [21:08:44.641203] [dll] load: trying to load `/usr/lib/sane/libsane-v4l.so.1' [21:08:44.641210] [dll] load: couldn't open `/usr/lib/sane/libsane-v4l.so.1' (No such file or directory) [21:08:44.641216] [dll] load: couldn't find backend `v4l' (No such file or directory) [21:08:44.641222] [dll] load: searching backend `umax1220u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.641227] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:08:44.641236] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:08:44.641322] [dll] init: initializing backend `umax1220u' [21:08:44.645457] [dll] init: backend `umax1220u' is version 1.0.2 [21:08:44.645470] [dll] load: searching backend `umax' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.645476] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:08:44.645485] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:08:44.645569] [dll] init: initializing backend `umax' [21:08:44.650776] [dll] init: backend `umax' is version 1.0.45 [21:08:44.650787] [dll] load: searching backend `u12' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.650793] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:08:44.650801] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:08:44.650876] [dll] init: initializing backend `u12' [21:08:44.654558] [dll] init: backend `u12' is version 1.0.0 [21:08:44.654569] [dll] load: searching backend `teco3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.654575] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:08:44.654583] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:08:44.654633] [dll] init: initializing backend `teco3' [21:08:44.655145] [dll] init: backend `teco3' is version 1.0.1 [21:08:44.655159] [dll] load: searching backend `teco2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.655164] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:08:44.655173] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:08:44.655220] [dll] init: initializing backend `teco2' [21:08:44.656180] [dll] init: backend `teco2' is version 1.0.10 [21:08:44.656187] [dll] load: searching backend `teco1' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.656193] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:08:44.656201] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:08:44.656247] [dll] init: initializing backend `teco1' [21:08:44.656943] [dll] init: backend `teco1' is version 1.0.10 [21:08:44.656952] [dll] load: searching backend `tamarack' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.656958] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:08:44.656966] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:08:44.657020] [dll] init: initializing backend `tamarack' [21:08:44.657367] [dll] init: backend `tamarack' is version 1.0.0 [21:08:44.657374] [dll] load: searching backend `sp15c' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.657380] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:08:44.657397] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:08:44.657447] [dll] init: initializing backend `sp15c' [21:08:44.657547] [dll] init: backend `sp15c' is version 1.0.0 [21:08:44.657554] [dll] load: searching backend `snapscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.657560] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:08:44.657568] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:08:44.657640] [dll] init: initializing backend `snapscan' [21:08:44.661813] [dll] init: backend `snapscan' is version 1.4.53 [21:08:44.661824] [dll] load: searching backend `sm3840' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.661830] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:08:44.661840] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:08:44.661911] [dll] init: initializing backend `sm3840' [21:08:44.665653] [dll] init: backend `sm3840' is version 1.0.0 [21:08:44.665664] [dll] load: searching backend `sm3600' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.665670] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:08:44.665679] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:08:44.665764] [dll] init: initializing backend `sm3600' [21:08:44.670157] [dll] init: backend `sm3600' is version 1.0.6 [21:08:44.670172] [dll] load: searching backend `sharp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.670179] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:08:44.670189] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:08:44.670278] [dll] init: initializing backend `sharp' [21:08:44.670566] [dll] init: backend `sharp' is version 1.0.0 [21:08:44.670574] [dll] load: searching backend `sceptre' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.670580] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:08:44.670588] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:08:44.670640] [dll] init: initializing backend `sceptre' [21:08:44.670913] [dll] init: backend `sceptre' is version 1.0.10 [21:08:44.670921] [dll] load: searching backend `s9036' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.670927] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:08:44.670935] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:08:44.670990] [dll] init: initializing backend `s9036' [21:08:44.671178] [dll] init: backend `s9036' is version 1.0.0 [21:08:44.671185] [dll] load: searching backend `rts8891' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.671191] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:08:44.671199] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:08:44.671275] [dll] init: initializing backend `rts8891' [21:08:44.675139] [dll] init: backend `rts8891' is version 1.0.2401 [21:08:44.675195] [dll] load: searching backend `ricoh2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.675203] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:08:44.675211] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:08:44.675283] [dll] init: initializing backend `ricoh2' [21:08:44.679421] [dll] init: backend `ricoh2' is version 1.0.0 [21:08:44.679435] [dll] load: searching backend `ricoh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.679442] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:08:44.679460] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:08:44.679551] [dll] init: initializing backend `ricoh' [21:08:44.679743] [dll] init: backend `ricoh' is version 1.0.0 [21:08:44.679751] [dll] load: searching backend `qcam' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.679757] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:08:44.679764] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:08:44.679814] [dll] init: initializing backend `qcam' [21:08:44.679833] [dll] init: backend `qcam' is version 1.0.0 [21:08:44.679840] [dll] load: searching backend `plustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.679845] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:08:44.679853] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:08:44.679938] [dll] init: initializing backend `plustek' [21:08:44.684031] [dll] init: backend `plustek' is version 1.0.0 [21:08:44.684043] [dll] load: searching backend `pixma' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.684049] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:08:44.684057] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:08:44.684162] [dll] init: initializing backend `pixma' [21:08:44.687901] [dll] init: backend `pixma' is version 1.0.28 [21:08:45.208530] [dll] load: searching backend `pint' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.208593] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' [21:08:45.208621] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' (No such file or directory) [21:08:45.208637] [dll] load: trying to load `/usr/lib/sane/libsane-pint.so.1' [21:08:45.208655] [dll] load: couldn't open `/usr/lib/sane/libsane-pint.so.1' (No such file or directory) [21:08:45.208669] [dll] load: couldn't find backend `pint' (No such file or directory) [21:08:45.208684] [dll] load: searching backend `pieusb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.208698] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:08:45.208723] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:08:45.209017] [dll] init: initializing backend `pieusb' [21:08:45.218393] [dll] init: backend `pieusb' is version 1.0.1 [21:08:45.218421] [dll] load: searching backend `pie' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.218435] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:08:45.218456] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:08:45.218599] [dll] init: initializing backend `pie' [21:08:45.219650] [dll] init: backend `pie' is version 1.0.9 [21:08:45.219670] [dll] load: searching backend `niash' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.219684] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:08:45.219703] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:08:45.219876] [dll] init: initializing backend `niash' [21:08:45.226198] [dll] init: backend `niash' is version 1.0.1 [21:08:45.226210] [dll] load: searching backend `nec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.226216] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:08:45.226224] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:08:45.226301] [dll] init: initializing backend `nec' [21:08:45.226481] [dll] init: backend `nec' is version 1.0.0 [21:08:45.226489] [dll] load: searching backend `mustek_usb2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.226494] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:08:45.226502] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:08:45.226577] [dll] init: initializing backend `mustek_usb2' [21:08:45.226591] [dll] init: backend `mustek_usb2' is version 1.0.10 [21:08:45.231170] [dll] load: searching backend `mustek_usb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.231191] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:08:45.231203] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:08:45.231353] [dll] init: initializing backend `mustek_usb' [21:08:45.235767] [dll] init: backend `mustek_usb' is version 1.0.18 [21:08:45.235780] [dll] load: searching backend `mustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.235786] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:08:45.235794] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:08:45.235919] [dll] init: initializing backend `mustek' [21:08:45.236343] [dll] init: backend `mustek' is version 1.0.138 [21:08:45.236352] [dll] load: searching backend `microtek2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.236357] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:08:45.236366] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:08:45.236437] [dll] init: initializing backend `microtek2' [21:08:45.236729] [dll] init: backend `microtek2' is version 1.0.0 [21:08:45.236739] [dll] load: searching backend `microtek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.236745] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:08:45.236753] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:08:45.236804] [dll] init: initializing backend `microtek' [21:08:45.237064] [dll] init: backend `microtek' is version 1.0.0 [21:08:45.237071] [dll] load: searching backend `matsushita' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.237077] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:08:45.237085] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:08:45.237133] [dll] init: initializing backend `matsushita' [21:08:45.237711] [dll] init: backend `matsushita' is version 1.0.7 [21:08:45.237719] [dll] load: searching backend `magicolor' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.237725] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:08:45.237733] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:08:45.238211] [dll] init: initializing backend `magicolor' [21:08:45.241946] [dll] init: backend `magicolor' is version 1.0.1 [21:08:46.743672] [dll] load: searching backend `ma1509' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.743734] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:08:46.743850] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:08:46.744190] [dll] init: initializing backend `ma1509' [21:08:46.756740] [dll] init: backend `ma1509' is version 1.0.3 [21:08:46.756753] [dll] load: searching backend `lexmark' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.756759] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:08:46.756768] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:08:46.756876] [dll] init: initializing backend `lexmark' [21:08:46.760743] [dll] init: backend `lexmark' is version 1.0.32 [21:08:46.760800] [dll] load: searching backend `leo' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.760807] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:08:46.760816] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:08:46.760883] [dll] init: initializing backend `leo' [21:08:46.761258] [dll] init: backend `leo' is version 1.0.11 [21:08:46.761267] [dll] load: searching backend `kvs40xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.761272] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:08:46.761280] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:08:46.761403] [dll] init: initializing backend `kvs40xx' [21:08:46.765596] [dll] init: backend `kvs40xx' is version 1.0.1 [21:08:46.766003] [dll] load: searching backend `kvs20xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.766033] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:08:46.766058] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:08:46.766284] [dll] init: initializing backend `kvs20xx' [21:08:46.770143] [dll] init: backend `kvs20xx' is version 1.0.2 [21:08:46.770645] [dll] load: searching backend `kvs1025' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.770652] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:08:46.770662] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:08:46.770765] [dll] init: initializing backend `kvs1025' [21:08:46.774571] [dll] init: backend `kvs1025' is version 1.0.5 [21:08:46.774582] [dll] load: searching backend `kodakaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.774588] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:08:46.774597] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:08:46.775146] [dll] init: initializing backend `kodakaio' [21:08:46.778989] [dll] init: backend `kodakaio' is version 1.0.3 [21:08:48.687739] [dll] load: searching backend `kodak' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.687831] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:08:48.687884] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:08:48.688205] [dll] init: initializing backend `kodak' [21:08:48.688245] [dll] init: backend `kodak' is version 1.0.7 [21:08:48.688635] [dll] load: searching backend `ibm' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.688662] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:08:48.688686] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:08:48.688847] [dll] init: initializing backend `ibm' [21:08:48.689412] [dll] init: backend `ibm' is version 1.0.0 [21:08:48.689436] [dll] load: searching backend `hs2p' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.689453] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:08:48.689476] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:08:48.689630] [dll] init: initializing backend `hs2p' [21:08:48.690420] [dll] init: backend `hs2p' is version 1.0.0 [21:08:48.690456] [dll] load: searching backend `hpsj5s' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.690474] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:08:48.690498] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:08:48.690660] [dll] init: initializing backend `hpsj5s' [21:08:48.690745] [dll] init: backend `hpsj5s' is version 1.0.3 [21:08:48.690773] [dll] load: searching backend `hpljm1005' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.690790] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:08:48.690814] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:08:48.691023] [dll] init: initializing backend `hpljm1005' [21:08:48.701240] [dll] init: backend `hpljm1005' is version 1.0.1 [21:08:48.701251] [dll] load: searching backend `hp5590' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.701258] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:08:48.701266] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:08:48.701357] [dll] init: initializing backend `hp5590' [21:08:48.704987] [dll] init: backend `hp5590' is version 1.0.8 [21:08:48.704998] [dll] load: searching backend `hp5400' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.705004] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:08:48.705013] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:08:48.705103] [dll] init: initializing backend `hp5400' [21:08:48.709538] [dll] init: backend `hp5400' is version 1.0.3 [21:08:48.709552] [dll] load: searching backend `hp4200' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.709558] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:08:48.709567] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:08:48.709663] [dll] init: initializing backend `hp4200' [21:08:48.713699] [dll] init: backend `hp4200' is version 1.0.0 [21:08:48.713715] [dll] load: searching backend `hp3900' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.713721] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:08:48.713730] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:08:48.714065] [dll] init: initializing backend `hp3900' [21:08:48.718135] [dll] init: backend `hp3900' is version 1.0.0 [21:08:48.718147] [dll] load: searching backend `hp3500' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.718153] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:08:48.718161] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:08:48.718248] [dll] init: initializing backend `hp3500' [21:08:48.721956] [dll] init: backend `hp3500' is version 1.0.0 [21:08:48.721971] [dll] load: searching backend `hp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.721977] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:08:48.721986] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:08:48.722094] [dll] init: initializing backend `hp' [21:08:48.722109] [dll] init: backend `hp' is version 1.0.8 [21:08:48.726261] [dll] load: searching backend `gt68xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.726272] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:08:48.726281] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:08:48.726384] [dll] init: initializing backend `gt68xx' [21:08:48.730166] [dll] init: backend `gt68xx' is version 1.0.84 [21:08:48.730247] [dll] load: searching backend `genesys' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.730254] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:08:48.730263] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:08:48.730562] [dll] init: initializing backend `genesys' [21:08:48.734959] [dll] init: backend `genesys' is version 1.0.0 [21:08:48.735032] [dll] load: searching backend `fujitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.735040] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:08:48.735048] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:08:48.735133] [dll] init: initializing backend `fujitsu' [21:08:48.735148] [dll] init: backend `fujitsu' is version 1.0.137 [21:08:48.738939] [dll] load: searching backend `escl' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.738949] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:08:48.738958] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:08:48.747974] [dll] init: initializing backend `escl' [21:08:48.748065] [dll] init: backend `escl' is version 1.0.0 [21:08:49.751699] [dll] load: searching backend `epsonds' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:49.751763] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:08:49.751799] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:08:49.752225] [dll] init: initializing backend `epsonds' [21:08:49.761447] [dll] init: backend `epsonds' is version 1.0.0 [21:08:49.761502] [dll] load: searching backend `epson2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:49.761511] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:08:49.761522] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:08:49.761700] [dll] init: initializing backend `epson2' [21:08:49.766815] [dll] init: backend `epson2' is version 1.0.124 [21:08:50.768107] [dll] load: searching backend `epjitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:50.768183] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:08:50.768225] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:08:50.768683] [dll] init: initializing backend `epjitsu' [21:08:50.768736] [dll] init: backend `epjitsu' is version 1.0.31 [21:08:50.778397] [dll] load: searching backend `dmc' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:50.778422] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:08:50.778441] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:08:50.778624] [dll] init: initializing backend `dmc' [21:08:50.779050] [dll] init: backend `dmc' is version 1.0.0 [21:08:50.779067] [dll] load: searching backend `dell1600n_net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:50.779080] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:08:50.779097] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:08:50.779290] [dll] init: initializing backend `dell1600n_net' [21:08:50.779310] [dll] init: backend `dell1600n_net' is version 1.0.0 [21:08:51.079758] [dll] load: searching backend `coolscan3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.079847] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:08:51.079915] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:08:51.080305] [dll] init: initializing backend `coolscan3' [21:08:51.089730] [dll] init: backend `coolscan3' is version 1.0.0 [21:08:51.089889] [dll] load: searching backend `coolscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.089897] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:08:51.089907] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:08:51.090070] [dll] init: initializing backend `coolscan' [21:08:51.090347] [dll] init: backend `coolscan' is version 1.0.0 [21:08:51.090355] [dll] load: searching backend `cardscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.090366] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:08:51.090374] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:08:51.090482] [dll] init: initializing backend `cardscan' [21:08:51.094382] [dll] init: backend `cardscan' is version 1.0.3 [21:08:51.094423] [dll] load: searching backend `canon_lide70' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.094430] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:08:51.094439] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:08:51.094548] [dll] init: initializing backend `canon_lide70' [21:08:51.098391] [dll] init: backend `canon_lide70' is version 1.0.0 [21:08:51.098405] [dll] load: searching backend `canon_dr' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.098412] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:08:51.098420] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:08:51.098531] [dll] init: initializing backend `canon_dr' [21:08:51.098545] [dll] init: backend `canon_dr' is version 1.0.59 [21:08:51.102480] [dll] load: searching backend `canon630u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.102491] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:08:51.102500] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:08:51.102602] [dll] init: initializing backend `canon630u' [21:08:51.106335] [dll] init: backend `canon630u' is version 1.0.1 [21:08:51.106346] [dll] load: searching backend `canon' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.106352] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:08:51.106360] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:08:51.106440] [dll] init: initializing backend `canon' [21:08:51.106617] [dll] init: backend `canon' is version 1.0.0 [21:08:51.106636] [dll] load: searching backend `bh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.106642] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:08:51.106664] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:08:51.106810] [dll] init: initializing backend `bh' [21:08:51.107208] [dll] init: backend `bh' is version 1.0.4 [21:08:51.107225] [dll] load: searching backend `avision' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.107234] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:08:51.107257] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:08:51.107396] [dll] init: initializing backend `avision' [21:08:51.116823] [dll] init: backend `avision' is version 1.0.297 [21:08:51.122030] [dll] load: searching backend `as6e' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.122041] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:08:51.122050] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:08:51.122176] [dll] init: initializing backend `as6e' [21:08:51.122203] [dll] load: searching backend `artec_eplus48u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.122209] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:08:51.122218] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:08:51.122335] [dll] init: initializing backend `artec_eplus48u' [21:08:51.126360] [dll] init: backend `artec_eplus48u' is version 1.0.0 [21:08:51.126372] [dll] load: searching backend `artec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.126378] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:08:51.126387] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:08:51.126477] [dll] init: initializing backend `artec' [21:08:51.126756] [dll] init: backend `artec' is version 1.0.0 [21:08:51.126764] [dll] load: searching backend `apple' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.126770] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:08:51.126777] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:08:51.126846] [dll] init: initializing backend `apple' [21:08:51.127108] [dll] init: backend `apple' is version 1.0.0 [21:08:51.127115] [dll] load: searching backend `agfafocus' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.127120] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:08:51.127128] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:08:51.127202] [dll] init: initializing backend `agfafocus' [21:08:51.127385] [dll] init: backend `agfafocus' is version 1.0.0 [21:08:51.127392] [dll] load: searching backend `abaton' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.127398] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:08:51.127406] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:08:51.127468] [dll] init: initializing backend `abaton' [21:08:51.127727] [dll] init: backend `abaton' is version 1.0.0 [21:08:51.127734] [dll] load: searching backend `net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.127740] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:08:51.127749] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:08:51.127849] [dll] init: initializing backend `net' [21:08:51.129509] [dll] init: backend `net' is version 1.0.31 [21:08:51.129535] [dll] load: searching backend `hpaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.129542] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:08:51.129553] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:08:51.130141] [dll] init: initializing backend `hpaio' [21:08:51.130488] [dll] init: backend `hpaio' is version 1.0.0 [21:08:52.532029] [dll] sane_get_devices: found 0 devices [21:08:52.532106] [dll] sane_exit: exiting [21:08:52.532143] [dll] sane_exit: calling backend `xerox_mfp's exit function [21:08:52.532317] [dll] sane_exit: calling backend `umax1220u's exit function [21:08:52.532456] [dll] sane_exit: calling backend `umax's exit function [21:08:52.532551] [dll] sane_exit: calling backend `u12's exit function [21:08:52.532639] [dll] sane_exit: calling backend `teco3's exit function [21:08:52.532728] [dll] sane_exit: calling backend `teco2's exit function [21:08:52.532800] [dll] sane_exit: calling backend `teco1's exit function [21:08:52.532869] [dll] sane_exit: calling backend `tamarack's exit function [21:08:52.532937] [dll] sane_exit: calling backend `sp15c's exit function [21:08:52.533006] [dll] sane_exit: calling backend `snapscan's exit function [21:08:52.533078] [dll] sane_exit: calling backend `sm3840's exit function [21:08:52.533159] [dll] sane_exit: calling backend `sm3600's exit function [21:08:52.533231] [dll] sane_exit: calling backend `sharp's exit function [21:08:52.533299] [dll] sane_exit: calling backend `sceptre's exit function [21:08:52.533364] [dll] sane_exit: calling backend `s9036's exit function [21:08:52.533427] [dll] sane_exit: calling backend `rts8891's exit function [21:08:52.533490] [dll] sane_exit: calling backend `ricoh2's exit function [21:08:52.533604] [dll] sane_exit: calling backend `ricoh's exit function [21:08:52.533669] [dll] sane_exit: calling backend `qcam's exit function [21:08:52.533731] [dll] sane_exit: calling backend `plustek's exit function [21:08:52.533798] [dll] sane_exit: calling backend `pixma's exit function [21:08:52.533898] [dll] sane_exit: calling backend `pieusb's exit function [21:08:52.533971] [dll] sane_exit: calling backend `pie's exit function [21:08:52.534042] [dll] sane_exit: calling backend `niash's exit function [21:08:52.534104] [dll] sane_exit: calling backend `nec's exit function [21:08:52.534191] [dll] sane_exit: calling backend `mustek_usb2's exit function [21:08:52.534258] [dll] sane_exit: calling backend `mustek_usb's exit function [21:08:52.534325] [dll] sane_exit: calling backend `mustek's exit function [21:08:52.534392] [dll] sane_exit: calling backend `microtek2's exit function [21:08:52.534457] [dll] sane_exit: calling backend `microtek's exit function [21:08:52.534527] [dll] sane_exit: calling backend `matsushita's exit function [21:08:52.534590] [dll] sane_exit: calling backend `magicolor's exit function [21:08:52.534651] [dll] sane_exit: calling backend `ma1509's exit function [21:08:52.534724] [dll] sane_exit: calling backend `lexmark's exit function [21:08:52.534820] [dll] sane_exit: calling backend `leo's exit function [21:08:52.534888] [dll] sane_exit: calling backend `kvs40xx's exit function [21:08:52.534950] [dll] sane_exit: calling backend `kvs20xx's exit function [21:08:52.535022] [dll] sane_exit: calling backend `kvs1025's exit function [21:08:52.535081] [dll] sane_exit: calling backend `kodakaio's exit function [21:08:52.535148] [dll] sane_exit: calling backend `kodak's exit function [21:08:52.535216] [dll] sane_exit: calling backend `ibm's exit function [21:08:52.535276] [dll] sane_exit: calling backend `hs2p's exit function [21:08:52.535342] [dll] sane_exit: calling backend `hpsj5s's exit function [21:08:52.535419] [dll] sane_exit: calling backend `hpljm1005's exit function [21:08:52.535496] [dll] sane_exit: calling backend `hp5590's exit function [21:08:52.535557] [dll] sane_exit: calling backend `hp5400's exit function [21:08:52.535626] [dll] sane_exit: calling backend `hp4200's exit function [21:08:52.535692] [dll] sane_exit: calling backend `hp3900's exit function [21:08:52.535759] [dll] sane_exit: calling backend `hp3500's exit function [21:08:52.535820] [dll] sane_exit: calling backend `hp's exit function [21:08:52.535883] [dll] sane_exit: calling backend `gt68xx's exit function [21:08:52.535974] [dll] sane_exit: calling backend `genesys's exit function No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). [21:08:52.536271] [dll] sane_exit: calling backend `fujitsu's exit function [21:08:52.536338] [dll] sane_exit: calling backend `escl's exit function [21:08:52.537375] [dll] sane_exit: calling backend `epsonds's exit function [21:08:52.537469] [dll] sane_exit: calling backend `epson2's exit function [21:08:52.537555] [dll] sane_exit: calling backend `epjitsu's exit function [21:08:52.537643] [dll] sane_exit: calling backend `dmc's exit function [21:08:52.537712] [dll] sane_exit: calling backend `dell1600n_net's exit function [21:08:52.537774] [dll] sane_exit: calling backend `coolscan3's exit function [21:08:52.537840] [dll] sane_exit: calling backend `coolscan's exit function [21:08:52.537904] [dll] sane_exit: calling backend `cardscan's exit function [21:08:52.537976] [dll] sane_exit: calling backend `canon_lide70's exit function [21:08:52.538037] [dll] sane_exit: calling backend `canon_dr's exit function [21:08:52.538100] [dll] sane_exit: calling backend `canon630u's exit function [21:08:52.538173] [dll] sane_exit: calling backend `canon's exit function [21:08:52.538239] [dll] sane_exit: calling backend `bh's exit function [21:08:52.538304] [dll] sane_exit: calling backend `avision's exit function [21:08:52.538405] [dll] sane_exit: calling backend `artec_eplus48u's exit function [21:08:52.538465] [dll] sane_exit: calling backend `artec's exit function [21:08:52.538537] [dll] sane_exit: calling backend `apple's exit function [21:08:52.538598] [dll] sane_exit: calling backend `agfafocus's exit function [21:08:52.538658] [dll] sane_exit: calling backend `abaton's exit function [21:08:52.538725] [dll] sane_exit: calling backend `net's exit function [21:08:52.539728] [dll] sane_exit: calling backend `hpaio's exit function [21:08:52.540819] [dll] sane_exit: finished From pzz at apevzner.com Mon Oct 5 20:15:28 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 22:15:28 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <9560531ebf9f705935f3c59d512a0833@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> Hi Thierry, On 10/5/20 9:10 PM, Thierry HUCHARD wrote: >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> Erreur de segmentation (core dumped) ... skipped --- > You are plugged in USB! > Why use the network driver? > ippusbxd doesn't work very well, I advise you to uninstall it. Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't work very well, it cannot be a reason for SIGSEGV in the sane-escl. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From thierry at ordissimo.com Mon Oct 5 20:44:35 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 21:44:35 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> Message-ID: Le 2020-10-05 21:15, Alexander Pevzner a écrit : > Hi Thierry, > > On 10/5/20 9:10 PM, Thierry HUCHARD wrote: >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> Erreur de segmentation (core dumped) > > ... skipped --- > >> You are plugged in USB! >> Why use the network driver? >> ippusbxd doesn't work very well, I advise you to uninstall it. > > Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't > work very well, it cannot be a reason for SIGSEGV in the sane-escl. Thank you Alexander, to know if the problem comes from escl or ippusbxd, it would have been interesting to test with ipp-usb. I think that Yoann's installation is corrupted, the TS8300 is referenced in PIXMA since version 1.0.30 and despite that it is not detected! Thierry From thierry at ordissimo.com Mon Oct 5 20:46:33 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 21:46:33 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> Message-ID: <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Le 2020-10-05 21:06, Alexander Pevzner a écrit : > On 10/5/20 8:22 PM, Yoann Le Montagner wrote: >> Hi, >> >> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >> >> However, I still encounter some random errors when trying to use the >> scanner. For instance, using 'scanimage', I get: > > This is a bug in sane-escl driver, which causes it to crash. > > Basically, you have 3 options now: > 1. You may try to help Thierry HUCHARD (the author of sane-escl) to > debug his driver > 2. You may uninstall ippusbxd in a hope that sane-pixma will work with > your scanner via USB, as Thierry suggested > 3. You may may install sane-airscan, the independent eSCL/WSD driver: > > sane-airscan can be downloaded from here: > > https://github.com/alexpevzner/sane-airscan - project page > https://download.opensuse.org/repositories/home:/pzz/ - binary packages > > Note, ippusbxd is officially deprecated and replaced with ipp-usb. It > works much more reliable. You can download ipp-usb binary package from > the repository, mentioned above. > Hi Alexander, Can you help with the installation of ipp-usb ? thierry > Note also, the newest version of Debian/Ubuntu will come with > sane-airscan and ipp-usb included by default; From pzz at apevzner.com Mon Oct 5 21:45:05 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 23:45:05 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> Message-ID: <56434747-8406-15c1-2fce-d90a3f4db46a@apevzner.com> On 10/5/20 10:44 PM, Thierry HUCHARD wrote: >> Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't >> work very well, it cannot be a reason for SIGSEGV in the sane-escl. > Thank you Alexander, > to know if the problem comes from escl or ippusbxd, it would have been > interesting to test with ipp-usb. ippusbxd is the external program, sane-escl communicates with it over network. So even if it works wrong, for sane-escl it is a kind of invalid response from scanner. It should raise an error, not the crash. Scanner also can send invalid response. > I think that Yoann's installation is corrupted, the TS8300 is referenced > in PIXMA since version 1.0.30 and despite that it is not detected! Running IPP-over-USB daemon may prevent sane-pixma backend from access to the USB device. But in general I think that if some device provides both proprietary and "driverless" way of scanning/printing, driverless should be preferred. So although for some particular user disabling IPP-over-USB may work as a "hotfix", from community perspective this is better to investigate IPP-over-USB issues rather that to disable it when it doesn't work. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Mon Oct 5 21:49:02 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 23:49:02 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Message-ID: Hi Thierry, On 10/5/20 10:46 PM, Thierry HUCHARD wrote: > Hi Alexander, > Can you help with the installation of ipp-usb ? It should be very easy. Just download appropriate package (depending on your distro) from https://download.opensuse.org/repositories/home:/pzz/ and install it. It is marked as "conflicting" with ippusbxd, so package manager should request you to uninstall ippusbxd or even do it automatically. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Mon Oct 5 22:14:43 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 23:14:43 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Message-ID: <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> Hi, I've installed both ipp-usb and sane-airscan, following the instructions on https://github.com/alexpevzner/sane-airscan, and uninstalled ippusbxd. I've sent a first mail to the list reporting that this manipulation didn't fixed the problem ('scanimage -L' was still returning "No scanner were identified..."). But I've retried the same test after a while, and now it appears to work: yoann at yoann-desktop:~$ scanimage -L Entity: line 1: parser error : Start tag expected, '<' not found � ^ device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) flatbed scanner device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 series (USB) eSCL network scanner I've tried to use the scan with scanimage, with device "escl:http:..." on one hand, and "airscan:e0:..." on the other hand. Both seem to work. XSane seems to work too. I will do some more tests tomorrow to confirm that. I don't whether one "device" should be preferred on the other ? Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' in which appears the warning regarding the parser error. Thanks for your help. Regards, Yoann Le 05/10/2020 à 22:49, Alexander Pevzner a écrit : > Hi Thierry, > > On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >> Hi Alexander, >> Can you help with the installation of ipp-usb ? > > It should be very easy. Just download appropriate package (depending > on your distro) from > https://download.opensuse.org/repositories/home:/pzz/ and install it. > > It is marked as "conflicting" with ippusbxd, so package manager should > request you to uninstall ippusbxd or even do it automatically. > -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: sane_debug_dll.txt URL: From thierry at ordissimo.com Mon Oct 5 22:34:31 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 23:34:31 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <56434747-8406-15c1-2fce-d90a3f4db46a@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> <56434747-8406-15c1-2fce-d90a3f4db46a@apevzner.com> Message-ID: Le 2020-10-05 22:45, Alexander Pevzner a écrit : > On 10/5/20 10:44 PM, Thierry HUCHARD wrote: >>> Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't >>> work very well, it cannot be a reason for SIGSEGV in the sane-escl. >> Thank you Alexander, >> to know if the problem comes from escl or ippusbxd, it would have been >> interesting to test with ipp-usb. > > ippusbxd is the external program, sane-escl communicates with it over > network. So even if it works wrong, for sane-escl it is a kind of > invalid response from scanner. It should raise an error, not the > crash. Scanner also can send invalid response. > >> I think that Yoann's installation is corrupted, the TS8300 is >> referenced in PIXMA since version 1.0.30 and despite that it is not >> detected! > > Running IPP-over-USB daemon may prevent sane-pixma backend from access > to the USB device. > > But in general I think that if some device provides both proprietary > and "driverless" way of scanning/printing, driverless should be > preferred. So although for some particular user disabling IPP-over-USB > may work as a "hotfix", from community perspective this is better to > investigate IPP-over-USB issues rather that to disable it when it > doesn't work. You know it I am not of this opinion, the PIXMA pilot is free and much more complete than the ESCL/AIRSCAN pilot. From thierry at ordissimo.com Mon Oct 5 22:35:56 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 23:35:56 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Message-ID: <1bbfefd94dfc64b032cd17697559e72d@ordissimo.com> Le 2020-10-05 22:49, Alexander Pevzner a écrit : > Hi Thierry, > > On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >> Hi Alexander, >> Can you help with the installation of ipp-usb ? > > It should be very easy. Just download appropriate package (depending Thank you Alexander, it's for Yoann :) > on your distro) from > https://download.opensuse.org/repositories/home:/pzz/ and install it. > > It is marked as "conflicting" with ippusbxd, so package manager should > request you to uninstall ippusbxd or even do it automatically. From thierry at ordissimo.com Mon Oct 5 22:42:36 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 23:42:36 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> Message-ID: <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> Le 2020-10-05 23:14, Yoann Le Montagner a écrit : > Hi, > > I've installed both ipp-usb and sane-airscan, following the > instructions on https://github.com/alexpevzner/sane-airscan, and > uninstalled ippusbxd. I've sent a first mail to the list reporting > that this manipulation didn't fixed the problem ('scanimage -L' was > still returning "No scanner were identified..."). But I've retried the > same test after a while, and now it appears to work: > > yoann at yoann-desktop:~$ scanimage -L > Entity: line 1: parser error : Start tag expected, '<' not found > � > ^ there is an error here, can you give me the log? $ SANE_DEBUG_ESCL=255 scanimage -d 'escl:http://127.0.0.1:60000' Thank's > device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) > flatbed scanner > device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 > series (USB) eSCL network scanner > > I've tried to use the scan with scanimage, with device "escl:http:..." > on one hand, and "airscan:e0:..." on the other hand. Both seem to > work. XSane seems to work too. I will do some more tests tomorrow to > confirm that. I don't whether one "device" should be preferred on the > other ? > > Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' > in which appears the warning regarding the parser error. > > Thanks for your help. > > Regards, > > Yoann > > > Le 05/10/2020 à 22:49, Alexander Pevzner a écrit : >> Hi Thierry, >> >> On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >>> Hi Alexander, >>> Can you help with the installation of ipp-usb ? >> >> It should be very easy. Just download appropriate package (depending >> on your distro) from >> https://download.opensuse.org/repositories/home:/pzz/ and install it. >> >> It is marked as "conflicting" with ippusbxd, so package manager should >> request you to uninstall ippusbxd or even do it automatically. >> From yo35 at melix.net Mon Oct 5 19:30:55 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 20:30:55 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <9560531ebf9f705935f3c59d512a0833@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: Hi, I've uninstalled ippusbxd, then reboot... and as a result the scanner is not detected anymore! 'scanimage -L' returns "No scanners were identified." 'sane-find-scanner' still lists the scanner among the USB devices (output of 'sudo sane-find-scanner -v -v' is attached). I don't understand you point regarding the scanner being plugged in USB. Do you mean it would better to have it connected through Wifi ? Regards, Yoann Le 05/10/2020 à 20:10, Thierry HUCHARD a écrit : > Le 2020-10-05 19:22, Yoann Le Montagner a écrit : >> Hi, >> >> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >> >> However, I still encounter some random errors when trying to use the >> scanner. For instance, using 'scanimage', I get: >> >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> Erreur de segmentation (core dumped) >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> scanimage: rounded value of br-x from 215.9 to 215.9 >>> scanimage: rounded value of br-y from 297.011 to 297.011 >>> scanimage: sane_start: Device busy >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> Erreur de segmentation (core dumped) >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> scanimage: rounded value of br-x from 215.9 to 215.9 >>> scanimage: rounded value of br-y from 297.011 to 297.011 >> >> ... the first 3 attempts failed, the fourth one succeed. The number of >> attempts may change from one trial to another. And the scanner is >> almost unusable from a graphical frontend such as XSane (probably >> because of these errors I guess). >> > You are plugged in USB! > Why use the network driver? > ippusbxd doesn't work very well, I advise you to uninstall it. > # sudo apt purge ippusbxd > The PIXMA driver should then detect your scanner and everything should > work. > You can also use it in networks! > > Thierry > >> If there is any manipulation that I should try to provide more >> information, please let me know. >> >> Regards, >> >> Yoann >> >> Le 04/10/2020 à 23:51, Thierry HUCHARD a écrit : >> >>> Le 2020-10-04 18:31, Yoann Le Montagner a écrit : >>> >>>> Hi, >>>> >>>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>>> not >>>> recognized by SANE. I've seen on the device list page that testers >>>> are >>>> needed for this device, so I would be happy to test what need to >>>> be >>>> tested in order to have this thing work properly. >>>> >>>> Please find attached the output of command 'sudo sane-find-scanner >>>> -v -v'. >>> The usb support has been added, for your template in version 1.0.30 >>> of sane-backends. >>> Full wifi support in version 1.0.31 of sane-backends. >>> If your OS is ubuntu I invite you to update as follows: >>> sudo add-apt-repository ppa:sane-project/sane-git >>> sudo apt update >>> sudo apt install libsane libsane-common sane-utils >>> >>>> Regards, >>>> >>>> Y. -------------- next part -------------- This is sane-find-scanner from sane-backends 1.0.31-160-g81227d1d4 # 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. searching for SCSI scanners: checking /dev/scanner... failed to open (Invalid argument) checking /dev/sg0... failed to open (Invalid argument) checking /dev/sg1... failed to open (Invalid argument) checking /dev/sg2... failed to open (Invalid argument) checking /dev/sg3... failed to open (Invalid argument) checking /dev/sg4... failed to open (Invalid argument) checking /dev/sg5... failed to open (Invalid argument) checking /dev/sg6... failed to open (Invalid argument) checking /dev/sg7... failed to open (Invalid argument) checking /dev/sg8... failed to open (Invalid argument) checking /dev/sg9... failed to open (Invalid argument) checking /dev/sga... failed to open (Invalid argument) checking /dev/sgb... failed to open (Invalid argument) checking /dev/sgc... failed to open (Invalid argument) checking /dev/sgd... failed to open (Invalid argument) checking /dev/sge... failed to open (Invalid argument) checking /dev/sgf... failed to open (Invalid argument) checking /dev/sgg... failed to open (Invalid argument) checking /dev/sgh... failed to open (Invalid argument) checking /dev/sgi... failed to open (Invalid argument) checking /dev/sgj... failed to open (Invalid argument) checking /dev/sgk... failed to open (Invalid argument) checking /dev/sgl... failed to open (Invalid argument) checking /dev/sgm... failed to open (Invalid argument) checking /dev/sgn... failed to open (Invalid argument) checking /dev/sgo... failed to open (Invalid argument) checking /dev/sgp... failed to open (Invalid argument) checking /dev/sgq... failed to open (Invalid argument) checking /dev/sgr... failed to open (Invalid argument) checking /dev/sgs... failed to open (Invalid argument) checking /dev/sgt... failed to open (Invalid argument) checking /dev/sgu... failed to open (Invalid argument) checking /dev/sgv... failed to open (Invalid argument) checking /dev/sgw... failed to open (Invalid argument) checking /dev/sgx... failed to open (Invalid argument) checking /dev/sgy... failed to open (Invalid argument) checking /dev/sgz... failed to open (Invalid argument) # No SCSI scanners found. If you expected something different, make sure that # you have loaded a kernel SCSI driver for your SCSI adapter. searching for USB scanners: checking /dev/usb/scanner... failed to open (Invalid argument) checking /dev/usb/scanner0... failed to open (Invalid argument) checking /dev/usb/scanner1... failed to open (Invalid argument) checking /dev/usb/scanner2... failed to open (Invalid argument) checking /dev/usb/scanner3... failed to open (Invalid argument) checking /dev/usb/scanner4... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner7... failed to open (Invalid argument) checking /dev/usb/scanner8... failed to open (Invalid argument) checking /dev/usb/scanner9... failed to open (Invalid argument) checking /dev/usb/scanner10... failed to open (Invalid argument) checking /dev/usb/scanner11... failed to open (Invalid argument) checking /dev/usb/scanner12... failed to open (Invalid argument) checking /dev/usb/scanner13... failed to open (Invalid argument) checking /dev/usb/scanner14... failed to open (Invalid argument) checking /dev/usb/scanner15... failed to open (Invalid argument) checking /dev/usbscanner... failed to open (Invalid argument) checking /dev/usbscanner0... failed to open (Invalid argument) checking /dev/usbscanner1... failed to open (Invalid argument) checking /dev/usbscanner2... failed to open (Invalid argument) checking /dev/usbscanner3... failed to open (Invalid argument) checking /dev/usbscanner4... failed to open (Invalid argument) checking /dev/usbscanner5... failed to open (Invalid argument) checking /dev/usbscanner6... failed to open (Invalid argument) checking /dev/usbscanner7... failed to open (Invalid argument) checking /dev/usbscanner8... failed to open (Invalid argument) checking /dev/usbscanner9... failed to open (Invalid argument) checking /dev/usbscanner10... failed to open (Invalid argument) checking /dev/usbscanner11... failed to open (Invalid argument) checking /dev/usbscanner12... failed to open (Invalid argument) checking /dev/usbscanner13... failed to open (Invalid argument) checking /dev/usbscanner14... failed to open (Invalid argument) checking /dev/usbscanner15... failed to open (Invalid argument) trying libusb: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8001 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 2 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1d.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8009 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1a.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x0451 idProduct 0x8340 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 19 (interrupt) wMaxPacketSize 2 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1D6B idProduct 0x0003 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.01 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x82FF bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC52B bcdDevice 18.11 iManufacturer 1 (Logitech) iProduct 2 (USB Receiver) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 4 (RQR12.11_B0032) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 32 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 2 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x8342 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04A9 idProduct 0x1890 bcdDevice 1.02 iManufacturer 1 (Canon) iProduct 2 (TS8300 series) iSerialNumber 3 (21260F) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 223 bNumInterfaces 7 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 2 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x07 (out 0x07) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x88 (in 0x08) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x89 (in 0x09) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 11 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x01 (out 0x01) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 bInterfaceSubClass 6 bInterfaceProtocol 80 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x84 (in 0x04) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x05 (out 0x05) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x03 (out 0x03) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0A (out 0x0A) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8B (in 0x0B) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 checking for LM983[1,2,3] ... this is not a LM983x (bcdUSB = 0x200) checking for GT-6801 ... this is not a GT-6801 (bDeviceClass = 0) checking for GT-6816 ... this is not a GT-6816 (bcdUSB = 0x200) checking for GLxxx ... this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255) this is not a GLxxx (bDeviceClass = 0, bInterfaceClass = 255) found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 series]) at libusb:003:009 bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC328 bcdDevice 134.00 iManufacturer 1 (Logitech) iProduct 2 (USB Keyboard) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 4 (U86.00_B0003) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 3 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 bDeviceSubClass 2 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x046D idProduct 0x0825 bcdDevice 0.10 iManufacturer 0 () iProduct 0 () iSerialNumber 2 (5EC3E6C0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 2469 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 () bmAttributes 128 () MaxPower 500 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x87 (in 0x07) bmAttributes 3 (interrupt) wMaxPacketSize 16 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 192 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 384 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 512 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 640 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 800 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 944 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2688 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 8 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2848 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 9 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 3040 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 10 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 4992 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 11 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 5116 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 68 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 100 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 132 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 196 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can't be detected by this program. done From mrvanes at gmail.com Wed Oct 7 13:35:08 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 14:35:08 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 Message-ID: Hi, Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner anymore. My (Canon N670U) was (and is?) supported for a very long time, but now scanimage -L doesn't return the scanner (and therefore xsane does not find it): $ scanimage -L No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). sane-find-scanner however, *does* find my scanner on the USB port: $ 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. found USB scanner (vendor=0x04a9 [Canon], product=0x220d [CanoScan], chip=LM9832/3) at libusb:001:013 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. Sane versions in 20.10: libsane: 0.31-2 xsane: 0.999-9 So, who's right and who's wrong? And more important: how can I fix it? Martin -- If 'but' was any useful, it would be a logic operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From sedat.dilek at gmail.com Wed Oct 7 14:20:05 2020 From: sedat.dilek at gmail.com (Sedat Dilek) Date: Wed, 7 Oct 2020 15:20:05 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: On Wed, Oct 7, 2020 at 3:01 PM Martin van Es wrote: > Sane versions in 20.10: > libsane: 0.31-2 > xsane: 0.999-9 > Typo? Version *1*0.31-2? - Sedat - [1] https://packages.ubuntu.com/libsane From povilas at radix.lt Wed Oct 7 14:22:38 2020 From: povilas at radix.lt (Povilas Kanapickas) Date: Wed, 7 Oct 2020 16:22:38 +0300 Subject: [sane-devel] Rebase In-Reply-To: References: <20200930204719.GA870@kunai> <87tuve89au.fsf@quark> Message-ID: Hi Ralph, On 10/1/20 5:36 PM, Ralph Little wrote: > Hi, > > On 2020-10-01 4:39 a.m., Olaf Meeuwissen wrote: >> Hi Ralph, >> >> Ralph Little writes: >> >> AFAICS I am the only one to work on this branch, so I suspect that rebasing >> will be OK. >> I'd check with the pixma backend's new maintainer, hi Povilas!, and >> Louis just to make sure but what is the argument for not wanting to >> merge master into your branch instead? >> >> BTW, I know for a fact that the old maintainer occasionally rebased. >> > It was Rolf's suggestion to rebase or merge. > I have not rebased to a public git server before so I wanted to garner > some opinion and advice. > > My preference for rebasing in this case would be to compress a rather > long running branch to make review easier and to keep the branch clean. > There are further fixes to push to the branch before it is merged back > to master. > For my testing of the branch, I do need to get some changes from master > into it that relate to the imageClass machine that I have. I think if it's your MR you're free to rebase the branch as you wish. Personally I would prefer to see clean history in the repository, so rebasing interactively then squashing and/or splitting commits into separate pieces where sensible is the way to go. The only case when we need some caution is when there has already been an agreement to use some branch as a place to integrate work of multiple developers. Cheers, Povilas From pzz at apevzner.com Wed Oct 7 14:25:28 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 16:25:28 +0300 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: Hi Martin. On 10/7/20 3:35 PM, Martin van Es wrote: > Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner anymore. > My (Canon N670U) was (and is?) supported for a very long time, but now > scanimage -L doesn't return the scanner (and therefore xsane does not > find it): > > $ scanimage -L Please, lsusb -v -- Wishes, Alexander Pevzner (pzz at apevzner.com) From mrvanes at gmail.com Wed Oct 7 15:19:08 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 16:19:08 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: On Wed, Oct 7, 2020 at 3:25 PM Alexander Pevzner wrote: > Hi Martin. > > On 10/7/20 3:35 PM, Martin van Es wrote: > > Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner anymore. > > My (Canon N670U) was (and is?) supported for a very long time, but now > > scanimage -L doesn't return the scanner (and therefore xsane does not > > find it): > > > > $ scanimage -L > > Please, lsusb -v > Bus 001 Device 005: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x04a9 Canon, Inc. idProduct 0x220d CanoScan N670U/N676U/LiDE 20 bcdDevice 1.00 iManufacturer 64 Canon iProduct 77 CanoScan iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0027 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 255 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 16 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) dmesg when inserting the scanner: [ 1027.863405] usb 1-1: new full-speed USB device number 6 using xhci_hcd [ 1028.023470] usb 1-1: New USB device found, idVendor=04a9, idProduct=220d, bcdDevice= 1.00 [ 1028.023475] usb 1-1: New USB device strings: Mfr=64, Product=77, SerialNumber=0 [ 1028.023479] usb 1-1: Product: CanoScan [ 1028.023481] usb 1-1: Manufacturer: Canon And for Sedat: Typo? Version *1*0.31-2? Yes, it actually is 1.0.31-2, my apologies Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Wed Oct 7 15:54:31 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 16:54:31 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: Le 2020-10-07 16:19, Martin van Es a écrit : > On Wed, Oct 7, 2020 at 3:25 PM Alexander Pevzner > wrote: > >> Hi Martin. >> >> On 10/7/20 3:35 PM, Martin van Es wrote: >>> Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner >> anymore. >>> My (Canon N670U) was (and is?) supported for a very long time, but >> now >>> scanimage -L doesn't return the scanner (and therefore xsane does >> not >>> find it): >>> >>> $ scanimage -L >> >> Please, lsusb -v > > Bus 001 Device 005: ID 04a9:220d Canon, Inc. CanoScan > N670U/N676U/LiDE 20 Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 > bDeviceClass 255 Vendor Specific Class > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 8 > idVendor 0x04a9 Canon, Inc. > idProduct 0x220d CanoScan N670U/N676U/LiDE 20 > bcdDevice 1.00 > iManufacturer 64 Canon > iProduct 77 CanoScan > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 0x0027 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > (Bus Powered) > Remote Wakeup > MaxPower 500mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 255 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0001 1x 1 bytes > bInterval 16 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x03 EP 3 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 0 > can't get debug descriptor: Resource temporarily unavailable > Device Status: 0x0000 > (Bus Powered) > > dmesg when inserting the scanner: > [ 1027.863405] usb 1-1: new full-speed USB device number 6 using > xhci_hcd > [ 1028.023470] usb 1-1: New USB device found, idVendor=04a9, > idProduct=220d, bcdDevice= 1.00 > [ 1028.023475] usb 1-1: New USB device strings: Mfr=64, Product=77, > SerialNumber=0 > [ 1028.023479] usb 1-1: Product: CanoScan > [ 1028.023481] usb 1-1: Manufacturer: Canon > > And for Sedat: > >> Typo? Version *1*0.31-2? > > Yes, it actually is 1.0.31-2, my apologies > > Martin Your device is referenced for a long time in the : backend/plustek-usbdevs.c Check that is not commented in : /etc/sane.d/dll.conf From mrvanes at gmail.com Wed Oct 7 16:20:24 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 17:20:24 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD wrote: > Your device is referenced for a long time in the : > backend/plustek-usbdevs.c > Check that is not commented in : /etc/sane.d/dll.conf > Yes I know, it has been working for ages. Hence my inquiry to this list. /etc/sane.d/dll.conf contains a line plustek (not commented). I'm not saying it's a sane problem per-se, I'm just doing my best to get as best as possible ubuntu 20.10 when it's released at the end of the month. It may very well be libusb in 20.10 but I don't know where to start debugging then? I can compile (small) testcode to see/debug what's going on if that's necessary? Martin -- If 'but' was any useful, it would be a logic operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Wed Oct 7 16:26:51 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 17:26:51 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: <0d464a3a566c1b145e1001b0056e9824@ordissimo.com> Le 2020-10-07 17:20, Martin van Es a écrit : > On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD > wrote: > >> Your device is referenced for a long time in the : >> backend/plustek-usbdevs.c >> Check that is not commented in : /etc/sane.d/dll.conf > > Yes I know, it has been working for ages. Hence my inquiry to this > list. > /etc/sane.d/dll.conf contains a line plustek (not commented). > > I'm not saying it's a sane problem per-se, I'm just doing my best to > get as best as possible ubuntu 20.10 when it's released at the end of > the month. > It may very well be libusb in 20.10 but I don't know where to start > debugging then? I can compile (small) testcode to see/debug what's > going on if that's necessary? > > Martin-- > If 'but' was any useful, it would be a logic operator Open an exit here, the backend manager will be able to watch : https://gitlab.com/sane-project/backends/-/issues From thierry at ordissimo.com Wed Oct 7 16:27:35 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 17:27:35 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: <0d464a3a566c1b145e1001b0056e9824@ordissimo.com> References: <0d464a3a566c1b145e1001b0056e9824@ordissimo.com> Message-ID: <1890dfee8fe716b5097d8e7ee1f7a5ee@ordissimo.com> Le 2020-10-07 17:26, Thierry HUCHARD a écrit : > Le 2020-10-07 17:20, Martin van Es a écrit : >> On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD >> wrote: >> >>> Your device is referenced for a long time in the : >>> backend/plustek-usbdevs.c >>> Check that is not commented in : /etc/sane.d/dll.conf >> >> Yes I know, it has been working for ages. Hence my inquiry to this >> list. >> /etc/sane.d/dll.conf contains a line plustek (not commented). >> >> I'm not saying it's a sane problem per-se, I'm just doing my best to >> get as best as possible ubuntu 20.10 when it's released at the end of >> the month. >> It may very well be libusb in 20.10 but I don't know where to start >> debugging then? I can compile (small) testcode to see/debug what's >> going on if that's necessary? >> >> Martin-- >> If 'but' was any useful, it would be a logic operator Open an issue here, the backend manager will be able to watch : https://gitlab.com/sane-project/backends/-/issues From simon.matter at invoca.ch Wed Oct 7 16:29:19 2020 From: simon.matter at invoca.ch (Simon Matter) Date: Wed, 7 Oct 2020 17:29:19 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: <57d4a1e387474e08ff36507e34f96989.squirrel@webmail.bi.corp.invoca.ch> > On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD > wrote: > >> Your device is referenced for a long time in the : >> backend/plustek-usbdevs.c >> Check that is not commented in : /etc/sane.d/dll.conf >> > > Yes I know, it has been working for ages. Hence my inquiry to this list. > /etc/sane.d/dll.conf contains a line plustek (not commented). > > I'm not saying it's a sane problem per-se, I'm just doing my best to get > as > best as possible ubuntu 20.10 when it's released at the end of the month. > It may very well be libusb in 20.10 but I don't know where to start > debugging then? I can compile (small) testcode to see/debug what's going > on > if that's necessary? Permission issue? Did you already try 'scanimage -L' as root? Simon From mrvanes at gmail.com Wed Oct 7 16:35:12 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 17:35:12 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: <57d4a1e387474e08ff36507e34f96989.squirrel@webmail.bi.corp.invoca.ch> References: <57d4a1e387474e08ff36507e34f96989.squirrel@webmail.bi.corp.invoca.ch> Message-ID: > > Permission issue? Did you already try 'scanimage -L' as root? > First thing I tried ;) I'll create an issue as suggested. -- If 'but' was any useful, it would be a logic operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Wed Oct 7 16:46:01 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 17:46:01 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> Message-ID: <1ebc1b3bc1af6de8e3cbc21f610a6f04@ordissimo.com> Le 2020-10-07 17:38, Yoann Le Montagner a écrit : > Hi, > > Here is the logs obtained respectively with SANE_DEBUG_ESCL=255 > scanimage -d 'escl:http://127.0.0.1:60000' and SANE_DEBUG_ESCL=255 > scanimage -d 'airscan:e0:Canon TS8300 series (USB)'. > > I've tested the new set-up with ippusbxd uninstalled, replaced by > ipp-usb, + airscan, + libsane 1.0.31. It seems to work fine, scans are > OK, 1200dpi resolution works... Still, I've noticed something strange > with the 'escl:http://127.0.0.1:60000' driver: when I start the PC, > the driver is listed by `scanimage -L`, but after a while, when I'm > using the scanner, it disappears. The exact workflow: > > 1) Start the PC > 2) scanimage -L -> OK, both drivers are here: > > yoann at yoann-desktop:~$ scanimage -L > Entity: line 1: parser error : Start tag expected, '<' not found > � > ^ > device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) > flatbed scanner > device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 > series (USB) eSCL network scanner > > 3) Start gimp, start XSane, select one of the two drivers. > 4) Preview, then acquisition. > 5) scanimage -L -> only airscan is listed now: > > yoann at yoann-desktop:~$ scanimage -L > device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 > series (USB) eSCL network scanner > > 6) Close gimp, restart gimp, start XSane => I'm no-longer prompt to > select one of the two drivers. > > -> This behavior seems weird to me, but as long as the airscan driver > is there, this is a non-blocking issue. > > Thanks for your help. > > Regards, > > Yoann > > > Le 05/10/2020 à 23:42, Thierry HUCHARD a écrit : >> Le 2020-10-05 23:14, Yoann Le Montagner a écrit : >>> Hi, >>> >>> I've installed both ipp-usb and sane-airscan, following the >>> instructions on https://github.com/alexpevzner/sane-airscan, and >>> uninstalled ippusbxd. I've sent a first mail to the list reporting >>> that this manipulation didn't fixed the problem ('scanimage -L' was >>> still returning "No scanner were identified..."). But I've retried >>> the >>> same test after a while, and now it appears to work: >>> >>> yoann at yoann-desktop:~$ scanimage -L >>> Entity: line 1: parser error : Start tag expected, '<' not found >>> � >>> ^ >> there is an error here, can you give me the log? >> $ SANE_DEBUG_ESCL=255 scanimage -d 'escl:http://127.0.0.1:60000' >> Thank's >>> device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) >>> flatbed scanner >>> device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 >>> series (USB) eSCL network scanner >>> >>> I've tried to use the scan with scanimage, with device >>> "escl:http:..." >>> on one hand, and "airscan:e0:..." on the other hand. Both seem to >>> work. XSane seems to work too. I will do some more tests tomorrow to >>> confirm that. I don't whether one "device" should be preferred on the >>> other ? >>> Thanks for the log! It's a bug that is present on the backend using avahi in sane, I'll look at it because Alexander has solved the problem! >>> Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' >>> in which appears the warning regarding the parser error. >>> >>> Thanks for your help. >>> >>> Regards, >>> >>> Yoann >>> >>> >>> Le 05/10/2020 à 22:49, Alexander Pevzner a écrit : >>>> Hi Thierry, >>>> >>>> On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >>>>> Hi Alexander, >>>>> Can you help with the installation of ipp-usb ? >>>> >>>> It should be very easy. Just download appropriate package (depending >>>> on your distro) from >>>> https://download.opensuse.org/repositories/home:/pzz/ and install >>>> it. >>>> >>>> It is marked as "conflicting" with ippusbxd, so package manager >>>> should request you to uninstall ippusbxd or even do it >>>> automatically. >>>> From pzz at apevzner.com Wed Oct 7 20:27:25 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 22:27:25 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> Message-ID: <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> Hi Yoann, On 10/7/20 6:38 PM, Yoann Le Montagner wrote: > 1) Start the PC > 2) scanimage -L -> OK, both drivers are here: > > yoann at yoann-desktop:~$ scanimage -L > Entity: line 1: parser error : Start tag expected, '<' not found > � > ^ Do you see this "parser error" message every time you call "scamimage -L", or it is hard to reproduce? If you can reproduce this message, I want to better investigate it. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Wed Oct 7 20:35:39 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 22:35:39 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> Message-ID: On 10/7/20 10:29 PM, Yoann Le Montagner wrote: > The parser error is always there. Please, rerun scanimage with the following options: SANE_DEBUG_AIRSCAN=1 scanimage -L > Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : >> Hi Yoann, >> >> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>> 1) Start the PC >>> 2) scanimage -L -> OK, both drivers are here: >>> >>> yoann at yoann-desktop:~$ scanimage -L >>> Entity: line 1: parser error : Start tag expected, '<' not found >>> � >>> ^ >> Do you see this "parser error" message every time you call "scamimage >> -L", or it is hard to reproduce? >> >> If you can reproduce this message, I want to better investigate it. >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Wed Oct 7 20:39:06 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Wed, 7 Oct 2020 21:39:06 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> Message-ID: <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in attachment. Thanks for your work. Le 07/10/2020 à 21:35, Alexander Pevzner a écrit : > On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >> The parser error is always there. > > Please, rerun scanimage with the following options: > > SANE_DEBUG_AIRSCAN=1 scanimage -L > >> Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : >>> Hi Yoann, >>> >>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>> 1) Start the PC >>>> 2) scanimage -L -> OK, both drivers are here: >>>> >>>> yoann at yoann-desktop:~$ scanimage -L >>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>> � >>>> ^ >>> Do you see this "parser error" message every time you call >>> "scamimage -L", or it is hard to reproduce? >>> >>> If you can reproduce this message, I want to better investigate it. >>> > > -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: debug_airscan.txt URL: From pzz at apevzner.com Wed Oct 7 20:55:43 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 22:55:43 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> Message-ID: <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> On 10/7/20 10:39 PM, Yoann Le Montagner wrote: > Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in attachment. Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" with the address 192.168.1.254 and attempts to check it for WSD support. It does it by sending some HTTP request to that address. This request is redirected to https://mabbox.bytel.fr:443/login.html and response from there is not valid XML, so XML parser complains. Unfortunately, libxml complains directly to stderr, and it cannot be silenced. So this problem is cosmetical, though annoying. > Thanks for your work. > > Le 07/10/2020 à 21:35, Alexander Pevzner a écrit : >> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>> The parser error is always there. >> >> Please, rerun scanimage with the following options: >> >> SANE_DEBUG_AIRSCAN=1 scanimage -L >> >>> Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : >>>> Hi Yoann, >>>> >>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>> 1) Start the PC >>>>> 2) scanimage -L -> OK, both drivers are here: >>>>> >>>>> yoann at yoann-desktop:~$ scanimage -L >>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>> � >>>>> ^ >>>> Do you see this "parser error" message every time you call >>>> "scamimage -L", or it is hard to reproduce? >>>> >>>> If you can reproduce this message, I want to better investigate it. >>>> >> >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Wed Oct 7 20:29:03 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Wed, 7 Oct 2020 21:29:03 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> Message-ID: <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> The parser error is always there. Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : > Hi Yoann, > > On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >> 1) Start the PC >> 2) scanimage -L -> OK, both drivers are here: >> >> yoann at yoann-desktop:~$ scanimage -L >> Entity: line 1: parser error : Start tag expected, '<' not found >> � >> ^ > Do you see this "parser error" message every time you call "scamimage > -L", or it is hard to reproduce? > > If you can reproduce this message, I want to better investigate it. > From till.kamppeter at gmail.com Wed Oct 7 21:29:14 2020 From: till.kamppeter at gmail.com (Till Kamppeter) Date: Wed, 7 Oct 2020 22:29:14 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> Message-ID: <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> Alex, you could suppress the stderr output of libxml. Enclose the call of the libxml function(s) with the following code: ---------- int fd1, fd2; /* Eliminate any output to stderr, to get rid of the error message output of the functions of libxml */ fd1 = dup(2); fd2 = open("/dev/null", O_WRONLY); dup2(fd2, 2); close(fd2); /* Put any code using functions of libxml here: */ ... /* Re-activate stderr output */ dup2(fd1, 2); close(fd1); ---------- This redirects the stderr into /dev/null. After you are done with the libxml funxtions you can return to normal behavior, if you actually need to output something to stderr later. Alternatively, you could use the receiving end of a pipe instead of fd2 in the "dup2(fd2, 2)" if you want to capture libxml's stderr output (you would need to fork() before to create a process for receiving the stderr output, which reads the other end of the pipe). Till On 07/10/2020 21:55, Alexander Pevzner wrote: > On 10/7/20 10:39 PM, Yoann Le Montagner wrote: >> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in >> attachment. > > Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" > with the address 192.168.1.254 and attempts to check it for WSD support. > It does it by sending some HTTP request to that address. This request is > redirected to https://mabbox.bytel.fr:443/login.html and response from > there is not valid XML, so XML parser complains. > > Unfortunately, libxml complains directly to stderr, and it cannot be > silenced. > > So this problem is cosmetical, though annoying. > >> Thanks for your work. >> >> Le 07/10/2020 à 21:35, Alexander Pevzner a écrit : >>> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>>> The parser error is always there. >>> >>> Please, rerun scanimage with the following options: >>> >>> SANE_DEBUG_AIRSCAN=1 scanimage -L >>> >>>> Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : >>>>> Hi Yoann, >>>>> >>>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>>> 1) Start the PC >>>>>> 2) scanimage -L -> OK, both drivers are here: >>>>>> >>>>>> yoann at yoann-desktop:~$ scanimage -L >>>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>>> � >>>>>> ^ >>>>> Do you see this "parser error" message every time you call >>>>> "scamimage -L", or it is hard to reproduce? >>>>> >>>>> If you can reproduce this message, I want to better investigate it. >>>>> >>> >>> > > From pzz at apevzner.com Thu Oct 8 07:29:53 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 8 Oct 2020 09:29:53 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> Message-ID: <5eae52ce-93cd-6312-0b10-817b8a9c0661@apevzner.com> On 10/7/20 11:29 PM, Till Kamppeter wrote: > Alex, you could suppress the stderr output of libxml. > > Enclose the call of the libxml function(s) with the following code: Till, it will affect all threads of the calling process, which is not very good. > ---------- >   int fd1, fd2; > >   /* Eliminate any output to stderr, to get rid of the error >      message output of the functions of libxml */ >   fd1 = dup(2); >   fd2 = open("/dev/null", O_WRONLY); >   dup2(fd2, 2); >   close(fd2); > >   /* Put any code using functions of libxml here: */ >   ... > >   /* Re-activate stderr output */ >   dup2(fd1, 2); >   close(fd1); > ---------- > > This redirects the stderr into /dev/null. After you are done with the > libxml funxtions you can return to normal behavior, if you actually need > to output something to stderr later. > > Alternatively, you could use the receiving end of a pipe instead of fd2 > in the "dup2(fd2, 2)" if you want to capture libxml's stderr output (you > would need to fork() before to create a process for receiving the stderr > output, which reads the other end of the pipe). > >    Till > > > On 07/10/2020 21:55, Alexander Pevzner wrote: >> On 10/7/20 10:39 PM, Yoann Le Montagner wrote: >>> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in >>> attachment. >> >> Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" >> with the address 192.168.1.254 and attempts to check it for WSD >> support. It does it by sending some HTTP request to that address. This >> request is redirected to https://mabbox.bytel.fr:443/login.html and >> response from there is not valid XML, so XML parser complains. >> >> Unfortunately, libxml complains directly to stderr, and it cannot be >> silenced. >> >> So this problem is cosmetical, though annoying. >> >>> Thanks for your work. >>> >>> Le 07/10/2020 à 21:35, Alexander Pevzner a écrit : >>>> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>>>> The parser error is always there. >>>> >>>> Please, rerun scanimage with the following options: >>>> >>>> SANE_DEBUG_AIRSCAN=1 scanimage -L >>>> >>>>> Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : >>>>>> Hi Yoann, >>>>>> >>>>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>>>> 1) Start the PC >>>>>>> 2) scanimage -L -> OK, both drivers are here: >>>>>>> >>>>>>> yoann at yoann-desktop:~$ scanimage -L >>>>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>>>> � >>>>>>> ^ >>>>>> Do you see this "parser error" message every time you call >>>>>> "scamimage -L", or it is hard to reproduce? >>>>>> >>>>>> If you can reproduce this message, I want to better investigate it. >>>>>> >>>> >>>> >> >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 8 10:10:57 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 8 Oct 2020 12:10:57 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> Message-ID: <7c852555-4878-2458-5a80-71d5a2c839be@apevzner.com> On 10/7/20 11:29 PM, Till Kamppeter wrote: > Alex, you could suppress the stderr output of libxml. > > Enclose the call of the libxml function(s) with the following code: libxml2 is full of useful, but absolutely undocumented low-level interfaces. With a help of them, seems that I've got it without need of I/O redirection. > ---------- >   int fd1, fd2; > >   /* Eliminate any output to stderr, to get rid of the error >      message output of the functions of libxml */ >   fd1 = dup(2); >   fd2 = open("/dev/null", O_WRONLY); >   dup2(fd2, 2); >   close(fd2); > >   /* Put any code using functions of libxml here: */ >   ... > >   /* Re-activate stderr output */ >   dup2(fd1, 2); >   close(fd1); > ---------- > > This redirects the stderr into /dev/null. After you are done with the > libxml funxtions you can return to normal behavior, if you actually need > to output something to stderr later. > > Alternatively, you could use the receiving end of a pipe instead of fd2 > in the "dup2(fd2, 2)" if you want to capture libxml's stderr output (you > would need to fork() before to create a process for receiving the stderr > output, which reads the other end of the pipe). > >    Till > > > On 07/10/2020 21:55, Alexander Pevzner wrote: >> On 10/7/20 10:39 PM, Yoann Le Montagner wrote: >>> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in >>> attachment. >> >> Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" >> with the address 192.168.1.254 and attempts to check it for WSD >> support. It does it by sending some HTTP request to that address. This >> request is redirected to https://mabbox.bytel.fr:443/login.html and >> response from there is not valid XML, so XML parser complains. >> >> Unfortunately, libxml complains directly to stderr, and it cannot be >> silenced. >> >> So this problem is cosmetical, though annoying. >> >>> Thanks for your work. >>> >>> Le 07/10/2020 à 21:35, Alexander Pevzner a écrit : >>>> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>>>> The parser error is always there. >>>> >>>> Please, rerun scanimage with the following options: >>>> >>>> SANE_DEBUG_AIRSCAN=1 scanimage -L >>>> >>>>> Le 07/10/2020 à 21:27, Alexander Pevzner a écrit : >>>>>> Hi Yoann, >>>>>> >>>>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>>>> 1) Start the PC >>>>>>> 2) scanimage -L -> OK, both drivers are here: >>>>>>> >>>>>>> yoann at yoann-desktop:~$ scanimage -L >>>>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>>>> � >>>>>>> ^ >>>>>> Do you see this "parser error" message every time you call >>>>>> "scamimage -L", or it is hard to reproduce? >>>>>> >>>>>> If you can reproduce this message, I want to better investigate it. >>>>>> >>>> >>>> >> >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From netukar201409+sane at mailbox.org Sun Oct 11 13:46:19 2020 From: netukar201409+sane at mailbox.org (netukar201409+sane at mailbox.org) Date: Sun, 11 Oct 2020 14:46:19 +0200 Subject: [sane-devel] Fwd: book scanner recognized as v4l device - Invalid argument VIDIOCSPICT and VIDIOCMCAPTURE Message-ID: Hello, I tried the following command but got an empty output file SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 >myfirstscan.pnm; ll myfirstscan.pnm Output format is not set, using pnm as a default. [14:42:37.362354] [sanei_debug] Setting debug level of v4l to 128. [14:42:37.362406] [v4l] SANE v4l backend version 1.0 build 5 from sane-backends 1.0.30-970-gd00af49e3 [14:42:37.362447] [v4l] attach: trying to open /dev/bttv0 [14:42:37.362471] [v4l] attach: failed to open device `/dev/bttv0': No such file or directory [14:42:37.362481] [v4l] attach: trying to open /dev/video0 [14:42:37.377588] [v4l] attach: found videodev `USB2.0 HD UVC WebCam: USB2.0 HD' on `/dev/video0' [14:42:37.377729] [v4l] attach: trying to open /dev/video1 [14:42:37.377962] [v4l] attach: failed to open device `/dev/video1': Invalid argument [14:42:37.377992] [v4l] attach: trying to open /dev/video2 [14:42:37.381738] [v4l] attach: found videodev `JY-VP216: JY-VP216' on `/dev/video2' [14:42:37.381768] [v4l] attach: trying to open /dev/video3 [14:42:37.381787] [v4l] attach: failed to open device `/dev/video3': No such file or directory [14:42:37.381813] [v4l] sane_open: device /dev/video2 found in devlist [14:42:37.385321] [v4l] sane_open: 1 channels, 0 audio devices [14:42:37.385349] [v4l] sane_open: minwidth=1280, minheight=720, maxwidth=4896, maxheight=3672 [14:42:37.385360] [v4l] sane_open: V4L device can capture to memory [14:42:37.385372] [v4l] sane_open: channel 0 (Camera 1), tuners=0, flags=0x0, type=2, norm=0 [14:42:37.385385] [v4l] sane_open: input is camera input libv4l2: error setting pixformat: Device or resource busy libv4l1: error setting pixformat: Device or resource busy [14:42:37.385429] [v4l] sane_open: brightness=26214, hue=0, colour=30583, contrast=34952 [14:42:37.385439] [v4l] sane_open: whiteness=0, depth=0, palette=0 [14:42:37.386165] [v4l] sane_open: ioctl VIDIOCSPICT failed (Invalid argument) [14:42:37.386190] [v4l] sane_open: x=0, y=0, width=4608, height=3456 [14:42:37.386208] [v4l] sane_get_option_descriptor: option 0 (Number of options) [14:42:37.386219] [v4l] sane_control_option: get option 0 (Number of options) [14:42:37.386234] [v4l] sane_get_option_descriptor: option 0 (Number of options) [14:42:37.386244] [v4l] sane_control_option: get option 0 (Number of options) [14:42:37.386253] [v4l] sane_get_option_descriptor: option 1 (Scan Mode) [14:42:37.386262] [v4l] sane_get_option_descriptor: option 2 (mode) [14:42:37.386274] [v4l] sane_get_option_descriptor: option 3 (channel) [14:42:37.386285] [v4l] sane_get_option_descriptor: option 4 (Geometry) [14:42:37.386297] [v4l] sane_get_option_descriptor: option 5 (tl-x) [14:42:37.386310] [v4l] sane_get_option_descriptor: option 6 (tl-y) [14:42:37.386320] [v4l] sane_get_option_descriptor: option 7 (br-x) [14:42:37.386332] [v4l] sane_get_option_descriptor: option 8 (br-y) [14:42:37.386344] [v4l] sane_get_option_descriptor: option 9 (Enhancement) [14:42:37.386356] [v4l] sane_get_option_descriptor: option 10 (brightness) [14:42:37.386369] [v4l] sane_get_option_descriptor: option 11 (hue) [14:42:37.386381] [v4l] sane_get_option_descriptor: option 12 (color) [14:42:37.386393] [v4l] sane_get_option_descriptor: option 13 (contrast) [14:42:37.386405] [v4l] sane_get_option_descriptor: option 14 (white-level) [14:42:37.386417] [v4l] sane_control_option: get option 7 (br-x) [14:42:37.386429] [v4l] sane_control option: option is inactive [14:42:37.386440] [v4l] sane_control_option: get option 5 (tl-x) [14:42:37.386453] [v4l] sane_control option: option is inactive [14:42:37.386465] [v4l] sane_control_option: get option 8 (br-y) [14:42:37.386477] [v4l] sane_control option: option is inactive [14:42:37.386488] [v4l] sane_control_option: get option 6 (tl-y) [14:42:37.386500] [v4l] sane_control option: option is inactive [14:42:37.386514] [v4l] sane_control_option: get option 5 (tl-x) [14:42:37.386525] [v4l] sane_control option: option is inactive [14:42:37.386537] [v4l] sane_get_option_descriptor: option 7 (br-x) scanimage: ignored request to set inactive option br-x [14:42:37.386554] [v4l] sane_control_option: get option 6 (tl-y) [14:42:37.386566] [v4l] sane_control option: option is inactive [14:42:37.386578] [v4l] sane_get_option_descriptor: option 8 (br-y) scanimage: ignored request to set inactive option br-y [14:42:37.386628] [v4l] sane_start [14:42:37.386669] [v4l] sane_start: mmap frame, buffersize: 67108864 bytes, buffers: 4, offset 0 0 [14:42:37.386694] [v4l] sane_start: mmapped frame, capture 1 pict into 0x7f41fde29000 [14:42:37.386713] [v4l] sane_start: mmapped frame 4608 x 3456 with palette 1 [14:42:37.387062] [v4l] sane_start: ioctl VIDIOCMCAPTURE failed: Invalid argument scanimage: sane_start: Invalid argument [14:42:37.387125] [v4l] sane_cancel [14:42:37.387144] [v4l] sane_close: trying to close handle 0x55a0cf21a220 [14:42:37.387184] [v4l] sane_exit: all devices freed -rw-r--r-- 1 charly charly 0 Okt 3 14:42 myfirstscan.pnm Regards, --- Michael Dittmer FSFE fellower Am 2020-10-03 um 12:09 schrieb Pim van Tend: > SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 >myfirstscan.pnm > > is the command to write your scan to myfirstscan.pnm > Without the >-clause scanimage refuses to work. > > If you just want to experiment without looking at tje scan, usr > >/dev/null From skelband at gmail.com Mon Oct 12 02:47:06 2020 From: skelband at gmail.com (Ralph Little) Date: Sun, 11 Oct 2020 18:47:06 -0700 Subject: [sane-devel] Sane API Message-ID: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> Hi, What is the status of the SANE API specification. I know that there is another API version in the works but I do not know who, if anyone, is working on it. I would be interested to participate. Cheers, Ralph From paddy-hack at member.fsf.org Mon Oct 12 10:06:49 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Mon, 12 Oct 2020 18:06:49 +0900 Subject: [sane-devel] Sane API In-Reply-To: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> Message-ID: <871ri3q0d2.fsf@quark> Hi Ralph, Ralph Little writes: > Hi, > What is the status of the SANE API specification. Latest "official" version is 1.06 at https://sane-project.gitlab.io/standard/1.06/ The master branch is a dozen or so commits ahead at https://sane-project.gitlab.io/standard/ but does not change the API in any way. The changes are build tweaks, spelling/grammar fixes, consistency fixes, etc. > I know that there is another API version in the works but I do not know > who, if anyone, is working on it. No-one has been working on the content of the version 2 draft for well over a decade, nearing two decades actually. There have been a few minor fixes but that's about it. You can find it at https://sane-project.gitlab.io/standard/draft-2/ > I would be interested to participate. You're welcome but I'm not sure how we want to go about things. A lot has changed since the bulk of that version 2 draft was written. From what I've seen of the changes (during the conversion from LaTeX to Sphinx), they look sensible but I feel there is a lot more that ought to be updated for the 2000-twenties. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From pzz at apevzner.com Mon Oct 12 10:16:44 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 12 Oct 2020 12:16:44 +0300 Subject: [sane-devel] Sane API In-Reply-To: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> Message-ID: <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> Hi Ralph, On 10/12/20 4:47 AM, Ralph Little wrote: > What is the status of the SANE API specification. > I know that there is another API version in the works but I do not know > who, if anyone, is working on it. > I would be interested to participate. Me too. And one of the most interesting questions, how the process of migration to the new updated API could be organized. Currently all drivers implement the whole SANE API. There are about one hundred drivers, and I believe, at least half of them are unmaintained (though I think, it's very optimistic estimation). Either all changes in the API must be backward compatible, or some translation layer is required (something, that implements SANE 2.0 on a top of SANE 1.x). or somebody should update all existent drivers, which is very unlikely to happen. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Mon Oct 12 19:00:36 2020 From: skelband at gmail.com (Ralph Little) Date: Mon, 12 Oct 2020 11:00:36 -0700 Subject: [sane-devel] Sane API In-Reply-To: <871ri3q0d2.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> Message-ID: Hi, On 2020-10-12 2:06 a.m., Olaf Meeuwissen wrote: > Hi Ralph, > > Ralph Little writes: > >> I would be interested to participate. > You're welcome but I'm not sure how we want to go about things. A lot > has changed since the bulk of that version 2 draft was written. From > what I've seen of the changes (during the conversion from LaTeX to > Sphinx), they look sensible but I feel there is a lot more that ought > to be updated for the 2000-twenties. > My main motivation is related to my experience in using a few different devices now and some common usability themes have emerged for me: 1) Often scanners spend a lot of time in calibration and it isn't always that obvious mechanically or audibly that that is what is going on. It would be cool if a frontend could emit some kind of status update to reassure the user that something is actually going on. We don't have anything in the current spec to support that. 2) Backends have different ideas about what is "advanced" and what is basic which just looks a bit messy. It would be good to establish some guidelines on some of the more common options. I'm thinking the x/y, w/h type options primarily. 3) We talked a bit ago about polling options and it would be good to get something more formal to deal with this. Just as a reminder, there was a machine with a "copy count" display indicator that the user could increment/decrement with buttons next to the display. We can now display the content of that window but since the value of this is "volatile" and could be conceptually linked to the scan count in the frontend (e.g. xsane), there is no way to indicate that the frontend should regularly poll for the value. Obviously there are frontend issues regarding the conceptual linkage and there was some concern about idly polling over the network as a form of DDOS attack, but I think that some thought might be put into a backend solution to support that capability. There are probably some other things that are not coming immediately to mind. I actually really love the simplicity of the current API and I would hate to complicate things much if at all. I also appreciate that whatever happens, the NET protocol has to support it. As regards the issue of backwards compatibility, that is a serious concern since many of the machines cannot be easily regression tested. However, if we could expand the scope of the number of officially recognised "options", then that might work for much of what I have listed above. Cheers, Ralph From juergen.mellinger at t-online.de Mon Oct 12 20:04:06 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Mon, 12 Oct 2020 21:04:06 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> Message-ID: <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> Specifying a gamma value for acquired scan data would greatly add to usability as well. —Jürgen > Am 12.10.2020 um 20:00 schrieb Ralph Little : > > Hi, > > On 2020-10-12 2:06 a.m., Olaf Meeuwissen wrote: >> Hi Ralph, >> >> Ralph Little writes: >> >>> I would be interested to participate. >> You're welcome but I'm not sure how we want to go about things. A lot >> has changed since the bulk of that version 2 draft was written. From >> what I've seen of the changes (during the conversion from LaTeX to >> Sphinx), they look sensible but I feel there is a lot more that ought >> to be updated for the 2000-twenties. >> > My main motivation is related to my experience in using a few different > devices now and some common usability themes have emerged for me: > > 1) Often scanners spend a lot of time in calibration and it isn't always > that obvious mechanically or audibly that that is what is going on. It > would be cool if a frontend could emit some kind of status update to > reassure the user that something is actually going on. We don't have > anything in the current spec to support that. > > 2) Backends have different ideas about what is "advanced" and what is > basic which just looks a bit messy. It would be good to establish some > guidelines on some of the more common options. I'm thinking the x/y, w/h > type options primarily. > > 3) We talked a bit ago about polling options and it would be good to get > something more formal to deal with this. Just as a reminder, there was a > machine with a "copy count" display indicator that the user could > increment/decrement with buttons next to the display. We can now display > the content of that window but since the value of this is "volatile" and > could be conceptually linked to the scan count in the frontend (e.g. > xsane), there is no way to indicate that the frontend should regularly > poll for the value. Obviously there are frontend issues regarding the > conceptual linkage and there was some concern about idly polling over > the network as a form of DDOS attack, but I think that some thought > might be put into a backend solution to support that capability. > > There are probably some other things that are not coming immediately to > mind. > > I actually really love the simplicity of the current API and I would > hate to complicate things much if at all. I also appreciate that > whatever happens, the NET protocol has to support it. > > As regards the issue of backwards compatibility, that is a serious > concern since many of the machines cannot be easily regression tested. > However, if we could expand the scope of the number of officially > recognised "options", then that might work for much of what I have > listed above. > > Cheers, > Ralph > > From pzz at apevzner.com Mon Oct 12 21:40:38 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 12 Oct 2020 23:40:38 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> Message-ID: <91e7f3c1-8de7-e6a4-dadb-b21090c0f3b9@apevzner.com> Hi Ralph, On 10/12/20 9:00 PM, Ralph Little wrote: > 1) Often scanners spend a lot of time in calibration and it isn't always > that obvious mechanically or audibly that that is what is going on. It > would be cool if a frontend could emit some kind of status update to > reassure the user that something is actually going on. We don't have > anything in the current spec to support that. It would be nice to have a generic mechanism for unsolicited notifications from backend. Use cases: device status changes, as you've mentioned, push scan events, PnP (device discovery) events, button press notifications. > 2) Backends have different ideas about what is "advanced" and what is > basic which just looks a bit messy. It would be good to establish some > guidelines on some of the more common options. I'm thinking the x/y, w/h > type options primarily. This is better to define a standard set of options, with the same name and interpretation for all backends. It will let frontends to decide by themselves, which oprions are advanced from their own perspective. It will also help a lot to write non-interactive frontends. > 3) We talked a bit ago about polling options and it would be good to get > something more formal to deal with this. Just as a reminder, there was a > machine with a "copy count" display indicator that the user could > increment/decrement with buttons next to the display. We can now display > the content of that window but since the value of this is "volatile" and > could be conceptually linked to the scan count in the frontend (e.g. > xsane), there is no way to indicate that the frontend should regularly > poll for the value. Obviously there are frontend issues regarding the > conceptual linkage and there was some concern about idly polling over > the network as a form of DDOS attack, but I think that some thought > might be put into a backend solution to support that capability. If polling of some counter is required by underlying network protocol, backend may limit an actual frequency of network requests, and if frontend polls too often, just return cached value, which is updated with reasonably frequency. > As regards the issue of backwards compatibility, that is a serious > concern since many of the machines cannot be easily regression tested. > However, if we could expand the scope of the number of officially > recognised "options", then that might work for much of what I have > listed above. I think, we have no other choice that to let SANE 1.0 and SANE 2.0 to coexist, providing a necessary translation layer. There are a lot of SANE 1.0 backends, that honestly speaking, will never be updated, and some SANE 1.0 frontends (fortunately, not so much), that unlikely to be immediately updated to use the new API. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From paddy-hack at member.fsf.org Tue Oct 13 09:45:40 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Tue, 13 Oct 2020 17:45:40 +0900 Subject: [sane-devel] Sane API In-Reply-To: <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> Message-ID: <87mu0qtsy3.fsf@quark> Hi Jürgen, Jürgen Mellinger writes: > Specifying a gamma value for acquired scan data would greatly add to > usability as well. That's already in the version 2 draft. See https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma Both are for device-side gamma support and the standard discourages emulation in the backend of the former and forbids for the latter. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From paddy-hack at member.fsf.org Tue Oct 13 10:02:13 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Tue, 13 Oct 2020 18:02:13 +0900 Subject: [sane-devel] Sane API In-Reply-To: <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> Message-ID: <87lfgats6i.fsf@quark> Hi Alexander, Alexander Pevzner writes: > Hi Ralph, > > On 10/12/20 4:47 AM, Ralph Little wrote: >> What is the status of the SANE API specification. >> I know that there is another API version in the works but I do not know >> who, if anyone, is working on it. >> I would be interested to participate. > Me too. > > And one of the most interesting questions, how the process of > migration to the new updated API could be organized. > > Currently all drivers implement the whole SANE API. There are about > one hundred drivers, and I believe, at least half of them are > unmaintained (though I think, it's very optimistic estimation). It's more like 80% unmaintained :-/ To be precise, 78 out of 93, based on the :version keyword in doc/descriptions/*.desc excluding the template. > Either all changes in the API must be backward compatible, or some > translation layer is required (something, that implements SANE 2.0 on > a top of SANE 1.x). or somebody should update all existent drivers, > which is very unlikely to happen. Following semantic versioning, we are at liberty to (completely) break the API's backward compatibility although I realize that the draft has different ideas about that. Seeing how many years have passed since it was drafted, I guess a more radical approach _might_ be in order. If someone cares enough to write a compatibility layer, that's fine but it's not anywhere on *my* priority list. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From jsmeix at suse.de Tue Oct 13 12:26:29 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Tue, 13 Oct 2020 13:26:29 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87lfgats6i.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> Message-ID: Hello, On 2020-10-13 11:02, Olaf Meeuwissen wrote: > > Following semantic versioning, we are at liberty to (completely) break > the API's backward compatibility although I realize that the draft has > different ideas about that. Seeing how many years have passed since it > was drafted, I guess a more radical approach _might_ be in order. I don't know any details here so I could totally misunderstand things but "break ... backward compatibility" looks a bit scaring to me so I like to ask if I understand things at least basically right: Would it mean that existing frontends could no longer work because of "broken backward compatibility"? Could it mean that new frontends (for the new API) would no longer work with old backends that implement the old API? Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From juergen.mellinger at t-online.de Tue Oct 13 14:20:15 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 13 Oct 2020 15:20:15 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87mu0qtsy3.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> Message-ID: Hi Olaf, sorry for not being clear about my suggestion. I am aware that various options exist for the user to select hardware gamma correction, and that software gamma correction is discouraged. However, this is exactly the problem. Without software gamma correction, a frontend is unable to request a certain gamma correction, and cannot choose a gamma correction value suitable for the current operating system, and the current device, or user preferences transferred from a different device. So my suggestion would be to prescribe a software gamma correction option with the values 0 to 2.2, 0 standing for "off". Alternatively, a read-only option "HardwareGamma" could provide the frontend with enough information to implement software gamma correction by itself. Regards, Juergen > Am 13.10.2020 um 10:45 schrieb Olaf Meeuwissen : > > Hi Jürgen, > > Jürgen Mellinger writes: > >> Specifying a gamma value for acquired scan data would greatly add to >> usability as well. > > That's already in the version 2 draft. See > > https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options > https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma > > Both are for device-side gamma support and the standard discourages > emulation in the backend of the former and forbids for the latter. > > Hope this helps, > -- > Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 > GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 > Support Free Software https://my.fsf.org/donate > Join the Free Software Foundation https://my.fsf.org/join From steven at simplycircus.com Tue Oct 13 20:57:02 2020 From: steven at simplycircus.com (Steven Santos) Date: Tue, 13 Oct 2020 15:57:02 -0400 Subject: [sane-devel] CUPS progress slowing to a halt? Message-ID: https://www.phoronix.com/scan.php?page=news_item&px=Linux-2020-CUPS-Git -------------- next part -------------- An HTML attachment was scrubbed... URL: From pzz at apevzner.com Tue Oct 13 22:10:47 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 14 Oct 2020 00:10:47 +0300 Subject: [sane-devel] CUPS progress slowing to a halt? In-Reply-To: References: Message-ID: <12ec9d42-9582-9ed6-bbe7-9bafcfc9453b@apevzner.com> On 10/13/20 10:57 PM, Steven Santos wrote: > https://www.phoronix.com/scan.php?page=news_item&px=Linux-2020-CUPS-Git https://linuxplumbersconf.org/event/7/contributions/693/attachments/556/984/lpc-printer-applications-august-2020.pdf In short, CUPS will not go away, but will be seriously re- architected. And yes, CUPS development will not be backed by Apple. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From paddy-hack at member.fsf.org Wed Oct 14 11:56:24 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Wed, 14 Oct 2020 19:56:24 +0900 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> Message-ID: <87blh5rs87.fsf@quark> Hi Jürgen, Jürgen Mellinger writes: > Hi Olaf, > > sorry for not being clear about my suggestion. I am aware that various > options exist for the user to select hardware gamma correction, and > that software gamma correction is discouraged. Sorry for not being clear that I only wanted to point out that there was already something in that area in the draft standard. > However, this is exactly the problem. Without software gamma > correction, a frontend is unable to request a certain gamma > correction, and cannot choose a gamma correction value suitable for > the current operating system, and the current device, or user > preferences transferred from a different device. So my suggestion > would be to prescribe a software gamma correction option with the > values 0 to 2.2, 0 standing for "off". Alternatively, a read-only > option "HardwareGamma" could provide the frontend with enough > information to implement software gamma correction by itself. I guess what you as a user really want is a frontend giving you an option to set a gamma correction some way. Single value for RGB, maybe three values for R, G and B each or even hand-crafted profiles. What you as a frontend implementer really want is - a way to tell the backend to not muck with gamma at all and do everything in software yourself, or - a way to pass those settings to the backend and let that figure out the best way to achieve what it's been asked to do (maybe with a hint as to what constitutes best, e.g. speed, memory, image quality, etc.) The real problem with these settings that may or may not be supported by hardware is deciding and informing everything involved about who's responsible for doing what. I've seen similar issues in CUPS filter chains where, for example, 2-up and 90 degree rotation settings would be applied by multiple filters so in a pretty bad case you'd end up with a page that's 8-up and rotated by 270 degrees :-o The SANE backends are very much like a filter between the device and your frontend. There was also talk about "middleware" and if that enters the picture you really need to make sure who's going to take responsibility for what so that what arrives at the frontend is the way it's supposed to be. >> Am 13.10.2020 um 10:45 schrieb Olaf Meeuwissen : >> >> Hi Jürgen, >> >> Jürgen Mellinger writes: >> >>> Specifying a gamma value for acquired scan data would greatly add to >>> usability as well. >> >> That's already in the version 2 draft. See >> >> https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options >> https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma >> >> Both are for device-side gamma support and the standard discourages >> emulation in the backend of the former and forbids for the latter. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From paddy-hack at member.fsf.org Wed Oct 14 12:12:49 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Wed, 14 Oct 2020 20:12:49 +0900 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> Message-ID: <87a6wprrgu.fsf@quark> Hi Johannes, Johannes Meixner writes: > Hello, > > On 2020-10-13 11:02, Olaf Meeuwissen wrote: >> >> Following semantic versioning, we are at liberty to (completely) break >> the API's backward compatibility although I realize that the draft has >> different ideas about that. Seeing how many years have passed since it >> was drafted, I guess a more radical approach _might_ be in order. > > I don't know any details here so I could totally misunderstand things > but "break ... backward compatibility" looks a bit scaring to me > so I like to ask if I understand things at least basically right: > > Would it mean that existing frontends could no longer work > because of "broken backward compatibility"? Assuming for simplicity's sake that the backward compatibility breaking version is SANE 2 and what we use now is SANE 1, breaking backward compatibility means that - SANE 1 frontends will continue to work with SANE 1 backends - SANE 1 frontends will not work with SANE 2 backends - SANE 2 frontends will work with SANE 2 backends - SANE 2 frontends will not work with SANE 1 backends > Could it mean that new frontends (for the new API) would > no longer work with old backends that implement the old API? So, yes. Of course, if someone bothers to write a SANE 2 backend that uses one, some or even all of the SANE 1 backends, SANE 2 frontends can use that backend to access devices that are only supported by a SANE 1 backend. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From juergen.mellinger at t-online.de Wed Oct 14 12:30:32 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Wed, 14 Oct 2020 13:30:32 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87blh5rs87.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> <87blh5rs87.fsf@quark> Message-ID: Hi Olaf, thank you for your answer. > I guess what you as a user really want is a frontend giving you an > option to set a gamma correction some way. Single value for RGB, maybe > three values for R, G and B each or even hand-crafted profiles. What > you as a frontend implementer really want is > > - a way to tell the backend to not muck with gamma at all and do > everything in software yourself, or > - a way to pass those settings to the backend and let that figure out > the best way to achieve what it's been asked to do (maybe with a hint > as to what constitutes best, e.g. speed, memory, image quality, etc.) No, that is not what I want. As a user, I want an option in the frontend that results in a reasonable default gamma correction, so I don’t have to choose anything in order to get a reasonably looking scan. Especially, I don’t want to calibrate my individual scanner just to obtain information that is the same for all scanners of that kind. To put it differently, the information about a scanner’s native gamma value, given by its CCD properties, is a natural property of the backend. Any gamma correction applied by hardware and/or in the backend is also a natural property of the backend. There should be a way to communicate resulting gamma from the backend to a frontend, so it can choose an appropriate default gamma correction. > The SANE backends are very much like a filter between the device and > your frontend. There was also talk about "middleware" and if that > enters the picture you really need to make sure who's going to take > responsibility for what so that what arrives at the frontend is the way > it's supposed to be. I am aware that multiple gamma correction is detrimental for quality, this is why an option to choose the gamma of backend output would be preferable over a read-only option to obtain the actual gamma. Thanks, Jürgen > >>> Am 13.10.2020 um 10:45 schrieb Olaf Meeuwissen : >>> >>> Hi Jürgen, >>> >>> Jürgen Mellinger writes: >>> >>>> Specifying a gamma value for acquired scan data would greatly add to >>>> usability as well. >>> >>> That's already in the version 2 draft. See >>> >>> https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options >>> https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma >>> >>> Both are for device-side gamma support and the standard discourages >>> emulation in the backend of the former and forbids for the latter. > > Hope this helps, > -- > Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 > GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 > Support Free Software https://my.fsf.org/donate > Join the Free Software Foundation https://my.fsf.org/join From pzz at apevzner.com Wed Oct 14 13:43:57 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 14 Oct 2020 15:43:57 +0300 Subject: [sane-devel] Sane API In-Reply-To: <87blh5rs87.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> <87blh5rs87.fsf@quark> Message-ID: <09ec865e-bf40-eb92-a9e7-73196f8f1700@apevzner.com> Hi Olaf, On 10/14/20 1:56 PM, Olaf Meeuwissen wrote: > I guess what you as a user really want is a frontend giving you an > option to set a gamma correction some way. Single value for RGB, maybe > three values for R, G and B each or even hand-crafted profiles. What > you as a frontend implementer really want is > > - a way to tell the backend to not muck with gamma at all and do > everything in software yourself, or > - a way to pass those settings to the backend and let that figure out > the best way to achieve what it's been asked to do (maybe with a hint > as to what constitutes best, e.g. speed, memory, image quality, etc.) From another hand, draft 2.0 standard dictates a particular order of applying image enhancement filters and requires that if hardware applies these filters a different way, backend should perform a compensation. This is good by itself (we are trying to achieve a similar behavior on all devices), but what is the practical difference between software-simulated gamma correction and hardware-implemented gamma correction plus software compensation in backend? I bet also, that "universal" backends, like BJNP/PIXMA, ESCL, WSD, have no idea how gamma compensation is implemented by the particular device. And another thing, if we are still speaking about gamma correction, I cannot imagine a physical process within a device that can perform the gamma correction. In any case, it will be performed by some piece of software, either by firmware or at the host side. And taking into account that table-driven gamma correction is a trivial thing, there is no practical difference between the place where it is performed, even in a terms of CPU load and memory usage. Here the gamma correction is different from, for example, brightness; brightness control can be implemented by setting the particular lightening level. And yes, the end user wants gamma to be implemented somehow. So if backend implements gamma in software, while frontend doesn't, end user wins, if backend doesn't implement gamma just because it is prohibited by specification, and frontend doesn't implement it too, end user looses the gamma correction. From another hand, I understand a requirement from frontend developers, to understand, what actually goes on. Though honestly speaking, there are currently no widely used frontends that care. So may be, instead of prohibiting of software implementation of particular options, we will define a set of read-only "advanced" options, that will allow inquisitive frontend to explicitly query, how particular option is implemented, with values of "hardware"/"software"/"compensated", for example. > The real problem with these settings that may or may not be supported by > hardware is deciding and informing everything involved about who's > responsible for doing what. I've seen similar issues in CUPS filter > chains where, for example, 2-up and 90 degree rotation settings would be > applied by multiple filters so in a pretty bad case you'd end up with a > page that's 8-up and rotated by 270 degrees :-o From another hand, from the user perspective, it is better, if image will be rotated 9 times that if image cannot be rotated at all :-) > The SANE backends are very much like a filter between the device and > your frontend. There was also talk about "middleware" and if that > enters the picture you really need to make sure who's going to take > responsibility for what so that what arrives at the frontend is the way > it's supposed to be. Yes, the ideal place to "harmonize" things would be a some kind of middleware between backends and frontends. But we have what we have... -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Wed Oct 14 15:05:06 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 14 Oct 2020 17:05:06 +0300 Subject: [sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL Message-ID: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> Hi, what is the difference between "shadow" and "black-level" options? And the same question regarding "highlight" vs "white-level" options. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From paddy-hack at member.fsf.org Thu Oct 15 09:59:50 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Thu, 15 Oct 2020 17:59:50 +0900 Subject: [sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL In-Reply-To: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> References: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> Message-ID: <87a6wn6f09.fsf@quark> Hi Alexander, Alexander Pevzner writes: > what is the difference between "shadow" and "black-level" options? And > the same question regarding "highlight" vs "white-level" options. Judging from their descriptions (in include/sane/saneopts.h), nothing save for the command-line option names. I think this is just a case of independently developed backends where developer picked different option names for the same thing. A patch is welcome but note that it would break backward compatibility for a bunch of unmaintained backends if you simply drop the black- and white-level options :-o # The right way to go about this is *add* shadow and highlight to those # backends, mark the black-level and white-level options deprecated and # drop them in some release after the next. FWIW, the version 2 draft of the standard documents shadow and highlight at https://sane-project.gitlab.io/standard/draft-2/api.html#shadow-option https://sane-project.gitlab.io/standard/draft-2/api.html#highlight-option so keeping that option is probably to be preferred. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From pzz at apevzner.com Thu Oct 15 13:27:10 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 15 Oct 2020 15:27:10 +0300 Subject: [sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL In-Reply-To: <87a6wn6f09.fsf@quark> References: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> <87a6wn6f09.fsf@quark> Message-ID: <5f96c786-6067-47b7-855c-e8bfa8541aae@apevzner.com> Hi Olaf, On 10/15/20 11:59 AM, Olaf Meeuwissen wrote: > I think this is just a case of independently developed backends where > developer picked different option names for the same thing. A patch is > welcome but note that it would break backward compatibility for a bunch > of unmaintained backends if you simply drop the black- and white-level > options :-o To make chaos even more chaotic :-), sane-microtek uses OPT_SHADOW internally, but with name SANE_NAME_BLACK_LEVEL, and the same for OPT_HIGHLIGHT/SANE_NAME_WHITE_LEVEL. > FWIW, the version 2 draft of the standard documents shadow and highlight > at > > https://sane-project.gitlab.io/standard/draft-2/api.html#shadow-option > https://sane-project.gitlab.io/standard/draft-2/api.html#highlight-option > > so keeping that option is probably to be preferred. Draft 2 defines these options as simple as follows, in pseudo-code: if (c < SHADOW) { c = BLACK; } else if (c > HIGHLIGHT) { c = WHITE; } else { c = c; } However, Photoshop, GIMP, XSane (on its software image enhancement) uses the different interpretation (with formula I didn't yet understood), and this interpretation seems to be common across image processing software. How these options are interpreted by backends where they are handled by hardware, probably nobody knows. Looks, like both variants make sense and needs to be defined as well-known options and documented. The present definition, as it written in the draft 2, probably better match the SANE_NAME_BLACK_LEVEL/SANE_NAME_WHITE_LEVEL pair. What do you think? -- Wishes, Alexander Pevzner (pzz at apevzner.com) From chl at clerew.man.ac.uk Sat Oct 17 20:37:00 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Sat, 17 Oct 2020 20:37:00 +0100 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> Message-ID: <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> On 16/09/2020 06:05, Ralph Little wrote: > Hi, > > On 2020-09-15 4:33 a.m., Charles Lindsey wrote: >> I have cracked it; well, sort of. >> >> Still using my old 0.999-5ubuntu2 version of xsane. >> Clearly, the preview uses a low resolution scan. So I tried doing a >> full scan at various resolutions. >> >> 50 dpi - banding seen >> 75 dpi - banding seen >> 100 dpi - banding seen >> 150 dpi - no banding >> >> I an still planning to download and compile the newer 0.999-8ubuntu2 >> version of xsane (but not today). In the meantime, I suggest you try >> the same experiment on your Epson 1260. >> >> Using Simple Scan, I got no banding at either 75 dpi or 150 dpi, so I >> still think it is an xsane problem. >> > > OK, I *think* that I might be seeing something like what you are. > I get no stripiness, but some resolutions give me a red tinted scan. > It looks to be the same kind of pink tint that you see but it is for the > entire scan area. > > I have to say that I only get this if I set the bit depth to 14. 8 > doesn't give me any problems. > > In all cases, I get the funny thin yellow stripe on the right hand side > which may or may not be related. > For all the scans, I am using xsane. Apologies for long delay but I was hospitalized for a while. I downloaded and compiled the source code for xsane. It is in a messy state, and maintained (in a desultory manner) by some guys at Debian. Gcc complained of many casts from pointer to int. I changes these to long, but it made no difference. I then downloaded the code for the plusek backend and compiled it. This was difficult because I do not have autoconf and its package had too many dependencies which I did not really want. So I had to do a bit of guesswork to get a config.h. It did compile but the problem remained. After many hours of using gdb to find how it worked, plus some use of the builtin SANE_DEBUG facility and comparing that with SANE_DEBUG on simple-scan which worked correctly, I spotted what the problem was. It is not a BUG; it is a FEATURE! Simple-scan runs a calibration (both Course and Fine) om every startup. Xsane has a setting "calibration cache" which can be set in the Standard Options window, and which I had set (because it seemed like a good idea). When set, it causes the result of the calibration to be set in ~/.sane/Epson_Perfection_1250_Photo-coarse.cal and in ~/.sane/Epson_Perfection_1250_Photo-fine.cal If it sees these in a later run, it uses them and omits the calibration process entirely. In the backend code there ia a variable 'dev->adj.cacheCalData' but nowhere could I find where it gets set, though I see now it can be set in /etc /sand.d/plustek.conf, which is presumably where simple-scan picks it up. Anyway, when I first used Xsane in Ubuntu 18.04 (where sane 1.0.27 was used), it created these cache files (which suffered from the original bug), and when I switched to sane 1.0.31 (both the binary package and my locally compiled one) it still used these buggy cache files (simple-scan followed the new code, of course). So when I deleted them and let xsane re-create them, it all started to work correctly (not even any sign of Ralph's yellow stripe). I also found a few oddities: in plustek.c, it declares: struct SIGACTION act; However, that struct is nowhere defined. I had to change it to struct sigaction act; and also #include Also, when running xsane and even simple-scan, it produced massive warnings of the form: MIB search path: /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp Cannot find module (SNMPv2-MIB): At line 1 in (none) Cannot find module (IF-MIB): At line 1 in (none) Cannot find module (IP-MIB): At line 1 in (none) Cannot find module (TCP-MIB): At line 1 in (none) Cannot find module (UDP-MIB): At line 1 in (none) Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) Cannot find module (MTA-MIB): At line 1 in (none) Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) Cannot find module (SNMPv2-TC): At line 15 in /usr/share/snmp/mibs/UCD-DISKIO-MI and much more. But I did not see them when using my own compiled backend-plustek. The bug is described in https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1795861, but the workaround given there doesn't work. AFAICS, it is trying to use the feature to use a scanner elsewhere on the net, but I have not installed saned because I do not need it. How do I turn it off? -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From skelband at gmail.com Sat Oct 17 22:57:46 2020 From: skelband at gmail.com (Ralph Little) Date: Sat, 17 Oct 2020 14:57:46 -0700 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> Message-ID: <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> Hi, On 2020-10-17 12:37 p.m., Charles Lindsey wrote: > > I downloaded and compiled the source code for xsane. It is in a messy > state, and maintained (in a desultory manner) by some guys at Debian. > Gcc complained of many casts from pointer to int. I changes these to > long, but it made no difference. I wouldn't bother compiling xsane. It is very unlikely to be the issue. > > Simple-scan runs a calibration (both Course and Fine) om every startup. > Xsane has a setting "calibration cache" which can be set in the > Standard Options window, and which I had set (because it seemed like a > good idea). When set, it causes the result of the calibration to be > set in >  ~/.sane/Epson_Perfection_1250_Photo-coarse.cal > and in >  ~/.sane/Epson_Perfection_1250_Photo-fine.cal > If it sees these in a later run, it uses them and omits the > calibration process entirely. In the backend code there ia a variable > 'dev->adj.cacheCalData' but nowhere could I find where it gets set, > though I see now it can be set in /etc /sand.d/plustek.conf, which is > presumably where simple-scan picks it up. > > Anyway, when I first used Xsane in Ubuntu 18.04 (where sane 1.0.27 was > used), it created these cache files (which suffered from the original > bug), and when I switched to sane 1.0.31 (both the binary package and > my locally compiled one) it still used these buggy cache files > (simple-scan followed the new code, of course). So when I deleted them > and let xsane re-create them, it all started to work correctly (not > even any sign of Ralph's yellow stripe). Yayy! > > I also found a few oddities: > in plustek.c, it declares: >      struct SIGACTION act; > However, that struct is nowhere defined. I had to change it to >      struct sigaction act; > and also >  #include > Not sure about that. SIGACTION of probably generated by autoconf and so customized for the platform. > Also, when running xsane and even simple-scan, it produced massive > warnings of the form: > MIB search path: > /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp > Cannot find module (SNMPv2-MIB): At line 1 in (none) > Cannot find module (IF-MIB): At line 1 in (none) > Cannot find module (IP-MIB): At line 1 in (none) > Cannot find module (TCP-MIB): At line 1 in (none) > Cannot find module (UDP-MIB): At line 1 in (none) > Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) > Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) > Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) > Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) > Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) > Cannot find module (MTA-MIB): At line 1 in (none) > Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) > Cannot find module (SNMPv2-TC): At line 15 in > /usr/share/snmp/mibs/UCD-DISKIO-MI > and much more. But I did not see them when using my own compiled > backend-plustek. > Sorry, don't know about that. Regarding the original problem in the cached files, it seems to me that it might be worthwhile version stamping these files so that we can change their format and flush out buggy ones with a version bump. Something to consider in future I guess. Cheers, Ralph From paddy-hack at member.fsf.org Sun Oct 18 01:33:03 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Sun, 18 Oct 2020 09:33:03 +0900 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> Message-ID: <87y2k4fk5c.fsf@quark> Hi Ralph, Charles, Ralph Little writes: > Hi, > > On 2020-10-17 12:37 p.m., Charles Lindsey wrote: >> > [...] > > Yayy! >> >> I also found a few oddities: >> in plustek.c, it declares: >> struct SIGACTION act; >> However, that struct is nowhere defined. I had to change it to >> struct sigaction act; >> and also >> #include >> > Not sure about that. SIGACTION of probably generated by autoconf and so > customized for the platform. A quick `git grep SIGACTION` shows that it's defined in include/sane/sanei_backend.h to either sigaction or sigvec depending on what ./configure finds. Since Charles didn't install autoconf and cobbled together a config.h by himself, he probably didn't include anything for HAVE_SIGPROCMASK and ended up using sigvec. >> Also, when running xsane and even simple-scan, it produced massive >> warnings of the form: >> MIB search path: >> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >> Cannot find module (SNMPv2-MIB): At line 1 in (none) >> Cannot find module (IF-MIB): At line 1 in (none) >> Cannot find module (IP-MIB): At line 1 in (none) >> Cannot find module (TCP-MIB): At line 1 in (none) >> Cannot find module (UDP-MIB): At line 1 in (none) >> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >> Cannot find module (MTA-MIB): At line 1 in (none) >> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >> Cannot find module (SNMPv2-TC): At line 15 in >> /usr/share/snmp/mibs/UCD-DISKIO-MI >> and much more. But I did not see them when using my own compiled >> backend-plustek. >> > Sorry, don't know about that. Those warnings are courtesy of libsnmp and I think you compiled without. The Ubuntu bug report you mentioned talks about the possibility that colord-sane may be causing this. FWIW, we fixed a couple of backends a few months ago so that they no longer generate network traffic when the local-only option is used. See https://gitlab.com/sane-project/backends/-/issues/130 for details. > Regarding the original problem in the cached files, it seems to me that > it might be worthwhile version stamping these files so that we can > change their format and flush out buggy ones with a version bump. > > Something to consider in future I guess. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From chl at clerew.man.ac.uk Sun Oct 18 23:24:20 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Sun, 18 Oct 2020 23:24:20 +0100 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: <87y2k4fk5c.fsf@quark> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> Message-ID: On 18/10/2020 01:33, Olaf Meeuwissen wrote: > Hi Ralph, Charles, >>> Also, when running xsane and even simple-scan, it produced massive >>> warnings of the form: >>> MIB search path: >>> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>> Cannot find module (SNMPv2-MIB): At line 1 in (none) >>> Cannot find module (IF-MIB): At line 1 in (none) >>> Cannot find module (IP-MIB): At line 1 in (none) >>> Cannot find module (TCP-MIB): At line 1 in (none) >>> Cannot find module (UDP-MIB): At line 1 in (none) >>> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >>> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >>> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >>> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >>> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >>> Cannot find module (MTA-MIB): At line 1 in (none) >>> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >>> Cannot find module (SNMPv2-TC): At line 15 in >>> /usr/share/snmp/mibs/UCD-DISKIO-MI >>> and much more. But I did not see them when using my own compiled >>> backend-plustek. >>> >> Sorry, don't know about that. > > Those warnings are courtesy of libsnmp and I think you compiled without. > > The Ubuntu bug report you mentioned talks about the possibility that > colord-sane may be causing this. FWIW, we fixed a couple of backends a > few months ago so that they no longer generate network traffic when the > local-only option is used. See > > https://gitlab.com/sane-project/backends/-/issues/130 > > for details. > I have followed up that link, and also earlier discussions on this list referenced there. It all seems to boil down to the function SANE_Status sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only); and the exact meaning of local_only, and even the developers on this list can't seem to agree on what that means. Note that there are more than one implementation of that function throughout the whole system. So here is my take on it: Every usage of Sane starts from some frontend. For example xsane (of which I have the code in front of me) has to decide what backend it is going to use. If a backend is specified on the command line (and you specify it by a Name (e.g. "Alice's Scanner"), then all is straightforward. Otherwise, xsane calls sane_get_devices(&xsane.devlist, SANE_FALSE /* local and network devices */); which presumably looks at every SCSI Bus, and then any available Usb, and then any server on the LAN which is running saned (with proper authorisation for you), and then any such server on the internet; so if all it can find is a server in Timbuktu, you will have to hire a camel to take your document to Timbuktu to be scanned. Now I have run xsane under gdb, and observe that by the time that call returns, the deluge of warnings from snmp has already appeared, and note also that at that stage all that xsane is aware of is a list of [name/vendor/model/type]; NO specific device has been chosen, so the instance of sane_get_devices obeyed must have been the generic one in libsane. We don't have a specific SANE_Handle available, and therefore we cannot have obeyed and code in any SANE_handler. Therefore this is not a backend problem. The culprit for the deluge of warnings about snmp MUST be that sane_get_devices function in libsane, and that is where you should look. Now it is quite reasonable for a backend to seek advice from colord as to how to process the stuff it scans (and I see that I do have a colord running, though nothing in /etc/init.d), but that is for later when an actual backend has been activated. The plustek backend, which my scanner uses, has no interest in colord. It Does seem to envisage that is may have several devices of the same type under control, and it Does have a local implementation of sane_get_devices (which merely ignores its local_only parameter and returns a list of devices it has already been asked to activate). Who calls that local implementation is entirely unknown. The colord-sane daemon is a more interesting problem. It is known known that it incorporates a call of sane_get_devices, but I am not running colord-sane (that I know of). And why it should get involved when sane_get_devices gets called from xsane I cannot imagine. I would suggest that some investigation of what the sane_get_devices in libsane actually does and likewise what colord-sane is up to would lead to the solution for this deluge. -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From paddy-hack at member.fsf.org Mon Oct 19 10:32:49 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Mon, 19 Oct 2020 18:32:49 +0900 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> Message-ID: <87y2k2v9vi.fsf@quark> Hi Charles, Charles Lindsey writes: > On 18/10/2020 01:33, Olaf Meeuwissen wrote: >> Hi Ralph, Charles, > >>>> Also, when running xsane and even simple-scan, it produced massive >>>> warnings of the form: >>>> MIB search path: >>>> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>>> Cannot find module (SNMPv2-MIB): At line 1 in (none) >>>> Cannot find module (IF-MIB): At line 1 in (none) >>>> Cannot find module (IP-MIB): At line 1 in (none) >>>> Cannot find module (TCP-MIB): At line 1 in (none) >>>> Cannot find module (UDP-MIB): At line 1 in (none) >>>> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >>>> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >>>> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >>>> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >>>> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >>>> Cannot find module (MTA-MIB): At line 1 in (none) >>>> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >>>> Cannot find module (SNMPv2-TC): At line 15 in >>>> /usr/share/snmp/mibs/UCD-DISKIO-MI >>>> and much more. But I did not see them when using my own compiled >>>> backend-plustek. >>>> >>> Sorry, don't know about that. >> >> Those warnings are courtesy of libsnmp and I think you compiled without. >> >> The Ubuntu bug report you mentioned talks about the possibility that >> colord-sane may be causing this. FWIW, we fixed a couple of backends a >> few months ago so that they no longer generate network traffic when the >> local-only option is used. See >> >> https://gitlab.com/sane-project/backends/-/issues/130 >> >> for details. >> > I have followed up that link, and also earlier discussions on this > list referenced there. It all seems to boil down to the function > SANE_Status sane_get_devices (const SANE_Device *** device_list, > SANE_Bool local_only); > and the exact meaning of local_only, and even the developers on this > list can't seem to agree on what that means. Note that there are more > than one implementation of that function throughout the whole > system. So here is my take on it: Every SANE backend *must* provide an implementation. So, yes, there are 93 implementations of it in sane-backends alone. Any external backends you may or may not have installed would add to that. > Every usage of Sane starts from some frontend. Correct. > For example xsane (of which I have the code in front of me) has to > decide what backend it is going to use. Nitpick: It has to decide which scanner/backend combination it is going to use. > If a backend is specified on > the command line (and you specify it by a Name (e.g. "Alice's > Scanner"), then all is straightforward. That depends on the frontend and the backend you told it to use. In an ideal world, it would be straightforward but both frontend and backend are still free to call sane_get_devices if they feel the need. > Otherwise, xsane calls > sane_get_devices(&xsane.devlist, SANE_FALSE /* local and network devices */); > which presumably looks at every SCSI Bus, and then any available Usb, > and then any server on the LAN which is running saned (with proper > authorisation for you), and then any such server on the internet; so > if all it can find is a server in Timbuktu, you will have to hire a > camel to take your document to Timbuktu to be scanned. Apart from the exact order you sketch above, looking for servers (on the LAN and the internets at large) running saned should not happen in the case local-only was set to true. The `net` backend has observed that value correctly since version 1.0.1 (released over 20 years ago). However, certain backends also search for scanners directly attached to the network. They may use SNMP or AVAHI or ... well, whatever and would normally use an appropriate library to do so. Standard compliant backends should not be doing those probes for network attached scanners but some of our backends did. That has been fixed and will be in the next sane-backends release. Until such time, you can disable backends in your dll.conf file. The kodakaio and magicolor backends use SNMP to detect devices (and have been fixed recently). > Now I have run xsane under gdb, and observe that by the time that call > returns, the deluge of warnings from snmp has already appeared, and > note also that at that stage all that xsane is aware of is a list of > [name/vendor/model/type]; NO specific device has been chosen, so the > instance of sane_get_devices obeyed must have been the generic one in > libsane. We don't have a specific SANE_Handle available, and therefore > we cannot have obeyed and code in any SANE_handler. The "generic" sane_get_devices is normally the one from the dll backend and that one calls the sane_get_devices implementations of all the SANE backends you have enabled (normally in /etc/sane.d/dll.conf but see the sane-dll manual page for details). > Therefore this is not a backend problem. The culprit for the deluge of > warnings about snmp MUST be that sane_get_devices function in libsane, > and that is where you should look. We have looked there and we have fixed all the backends in sane-backends so they do not generate network traffic when local-only is true. That fix will be in the next sane-backends release. Please be advised that the messages you see are *not* output by the SANE backends. It's libsnmp that generates these messages when a backend has the audacity to use its API. > Now it is quite reasonable for a backend to seek advice from colord as > to how to process the stuff it scans (and I see that I do have a > colord running, though nothing in /etc/init.d), but that is for later > when an actual backend has been activated. To the best of my knowledge, our sane-backends don't use colord in any way. Perhaps your frontend does. I don't think XSane does, BTW. > The plustek backend, which my scanner uses, has no interest in > colord. It Does seem to envisage that is may have several devices of > the same type under control, and it Does have a local implementation > of sane_get_devices (which merely ignores its local_only parameter and > returns a list of devices it has already been asked to activate). Who > calls that local implementation is entirely unknown. If the plustek does not and will not, ever, support directly network attached devices, it can safely ignore the local-only parameter. > The colord-sane daemon is a more interesting problem. It is known > known that it incorporates a call of sane_get_devices, but I am not > running colord-sane (that I know of). And why it should get involved > when sane_get_devices gets called from xsane I cannot imagine. > > I would suggest that some investigation of what the sane_get_devices > in libsane actually does and likewise what colord-sane is up to would > lead to the solution for this deluge. If commenting out the kodakaio and magicolor backends in your dll.conf does not solve this for you, you have external backends installed that are responsible for the "deluge". If the plustek backend is all you need, simply comment out every other backend. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From chl at clerew.man.ac.uk Mon Oct 19 12:55:16 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Mon, 19 Oct 2020 12:55:16 +0100 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: <87y2k2v9vi.fsf@quark> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> <87y2k2v9vi.fsf@quark> Message-ID: <2fb523c6-deca-5d6e-91ba-73afeeeec29c@clerew.man.ac.uk> On 19/10/2020 10:32, Olaf Meeuwissen wrote: > Hi Charles, > > Charles Lindsey writes: > >> On 18/10/2020 01:33, Olaf Meeuwissen wrote: >>> Hi Ralph, Charles, >> >>>>> Also, when running xsane and even simple-scan, it produced massive >>>>> warnings of the form: >>>>> MIB search path: >>>>> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>>>> Cannot find module (SNMPv2-MIB): At line 1 in (none) >>>>> Cannot find module (IF-MIB): At line 1 in (none) >>>>> Cannot find module (IP-MIB): At line 1 in (none) >>>>> Cannot find module (TCP-MIB): At line 1 in (none) >>>>> Cannot find module (UDP-MIB): At line 1 in (none) >>>>> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >>>>> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >>>>> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >>>>> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >>>>> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >>>>> Cannot find module (MTA-MIB): At line 1 in (none) >>>>> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >>>>> Cannot find module (SNMPv2-TC): At line 15 in >>>>> /usr/share/snmp/mibs/UCD-DISKIO-MI >>>>> and much more. But I did not see them when using my own compiled >>>>> backend-plustek. >>>>> >>>> Sorry, don't know about that. > If commenting out the kodakaio and magicolor backends in your dll.conf > does not solve this for you, you have external backends installed that > are responsible for the "deluge". If the plustek backend is all you > need, simply comment out every other backend. I had already commented out 'net' (which I presume is the only one that should legitimately invoke snmp); now I have also commented out 'kodakaio' and 'magicolor', and the problem has vanished, though I still don't understand why. > > Hope this helps, It did indeed. Thank you. -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From chl at clerew.man.ac.uk Mon Oct 19 13:00:03 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Mon, 19 Oct 2020 13:00:03 +0100 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> Message-ID: On 17/10/2020 22:57, Ralph Little wrote: > On 2020-10-17 12:37 p.m., Charles Lindsey wrote: >> Simple-scan runs a calibration (both Course and Fine) om every startup. >> Xsane has a setting "calibration cache" which can be set in the >> Standard Options window, and which I had set (because it seemed like a >> good idea). When set, it causes the result of the calibration to be >> set in >>  ~/.sane/Epson_Perfection_1250_Photo-coarse.cal >> and in >>  ~/.sane/Epson_Perfection_1250_Photo-fine.cal >> If it sees these in a later run, it uses them and omits the >> calibration process entirely. In the backend code there ia a variable >> 'dev->adj.cacheCalData' but nowhere could I find where it gets set, >> though I see now it can be set in /etc /sand.d/plustek.conf, which is >> presumably where simple-scan picks it up. > > Regarding the original problem in the cached files, it seems to me that > it might be worthwhile version stamping these files so that we can > change their format and flush out buggy ones with a version bump. I think it would be more useful to ensure they did not hang around too long. I suspect that the calibration of a particular scanner could drift over time, and hence any cache over a week old should be ignored anyway. > > Something to consider in future I guess. > > Cheers, > Ralph > -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From jsmeix at suse.de Mon Oct 19 13:41:32 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Mon, 19 Oct 2020 14:41:32 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87a6wprrgu.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> Message-ID: <74f97c36219cba07ea4ae547df73e70a@suse.de> Hello, On 2020-10-14 13:12, Olaf Meeuwissen wrote: > Assuming for simplicity's sake that the backward compatibility breaking > version is SANE 2 and what we use now is SANE 1, breaking backward > compatibility means that > > - SANE 1 frontends will continue to work with SANE 1 backends > - SANE 1 frontends will not work with SANE 2 backends > - SANE 2 frontends will work with SANE 2 backends > - SANE 2 frontends will not work with SANE 1 backends I fear such a hard incompatible disruptive move forward might even basically "kill" the SANE project in practice "out there". I mean that it might annoy so many users in practice "out there" that in the end "SANE doesn't work" might become a commonplace. To avoid that I think it is mandatory in practice that SANE 1 frontends will continue to work as they did all the time so that for the users there is no noticeable disruption in how things work for them. This means all SANE 1 things must still be there in SANE 2 so that SANE 2 is a strict superset of SANE 1. I am not a SANE backends developer so I could be plain wrong with my following proposal: As far as I know each backend has to implement the whole SANE API so there are as many SANE API implementations as there are backends. I think what is described in section "4.1 Version Control" at https://sane-project.gitlab.io/standard/api.html therein in particular the part "A frontend may implement backwards compatibility by allowing major numbers that are smaller than the expected major number (provided the frontend really can cope with the older version). In contrast, a backend always provides support for one and only one version of the standard." and therin in particular the last sentence points to the root of the problems with how to move forward with SANE. I think it must be allowed that both frontends and backends support more than one version of the SANE API. To implement e.g. two versions of the SANE API in one backend the names of operations (functions) and data types must be different. So just as offhanded example there might be two initialization functions SANE_Status sane_init (SANE_Int * version_code, SANE_Authorization_Callback authorize); plus additionally a new one SANE2_Status sane2_init (SANE_Int * version_code, SANE2_Authorization_Callback authorize); where SANE2_Authorization_Callback could be an enhanced version of SANE_Authorization_Callback (e.g. to support some new kind of authorization) and sane2_init results an enhanced status as SANE2_Status (but it can still use SANE_Int when that is still sufficient). A SANE 1 frontend will not call sane2_init but sane_init that is still there. A SANE 2 frontend can call sane2_init but it can also call sane_init as fallback because that is still there. All SANE 1 backends would have to implement at least a dummy stub of sane2_init so that the function is there in each backend and the linker can link a SANE 2 frontend with all SANE 1 backends. A dummy stub of sane2_init would have to notify its SANE 2 frontend caller via the enhanced SANE2_Status that the sane2_init functionality is not actually implemented so that the SANE 2 frontend can automatically call sane_init as fallback. In this example only the sane_init function was enhanced as new additional sane2_init function together with its needed new additional data types but nothing else was changed. So I think this way it is possible to move forward step by step as needed for each particular kind of functionality and there is no longer the trap to either jump the whole API forward or to not move at all. When this works there is lo longer a strict separation of different SANE API versions - in contrast there is only one single SANE API that moves forward step by step as needed. When after a longer time there is no longer the need for old sane_* functions because all is implemented as new sane[234...] functions and there are no longer old SANE 1 frontends in use "in practice out there in real world", the old sane_* functions can be declared deprecated and their prototypes get removed from the sane.h header file to make compiling of old software fail that needs old sane_* functions to denote developers (developers don't read deprecation announcements - you must let compilation fail because "when it compiles it proves all is OK" ;-) I made this proposal based on what I noitced how the CUPS library moved forward step by step as needed in the past without noticeable breakage of backward compatibility, cf. the "someFunction" versus "someFunction2" names in https://www.cups.org/doc/cupspm.html Again: I am not a SANE backends developer so I could be plain wrong. Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From pzz at apevzner.com Mon Oct 19 14:04:51 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 19 Oct 2020 16:04:51 +0300 Subject: [sane-devel] Sane API In-Reply-To: <74f97c36219cba07ea4ae547df73e70a@suse.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> Message-ID: <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Hi Johannes, On 10/19/20 3:41 PM, Johannes Meixner wrote: > I fear such a hard incompatible disruptive move forward might even > basically "kill" the SANE project in practice "out there". > I mean that it might annoy so many users in practice "out there" > that in the end "SANE doesn't work" might become a commonplace. 100% agree. If SANE will break compatibility, I expect several months of resistance from major Linux distros to upgrade to SANE 2.0 (while some fixes/improvements will be backported from 2.0 to 1.0), and then fork and creation of alternative with backward compatibility promises. But please note also, there are not so much important SANE "clients" (frontends) in existanse. I'm aware only about xsane, simple-scan and LibreOffice. They can be easily fixed. What is much more important and much harder to fix, is to prevent loss of existent ~100 SANE 1.0 drivers (backends). Most of them are not maintained and nobody will bother to rewrite them to support SANE 2.0 API. > To avoid that I think it is mandatory in practice that SANE 1 frontends > will continue to work as they did all the time so that for the users > there is no noticeable disruption in how things work for them. > > This means all SANE 1 things must still be there in SANE 2 > so that SANE 2 is a strict superset of SANE 1. Actually, it is not necessery. It would be enough to have SANE 2.0 meta-backend (similar to sane-dll) that implements SANE 2.0 functionality on a top of SANE 1.0 API, exposed by existent SANE 1.0 backends. Obviously, if something cannot be implemented, it will not be implemented. But this is OK, because not everything we can imagine here can be implemented on a top of ANY hardware, it will be the similar limitation. > I made this proposal based on what I noitced how the CUPS library moved > forward > step by step as needed in the past without noticeable breakage of backward > compatibility, cf. the "someFunction" versus "someFunction2" names in > https://www.cups.org/doc/cupspm.html Situation with SANE is more difficult, that with CUPS. In CUPS, applications are linked against a single library. Old applications use old API, new applications can use either new or old API, as they wish. In SANE, each backend is the SANE itself, and if you build your application agains SANE library, that exposes sane2_init(), it will not even load, if used with pure SANE 1.0 backend (or will crash at the first call, depending on dynamic loader mode, either lazy or strict). May be, SANE should withdraw its promise, that any backend could be used alone as /usr/lib/libsane.so, and should explicitly state, that the only backend, usable for apps, is libsane-dll, while libsane-dll will handle all this complexity of providing emulations of sane2_xxx() functions for backends that don't implement these functions natively. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From steven at simplycircus.com Mon Oct 19 21:35:18 2020 From: steven at simplycircus.com (Steven Santos) Date: Mon, 19 Oct 2020 16:35:18 -0400 Subject: [sane-devel] Sane API In-Reply-To: <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Message-ID: I do documentation, not development, so take this for what its worth. 1. It seems to me that going forward, most scanners will be implementing some form if IPPEverywhere for scanners, so airscan et al is essentially the driver for most, if not all, modern scanners. 2. We have about 100 older scanner drivers that we need to preserve. Most of these are not currently maintained, and are unlikely to be maintained in the future. 3. The need for middleware has been established. I think the path forwards is to allow sane and sane2 to sit side-by-side. Sane1 should be left in its current state, exposing its drivers to sane2 via its net backend. Sane2 should act as a front end for sane 1, taking those scans and delivering them to its middleware. Going forwards, Sane2 drivers should be built against a standard libsane-dll type library, with standard middleware for controlling and tweaking the scans before being delivered to the front-end. Sane2 would be installed by default as the scanning interface on linux, with only currently supported drivers. Sane1 would be installed if legacy scanning is needed. On Mon, Oct 19, 2020 at 9:05 AM Alexander Pevzner wrote: > Hi Johannes, > > On 10/19/20 3:41 PM, Johannes Meixner wrote: > > I fear such a hard incompatible disruptive move forward might even > > basically "kill" the SANE project in practice "out there". > > I mean that it might annoy so many users in practice "out there" > > that in the end "SANE doesn't work" might become a commonplace. > > 100% agree. > > If SANE will break compatibility, I expect several months of resistance > from major Linux distros to upgrade to SANE 2.0 (while some > fixes/improvements will be backported from 2.0 to 1.0), and then fork > and creation of alternative with backward compatibility promises. > > But please note also, there are not so much important SANE "clients" > (frontends) in existanse. I'm aware only about xsane, simple-scan and > LibreOffice. They can be easily fixed. > > What is much more important and much harder to fix, is to prevent loss > of existent ~100 SANE 1.0 drivers (backends). Most of them are not > maintained and nobody will bother to rewrite them to support SANE 2.0 API. > > > To avoid that I think it is mandatory in practice that SANE 1 frontends > > will continue to work as they did all the time so that for the users > > there is no noticeable disruption in how things work for them. > > > > > This means all SANE 1 things must still be there in SANE 2 > > so that SANE 2 is a strict superset of SANE 1. > > Actually, it is not necessery. It would be enough to have SANE 2.0 > meta-backend (similar to sane-dll) that implements SANE 2.0 > functionality on a top of SANE 1.0 API, exposed by existent SANE 1.0 > backends. > > Obviously, if something cannot be implemented, it will not be > implemented. But this is OK, because not everything we can imagine here > can be implemented on a top of ANY hardware, it will be the similar > limitation. > > > I made this proposal based on what I noitced how the CUPS library moved > > forward > > step by step as needed in the past without noticeable breakage of > backward > > compatibility, cf. the "someFunction" versus "someFunction2" names in > > https://www.cups.org/doc/cupspm.html > > Situation with SANE is more difficult, that with CUPS. > > In CUPS, applications are linked against a single library. Old > applications use old API, new applications can use either new or old > API, as they wish. > > In SANE, each backend is the SANE itself, and if you build your > application agains SANE library, that exposes sane2_init(), it will not > even load, if used with pure SANE 1.0 backend (or will crash at the > first call, depending on dynamic loader mode, either lazy or strict). > > May be, SANE should withdraw its promise, that any backend could be used > alone as /usr/lib/libsane.so, and should explicitly state, that the only > backend, usable for apps, is libsane-dll, while libsane-dll will handle > all this complexity of providing emulations of sane2_xxx() functions for > backends that don't implement these functions natively. > > -- > > Wishes, Alexander Pevzner (pzz at apevzner.com) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Tue Oct 20 07:50:40 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Tue, 20 Oct 2020 08:50:40 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Message-ID: <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Hi All, I went to quickly look at sane-2.0: - I agree with @paddy-hack, making new with old is not necessarily a good thing! - I found that the difference was in the options. The operations are identical. It will be easy for a developer to create a gateway from sane-1.0 to sane-2.0. - The options are hardware dependent and there, some options are emulatable, others are not. - If sane-2.0 is just the formatting of the options, why not do it in sane-1.0? Thierry Le 2020-10-19 22:35, Steven Santos a écrit : > I do documentation, not development, so take this for what its worth. > > 1. It seems to me that going forward, most scanners will be > implementing some form if IPPEverywhere for scanners, so airscan et al > is essentially the driver for most, if not all, modern scanners. > > 2. We have about 100 older scanner drivers that we need to preserve. > Most of these are not currently maintained, and are unlikely to be > maintained in the future. > > 3. The need for middleware has been established. > > I think the path forwards is to allow sane and sane2 to sit > side-by-side. > > Sane1 should be left in its current state, exposing its drivers to > sane2 via its net backend. > > Sane2 should act as a front end for sane 1, taking those scans and > delivering them to its middleware. > > Going forwards, Sane2 drivers should be built against a standard > libsane-dll type library, with standard middleware for controlling and > tweaking the scans before being delivered to the front-end. > > Sane2 would be installed by default as the scanning interface on > linux, with only currently supported drivers. Sane1 would be > installed if legacy scanning is needed. > > On Mon, Oct 19, 2020 at 9:05 AM Alexander Pevzner > wrote: > >> Hi Johannes, >> >> On 10/19/20 3:41 PM, Johannes Meixner wrote: >>> I fear such a hard incompatible disruptive move forward might even >>> basically "kill" the SANE project in practice "out there". >>> I mean that it might annoy so many users in practice "out there" >>> that in the end "SANE doesn't work" might become a commonplace. >> >> 100% agree. >> >> If SANE will break compatibility, I expect several months of >> resistance >> from major Linux distros to upgrade to SANE 2.0 (while some >> fixes/improvements will be backported from 2.0 to 1.0), and then >> fork >> and creation of alternative with backward compatibility promises. >> >> But please note also, there are not so much important SANE "clients" >> >> (frontends) in existanse. I'm aware only about xsane, simple-scan >> and >> LibreOffice. They can be easily fixed. >> >> What is much more important and much harder to fix, is to prevent >> loss >> of existent ~100 SANE 1.0 drivers (backends). Most of them are not >> maintained and nobody will bother to rewrite them to support SANE >> 2.0 API. >> >>> To avoid that I think it is mandatory in practice that SANE 1 >> frontends >>> will continue to work as they did all the time so that for the >> users >>> there is no noticeable disruption in how things work for them. >>> >> >>> This means all SANE 1 things must still be there in SANE 2 >>> so that SANE 2 is a strict superset of SANE 1. >> >> Actually, it is not necessery. It would be enough to have SANE 2.0 >> meta-backend (similar to sane-dll) that implements SANE 2.0 >> functionality on a top of SANE 1.0 API, exposed by existent SANE 1.0 >> >> backends. >> >> Obviously, if something cannot be implemented, it will not be >> implemented. But this is OK, because not everything we can imagine >> here >> can be implemented on a top of ANY hardware, it will be the similar >> limitation. >> >>> I made this proposal based on what I noitced how the CUPS library >> moved >>> forward >>> step by step as needed in the past without noticeable breakage of >> backward >>> compatibility, cf. the "someFunction" versus "someFunction2" names >> in >>> https://www.cups.org/doc/cupspm.html >> >> Situation with SANE is more difficult, that with CUPS. >> >> In CUPS, applications are linked against a single library. Old >> applications use old API, new applications can use either new or old >> >> API, as they wish. >> >> In SANE, each backend is the SANE itself, and if you build your >> application agains SANE library, that exposes sane2_init(), it will >> not >> even load, if used with pure SANE 1.0 backend (or will crash at the >> first call, depending on dynamic loader mode, either lazy or >> strict). >> >> May be, SANE should withdraw its promise, that any backend could be >> used >> alone as /usr/lib/libsane.so, and should explicitly state, that the >> only >> backend, usable for apps, is libsane-dll, while libsane-dll will >> handle >> all this complexity of providing emulations of sane2_xxx() functions >> for >> backends that don't implement these functions natively. >> >> -- >> >> Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Tue Oct 20 09:12:03 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 11:12:03 +0300 Subject: [sane-devel] Sane API In-Reply-To: <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: Hi Thierry, On 10/20/20 9:50 AM, Thierry HUCHARD wrote: > I went to quickly look at sane-2.0: - I agree with @paddy-hack, > making new with old is not necessarily a good thing! - I found that > the difference was in the options. The operations are identical. It > will be easy for a developer to create a gateway from sane-1.0 to > sane-2.0. - The options are hardware dependent and there, some > options are emulatable, others are not. - If sane-2.0 is just the > formatting of the options, why not do it in sane-1.0? Current API misses some essential things, that cannot be implemented in terms of options: - PnP notifications (scanner was connected/disconnected some time after driver was initialized). This limitation can be worked around by continuous poll, but this poll drains a battery a generates network/USB traffic, so it is better to avoid. - If some scanner is identified by multiple backends, it would be nice to let user app to automatically choose one of the list. For this purpose, it would be nice to expose some information regarding scanner location, before scanner is opened (say, "USB bus X device Y, or NET addr aaa.bbb.ccc.ddd). It requires adding extra fields to the SANE_Device structure, which makes it incompatible with SANE 1.0 For the following things we just don't have appropriate SANE_Value_Type: - Scanner resolution if a form of X*Y pair. This is important, to support "asymmetrical" resolutions (300*600, for example) For the following options we don't have enough discipline: - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. My list is most likely very incomplete. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From starrtennis at gmail.com Tue Oct 20 09:18:23 2020 From: starrtennis at gmail.com (Michael Starr) Date: Tue, 20 Oct 2020 01:18:23 -0700 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com>, Message-ID: <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> An HTML attachment was scrubbed... URL: From starrtennis at gmail.com Tue Oct 20 09:19:29 2020 From: starrtennis at gmail.com (Michael Starr) Date: Tue, 20 Oct 2020 01:19:29 -0700 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com>, Message-ID: An HTML attachment was scrubbed... URL: From pzz at apevzner.com Tue Oct 20 09:41:03 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 11:41:03 +0300 Subject: [sane-devel] Sane API In-Reply-To: <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: On 10/20/20 11:18 AM, Michael Starr wrote: > Guys guys, just calm down. This is for Linux, remember? Excuse me if I sound rude, I don't feel that and trying to be polite. English is not my native language so I can miss some nuances. Actually, I'm just trying to summarize things. > Mike > > Sent from Mail for > Windows 10 > > *From: *Alexander Pevzner > *Sent: *Tuesday, October 20, 2020 1:12 AM > *To: *sane-devel at alioth-lists.debian.net > > *Subject: *Re: [sane-devel] Sane API > > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: > > > I went to quickly look at sane-2.0: - I agree with @paddy-hack, > > > making new with old is not necessarily a good thing! - I found that > > > the difference was in the options. The operations are identical. It > > > will be easy for a developer to create a gateway from sane-1.0 to > > > sane-2.0. - The options are hardware dependent and there, some > > > options are emulatable, others are not. - If sane-2.0 is just the > > > formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented in > > terms of options: > > - PnP notifications (scanner was connected/disconnected some time after > > driver was initialized). This limitation can be worked around by > > continuous poll, but this poll drains a battery a generates network/USB > > traffic, so it is better to avoid. > > - If some scanner is identified by multiple backends, it would be nice > > to let user app to automatically choose one of the list. For this > > purpose, it would be nice to expose some information regarding scanner > > location, before scanner is opened (say, "USB bus X device Y, or NET > > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > > SANE_Device structure, which makes it incompatible with SANE 1.0 > > For the following things we just don't have appropriate SANE_Value_Type: > > - Scanner resolution if a form of X*Y pair. This is important, to > > support "asymmetrical" resolutions (300*600, for example) > > For the following options we don't have enough discipline: > > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF > > duplex, ADF front/ADF back > > sane_airscan_get_parameters() must be accurate immediately after return > > from sane_start(). It is not always possible, unless sane_start() has to > > wait until image is available (compare sane-escl and sane-airscan approach). > > sane_airscan_get_select_fd() defined with serious mistake: it requires > > backend to close select_fd immediately after completion or cancellation > > of the scan job. In multi-threaded program closed file descriptor could > > be immediately reused for some different purpose by another thread. > > There is no possibility to request image in the device-specific "raw" > > format. I.e., if I want PDF and device can return PDF, image still will > > be repacked PDF->sane format->PDF. > > My list is most likely very incomplete. > > -- > >               Wishes, Alexander Pevzner (pzz at apevzner.com) > -- Wishes, Alexander Pevzner (pzz at apevzner.com) From jsmeix at suse.de Tue Oct 20 10:03:27 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Tue, 20 Oct 2020 11:03:27 +0200 Subject: [sane-devel] Sane API In-Reply-To: <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Message-ID: <4f57832dcf3ef726629415ccfe152b22@suse.de> Hello, On 2020-10-19 15:04, Alexander Pevzner wrote (excerpts): > On 10/19/20 3:41 PM, Johannes Meixner wrote: > > What is much more important and much harder to fix, is to prevent loss > of existent ~100 SANE 1.0 drivers (backends). Most of them are not > maintained and nobody will bother to rewrite them to support SANE 2.0 > API. > >> To avoid that I think it is mandatory in practice that SANE 1 >> frontends >> will continue to work as they did all the time so that for the users >> there is no noticeable disruption in how things work for them. I think it was confusing what I wrote about SANE 1 frontends. What I actually meant was that SANE 1 backends should continue to work as they did all the time. Because a SANE 2 frontend would not work when used/linked directly with an unchanged SANE 1 backend I wrote about SANE 1 frontends. Simply put what I liked to say was: For the user there should not be two separated frontends like /usr/bin/scanimage for SANE 1 backends and /usr/bin/scanimage2 for SANE 2 backends but only one same frontend /usr/bin/scanimage that works both with SANE 1 backends and with SANE 2 backends so that for users there is no disruption how things behave. Regarding old and unmaintained SANE 1 backends: I fear many existing external/third-party SANE 1 backends (in particular proprietary backends from scanner manufacturers) are also unmaintained in practice and I fear many users use them which makes some backward-compatibility-layer (e.g. a meta backend) more or less mandatory in practice to keep SANE as THE standard. Or perhaps the ultimate way out are IPP-Scan Scanner Applications https://openprinting.github.io/upcoming-technologies/02-ipp-scan/ which encapsulate each individual scanner device driver into a separated Scanner Application that presents the scanner device as a virtual/emulated IPP scanner to user applications? This way scanner devices with a SANE 1 backend as driver would be encapsulated in a Scanner Application based on a SANE 1 backend while scanner devices with a SANE 2 backend as driver would be encapsulated in a Scanner Application based on a SANE 2 backend and for the user all scanner devices appear as IPP scanners that can be used with one same IPP scanner user application. Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From paddy-hack at member.fsf.org Tue Oct 20 10:08:22 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Tue, 20 Oct 2020 18:08:22 +0900 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: <2fb523c6-deca-5d6e-91ba-73afeeeec29c@clerew.man.ac.uk> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> <87y2k2v9vi.fsf@quark> <2fb523c6-deca-5d6e-91ba-73afeeeec29c@clerew.man.ac.uk> Message-ID: <877drle03d.fsf@quark> Hi Charles, Charles Lindsey writes: > On 19/10/2020 10:32, Olaf Meeuwissen wrote: > >> If commenting out the kodakaio and magicolor backends in your dll.conf >> does not solve this for you, you have external backends installed that >> are responsible for the "deluge". If the plustek backend is all you >> need, simply comment out every other backend. > > I had already commented out 'net' (which I presume is the only one > that should legitimately invoke snmp); now I have also commented out > 'kodakaio' and 'magicolor', and the problem has vanished, though I > still don't understand why. The net backend has no business using SNMP, not until saned starts using it at least. I guess you missed the fact the net backend only works with saned servers. It does not in any way support scanners that are directly attached to the network (as in have their own IP address and you can telnet to). It only works with the scanners that are locally attached (via USB, SCSI, etc.) to a machine that run saned. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From skelband at gmail.com Tue Oct 20 16:04:17 2020 From: skelband at gmail.com (Ralph Little) Date: Tue, 20 Oct 2020 08:04:17 -0700 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: Hi, On 2020-10-20 1:41 a.m., Alexander Pevzner wrote: > On 10/20/20 11:18 AM, Michael Starr wrote: >> Guys guys, just calm down. This is for Linux, remember? > > Excuse me if I sound rude, I don't feel that and trying to be polite. > English is not my native language so I can miss some nuances. > Actually, I'm just trying to summarize things. > I detected no rudeness. Please continue as you were. My initial posting has obviously ignited some passionate opinions and I think this is great! It is good that there seems to be an appetite to make some changes in an area that has become stagnant. ========== There have been a lot of ideas generated but I feel that we should coordinate them into something that we can make concrete progress on. Might I suggest that there are two broad options that we can implement either or both of: 1) Expand the current standard without changing the functional API itself. This would include enhancing the current set of recommended and mandatory options to address shortcomings that have been identified. IIRC, the standard drafts have mainly worked in this area. 2) Introduce a SANE 2 API which breaks compatibility with the current API to implement further features that are not satisfiable by just expanding the options. As has been mentioned, there are serious ramifications here and the implementation requires careful consideration because we would likely be stuck with it for some time. I think that some work in this area is timely since the plethora of machines supported by SANE has diversified somewhat from what was available many years ago: a) Most of what people use SANE for these days are multi-function devices and they come with their own particular foibles. b) We have new (fairly open) standards being introduced which offer the possibility that we could get wide compatibility in Linux. As a consequence, we have a number of machines supporting a number of different protocols provided by different backends. I have no doubt that manufacturers will coalesce their support around these new protocols because it makes economic sense for them to do so. Olaf, what do you feel would be the best way to formalise and discuss the proposals made by people in a more focused manner? There must have been a mechanism used in the past where proposals could be made, considered, perhaps voted on and added to the draft. I feel that we should embrace the current enthusiasm to make some changes. Perhaps we could set something up in GitLab? Cheers, Ralph From thierry at ordissimo.com Tue Oct 20 16:25:10 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Tue, 20 Oct 2020 17:25:10 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: Hi Alexander, I didn't feel any animosity, just an exchange of ideas. I don't have time to answer, I'm on an important bug. but I won't miss it tonight :) Thierry Le 2020-10-20 17:04, Ralph Little a écrit : > Hi, > > On 2020-10-20 1:41 a.m., Alexander Pevzner wrote: >> On 10/20/20 11:18 AM, Michael Starr wrote: >>> Guys guys, just calm down. This is for Linux, remember? >> >> Excuse me if I sound rude, I don't feel that and trying to be polite. >> English is not my native language so I can miss some nuances. >> Actually, I'm just trying to summarize things. >> > I detected no rudeness. Please continue as you were. > > My initial posting has obviously ignited some passionate opinions and I > think this is great! > It is good that there seems to be an appetite to make some changes in > an > area that has become stagnant. > > ========== > There have been a lot of ideas generated but I feel that we should > coordinate them into something that we can make concrete progress on. > > Might I suggest that there are two broad options that we can implement > either or both of: > > 1) Expand the current standard without changing the functional API > itself. This would include enhancing the current set of recommended and > mandatory options to address shortcomings that have been identified. > IIRC, the standard drafts have mainly worked in this area. > > 2) Introduce a SANE 2 API which breaks compatibility with the current > API to implement further features that are not satisfiable by just > expanding the options. As has been mentioned, there are serious > ramifications here and the implementation requires careful > consideration > because we would likely be stuck with it for some time. > > I think that some work in this area is timely since the plethora of > machines supported by SANE has diversified somewhat from what was > available many years ago: > > a) Most of what people use SANE for these days are multi-function > devices and they come with their own particular foibles. > > b) We have new (fairly open) standards being introduced which offer the > possibility that we could get wide compatibility in Linux. As a > consequence, we have a number of machines supporting a number of > different protocols provided by different backends. I have no doubt > that > manufacturers will coalesce their support around these new protocols > because it makes economic sense for them to do so. > > Olaf, what do you feel would be the best way to formalise and discuss > the proposals made by people in a more focused manner? > There must have been a mechanism used in the past where proposals could > be made, considered, perhaps voted on and added to the draft. > I feel that we should embrace the current enthusiasm to make some > changes. > Perhaps we could set something up in GitLab? > > Cheers, > Ralph From pzz at apevzner.com Tue Oct 20 17:19:56 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 19:19:56 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: <4c203cd9-1600-6beb-b40d-0d9bcacc7fa3@apevzner.com> Hi, On 10/20/20 6:04 PM, Ralph Little wrote: > b) We have new (fairly open) standards being introduced which offer the > possibility that we could get wide compatibility in Linux. As a > consequence, we have a number of machines supporting a number of > different protocols provided by different backends. I have no doubt that > manufacturers will coalesce their support around these new protocols > because it makes economic sense for them to do so. I want to outline one thing, that I feel is quite important. When SANE project has started a while ago, the software model of scanner (scanner as an object that provides some software interfaces) was roughly the following: 1. Scanner is a device that somewhere physically exists 2. It has a name, that helps human user to physically identify it 3. It can scan, and scanning returns an image 4. Scanning may take a while and user may want to cancel the process 5. Scanning may fail, returning some of the few predefined error codes 6. Scanner has options. These options have user-readable names and user-editable values (user == human user here) Though this model is very progressive in comparison to TWAIN approach of that time, where scanner was an object that opens unsolicited UI windows, it still not enough. Most important missed things are: 1. No common vision of scanner options 2. No PnP 3. No support of custom error/status messages. Existing set doesn't cover all situations that actually exist and is not expandable without breaking compatibility 4. No access to image formats, directly generated by hardware 5. No way to identify the situation, when the same device is discovered by multiple backends 6. No way to merge printer and scanner parts of the same physical device Now we have two published standards that codify scanner as a programmable object: IPP-scan and WSD. If you skip unimportant details, like units to specify image size (1/1000 inch in WSD, 1/100 mm in IPP), or detailed specification of scan-to-email, which you will find in the IPP-scan standard, you will notice that software models for scanner itself is very similar between these two standards. And this is quite similar to the eSCL model, though eSCL is not published, and to the TWAIN Direct, yet another HTTP+JSON-based published standard for the "driverless" scanning. So a giant work was done for us by codifying scanner object with all it possible options, scan job flow and a lot of nuances. Obviously, all future mass-market scanners will follow this model, because manufacturers will want to support eSCL/WSD. I think, our future API specification should borrow scanner definition model from these standards. Though it will not solve all the problems I've listed, it will solve at least half of them. And well, I believe our goal is to make Linux a first-class operating system in respect to scanning. We should scan better, that Windows/MacOS ever did! :-) -- Wishes, Alexander Pevzner (pzz at apevzner.com) From juergen.mellinger at t-online.de Tue Oct 20 17:40:42 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 20 Oct 2020 18:40:42 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> Hi Alexander, I would like to add "mssing option to poll ADF state" to what is missing from the current API. With the current API, it is not possible to prompt the user with meaningful messages such as "please put a document into the ADF" vs "there is a paper jam in the ADF" and similar. —Juergen > Am 20.10.2020 um 10:12 schrieb Alexander Pevzner : > > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >> making new with old is not necessarily a good thing! - I found that >> the difference was in the options. The operations are identical. It >> will be easy for a developer to create a gateway from sane-1.0 to >> sane-2.0. - The options are hardware dependent and there, some >> options are emulatable, others are not. - If sane-2.0 is just the >> formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented in terms of options: > - PnP notifications (scanner was connected/disconnected some time after > driver was initialized). This limitation can be worked around by > continuous poll, but this poll drains a battery a generates network/USB > traffic, so it is better to avoid. > - If some scanner is identified by multiple backends, it would be nice > to let user app to automatically choose one of the list. For this > purpose, it would be nice to expose some information regarding scanner > location, before scanner is opened (say, "USB bus X device Y, or NET > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > SANE_Device structure, which makes it incompatible with SANE 1.0 > > For the following things we just don't have appropriate SANE_Value_Type: > - Scanner resolution if a form of X*Y pair. This is important, to > support "asymmetrical" resolutions (300*600, for example) > > For the following options we don't have enough discipline: > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back > > sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). > > sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. > > There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. > > My list is most likely very incomplete. > > -- > > Wishes, Alexander Pevzner (pzz at apevzner.com) > From pzz at apevzner.com Tue Oct 20 17:59:20 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 19:59:20 +0300 Subject: [sane-devel] Sane API In-Reply-To: <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> Message-ID: <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> Hi Jürgen, On 10/20/20 7:40 PM, Jürgen Mellinger wrote: > I would like to add "mssing option to poll ADF state" to what is missing from the current API. > With the current API, it is not possible to prompt the user with meaningful messages such as "please put a document into the ADF" vs "there is a paper jam in the ADF" and similar. From my experience with eSCL/WSD scanners 1) Polling current ADF state BEFORE scan attempt is not reliable 2) Reporting of ADF-related errors AFTER failed scan attempt is reliable > —Juergen > >> Am 20.10.2020 um 10:12 schrieb Alexander Pevzner : >> >> Hi Thierry, >> >> On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >>> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >>> making new with old is not necessarily a good thing! - I found that >>> the difference was in the options. The operations are identical. It >>> will be easy for a developer to create a gateway from sane-1.0 to >>> sane-2.0. - The options are hardware dependent and there, some >>> options are emulatable, others are not. - If sane-2.0 is just the >>> formatting of the options, why not do it in sane-1.0? >> >> Current API misses some essential things, that cannot be implemented in terms of options: >> - PnP notifications (scanner was connected/disconnected some time after >> driver was initialized). This limitation can be worked around by >> continuous poll, but this poll drains a battery a generates network/USB >> traffic, so it is better to avoid. >> - If some scanner is identified by multiple backends, it would be nice >> to let user app to automatically choose one of the list. For this >> purpose, it would be nice to expose some information regarding scanner >> location, before scanner is opened (say, "USB bus X device Y, or NET >> addr aaa.bbb.ccc.ddd). It requires adding extra fields to the >> SANE_Device structure, which makes it incompatible with SANE 1.0 >> >> For the following things we just don't have appropriate SANE_Value_Type: >> - Scanner resolution if a form of X*Y pair. This is important, to >> support "asymmetrical" resolutions (300*600, for example) >> >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back >> >> sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). >> >> sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. >> >> There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. >> >> My list is most likely very incomplete. >> >> -- >> >> Wishes, Alexander Pevzner (pzz at apevzner.com) >> > > -- Wishes, Alexander Pevzner (pzz at apevzner.com) From juergen.mellinger at t-online.de Tue Oct 20 18:10:13 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 20 Oct 2020 19:10:13 +0200 Subject: [sane-devel] Sane API In-Reply-To: <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> Message-ID: <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> Hi Alex, > Am 20.10.2020 um 18:59 schrieb Alexander Pevzner : > > Hi Jürgen, > > On 10/20/20 7:40 PM, Jürgen Mellinger wrote: >> I would like to add "mssing option to poll ADF state" to what is missing from the current API. >> With the current API, it is not possible to prompt the user with meaningful messages such as "please put a document into the ADF" vs "there is a paper jam in the ADF" and similar. > > From my experience with eSCL/WSD scanners > 1) Polling current ADF state BEFORE scan attempt is not reliable > 2) Reporting of ADF-related errors AFTER failed scan attempt is reliable If so, how does a typical client application behave without confusing the user? Independently of eSCL/WSD, how would one want a frontend behave when talking to a SANE driver? -Jürgen > >> —Juergen >>> Am 20.10.2020 um 10:12 schrieb Alexander Pevzner : >>> >>> Hi Thierry, >>> >>> On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >>>> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >>>> making new with old is not necessarily a good thing! - I found that >>>> the difference was in the options. The operations are identical. It >>>> will be easy for a developer to create a gateway from sane-1.0 to >>>> sane-2.0. - The options are hardware dependent and there, some >>>> options are emulatable, others are not. - If sane-2.0 is just the >>>> formatting of the options, why not do it in sane-1.0? >>> >>> Current API misses some essential things, that cannot be implemented in terms of options: >>> - PnP notifications (scanner was connected/disconnected some time after >>> driver was initialized). This limitation can be worked around by >>> continuous poll, but this poll drains a battery a generates network/USB >>> traffic, so it is better to avoid. >>> - If some scanner is identified by multiple backends, it would be nice >>> to let user app to automatically choose one of the list. For this >>> purpose, it would be nice to expose some information regarding scanner >>> location, before scanner is opened (say, "USB bus X device Y, or NET >>> addr aaa.bbb.ccc.ddd). It requires adding extra fields to the >>> SANE_Device structure, which makes it incompatible with SANE 1.0 >>> >>> For the following things we just don't have appropriate SANE_Value_Type: >>> - Scanner resolution if a form of X*Y pair. This is important, to >>> support "asymmetrical" resolutions (300*600, for example) >>> >>> For the following options we don't have enough discipline: >>> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back >>> >>> sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). >>> >>> sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. >>> >>> There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. >>> >>> My list is most likely very incomplete. >>> >>> -- >>> >>> Wishes, Alexander Pevzner (pzz at apevzner.com) >>> > > > -- > > Wishes, Alexander Pevzner (pzz at apevzner.com) > From pzz at apevzner.com Tue Oct 20 18:33:38 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 20:33:38 +0300 Subject: [sane-devel] Sane API In-Reply-To: <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> Message-ID: <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> Hi Jürgen, On 10/20/20 8:10 PM, Jürgen Mellinger wrote: > If so, how does a typical client application behave without confusing the user? > Independently of eSCL/WSD, how would one want a frontend behave when talking to a SANE driver? I was playing with simple-scan, xsane, LibreOffice, VueScan and Mopria for Android and native MS Windows client. Basically, they all behave the same: allow to choose scanner from the list, allow to edit scan options, then press Scan button, which either starts scanner or opens an error message box. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From juergen.mellinger at t-online.de Tue Oct 20 19:00:04 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 20 Oct 2020 20:00:04 +0200 Subject: [sane-devel] Sane API In-Reply-To: <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> Message-ID: Hi Alexander, > Am 20.10.2020 um 19:33 schrieb Alexander Pevzner : > > Hi Jürgen, > > On 10/20/20 8:10 PM, Jürgen Mellinger wrote: >> If so, how does a typical client application behave without confusing the user? >> Independently of eSCL/WSD, how would one want a frontend behave when talking to a SANE driver? > I was playing with simple-scan, xsane, LibreOffice, VueScan and Mopria for Android and native MS Windows client. > > Basically, they all behave the same: allow to choose scanner from the list, allow to edit scan options, then press Scan button, which either starts scanner or opens an error message box. OK, that’s the bare minimum, but wouldn’t it be more elegant to give the user some feedback that the problem is solved, e.g. by auto-closing the error message box, or by changing the status line? Best, Juergen From pzz at apevzner.com Tue Oct 20 19:43:59 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 21:43:59 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> Message-ID: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> On 10/20/20 9:00 PM, Jürgen Mellinger wrote: >> Basically, they all behave the same: allow to choose scanner from the list, allow to edit scan options, then press Scan button, which either starts scanner or opens an error message box. > > OK, that’s the bare minimum, but wouldn’t it be more elegant to give the user some feedback that the problem is solved, e.g. by auto-closing the error message box, or by changing the status line? I don't think it's really needed. Installing paper into ADF is a physical action. I don't think user needs a confirmation from computer that paper was actually installed; user knows it by feeling from its fingers. BTW, some users missing push-mode scan, totally missed from SANE. But it requires the whole image logistics to be rethought: user presses some buttons at scanner, scanner connects the computer, some daemon accepts this connection, then somehow GUI popup should occur with a question, how to handle received image. It doesn't fit well the UNIX multiuser model. At what desktop this popup should be open? (unlike UNIX, on Windows current terminal session has a very special role in respect to other system). -- Wishes, Alexander Pevzner (pzz at apevzner.com) From jsmeix at suse.de Wed Oct 21 08:11:22 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Wed, 21 Oct 2020 09:11:22 +0200 Subject: [sane-devel] Sane API In-Reply-To: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> Message-ID: Hello, On 2020-10-20 20:43, Alexander Pevzner wrote: > On 10/20/20 9:00 PM, Jürgen Mellinger wrote: >>> Basically, they all behave the same: >>> allow to choose scanner from the list, >>> allow to edit scan options, >>> then press Scan button, >>> which either starts scanner or opens an error message box. >> >> OK, that’s the bare minimum, but wouldn’t it be more elegant >> to give the user some feedback that the problem is solved, >> e.g. by auto-closing the error message box, or by changing the status >> line? > > I don't think it's really needed. Installing paper into ADF is a > physical action. I don't think user needs a confirmation from computer > that paper was actually installed; user knows it by feeling from its > fingers. don't have only scanner devices in mind where there is only one (human) user at a time and where the scanner device is located (more or less) directly where its user is. Also think about network all in one printer scanner copiers that I described in the section "Scanning via Network" in https://en.opensuse.org/SDB:Configuring_Scanners Current SANE is not meant for users who use a professional network printer scanner copier all-in-one device but when in the future users of any kind of scanning device should be able to access them via one same user application then a future SANE version should be in compliance to work with such a generic scanning user frontend. I think for a remote network scanner a remote user may need to know the complete device status including things that are obvious for a user who is located next to the scanner device. "Complete device status" leads to the next topic: > BTW, some users missing push-mode scan, totally missed from SANE. But > it requires the whole image logistics to be rethought: user presses > some buttons at scanner, scanner connects the computer, some daemon > accepts this connection, then somehow GUI popup should occur with a > question, how to handle received image. > > It doesn't fit well the UNIX multiuser model. At what desktop this > popup should be open? (unlike UNIX, on Windows current terminal > session has a very special role in respect to other system). From a user point of view I think what does not fit the UNIX multiuser model is the "somehow GUI popup should occur" part. Technically I think what does not fit the UNIX multiuser model is the idea that something from remote can just trigger things on a computer because that "something from remote" is not the boss of the computer. Technically I think what would fit the UNIX multiuser model is that a particular user triggers the action he wants. So I think something like the following fits the UNIX multiuser model: Some user presses a button at a (possibly network) scanner device. This changes the scanner device status ("button X is activated"). Some (possibly other) user on a remote computer runs a scanning frontend. The scanning frontend shows the complete device status. The user can see that "button X is activated". The user can decide what to do. For example when he sees "scan button is activated" he may decide that he wants to get a scanned image and then an (optional) authentication dialog may open because the scanner device would not send scanned images to arbitrary non-authorized users (i.e. a lot of bidirectional communication between user scanning frontend and scanner device needs to happen). How such things behave depend on how the scanner device behaves. For example when a user directly at a network scanner device presses its "scan" button the device may show on its own screen a dialog where the scanned image should be sent or output, (e.g. output via a built-in printer versus send via e-mail). Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From thierry at ordissimo.com Wed Oct 21 13:04:44 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 21 Oct 2020 14:04:44 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: Le 2020-10-20 10:12, Alexander Pevzner a écrit : > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >> making new with old is not necessarily a good thing! - I found that >> the difference was in the options. The operations are identical. It >> will be easy for a developer to create a gateway from sane-1.0 to >> sane-2.0. - The options are hardware dependent and there, some >> options are emulatable, others are not. - If sane-2.0 is just the >> formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented > in terms of options: > - PnP notifications (scanner was connected/disconnected some time after > driver was initialized). This limitation can be worked around by > continuous poll, but this poll drains a battery a generates network/USB > traffic, so it is better to avoid. I don't see why notifications should be made by sane. It is the system that takes care of the connection / disconnection of the devices! USB is supported by udev For the network, Cups detects the printers, rather than weighing down the system it might be a good idea for Cups and Sane to propose a common solution. I remain convinced that it is not up to Sane or Cups to do this work but to the system! > - If some scanner is identified by multiple backends, it would be nice > to let user app to automatically choose one of the list. For this I'm for leaving the choice to the user, the automatic choice criteria are generally subjective choice criteria (specific to the developer), generally they limit the possibilities. > purpose, it would be nice to expose some information regarding scanner > location, before scanner is opened (say, "USB bus X device Y, or NET > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > SANE_Device structure, which makes it incompatible with SANE 1.0 > > For the following things we just don't have appropriate > SANE_Value_Type: > - Scanner resolution if a form of X*Y pair. This is important, to > support "asymmetrical" resolutions (300*600, for example) This change could easily be implemented without SANE-1.0. > > For the following options we don't have enough discipline: > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF > duplex, ADF front/ADF back It's only discipline! > > sane_airscan_get_parameters() must be accurate immediately after > return from sane_start(). It is not always possible, unless > sane_start() has to wait until image is available (compare sane-escl > and sane-airscan approach). > > sane_airscan_get_select_fd() defined with serious mistake: it requires > backend to close select_fd immediately after completion or > cancellation of the scan job. In multi-threaded program closed file > descriptor could be immediately reused for some different purpose by > another thread. > > There is no possibility to request image in the device-specific "raw" > format. I.e., if I want PDF and device can return PDF, image still > will be repacked PDF->sane format->PDF. Indeed, sane_read should be allowed to return the scanner data without processing it! > > My list is most likely very incomplete. From thierry at ordissimo.com Wed Oct 21 13:26:52 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 21 Oct 2020 14:26:52 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: Le 2020-10-21 14:04, Thierry HUCHARD a écrit : > Le 2020-10-20 10:12, Alexander Pevzner a écrit : >> Hi Thierry, >> >> On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >>> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >>> making new with old is not necessarily a good thing! - I found that >>> the difference was in the options. The operations are identical. It >>> will be easy for a developer to create a gateway from sane-1.0 to >>> sane-2.0. - The options are hardware dependent and there, some >>> options are emulatable, others are not. - If sane-2.0 is just the >>> formatting of the options, why not do it in sane-1.0? >> >> Current API misses some essential things, that cannot be implemented >> in terms of options: >> - PnP notifications (scanner was connected/disconnected some time >> after >> driver was initialized). This limitation can be worked around by >> continuous poll, but this poll drains a battery a generates >> network/USB >> traffic, so it is better to avoid. > > I don't see why notifications should be made by sane. > It is the system that takes care of the connection / disconnection of > the devices! > USB is supported by udev > For the network, Cups detects the printers, rather than weighing down > the system it might be a good idea for Cups and Sane to propose a > common solution. > I remain convinced that it is not up to Sane or Cups to do this work > but to the system! > >> - If some scanner is identified by multiple backends, it would be nice >> to let user app to automatically choose one of the list. For this > > I'm for leaving the choice to the user, the automatic choice criteria > are generally subjective choice > criteria (specific to the developer), generally they limit the > possibilities. > >> purpose, it would be nice to expose some information regarding scanner >> location, before scanner is opened (say, "USB bus X device Y, or NET >> addr aaa.bbb.ccc.ddd). It requires adding extra fields to the >> SANE_Device structure, which makes it incompatible with SANE 1.0 >> >> For the following things we just don't have appropriate >> SANE_Value_Type: >> - Scanner resolution if a form of X*Y pair. This is important, to >> support "asymmetrical" resolutions (300*600, for example) > > This change could easily be implemented without SANE-1.0. Sorry : This change could easily be implemented with SANE-1.0. > >> >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >> duplex, ADF front/ADF back > > It's only discipline! > >> >> sane_airscan_get_parameters() must be accurate immediately after >> return from sane_start(). It is not always possible, unless >> sane_start() has to wait until image is available (compare sane-escl >> and sane-airscan approach). >> >> sane_airscan_get_select_fd() defined with serious mistake: it requires >> backend to close select_fd immediately after completion or >> cancellation of the scan job. In multi-threaded program closed file >> descriptor could be immediately reused for some different purpose by >> another thread. >> >> There is no possibility to request image in the device-specific "raw" >> format. I.e., if I want PDF and device can return PDF, image still >> will be repacked PDF->sane format->PDF. > > Indeed, sane_read should be allowed to return the scanner data without > processing it! > >> >> My list is most likely very incomplete. From chl at clerew.man.ac.uk Wed Oct 21 13:56:44 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Wed, 21 Oct 2020 13:56:44 +0100 Subject: [sane-devel] Sane API (sane-devel Digest, Vol 184, Issue 24) In-Reply-To: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> References: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> Message-ID: <96aa0c47-6ac8-3980-f73e-e2b488dd463d@clerew.man.ac.uk> On 20/10/2020 19:43, Alexander Pevzner wrote: > BTW, some users missing push-mode scan, totally missed from SANE. But it > requires the whole image logistics to be rethought: user presses some buttons at > scanner, scanner connects the computer, some daemon accepts this connection, > then somehow GUI popup should occur with a question, how to handle received image. > > It doesn't fit well the UNIX multiuser model. At what desktop this popup should > be open? (unlike UNIX, on Windows current terminal session has a very special > role in respect to other system). > The obvious use for this facility is to use a scanner and some nearby printer. So Bob marches up to some scanner, places his sheet, and presses the button marked 'Copy'. Now the scanner belongs to Alice, so we must presume that, when Alice logs in, it automatically starts a daemon which listens for signals from that button, and starts some shell script (or maybe Alice keeps a daemon running on her computer and started on reboot or wakeup). The shell script can do anything it likes. Perhaps it starts a frontend (if not already started). Perhaps something appears on Alice's screen (xsane), perhaps not (xscanimage). The script knows which printer to use, so it gets on with it. If the printer jams, or runs out of paper, there is no way to warn Bob (unless the scanner can be made to "beep") so sensibly they should be in the same room. The advantage is that Bob (or even Alice herself) can stand by the scanner and feed in successive sheets, pressing the Button after each one, rather than having to move over to the computer to click on the Scan button in the xsane window. Come to think of it, you can probably do all this already using 'scanbd'. -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From pzz at apevzner.com Wed Oct 21 14:32:39 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 21 Oct 2020 16:32:39 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: On 10/21/20 3:04 PM, Thierry HUCHARD wrote: > I don't see why notifications should be made by sane. > It is the system that takes care of the connection / disconnection of > the devices! Because only backends knows, how system events are mapped to scanner PnP events. Applications should not be responsible to poll USB bus for USB-level events, which some knowledge how to distinguish mouse from scanner, poll DNS-SD events, with some knowledge, which services are registered by scanners and so on. May be in printer world it could work, because there are only one device class, used by USB printers, and only 3 service types, used by DNS-SD to advertise a printer, and these is no such thing as SCSI printer, but scanner hardware is MUCH more chaotic. >> - If some scanner is identified by multiple backends, it would be nice >> to let user app to automatically choose one of the list. For this > > I'm for leaving the choice to the user, the automatic choice criteria > are generally subjective choice > criteria (specific to the developer), generally they limit the > possibilities. This is UI (user interface) - level decision, our goal is to provide a mechanism that makes this decision possible to be implemented. >> For the following things we just don't have appropriate SANE_Value_Type: >> - Scanner resolution if a form of X*Y pair. This is important, to >> support "asymmetrical" resolutions (300*600, for example) > > This change could easily be implemented without SANE-1.0. OK, but how? >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >> duplex, ADF front/ADF back > > It's only discipline! Yes, but in result, every application that care must be aware about all existent variants. The existent situation needs at least to be documented, and well-known names needs to be added to the documentation and C header file. > Indeed, sane_read should be allowed to return the scanner data without > processing it! And it actually affects behavior of some other options and API calls. For example, if backend doesn't decode, it should not be obliged to return accurate data from sane_get_parameters. List of possible color modes could be different for "raw" and decoded modes (in raw mode backend may support mode that it cannot decode). Scan region settings may or may not work in the "raw" mode. All emulated options unlikely to work in the "raw" mode, and so on, -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Wed Oct 21 16:04:41 2020 From: skelband at gmail.com (Ralph Little) Date: Wed, 21 Oct 2020 08:04:41 -0700 Subject: [sane-devel] Sane API In-Reply-To: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> Message-ID: <80928580-7df0-51b2-1cab-e711e2e0e6b0@gmail.com> Hi, On 2020-10-20 11:43 a.m., Alexander Pevzner wrote: > On 10/20/20 9:00 PM, Jürgen Mellinger wrote: >>> Basically, they all behave the same: allow to choose scanner from >>> the list, allow to edit scan options, then press Scan button, which >>> either starts scanner or opens an error message box. >> >> OK, that’s the bare minimum, but wouldn’t it be more elegant to give >> the user some feedback that the problem is solved, e.g. by >> auto-closing the error message box, or by changing the status line? > > I don't think it's really needed. Installing paper into ADF is a > physical action. I don't think user needs a confirmation from computer > that paper was actually installed; user knows it by feeling from its > fingers. > > BTW, some users missing push-mode scan, totally missed from SANE. But > it requires the whole image logistics to be rethought: user presses > some buttons at scanner, scanner connects the computer, some daemon > accepts this connection, then somehow GUI popup should occur with a > question, how to handle received image. > > It doesn't fit well the UNIX multiuser model. At what desktop this > popup should be open? (unlike UNIX, on Windows current terminal > session has a very special role in respect to other system). > Although I have not used it before, but there is a scanbd daemon that I believe allows actions to be linked to button presses. The problem is that it ties up the device so hardly a great solution as it stands in a multi-user environment. As ever, wiring something up behind the scenes is one thing. Making it usable for ordinary Joe and Jane Public with GUIs and the like to set up actions on button presses is the bigger issue. Most people don't like poking around in config files. :( Cheers, Ralph From thierry at ordissimo.com Wed Oct 21 16:24:25 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 21 Oct 2020 17:24:25 +0200 Subject: [sane-devel] Sane API In-Reply-To: <80928580-7df0-51b2-1cab-e711e2e0e6b0@gmail.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> <80928580-7df0-51b2-1cab-e711e2e0e6b0@gmail.com> Message-ID: <95d65ae188db51126a6b89ddc6a15cff@ordissimo.com> Le 2020-10-21 17:04, Ralph Little a écrit : > Hi, > > On 2020-10-20 11:43 a.m., Alexander Pevzner wrote: >> On 10/20/20 9:00 PM, Jürgen Mellinger wrote: >>>> Basically, they all behave the same: allow to choose scanner from >>>> the list, allow to edit scan options, then press Scan button, which >>>> either starts scanner or opens an error message box. >>> >>> OK, that’s the bare minimum, but wouldn’t it be more elegant to give >>> the user some feedback that the problem is solved, e.g. by >>> auto-closing the error message box, or by changing the status line? >> >> I don't think it's really needed. Installing paper into ADF is a >> physical action. I don't think user needs a confirmation from computer >> that paper was actually installed; user knows it by feeling from its >> fingers. >> >> BTW, some users missing push-mode scan, totally missed from SANE. But >> it requires the whole image logistics to be rethought: user presses >> some buttons at scanner, scanner connects the computer, some daemon >> accepts this connection, then somehow GUI popup should occur with a >> question, how to handle received image. >> >> It doesn't fit well the UNIX multiuser model. At what desktop this >> popup should be open? (unlike UNIX, on Windows current terminal >> session has a very special role in respect to other system). >> > Although I have not used it before, but there is a scanbd daemon that I > believe allows actions to be linked to button presses. > The problem is that it ties up the device so hardly a great solution as > it stands in a multi-user environment. > > As ever, wiring something up behind the scenes is one thing. Making it > usable for ordinary Joe and Jane Public with GUIs and the like to set > up > actions on button presses is the bigger issue. Most people don't like > poking around in config files. :( > I agree, we should allow the configuration of the scanners. The scanner is of Canon or Epson or XXXX brand, and only activate the necessary backends. It would be necessary to be able to configure the scanner (what allows the configuration of cups), a device is associated with a backend, it is the user who chooses. He can make several configurations. We can set priorities (free driver ++), for the automatic configuration. Translated with www.DeepL.com/Translator (free version) Thierry > Cheers, > Ralph From yo35 at melix.net Wed Oct 21 20:43:31 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Wed, 21 Oct 2020 21:43:31 +0200 Subject: [sane-devel] Segmentation fault with Airscan Message-ID: Hi, I encounter a segmentation fault when trying to use my scanner Canon Pixma TS8350. Xsane crashes, and 'scanimage -L' shows a segmentation fault that seems to be issued by Airscan: yoann at yoann-desktop:~$ scanimage -L Erreur de segmentation (core dumped) I attach the output of 'SANE_DEBUG_DLL=255 scanimage -L' (file out_debug_all.txt) and 'SANE_DEBUG_AIRSCAN=1 scanimage -L' (file out_debug_airscan.txt). Airscan version is 0.99.18+77.1, and sane-backends version is 1.0.31-175-g016271ebd. If I uninstall Airscan, the segmentation fault does not appear anymore, and I'm able to use the scanner. Still, it used to work with Airscan (with a previous version), as discussed two weeks ago on this list. Regards, Yoann -------------- next part -------------- API: sane_init(): called loading configuration file /etc/sane.d/airscan.conf MDNS: AVAHI_CLIENT_S_RUNNING WSDD: netif addresses update: WSDD: + 2001:861:5284:6ad0:6071:4975:e30e:f604 WSDD: + 2001:861:5284:6ad0:e933:275:67ed:482a WSDD: + 192.168.1.72 WSDD: + fe80::1ec4:7511:b668:7e12%2 WSDD: 2001:861:5284:6ad0:6071:4975:e30e:f604: started discovery, UDP port=53190 WSDD: setsockopt(AF_INET6,IPV6_ADD_MEMBERSHIP): Address already in use WSDD: 2001:861:5284:6ad0:e933:275:67ed:482a: started discovery, UDP port=53392 WSDD: 192.168.1.72: started discovery, UDP port=38737 WSDD: setsockopt(AF_INET6,IPV6_ADD_MEMBERSHIP): Address already in use WSDD: fe80::1ec4:7511:b668:7e12: started discovery, UDP port=56880 MDNS: browse/ipv4 "bbox Ippos Printer": AVAHI_BROWSER_NEW _ipp._tcp MDNS: browse/ipv4 "Canon TS8300 series (USB)": AVAHI_BROWSER_NEW _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _ipps._tcp zeroconf: zeroconf_device_list_get: requested zeroconf: device_list wait: requested zeroconf: device_list wait: DNS-SD not finished... MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _ipps._tcp MDNS: browse/ipv4 "Canon TS8300 series (USB)": AVAHI_BROWSER_NEW _uscan._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _uscan._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _uscans._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _scanner._tcp MDNS: resolve/ipv4 "Canon TS8300 series (USB)": AVAHI_RESOLVER_FOUND _uscan._tcp zeroconf: found urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_USCAN_TCP zeroconf: interface: 1 (lo) zeroconf: name: Canon TS8300 series (USB) zeroconf: model: TS8300 series zeroconf: addresses: zeroconf: 127.0.0.1 zeroconf: protocol: eSCL zeroconf: endpoints: zeroconf: http://127.0.0.1:60000/eSCL/ zeroconf: device: 0000 (created) WSDD: directed probe: trying if=lo, addr=127.0.0.1 WSDD: directed probe: skipping loopback address zeroconf: device_list wait: DNS-SD not finished... MDNS: resolve/ipv4 "Canon TS8300 series (USB)": AVAHI_RESOLVER_FOUND _ipp._tcp zeroconf: found urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_MDNS_HINT zeroconf: interface: 1 (lo) zeroconf: name: Canon TS8300 series (USB) zeroconf: model: Canon TS8300 series zeroconf: addresses: zeroconf: 127.0.0.1 zeroconf: device: 0000 (found) WSDD: directed probe: trying if=lo, addr=127.0.0.1 WSDD: directed probe: skipping loopback address zeroconf: device_list wait: DNS-SD not finished... MDNS: resolve/ipv4 "bbox Ippos Printer": AVAHI_RESOLVER_FOUND _ipp._tcp WSDD: directed probe: trying if=enp0s25, addr=192.168.1.254 WSDD: HTTP POST http://192.168.1.254/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP resolving 192.168.1.254 80 WSDD: HTTP trying 192.168.1.254:80 WSDD: HTTP POST http://192.168.1.254/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery: 302 Found WSDD: HTTP redirect 1: POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP resolving mabbox.bytel.fr 443 WSDD: HTTP trying [2001:861:5284:6ad0:4265:a3ff:fe43:8cdc]:443 WSDD: HTTP POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery: 307 Temporary Redirect WSDD: HTTP redirect 2: POST https://mabbox.bytel.fr:443/login.html -------------- next part -------------- [21:19:35.247246] [sanei_debug] Setting debug level of dll to 255. [21:19:35.247390] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.31-175-g016271ebd [21:19:35.247418] [dll] sane_init/read_dlld: attempting to open directory `./dll.d' [21:19:35.247456] [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d' [21:19:35.247513] [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d' [21:19:35.247548] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/airscan [21:19:35.247582] [dll] sane_init/read_config: reading dll.d/airscan [21:19:35.247615] [dll] add_backend: adding backend `airscan' [21:19:35.247641] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip [21:19:35.247670] [dll] sane_init/read_config: reading dll.d/hplip [21:19:35.247693] [dll] add_backend: adding backend `hpaio' [21:19:35.247720] [dll] sane_init/read_dlld: done. [21:19:35.247747] [dll] sane_init/read_config: reading dll.conf [21:19:35.247775] [dll] add_backend: adding backend `net' [21:19:35.247793] [dll] add_backend: adding backend `abaton' [21:19:35.247811] [dll] add_backend: adding backend `agfafocus' [21:19:35.247828] [dll] add_backend: adding backend `apple' [21:19:35.247845] [dll] add_backend: adding backend `artec' [21:19:35.247862] [dll] add_backend: adding backend `artec_eplus48u' [21:19:35.247879] [dll] add_backend: adding backend `as6e' [21:19:35.247895] [dll] add_backend: adding backend `avision' [21:19:35.247912] [dll] add_backend: adding backend `bh' [21:19:35.247929] [dll] add_backend: adding backend `canon' [21:19:35.247946] [dll] add_backend: adding backend `canon630u' [21:19:35.247963] [dll] add_backend: adding backend `canon_dr' [21:19:35.247981] [dll] add_backend: adding backend `canon_lide70' [21:19:35.247998] [dll] add_backend: adding backend `cardscan' [21:19:35.248015] [dll] add_backend: adding backend `coolscan' [21:19:35.248032] [dll] add_backend: adding backend `coolscan3' [21:19:35.248050] [dll] add_backend: adding backend `dell1600n_net' [21:19:35.248068] [dll] add_backend: adding backend `dmc' [21:19:35.248085] [dll] add_backend: adding backend `epjitsu' [21:19:35.248102] [dll] add_backend: adding backend `epson2' [21:19:35.248120] [dll] add_backend: adding backend `epsonds' [21:19:35.248163] [dll] add_backend: adding backend `escl' [21:19:35.248182] [dll] add_backend: adding backend `fujitsu' [21:19:35.248199] [dll] add_backend: adding backend `genesys' [21:19:35.248217] [dll] add_backend: adding backend `gt68xx' [21:19:35.248234] [dll] add_backend: adding backend `hp' [21:19:35.248252] [dll] add_backend: adding backend `hp3500' [21:19:35.248269] [dll] add_backend: adding backend `hp3900' [21:19:35.248287] [dll] add_backend: adding backend `hp4200' [21:19:35.248304] [dll] add_backend: adding backend `hp5400' [21:19:35.248321] [dll] add_backend: adding backend `hp5590' [21:19:35.248338] [dll] add_backend: adding backend `hpljm1005' [21:19:35.248360] [dll] add_backend: adding backend `hpsj5s' [21:19:35.248378] [dll] add_backend: adding backend `hs2p' [21:19:35.248395] [dll] add_backend: adding backend `ibm' [21:19:35.248413] [dll] add_backend: adding backend `kodak' [21:19:35.248430] [dll] add_backend: adding backend `kodakaio' [21:19:35.248448] [dll] add_backend: adding backend `kvs1025' [21:19:35.248465] [dll] add_backend: adding backend `kvs20xx' [21:19:35.248482] [dll] add_backend: adding backend `kvs40xx' [21:19:35.248500] [dll] add_backend: adding backend `leo' [21:19:35.248517] [dll] add_backend: adding backend `lexmark' [21:19:35.248535] [dll] add_backend: adding backend `ma1509' [21:19:35.248552] [dll] add_backend: adding backend `magicolor' [21:19:35.248570] [dll] add_backend: adding backend `matsushita' [21:19:35.248587] [dll] add_backend: adding backend `microtek' [21:19:35.248605] [dll] add_backend: adding backend `microtek2' [21:19:35.248622] [dll] add_backend: adding backend `mustek' [21:19:35.248640] [dll] add_backend: adding backend `mustek_usb' [21:19:35.248658] [dll] add_backend: adding backend `mustek_usb2' [21:19:35.248676] [dll] add_backend: adding backend `nec' [21:19:35.248705] [dll] add_backend: adding backend `niash' [21:19:35.248725] [dll] add_backend: adding backend `pie' [21:19:35.248743] [dll] add_backend: adding backend `pieusb' [21:19:35.248761] [dll] add_backend: adding backend `pint' [21:19:35.248782] [dll] add_backend: adding backend `pixma' [21:19:35.248800] [dll] add_backend: adding backend `plustek' [21:19:35.248819] [dll] add_backend: adding backend `qcam' [21:19:35.248836] [dll] add_backend: adding backend `ricoh' [21:19:35.248854] [dll] add_backend: adding backend `ricoh2' [21:19:35.248871] [dll] add_backend: adding backend `rts8891' [21:19:35.248889] [dll] add_backend: adding backend `s9036' [21:19:35.248906] [dll] add_backend: adding backend `sceptre' [21:19:35.248924] [dll] add_backend: adding backend `sharp' [21:19:35.248942] [dll] add_backend: adding backend `sm3600' [21:19:35.248959] [dll] add_backend: adding backend `sm3840' [21:19:35.248977] [dll] add_backend: adding backend `snapscan' [21:19:35.248995] [dll] add_backend: adding backend `sp15c' [21:19:35.249013] [dll] add_backend: adding backend `tamarack' [21:19:35.249031] [dll] add_backend: adding backend `teco1' [21:19:35.249049] [dll] add_backend: adding backend `teco2' [21:19:35.249066] [dll] add_backend: adding backend `teco3' [21:19:35.249085] [dll] add_backend: adding backend `u12' [21:19:35.249103] [dll] add_backend: adding backend `umax' [21:19:35.249121] [dll] add_backend: adding backend `umax1220u' [21:19:35.249139] [dll] add_backend: adding backend `v4l' [21:19:35.249157] [dll] add_backend: adding backend `xerox_mfp' [21:19:35.249200] [dll] sane_get_devices [21:19:35.249220] [dll] load: searching backend `xerox_mfp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.249239] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:19:35.249265] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:19:35.249504] [dll] init: initializing backend `xerox_mfp' [21:19:35.257985] [dll] init: backend `xerox_mfp' is version 1.0.13 [21:19:35.258045] [dll] load: searching backend `v4l' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.258052] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' [21:19:35.258059] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' (No such file or directory) [21:19:35.258065] [dll] load: trying to load `/usr/lib/sane/libsane-v4l.so.1' [21:19:35.258072] [dll] load: couldn't open `/usr/lib/sane/libsane-v4l.so.1' (No such file or directory) [21:19:35.258077] [dll] load: couldn't find backend `v4l' (No such file or directory) [21:19:35.258082] [dll] load: searching backend `umax1220u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.258088] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:19:35.258096] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:19:35.258175] [dll] init: initializing backend `umax1220u' [21:19:35.261856] [dll] init: backend `umax1220u' is version 1.0.2 [21:19:35.261867] [dll] load: searching backend `umax' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.261873] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:19:35.261881] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:19:35.261962] [dll] init: initializing backend `umax' [21:19:35.266650] [dll] init: backend `umax' is version 1.0.45 [21:19:35.266662] [dll] load: searching backend `u12' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.266667] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:19:35.266676] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:19:35.266752] [dll] init: initializing backend `u12' [21:19:35.270917] [dll] init: backend `u12' is version 1.0.0 [21:19:35.270931] [dll] load: searching backend `teco3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.270937] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:19:35.270952] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:19:35.271010] [dll] init: initializing backend `teco3' [21:19:35.271467] [dll] init: backend `teco3' is version 1.0.1 [21:19:35.271475] [dll] load: searching backend `teco2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.271481] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:19:35.271490] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:19:35.271540] [dll] init: initializing backend `teco2' [21:19:35.272320] [dll] init: backend `teco2' is version 1.0.10 [21:19:35.272330] [dll] load: searching backend `teco1' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.272336] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:19:35.272344] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:19:35.272393] [dll] init: initializing backend `teco1' [21:19:35.272856] [dll] init: backend `teco1' is version 1.0.10 [21:19:35.272865] [dll] load: searching backend `tamarack' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.272871] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:19:35.272879] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:19:35.272933] [dll] init: initializing backend `tamarack' [21:19:35.273140] [dll] init: backend `tamarack' is version 1.0.0 [21:19:35.273148] [dll] load: searching backend `sp15c' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.273154] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:19:35.273162] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:19:35.273213] [dll] init: initializing backend `sp15c' [21:19:35.273295] [dll] init: backend `sp15c' is version 1.0.0 [21:19:35.273302] [dll] load: searching backend `snapscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.273308] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:19:35.273317] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:19:35.273393] [dll] init: initializing backend `snapscan' [21:19:35.277385] [dll] init: backend `snapscan' is version 1.4.53 [21:19:35.277396] [dll] load: searching backend `sm3840' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.277402] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:19:35.277411] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:19:35.277483] [dll] init: initializing backend `sm3840' [21:19:35.281302] [dll] init: backend `sm3840' is version 1.0.0 [21:19:35.281313] [dll] load: searching backend `sm3600' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.281319] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:19:35.281328] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:19:35.281416] [dll] init: initializing backend `sm3600' [21:19:35.285003] [dll] init: backend `sm3600' is version 1.0.6 [21:19:35.285014] [dll] load: searching backend `sharp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285020] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:19:35.285029] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:19:35.285101] [dll] init: initializing backend `sharp' [21:19:35.285318] [dll] init: backend `sharp' is version 1.0.0 [21:19:35.285327] [dll] load: searching backend `sceptre' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285332] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:19:35.285340] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:19:35.285389] [dll] init: initializing backend `sceptre' [21:19:35.285601] [dll] init: backend `sceptre' is version 1.0.10 [21:19:35.285609] [dll] load: searching backend `s9036' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285619] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:19:35.285627] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:19:35.285673] [dll] init: initializing backend `s9036' [21:19:35.285817] [dll] init: backend `s9036' is version 1.0.0 [21:19:35.285824] [dll] load: searching backend `rts8891' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285830] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:19:35.285837] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:19:35.285909] [dll] init: initializing backend `rts8891' [21:19:35.289525] [dll] init: backend `rts8891' is version 1.0.2401 [21:19:35.289586] [dll] load: searching backend `ricoh2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.289594] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:19:35.289602] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:19:35.289672] [dll] init: initializing backend `ricoh2' [21:19:35.293908] [dll] init: backend `ricoh2' is version 1.0.0 [21:19:35.293919] [dll] load: searching backend `ricoh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.293925] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:19:35.293934] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:19:35.294002] [dll] init: initializing backend `ricoh' [21:19:35.294150] [dll] init: backend `ricoh' is version 1.0.0 [21:19:35.294158] [dll] load: searching backend `qcam' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.294164] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:19:35.294172] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:19:35.294220] [dll] init: initializing backend `qcam' [21:19:35.294239] [dll] init: backend `qcam' is version 1.0.0 [21:19:35.294246] [dll] load: searching backend `plustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.294251] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:19:35.294259] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:19:35.294337] [dll] init: initializing backend `plustek' [21:19:35.298224] [dll] init: backend `plustek' is version 1.0.0 [21:19:35.298235] [dll] load: searching backend `pixma' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.298241] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:19:35.298249] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:19:35.298349] [dll] init: initializing backend `pixma' [21:19:35.301938] [dll] init: backend `pixma' is version 1.0.28 [21:19:35.822979] [dll] load: searching backend `pint' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.823109] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' [21:19:35.823194] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' (No such file or directory) [21:19:35.823227] [dll] load: trying to load `/usr/lib/sane/libsane-pint.so.1' [21:19:35.823261] [dll] load: couldn't open `/usr/lib/sane/libsane-pint.so.1' (No such file or directory) [21:19:35.823288] [dll] load: couldn't find backend `pint' (No such file or directory) [21:19:35.823316] [dll] load: searching backend `pieusb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.823343] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:19:35.823387] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:19:35.823864] [dll] init: initializing backend `pieusb' [21:19:35.835051] [dll] init: backend `pieusb' is version 1.0.1 [21:19:35.835062] [dll] load: searching backend `pie' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.835069] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:19:35.835084] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:19:35.835144] [dll] init: initializing backend `pie' [21:19:35.835489] [dll] init: backend `pie' is version 1.0.9 [21:19:35.835497] [dll] load: searching backend `niash' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.835503] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:19:35.835511] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:19:35.835581] [dll] init: initializing backend `niash' [21:19:35.839199] [dll] init: backend `niash' is version 1.0.1 [21:19:35.839210] [dll] load: searching backend `nec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.839217] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:19:35.839225] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:19:35.839297] [dll] init: initializing backend `nec' [21:19:35.839447] [dll] init: backend `nec' is version 1.0.0 [21:19:35.839455] [dll] load: searching backend `mustek_usb2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.839461] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:19:35.839469] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:19:35.839540] [dll] init: initializing backend `mustek_usb2' [21:19:35.839552] [dll] init: backend `mustek_usb2' is version 1.0.10 [21:19:35.843443] [dll] load: searching backend `mustek_usb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.843458] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:19:35.843472] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:19:35.843617] [dll] init: initializing backend `mustek_usb' [21:19:35.847437] [dll] init: backend `mustek_usb' is version 1.0.18 [21:19:35.847449] [dll] load: searching backend `mustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.847458] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:19:35.847470] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:19:35.847590] [dll] init: initializing backend `mustek' [21:19:35.847926] [dll] init: backend `mustek' is version 1.0.138 [21:19:35.847934] [dll] load: searching backend `microtek2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.847940] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:19:35.847948] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:19:35.848002] [dll] init: initializing backend `microtek2' [21:19:35.848259] [dll] init: backend `microtek2' is version 1.0.0 [21:19:35.848271] [dll] load: searching backend `microtek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.848276] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:19:35.848285] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:19:35.848336] [dll] init: initializing backend `microtek' [21:19:35.848539] [dll] init: backend `microtek' is version 1.0.0 [21:19:35.848547] [dll] load: searching backend `matsushita' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.848552] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:19:35.848560] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:19:35.848609] [dll] init: initializing backend `matsushita' [21:19:35.849060] [dll] init: backend `matsushita' is version 1.0.7 [21:19:35.849068] [dll] load: searching backend `magicolor' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.849074] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:19:35.849082] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:19:35.849559] [dll] init: initializing backend `magicolor' [21:19:35.853182] [dll] init: backend `magicolor' is version 1.0.1 [21:19:37.355008] [dll] load: searching backend `ma1509' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.355104] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:19:37.355159] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:19:37.355587] [dll] init: initializing backend `ma1509' [21:19:37.364597] [dll] init: backend `ma1509' is version 1.0.3 [21:19:37.364615] [dll] load: searching backend `lexmark' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.364624] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:19:37.364638] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:19:37.364757] [dll] init: initializing backend `lexmark' [21:19:37.370507] [dll] init: backend `lexmark' is version 1.0.32 [21:19:37.370601] [dll] load: searching backend `leo' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.370613] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:19:37.370626] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:19:37.370712] [dll] init: initializing backend `leo' [21:19:37.371167] [dll] init: backend `leo' is version 1.0.11 [21:19:37.371180] [dll] load: searching backend `kvs40xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.371190] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:19:37.371202] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:19:37.371321] [dll] init: initializing backend `kvs40xx' [21:19:37.375240] [dll] init: backend `kvs40xx' is version 1.0.1 [21:19:37.375451] [dll] load: searching backend `kvs20xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.375458] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:19:37.375467] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:19:37.375542] [dll] init: initializing backend `kvs20xx' [21:19:37.379139] [dll] init: backend `kvs20xx' is version 1.0.2 [21:19:37.379529] [dll] load: searching backend `kvs1025' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.379537] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:19:37.379545] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:19:37.379624] [dll] init: initializing backend `kvs1025' [21:19:37.383347] [dll] init: backend `kvs1025' is version 1.0.5 [21:19:37.383357] [dll] load: searching backend `kodakaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.383363] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:19:37.383372] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:19:37.383886] [dll] init: initializing backend `kodakaio' [21:19:37.388545] [dll] init: backend `kodakaio' is version 1.0.3 [21:19:39.298011] [dll] load: searching backend `kodak' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.298126] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:19:39.298186] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:19:39.298549] [dll] init: initializing backend `kodak' [21:19:39.298594] [dll] init: backend `kodak' is version 1.0.7 [21:19:39.298905] [dll] load: searching backend `ibm' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.298929] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:19:39.298955] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:19:39.299122] [dll] init: initializing backend `ibm' [21:19:39.299603] [dll] init: backend `ibm' is version 1.0.0 [21:19:39.299629] [dll] load: searching backend `hs2p' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.299648] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:19:39.299688] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:19:39.299856] [dll] init: initializing backend `hs2p' [21:19:39.300556] [dll] init: backend `hs2p' is version 1.0.0 [21:19:39.300584] [dll] load: searching backend `hpsj5s' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.300603] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:19:39.300629] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:19:39.300805] [dll] init: initializing backend `hpsj5s' [21:19:39.300881] [dll] init: backend `hpsj5s' is version 1.0.3 [21:19:39.300904] [dll] load: searching backend `hpljm1005' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.300922] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:19:39.300948] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:19:39.301167] [dll] init: initializing backend `hpljm1005' [21:19:39.310794] [dll] init: backend `hpljm1005' is version 1.0.1 [21:19:39.310808] [dll] load: searching backend `hp5590' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.310814] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:19:39.310824] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:19:39.310936] [dll] init: initializing backend `hp5590' [21:19:39.314710] [dll] init: backend `hp5590' is version 1.0.8 [21:19:39.314721] [dll] load: searching backend `hp5400' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.314727] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:19:39.314736] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:19:39.314830] [dll] init: initializing backend `hp5400' [21:19:39.319047] [dll] init: backend `hp5400' is version 1.0.3 [21:19:39.319058] [dll] load: searching backend `hp4200' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.319064] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:19:39.319073] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:19:39.319152] [dll] init: initializing backend `hp4200' [21:19:39.322824] [dll] init: backend `hp4200' is version 1.0.0 [21:19:39.322835] [dll] load: searching backend `hp3900' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.322841] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:19:39.322849] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:19:39.323127] [dll] init: initializing backend `hp3900' [21:19:39.326974] [dll] init: backend `hp3900' is version 1.0.0 [21:19:39.326985] [dll] load: searching backend `hp3500' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.326991] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:19:39.326999] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:19:39.327082] [dll] init: initializing backend `hp3500' [21:19:39.330834] [dll] init: backend `hp3500' is version 1.0.0 [21:19:39.330849] [dll] load: searching backend `hp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.330856] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:19:39.330865] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:19:39.330972] [dll] init: initializing backend `hp' [21:19:39.330987] [dll] init: backend `hp' is version 1.0.8 [21:19:39.334969] [dll] load: searching backend `gt68xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.334979] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:19:39.334988] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:19:39.335089] [dll] init: initializing backend `gt68xx' [21:19:39.338858] [dll] init: backend `gt68xx' is version 1.0.84 [21:19:39.338940] [dll] load: searching backend `genesys' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.338953] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:19:39.338962] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:19:39.339249] [dll] init: initializing backend `genesys' [21:19:39.343489] [dll] init: backend `genesys' is version 1.0.0 [21:19:39.343566] [dll] load: searching backend `fujitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.343574] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:19:39.343583] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:19:39.343666] [dll] init: initializing backend `fujitsu' [21:19:39.343681] [dll] init: backend `fujitsu' is version 1.0.137 [21:19:39.347439] [dll] load: searching backend `escl' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.347450] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:19:39.347458] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:19:39.356850] [dll] init: initializing backend `escl' [21:19:39.356915] [dll] init: backend `escl' is version 1.0.0 [21:19:40.359716] [dll] load: searching backend `epsonds' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:40.359807] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:19:40.359867] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:19:40.360433] [dll] init: initializing backend `epsonds' [21:19:40.369530] [dll] init: backend `epsonds' is version 1.0.0 [21:19:40.369616] [dll] load: searching backend `epson2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:40.369631] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:19:40.369648] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:19:40.369843] [dll] init: initializing backend `epson2' [21:19:40.376721] [dll] init: backend `epson2' is version 1.0.124 [21:19:41.377964] [dll] load: searching backend `epjitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.378020] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:19:41.378051] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:19:41.378369] [dll] init: initializing backend `epjitsu' [21:19:41.378404] [dll] init: backend `epjitsu' is version 1.0.31 [21:19:41.388618] [dll] load: searching backend `dmc' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.388629] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:19:41.388638] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:19:41.388710] [dll] init: initializing backend `dmc' [21:19:41.388871] [dll] init: backend `dmc' is version 1.0.0 [21:19:41.388879] [dll] load: searching backend `dell1600n_net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.388884] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:19:41.388892] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:19:41.388974] [dll] init: initializing backend `dell1600n_net' [21:19:41.388983] [dll] init: backend `dell1600n_net' is version 1.0.0 [21:19:41.689398] [dll] load: searching backend `coolscan3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.689483] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:19:41.689527] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:19:41.690008] [dll] init: initializing backend `coolscan3' [21:19:41.702648] [dll] init: backend `coolscan3' is version 1.0.0 [21:19:41.703022] [dll] load: searching backend `coolscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.703049] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:19:41.703076] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:19:41.703397] [dll] init: initializing backend `coolscan' [21:19:41.704091] [dll] init: backend `coolscan' is version 1.0.0 [21:19:41.704118] [dll] load: searching backend `cardscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.704191] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:19:41.704202] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:19:41.704280] [dll] init: initializing backend `cardscan' [21:19:41.708016] [dll] init: backend `cardscan' is version 1.0.3 [21:19:41.708055] [dll] load: searching backend `canon_lide70' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.708063] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:19:41.708071] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:19:41.708185] [dll] init: initializing backend `canon_lide70' [21:19:41.712286] [dll] init: backend `canon_lide70' is version 1.0.0 [21:19:41.712300] [dll] load: searching backend `canon_dr' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.712306] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:19:41.712315] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:19:41.712403] [dll] init: initializing backend `canon_dr' [21:19:41.712417] [dll] init: backend `canon_dr' is version 1.0.59 [21:19:41.716260] [dll] load: searching backend `canon630u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.716271] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:19:41.716279] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:19:41.716366] [dll] init: initializing backend `canon630u' [21:19:41.720014] [dll] init: backend `canon630u' is version 1.0.1 [21:19:41.720024] [dll] load: searching backend `canon' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.720030] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:19:41.720039] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:19:41.720105] [dll] init: initializing backend `canon' [21:19:41.720204] [dll] init: backend `canon' is version 1.0.0 [21:19:41.720213] [dll] load: searching backend `bh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.720219] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:19:41.720227] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:19:41.720289] [dll] init: initializing backend `bh' [21:19:41.720496] [dll] init: backend `bh' is version 1.0.4 [21:19:41.720504] [dll] load: searching backend `avision' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.720509] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:19:41.720517] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:19:41.720610] [dll] init: initializing backend `avision' [21:19:41.728146] [dll] init: backend `avision' is version 1.0.297 [21:19:41.732051] [dll] load: searching backend `as6e' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.732060] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:19:41.732069] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:19:41.732135] [dll] init: initializing backend `as6e' [21:19:41.732160] [dll] load: searching backend `artec_eplus48u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.732165] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:19:41.732174] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:19:41.732256] [dll] init: initializing backend `artec_eplus48u' [21:19:41.735925] [dll] init: backend `artec_eplus48u' is version 1.0.0 [21:19:41.735937] [dll] load: searching backend `artec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.735943] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:19:41.735956] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:19:41.736021] [dll] init: initializing backend `artec' [21:19:41.736246] [dll] init: backend `artec' is version 1.0.0 [21:19:41.736255] [dll] load: searching backend `apple' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.736261] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:19:41.736269] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:19:41.736330] [dll] init: initializing backend `apple' [21:19:41.736534] [dll] init: backend `apple' is version 1.0.0 [21:19:41.736542] [dll] load: searching backend `agfafocus' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.736547] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:19:41.736555] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:19:41.736618] [dll] init: initializing backend `agfafocus' [21:19:41.736766] [dll] init: backend `agfafocus' is version 1.0.0 [21:19:41.736777] [dll] load: searching backend `abaton' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.736783] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:19:41.736792] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:19:41.736850] [dll] init: initializing backend `abaton' [21:19:41.737054] [dll] init: backend `abaton' is version 1.0.0 [21:19:41.737062] [dll] load: searching backend `net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.737067] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:19:41.737075] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:19:41.737167] [dll] init: initializing backend `net' [21:19:41.738598] [dll] init: backend `net' is version 1.0.31 [21:19:41.738613] [dll] load: searching backend `hpaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.738619] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:19:41.738630] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:19:41.739148] [dll] init: initializing backend `hpaio' [21:19:41.739476] [dll] init: backend `hpaio' is version 1.0.0 [21:19:43.140850] [dll] load: searching backend `airscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:43.140912] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-airscan.so.1' [21:19:43.140943] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-airscan.so.1' [21:19:43.141493] [dll] init: initializing backend `airscan' [21:19:43.148728] [dll] init: backend `airscan' is version 1.0.0 From pzz at apevzner.com Wed Oct 21 22:35:54 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 00:35:54 +0300 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: References: Message-ID: <17f357f2-b834-2d04-650e-b28fb7e0f335@apevzner.com> Hi Yoann, On 10/21/20 10:43 PM, Yoann Le Montagner wrote: > If I uninstall Airscan, the segmentation fault does not appear anymore, > and I'm able to use the scanner. Still, it used to work with Airscan > (with a previous version), as discussed two weeks ago on this list. Thank you for reporting this bug. What version did it previously work with? 0.99.17 or earlier? -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 22 13:39:18 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 15:39:18 +0300 Subject: [sane-devel] Sane API In-Reply-To: <6a52aa85-445d-7be6-0ff9-dafbd8df0692@apevzner.com> References: <6a52aa85-445d-7be6-0ff9-dafbd8df0692@apevzner.com> Message-ID: <52d03ab3-97f2-d567-9b7b-458bab589750@apevzner.com> Hi Johannes, On 10/21/20 10:11 AM, Johannes Meixner wrote: > Current SANE is not meant for users who use a professional network > printer scanner copier all-in-one device but when in the future > users of any kind of scanning device should be able to access them > via one same user application then a future SANE version should be > in compliance to work with such a generic scanning user frontend. What, do you feel, is missed from SANE to support professional MFPs? > I think for a remote network scanner a remote user may need > to know the complete device status including things that are > obvious for a user who is located next to the scanner device. I'm not sure it can be done in reliable way and without a lot of testing against variety of hardware. If it cannot be done reliable, it is better not to do it at all, to avoid a lot of frustration. > Technically I think what does not fit the UNIX multiuser model > is the idea that something from remote can just trigger things on a > computer > because that "something from remote" is not the boss of the computer. If user, who owns desktop, explicitly subscribes to it, why not? After all, if somebody sends you e-mail, it may trigger pop-up on your screen, though e-mail sender is not boss of your computer. > Technically I think what would fit the UNIX multiuser model > is that a particular user triggers the action he wants. > > So I think something like the following fits the UNIX multiuser model: > > Some user presses a button at a (possibly network) scanner device. > This changes the scanner device status ("button X is activated"). Let me explain, JFYI, how push scanning implemented in the WSD world. Computers, willing to accept incoming images, advertise their presence, using WS-Discovery protocol (UDP multicasting and so on, conceptually similar to DNS-SD, but totally incompatible). Push-mode scanning is activated by pressing some buttons or choosing appropriate menu item at the scanner front panel. Scanner offers a list of computers to send image too (previously discovered via WS-Discovery). When user chooses a destination device, some conversation between scanner and destination computer occurs. I didn't read this part of WSD specification in great details (it's very hard to read), but most likely, scanner sends ScanAvailableEvent: https://docs.microsoft.com/en-us/windows-hardware/drivers/image/scanavailableevent On Windows, it is most likely handled by some system service, which notifies some GUI program, running in a context of current session to open appropriate GUI dialog. After that, if all sides agreed, actual scanning begins. BTW, briefly looking to the specs, I have an impression, that actual scanning happens in a pull mode. The only difference is that scanner sends ScanAvailableEvent to the host, when host is chosen at the scanner's front pannel. Obviously, we can implement push scanning via polling scanner buttons, but only few backends allow to poll scanner buttons; it depends on the underlying protocol, offered by hardware. I believe, newest hardware will shift into the eSCL/WSD direction, and direct polling buttons will not be available. It is also not very secure. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 22 16:49:28 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 18:49:28 +0300 Subject: [sane-devel] sane-airscan 0.99.19 release notes Message-ID: Hi, I've just released sane-airscan 0.99.19. This is bugfix release. It fixes the following critical bugs: 1. If host part of URL is taken into square brackets, but it is not valid IPv6 literal (i.e., http:[xxx]/, it might cause backend to crash 2. If HTTP request was redirected 2 or more times, it might cause backend to crash Though these bugs are unlikely to hit most of users, upgrade is recommended. Also the following minor bug was fixed. 3. sane_control_option() now uses case-insensetive comparison for scan source names and color mode names Compiled binaries can be downloaded from the usual place: https://download.opensuse.org/repositories/home:/pzz/ -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 22 16:50:53 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 18:50:53 +0300 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: References: Message-ID: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> Hi, On 10/21/20 10:43 PM, Yoann Le Montagner wrote: > I encounter a segmentation fault when trying to use my scanner Canon > Pixma TS8350. Xsane crashes, and 'scanimage -L' shows a segmentation > fault that seems to be issued by Airscan: Fixed in 0.99.19, please upgrade. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From povilas at radix.lt Fri Oct 23 11:13:49 2020 From: povilas at radix.lt (Povilas Kanapickas) Date: Fri, 23 Oct 2020 13:13:49 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: <32e8af5b-b0ea-269f-1442-47bdab4ebacd@radix.lt> Hi all, On 10/21/20 4:32 PM, Alexander Pevzner wrote: > On 10/21/20 3:04 PM, Thierry HUCHARD wrote: >> I don't see why notifications should be made by sane. >> It is the system that takes care of the connection / disconnection of >> the devices! > > Because only backends knows, how system events are mapped to scanner PnP > events. > > Applications should not be responsible to poll USB bus for USB-level > events, which some knowledge how to distinguish mouse from scanner, poll > DNS-SD events, with some knowledge, which services are registered by > scanners and so on. > > May be in printer world it could work, because there are only one device > class, used by USB printers, and only 3 service types, used by DNS-SD to > advertise a printer, and these is no such thing as SCSI printer, but > scanner hardware is MUCH more chaotic. Can't we just add an additional set of APIs for this use case in e.g. SANE 1.1? The applications may dlsym these APIs if they want to be backwards-compatible with SANE 1.0. >>> - If some scanner is identified by multiple backends, it would be nice >>> to let user app to automatically choose one of the list. For this >> >> I'm for leaving the choice to the user, the automatic choice criteria >> are generally subjective choice >> criteria (specific to the developer), generally they limit the >> possibilities. > > This is UI (user interface) - level decision, our goal is to provide a > mechanism that makes this decision possible to be implemented. > >>> For the following things we just don't have appropriate SANE_Value_Type: >>> - Scanner resolution if a form of X*Y pair. This is important, to >>> support "asymmetrical" resolutions (300*600, for example) >> >> This change could easily be implemented without SANE-1.0. > > OK, but how? We already have "x-resolution" and "y-resolution" options. X/Y resolutions can be handled the same way the non-pecific "resulution" option is handled right now. That is, application sets the preferred X and Y resolutions and then must check what actual supported resolution was selected by the backend by querying these options again. >>> For the following options we don't have enough discipline: >>> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >>> duplex, ADF front/ADF back >> >> It's only discipline! > > Yes, but in result, every application that care must be aware about all > existent variants. > > The existent situation needs at least to be documented, and well-known > names needs to be added to the documentation and C header file. > >> Indeed, sane_read should be allowed to return the scanner data without >> processing it! > > And it actually affects behavior of some other options and API calls. > > For example, if backend doesn't decode, it should not be obliged to > return accurate data from sane_get_parameters. List of possible color > modes could be different for "raw" and decoded modes (in raw mode > backend may support mode that it cannot decode). Scan region settings > may or may not work in the "raw" mode. All emulated options unlikely to > work in the "raw" mode, and so on, The current standard actually handles a lot of similar problems already. For example, the capabilities scan modes of a scanner can differ significantly: transparency scans may offer completely different resolutions than regular scans, transparency infrared scans may offer only gray color and the scan boundaries offered by all of the modes may be different. I agree that sane_get_parameters will return special values for "raw" mode, but if application supports "raw" mode, then it will already have special path for it which could handle sane_get_parameters in a special way too. Please let me know if I missed anything. Cheers, Povilas From povilas at radix.lt Fri Oct 23 11:29:23 2020 From: povilas at radix.lt (Povilas Kanapickas) Date: Fri, 23 Oct 2020 13:29:23 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: <4087b371-d2ea-65c5-a63b-aebf51cbc9f2@radix.lt> Hi all, On 10/20/20 11:12 AM, Alexander Pevzner wrote: > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >> making new with old is not necessarily a good thing! - I found that >> the difference was in the options. The operations are identical. It >> will be easy for a developer to create a gateway from sane-1.0 to >> sane-2.0. - The options are hardware dependent and there, some >> options are emulatable, others are not. - If sane-2.0 is just the >> formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented in > terms of options: > - PnP notifications (scanner was connected/disconnected some time after > driver was initialized). This limitation can be worked around by > continuous poll, but this poll drains a battery a generates network/USB > traffic, so it is better to avoid. I seems to me that this would be relatively independent of the current APIs, wouldn't it? We can add the new APIs to SANE 1.1 and applications could preserve backwards compatibility by optionally using them via dlsym. > - If some scanner is identified by multiple backends, it would be nice > to let user app to automatically choose one of the list. For this > purpose, it would be nice to expose some information regarding scanner > location, before scanner is opened (say, "USB bus X device Y, or NET > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > SANE_Device structure, which makes it incompatible with SANE 1.0 We could add SANE_Devicev2 and sane_get_devices_v2 APIs in a backwards-compatible way. New applications could dlsym the new API from new backends, old applications could continue using the old APIs. > For the following things we just don't have appropriate SANE_Value_Type: > - Scanner resolution if a form of X*Y pair. This is important, to > support "asymmetrical" resolutions (300*600, for example) (I've copied this from another e-mail, sorry for duplication and being late to the party :-) ) We already have "x-resolution" and "y-resolution" options. X/Y resolutions can be handled the same way the non-pecific "resulution" option is handled right now. That is, application sets the preferred X and Y resolutions and then must check what actual supported resolution was selected by the backend by querying these options again. > For the following options we don't have enough discipline: > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF > duplex, ADF front/ADF back A string option for a scan source is much more flexible than e.g. an int and should be preserved. What we probably need is just document the commonly used values in the existing standard. > sane_airscan_get_parameters() must be accurate immediately after return > from sane_start(). It is not always possible, unless sane_start() has to > wait until image is available (compare sane-escl and sane-airscan > approach). Agreed. This case is more difficult. We need a way to preserve both the old and new behavior in some way with a possibility for the scan application to request either on demand. > sane_airscan_get_select_fd() defined with serious mistake: it requires > backend to close select_fd immediately after completion or cancellation > of the scan job. In multi-threaded program closed file descriptor could > be immediately reused for some different purpose by another thread. > > There is no possibility to request image in the device-specific "raw" > format. I.e., if I want PDF and device can return PDF, image still will > be repacked PDF->sane format->PDF. This can be implemented as a special "color" mode in existing standard. We would probably need an additional API for that. Cheers, Povilas From pzz at apevzner.com Fri Oct 23 13:17:43 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 15:17:43 +0300 Subject: [sane-devel] Sane API In-Reply-To: <32e8af5b-b0ea-269f-1442-47bdab4ebacd@radix.lt> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <32e8af5b-b0ea-269f-1442-47bdab4ebacd@radix.lt> Message-ID: <292786fa-f54f-f09d-e2db-5343e8808242@apevzner.com> Hi Povilas, On 10/23/20 1:13 PM, Povilas Kanapickas wrote: >> May be in printer world it could work, because there are only one device >> class, used by USB printers, and only 3 service types, used by DNS-SD to >> advertise a printer, and these is no such thing as SCSI printer, but >> scanner hardware is MUCH more chaotic. > > Can't we just add an additional set of APIs for this use case in e.g. > SANE 1.1? The applications may dlsym these APIs if they want to be > backwards-compatible with SANE 1.0. I think, requiring application to dlsym these APIs will significantly increase entry barrier for applications writers. Also, if there are multiple backends loaded (via sane-dll), how to know how to dlsym the proper symbol. It would be better to shift dlsyming into the sane-dll, to keep all complexity in a single place. > We already have "x-resolution" and "y-resolution" options. X/Y > resolutions can be handled the same way the non-pecific "resulution" > option is handled right now. That is, application sets the preferred X > and Y resolutions and then must check what actual supported resolution > was selected by the backend by querying these options again. In SANE these x/y-resolution options are independent, while real scanners offer a discrete set of possible x/y combinations. For example, my scanner offers 200x100, 200x200, 200x400, 300x300, 400x400 and 600x600. In theory, setting one of these options may update constraints for another option and return SANE_INFO_RELOAD_OPTIONS to tell application to reload constraints. But xsane, for example, doesn't understand it properly. Also, for application that wants to simple show a drop-down list of possible resolutions it will be a lot of work to obtain content of this list. > The current standard actually handles a lot of similar problems already. > For example, the capabilities scan modes of a scanner can differ > significantly: transparency scans may offer completely different > resolutions than regular scans, transparency infrared scans may offer > only gray color and the scan boundaries offered by all of the modes may > be different. Yes, I only want to tell, that switching to the "raw" mode is the "big change", like changing scan source, and it may affect a lot of other options. > I agree that sane_get_parameters will return special values for "raw" > mode, but if application supports "raw" mode, then it will already have > special path for it which could handle sane_get_parameters in a special > way too. I think, for the "raw" mode sane_get_parameters() should return SANE_STATUS_INVAL or SANE_STATUS_UNSUPPORTED -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Fri Oct 23 14:43:31 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 16:43:31 +0300 Subject: [sane-devel] Sane API In-Reply-To: <4087b371-d2ea-65c5-a63b-aebf51cbc9f2@radix.lt> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <4087b371-d2ea-65c5-a63b-aebf51cbc9f2@radix.lt> Message-ID: <00b5911f-277b-3224-7016-efeeb51daa9e@apevzner.com> Hi Povilas, On 10/23/20 1:29 PM, Povilas Kanapickas wrote: > (I've copied this from another e-mail, sorry for duplication and being > late to the party :-) ) Better late, that never. I've already responded there :-) So here I will only comment topics, missed in your previous message. >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >> duplex, ADF front/ADF back > > A string option for a scan source is much more flexible than e.g. an int > and should be preserved. What we probably need is just document the > commonly used values in the existing standard. I don't object against string options, but these values should be used uniformly. Currently we have: - "Flatbed"/"Transparency Adapter"/"Automatic Document Feeder" (umax.c) - "Opaque/Normal"/"Transparency"/""AutoFeeder" (microtek.c) - "Flatbed"/"ADF"/"TMA"/"Filmstrip"/"Slide" (microtek2.h) - "Normal"/"Transparency"/"ADF Front"/"ADF Back"/"ADF Duplex" (avision.c) - "Automatic Document Feeder"/"Manual Feed Tray" (bh.h) - "Flatbed"/"ADF Front"/"ADF Back"/"Card Front"/"Card Back"/"Card Duplex" (canon_dr.c) And much, much more. Note, IPP-scan defines only "adf", "film-reader" and "platen" sources (with separate control for simplex/duplex ADF), WSD defines "ADF", "ADFDuplex", "Film" and "Platen" sources Best place to define standard valies is the saneopts.h, but we need also to do something with variety of variants, used by existent drivers. >> sane_airscan_get_parameters() must be accurate immediately after return >> from sane_start(). It is not always possible, unless sane_start() has to >> wait until image is available (compare sane-escl and sane-airscan >> approach). > Agreed. This case is more difficult. We need a way to preserve both the > old and new behavior in some way with a possibility for the scan > application to request either on demand. If actual image parameters are only available, when image arrives, as with eSCL/WSD, either somebody must wait until image arrives, or driver may promise to return an image according to the selected options, and then adjust actually received image to the promised parameters, as sane-airscan does. >> There is no possibility to request image in the device-specific "raw" >> format. I.e., if I want PDF and device can return PDF, image still will >> be repacked PDF->sane format->PDF. > > This can be implemented as a special "color" mode in existing standard. > We would probably need an additional API for that. These are orthogonal things. For example, my scanner in eSCL mode can return Gray8 and RGB24, as JPEG or PDF, and also B&W1, but only as PDF. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Fri Oct 23 19:17:28 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Fri, 23 Oct 2020 20:17:28 +0200 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> References: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> Message-ID: Hi, I've upgraded to 0.99.19 and the segmentation fault is no longer here. The scanner is detected and everything works as expected. Thanks. Le 22/10/2020 à 17:50, Alexander Pevzner a écrit : > Hi, > > On 10/21/20 10:43 PM, Yoann Le Montagner wrote: >> I encounter a segmentation fault when trying to use my scanner Canon >> Pixma TS8350. Xsane crashes, and 'scanimage -L' shows a segmentation >> fault that seems to be issued by Airscan: > > Fixed in 0.99.19, please upgrade. > From pzz at apevzner.com Fri Oct 23 20:40:21 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 22:40:21 +0300 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: References: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> Message-ID: <5a555564-4c98-763f-0333-13005b871a88@apevzner.com> Hi Yoann, On 10/23/20 9:17 PM, Yoann Le Montagner wrote: > I've upgraded to 0.99.19 and the segmentation fault is no longer here. > The scanner is detected and everything works as expected. Thank you for feedback! -- Wishes, Alexander Pevzner (pzz at apevzner.com) From andrea.croci at gmx.de Fri Oct 23 21:15:26 2020 From: andrea.croci at gmx.de (Andrea Croci) Date: Fri, 23 Oct 2020 22:15:26 +0200 Subject: [sane-devel] Strange behaviour by airscan Message-ID: <304cabf0-cfc8-bb35-3142-23c4fa42e79f@gmx.de> Hello, using Ubuntu 18.04 with scanimage (sane-backends) 1.0.31-179-ge4ef0548b; backend version 1.0.31 (installed from ppa), I get: scanimage -L device `epson2:net:192.168.2.101' is a Epson PID 08B9 flatbed scanner device `epkowa:net:192.168.2.101:1865' is a Epson WF-7610/7620 Series flatbed scanner device `airscan:e2:Canon MF745C/746C' is a eSCL Canon MF745C/746C eSCL network scanner device `airscan:w3:EPSON WF-7620 Series' is a WSD EPSON WF-7620 Series WSD network scanner (notice "airscan:e2:..." Yet scanimage --help -d 'airscan:e2:Canon MF745C/746C' Usage: scanimage [OPTION]... Start image acquisition on a scanner device and write image data to standard output. Parameters are separated by a blank from single-character options (e.g. -d epson) and by a "=" from multi-character options (e.g. --device-name=epson). -d, --device-name=DEVICE   use a given scanner device (e.g. hp:/dev/scanner)     --format=pnm|tiff|png|jpeg  file format of output file -i, --icc-profile=PROFILE  include this ICC profile into TIFF file -L, --list-devices         show available scanner devices -f, --formatted-device-list=FORMAT similar to -L, but the FORMAT of the output                            can be specified: %d (device name), %v (vendor),                            %m (model), %t (type), %i (index number), and                            %n (newline) -b, --batch[=FORMAT]       working in batch mode, FORMAT is `out%d.pnm' `out%d.tif'                            `out%d.png' or `out%d.jpg' by default depending on --format                            This option is incompatible with --output-file.    --batch-start=#        page number to start naming files with     --batch-count=#        how many pages to scan in batch mode     --batch-increment=#    increase page number in filename by #     --batch-double         increment page number by two, same as                            --batch-increment=2     --batch-print          print image filenames to stdout     --batch-prompt         ask for pressing a key before scanning a page     --accept-md5-only      only accept authorization requests using md5 -p, --progress             print progress messages -o, --output-file=PATH     save output to the given file instead of stdout.                            This option is incompatible with --batch. -n, --dont-scan            only set options, don't actually scan -T, --test                 test backend thoroughly -A, --all-options          list all available backend options -h, --help                 display this help message and exit -v, --verbose              give even more status messages -B, --buffer-size=#        change input buffer size (in kB, default 32) -V, --version              print version information Output format is not set, using pnm as a default. scanimage: open of device airscan:e2:Canon MF745C/746C failed: Invalid argument Type ``scanimage --help -d DEVICE'' to get list of all options for DEVICE. List of available devices:     epson2:net:192.168.2.101 epkowa:net:192.168.2.101:1865     airscan:e0:Canon MF745C/746C airscan:w3:EPSON WF-7620 Series notice "airscan:e0:..." Addressing the scanner as "airscan:e0:..." works great. Not a big problem, I just find it kind of funny. From pzz at apevzner.com Fri Oct 23 21:33:04 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 23:33:04 +0300 Subject: [sane-devel] Strange behaviour by airscan In-Reply-To: <304cabf0-cfc8-bb35-3142-23c4fa42e79f@gmx.de> References: <304cabf0-cfc8-bb35-3142-23c4fa42e79f@gmx.de> Message-ID: Hi Andrea, On 10/23/20 11:15 PM, Andrea Croci wrote: > Addressing the scanner as "airscan:e0:..." works great. Not a big > problem, I just find it kind of funny. Well, it's a long story :-) Airscan attempts to be user-friendly, not hacker-friendly. For this purpose, it returns list of devices, not list of connection endpoints (a device may have multiple endpoints: WiFi/Ethernet, HTTP/HTTPS, eSCL/WSD, ...). Airscan attempts to list each physical device only once, regardless of how many endpoints it has. SANE requires every device to have an unique name, and DNS-SD name of the device is a natural choice. Unfortunately, there is no 100% guarantee that DNS-SD name is unique: 1. If computer connected to multiple networks (WiFi/Ethernet, for example), in theory these networks may contain devices with duplicated names 2. WSD doesn't have anything similar to DNS-SD name, its "namespace" is a space of device UUIDs. If device is visible simultaneously as DNS-SD device and WSD device, name is taken from the DNS-SD world. Otherwise, airscan fallbacks to the model name, which is also is not guaranteed to be unique across the network. To ensure uniqueness, airscan prefixes every name with a short prefix, like e1 or w2. First character comes from protocol (e == eSCL, w == WSD), small number is assigned as UNIX PID: incremented every time new device is encountered with protection against assignment of number currently in use. So this prefix depends in a order of device discovery (device, discovered first, will get smaller number). It works nice with GUI programs, that allow to choose device from a list, but may make some inconvenience for people, who uses command-line tools, like scanimage. From another hand, nobody complained so far :-) -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Sat Oct 24 22:52:44 2020 From: skelband at gmail.com (Ralph Little) Date: Sat, 24 Oct 2020 14:52:44 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 Message-ID: Hi, For a bit of fun (and a change of pace) I managed to check out a Samsung SCX-4100 multifunction laser. The supported page says that it is supported by the xerox-mfp backend. However, scanimage -L doesn't find it. The usb id is listed in xero-mfp.conf and lsusb shows it as present. However, sanei USB support says that it doesn't appear to have a scanner interface: [14:38:57.343554] [sanei_usb] libusb_scan_devices: device 0x04e8/0x3413, interface 0 doesn't look like a scanner (0/7) [14:38:57.343565] [sanei_usb] libusb_scan_devices: device 0x04e8/0x3413 at 001:006: no suitable interfaces Weird. Anyone know what the deal is with this machine? Perhaps it supports scanning with a different kind of interface, or perhaps it requires firmware to access the scanner portion? Cheers, Ralph From pzz at apevzner.com Sun Oct 25 00:04:08 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Sun, 25 Oct 2020 02:04:08 +0300 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: References: Message-ID: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> On 10/25/20 12:52 AM, Ralph Little wrote: > For a bit of fun (and a change of pace) I managed to check out a Samsung > SCX-4100 multifunction laser. What is the output of lsusb -v? -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Sun Oct 25 01:36:27 2020 From: skelband at gmail.com (Ralph Little) Date: Sat, 24 Oct 2020 17:36:27 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> Message-ID: Hi, On 2020-10-24 4:04 p.m., Alexander Pevzner wrote: > On 10/25/20 12:52 AM, Ralph Little wrote: >> For a bit of fun (and a change of pace) I managed to check out a Samsung >> SCX-4100 multifunction laser. > > What is the output of lsusb -v? > Basically printer output really. Kinda looks like the scanner is acting through the printer interface. I will try with the Windows software to make sure that it does work from that side. There is a TWAIN driver and a Windows-based software suite according to the user manual. Cheers, Ralph =================== Bus 001 Device 011: ID 04e8:3413 Samsung Electronics Co., Ltd SCX-4100 Scanner Device Descriptor:   bLength                18   bDescriptorType         1   bcdUSB               1.10   bDeviceClass            0 (Defined at Interface level)   bDeviceSubClass         0   bDeviceProtocol         0   bMaxPacketSize0         8   idVendor           0x04e8 Samsung Electronics Co., Ltd   idProduct          0x3413 SCX-4100 Scanner   bcdDevice            1.00   iManufacturer           1 Samsung   iProduct                2 Samsung SCX-4100 Series   iSerial                 3 8J61BAKY815410E   bNumConfigurations      1   Configuration Descriptor:     bLength                 9     bDescriptorType         2     wTotalLength           32     bNumInterfaces          1     bConfigurationValue     1     iConfiguration          0     bmAttributes         0xc0       Self Powered     MaxPower                0mA     Interface Descriptor:       bLength                 9       bDescriptorType         4       bInterfaceNumber        0       bAlternateSetting       0       bNumEndpoints           2       bInterfaceClass         7 Printer       bInterfaceSubClass      1 Printer       bInterfaceProtocol      2 Bidirectional       iInterface              0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x03  EP 3 OUT         bmAttributes            2           Transfer Type            Bulk           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0040  1x 64 bytes         bInterval               0       Endpoint Descriptor:         bLength                 7         bDescriptorType         5         bEndpointAddress     0x81  EP 1 IN         bmAttributes            2           Transfer Type            Bulk           Synch Type               None           Usage Type               Data         wMaxPacketSize     0x0040  1x 64 bytes         bInterval               0 Device Status:     0x0001   Self Powered Cheers, Ralph From pzz at apevzner.com Sun Oct 25 10:16:57 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Sun, 25 Oct 2020 13:16:57 +0300 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> Message-ID: <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> Hi, Strange that it have only a singe, printer bidirectional interface (class 7, proto 2). There are should be not so much devices, that have similar USB configuration. Some of their drivers may work. On 10/25/20 3:36 AM, Ralph Little wrote: > Hi, > > On 2020-10-24 4:04 p.m., Alexander Pevzner wrote: >> On 10/25/20 12:52 AM, Ralph Little wrote: >>> For a bit of fun (and a change of pace) I managed to check out a Samsung >>> SCX-4100 multifunction laser. >> >> What is the output of lsusb -v? >> > Basically printer output really. > Kinda looks like the scanner is acting through the printer interface. > I will try with the Windows software to make sure that it does work from > that side. > There is a TWAIN driver and a Windows-based software suite according to > the user manual. > > Cheers, > Ralph > > =================== > Bus 001 Device 011: ID 04e8:3413 Samsung Electronics Co., Ltd SCX-4100 > Scanner > Device Descriptor: >   bLength                18 >   bDescriptorType         1 >   bcdUSB               1.10 >   bDeviceClass            0 (Defined at Interface level) >   bDeviceSubClass         0 >   bDeviceProtocol         0 >   bMaxPacketSize0         8 >   idVendor           0x04e8 Samsung Electronics Co., Ltd >   idProduct          0x3413 SCX-4100 Scanner >   bcdDevice            1.00 >   iManufacturer           1 Samsung >   iProduct                2 Samsung SCX-4100 Series >   iSerial                 3 8J61BAKY815410E >   bNumConfigurations      1 >   Configuration Descriptor: >     bLength                 9 >     bDescriptorType         2 >     wTotalLength           32 >     bNumInterfaces          1 >     bConfigurationValue     1 >     iConfiguration          0 >     bmAttributes         0xc0 >       Self Powered >     MaxPower                0mA >     Interface Descriptor: >       bLength                 9 >       bDescriptorType         4 >       bInterfaceNumber        0 >       bAlternateSetting       0 >       bNumEndpoints           2 >       bInterfaceClass         7 Printer >       bInterfaceSubClass      1 Printer >       bInterfaceProtocol      2 Bidirectional >       iInterface              0 >       Endpoint Descriptor: >         bLength                 7 >         bDescriptorType         5 >         bEndpointAddress     0x03  EP 3 OUT >         bmAttributes            2 >           Transfer Type            Bulk >           Synch Type               None >           Usage Type               Data >         wMaxPacketSize     0x0040  1x 64 bytes >         bInterval               0 >       Endpoint Descriptor: >         bLength                 7 >         bDescriptorType         5 >         bEndpointAddress     0x81  EP 1 IN >         bmAttributes            2 >           Transfer Type            Bulk >           Synch Type               None >           Usage Type               Data >         wMaxPacketSize     0x0040  1x 64 bytes >         bInterval               0 > Device Status:     0x0001 >   Self Powered > > > Cheers, > Ralph > -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Mon Oct 26 02:23:36 2020 From: skelband at gmail.com (Ralph Little) Date: Sun, 25 Oct 2020 19:23:36 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> Message-ID: <3afd68e7-dda1-496a-6353-d93a5dbe2ad4@gmail.com> Hi, On 2020-10-25 3:16 a.m., Alexander Pevzner wrote: > Hi, > > Strange that it have only a singe, printer bidirectional interface > (class 7, proto 2). > > There are should be not so much devices, that have similar USB > configuration. Some of their drivers may work. > > On 10/25/20 3:36 AM, Ralph Little wrote: >> Hi, >> >> On 2020-10-24 4:04 p.m., Alexander Pevzner wrote: >>> On 10/25/20 12:52 AM, Ralph Little wrote: >>>> For a bit of fun (and a change of pace) I managed to check out a >>>> Samsung >>>> SCX-4100 multifunction laser. >>> >>> What is the output of lsusb -v? >>> >> Basically printer output really. >> Kinda looks like the scanner is acting through the printer interface. >> I will try with the Windows software to make sure that it does work from >> that side. >> There is a TWAIN driver and a Windows-based software suite according to >> the user manual. Well I have tried the Windows XP and 7 drivers and applications and although they can find the printer, they cannot find any scanning device. So just the same as the Linux situation which doesn't surprise me that much. I just wondered if it was doing scanning by some surreptitious means through the printer interface or by uploading some firmware. It will actually do an internal copy so the scanner actually does work. There isn't much of an interface to explore resetting. I cannot find any firmware for the machine although I can get the firmware downloading utility. I have a suspicion that the issue is with the device itself. Bit of a mystery really. Cheers, Ralph From skelband at gmail.com Tue Oct 27 03:54:00 2020 From: skelband at gmail.com (Ralph Little) Date: Mon, 26 Oct 2020 20:54:00 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> Message-ID: <6cc5c72c-88c1-a6bb-00bd-5f3f8fa32b2e@gmail.com> Hi, On 2020-10-25 3:16 a.m., Alexander Pevzner wrote: > Hi, > > Strange that it have only a singe, printer bidirectional interface > (class 7, proto 2). > > There are should be not so much devices, that have similar USB > configuration. Some of their drivers may work. > > On 10/25/20 3:36 AM, Ralph Little wrote: >> Basically printer output really. >> Kinda looks like the scanner is acting through the printer interface. >> I will try with the Windows software to make sure that it does work from >> that side. >> There is a TWAIN driver and a Windows-based software suite according to >> the user manual. >> >> Cheers, >> Ralph >> My current working theory is that someone has tried to flash the machine with a modified firmware to allow third party toner cartridges but either failed to do it properly or the firmware has been botched. I understand that there was a black market for such things for these machines. I have tried to find a stock firmware for the machine and was lead here: ftp://ftp.hp.com/pub/softlib/software13/printers/SS/ ...which appears to be a support dump from when HP acquired Samsung's printer division. Conspicuous by its absence are any files related to this particular machine :( If anyone has any ideas where I might look for the stock firmware for the SCX-4100 then I would be much obliged. Cheers, Ralph From skelband at gmail.com Tue Oct 27 05:43:19 2020 From: skelband at gmail.com (Ralph Little) Date: Mon, 26 Oct 2020 22:43:19 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> <6cc5c72c-88c1-a6bb-00bd-5f3f8fa32b2e@gmail.com> Message-ID: <8d6c0e54-2f1a-a966-da42-8ceb03ef29f1@gmail.com> Hi, On 2020-10-26 8:59 p.m., Steven Santos wrote: > Have you tried the Linux Driver from Samsung for this model?  > > https://support.hp.com/us-en/drivers/selfservice/samsung-scx-4100-laser-multifunction-printer-series/20487163 > Well I downloaded it and gave it a try. scanimage -L finds this: device `smfp:usb;04e8;3413;8J61BAKY815410E ' is a Samsung SCX-4100 Series on USB Scanner However, any activity (as a normal user and as root) gives: scanimage: open of device smfp:usb;04e8;3413;8J61BAKY815410E  failed: Device busy I assume that is the backend's way of saying that it cannot find the interface. :( I guess it finds the USB id, without checkout out the interface configuration. Well it was worth a try, thanks. Someone else had the same experience: https://www.linuxquestions.org/questions/linux-hardware-18/problems-getting-my-samsung-scx-4100-to-run-as-a-scanner-4175580955/ I'm starting to see a pattern with this machine. Cheers, Ralph From trucsdivers95 at gmail.com Thu Oct 1 20:42:17 2020 From: trucsdivers95 at gmail.com (marick mathis) Date: Thu, 01 Oct 2020 19:42:17 -0000 Subject: [sane-devel] copier machine scanners not detected for A3 ADF auto document feeder Message-ID: https://ubuntuforums.org/showthread.php?t=2451321&p=13989838#post13989838 http://forums.debian.net/viewtopic.php?f=7&t=147524 https://www.kubuntuforums.net/showthread.php/77367-copier-machine-scanners-not-detected-for-A3-ADF-auto-document-feeder?p=440905#post440905 https://forum.kde.org/viewtopic.php?f=15&t=168091 https://askubuntu.com/questions/1279245/copier-machine-scanners-not-detected-for-a3-adf-auto-document-feeder Hi i have an issue, I just throwed it into as many forums as possible, I'd be glad if you could help on the one you prefer, regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From jens.wulf at malsfeld.de Tue Oct 20 16:45:31 2020 From: jens.wulf at malsfeld.de (Jens Wulf) Date: Tue, 20 Oct 2020 17:45:31 +0200 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages Message-ID: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> I tried to scan 3 pages with: scanimage -b --format=tiff --mode Color --resolution 300dpi --source "ADF Duplex" --buffermode On I get: Scanning page 1 Scanned page 1. (scanner status = 5) Scanning page 2 Scanned page 2. (scanner status = 5) Scanning page 3 scanimage: sane_read: Error during device I/O Scanned page 3. (scanner status = 9) The scanner stops after 2nd page and blinks orange until power off. Does anyone have a hint for me? Jens From kitno455 at gmail.com Tue Oct 27 11:51:18 2020 From: kitno455 at gmail.com (m. allan noah) Date: Tue, 27 Oct 2020 07:51:18 -0400 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages In-Reply-To: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> References: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> Message-ID: If you stop using buffermode, does the problem also stop? allan On Tue, Oct 27, 2020 at 7:45 AM Jens Wulf wrote: > > I tried to scan 3 pages with: > scanimage -b --format=tiff --mode Color --resolution 300dpi --source "ADF Duplex" --buffermode On > I get: > Scanning page 1 > Scanned page 1. (scanner status = 5) > Scanning page 2 > Scanned page 2. (scanner status = 5) > Scanning page 3 > scanimage: sane_read: Error during device I/O > Scanned page 3. (scanner status = 9) > > The scanner stops after 2nd page and blinks orange until power off. > > Does anyone have a hint for me? > > Jens > -- "well, I stand up next to a mountain- and I chop it down with the edge of my hand" From strredwolf at gmail.com Tue Oct 27 11:57:44 2020 From: strredwolf at gmail.com (Kelly Price) Date: Tue, 27 Oct 2020 07:57:44 -0400 Subject: [sane-devel] Canon LiDE400 In-Reply-To: References: Message-ID: First of all... have you updated to the latest? You should have been auto-switched to the SANE Project's PPA now. That said, I think that's a "feature" of all the LiDE's. Let me check my LiDE 220... (scans in a Staedtler 6" ruler...) Yeah, there's a <1mm border that doesn't get scanned in. I'll check off my Windows PC but I've always had a cut-off at the bottom on even the LiDE 30's, so I'm not surprised it carried over. Plus... under 1mm? For what I'm scanning, it really doesn't matter. On Tue, Oct 27, 2020 at 7:45 AM Lee Dunbar wrote: > > SANE website proclaims this model is supported by Pixma back end, isn't supported by Pixma alone, I get the scanner to work using Rolf Bensch ppa. > > When scanning any document, the captured area is not the complete platen area. Might be foo in the hardware, not certain. > > From left to right, at the target corner, I lose about 1.5 to 2 mm from target side, havent explored opposite side limits. > > From top to bottom, I lose about 1.5 to 2 mm from target top edge, I lose maybe 5 mm from bottom of platen (the end which is opposite top). > > Would love to try any config file edits, if any, to assist, name the file and path, and suggest lines to be edited. -- Kelly "STrRedWolf" Price http://redwolf.ws From AxelMD at gmx.de Wed Oct 28 06:37:30 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 07:37:30 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden Message-ID: Hallo, kann mir jemand behilflich sein? https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden Vielen Dank Viele Grüße AxelMD From jiweigert at gmail.com Wed Oct 28 09:03:12 2020 From: jiweigert at gmail.com (=?UTF-8?B?SsO2cm4tSW5nbyBXZWlnZXJ0?=) Date: Wed, 28 Oct 2020 10:03:12 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: Hallo Axel, welchen Typ (Marke/ Modell) von Netzwerkscanner setzt Du ein? Einige Modelle setzen bestimmte Protokolle voraus um überhaupt gefunden zu werden von ihren eigenen Treibern. Ist der Netzwerkscanner Teil eines Kopierer / AIO-Druckers oder nur ein Standalone-Scanner? Und welche Version von Sane bzw. sane-backends setzt Du ein? Mit freundlichen Grüßen, Jörn-Ingo Weigert schrieb am Mi., 28. Okt. 2020, 07:50: > Hallo, kann mir jemand behilflich sein? > > https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 > > Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden > > > > Vielen Dank > > Viele Grüße > > AxelMD > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AxelMD at gmx.de Wed Oct 28 09:11:40 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 10:11:40 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jiweigert at gmail.com Wed Oct 28 09:36:26 2020 From: jiweigert at gmail.com (=?UTF-8?B?SsO2cm4tSW5nbyBXZWlnZXJ0?=) Date: Wed, 28 Oct 2020 10:36:26 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: Auf dem Scanserver mit Debian 10 wird der Scanner mit scan-image -L gefunden oder nur mit sudo scan-image -L? schrieb am Mi., 28. Okt. 2020, 10:11: > > Hallo Jörg und die Mailingliste, > > ich setze ein: > > ### > sudo scanimage -L > device `net:192.168.178.163 #p5915 SCSI Scanner:snapscan:/dev/sg3' is a > AGFA SNAPSCAN 310 flatbed scanner > ### > > Der Scanner wird mit Debian 9 Stretch auf dem Scanserver im Netzwerk > gefunden. > > Der Scanner wird, wenn Dibian 10 Buster auf Scanserver installiert ist im > Netzwerk nicht gefunden. > > Hoffentlich habe ich jetzt richtig in der Mailingliste geantwortet. > > Danke für eure Hilfe. > > VG > AxelMD > > > > *Gesendet:* Mittwoch, 28. Oktober 2020 um 10:03 Uhr > *Von:* "Jörn-Ingo Weigert" > *An:* "Sane Development" > *Betreff:* [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden > Hallo Axel, > welchen Typ (Marke/ Modell) von Netzwerkscanner setzt Du ein? > > Einige Modelle setzen bestimmte Protokolle voraus um überhaupt gefunden zu > werden von ihren eigenen Treibern. > > Ist der Netzwerkscanner Teil eines Kopierer / AIO-Druckers oder nur ein > Standalone-Scanner? > > Und welche Version von Sane bzw. sane-backends setzt Du ein? > > Mit freundlichen Grüßen, > > Jörn-Ingo Weigert > > schrieb am Mi., 28. Okt. 2020, 07:50: > >> Hallo, kann mir jemand behilflich sein? >> >> https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 >> >> Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden >> >> >> >> Vielen Dank >> >> Viele Grüße >> >> AxelMD >> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AxelMD at gmx.de Wed Oct 28 09:45:46 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 10:45:46 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jiweigert at gmail.com Wed Oct 28 10:10:35 2020 From: jiweigert at gmail.com (=?UTF-8?B?SsO2cm4tSW5nbyBXZWlnZXJ0?=) Date: Wed, 28 Oct 2020 11:10:35 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: Ist der User auf dem Client, auf dem Debian 10 installiert ist, in der gleichen Usergruppe (scanner) wie der Saned service? Auf einem ähnlichen System behalf ich mir mit dem anlegen einer scan-servers.conf unterhalb von /etc/sane/ Mit der IP-Adresse des Scanservers als Inhalt. Das oben Letzt genannte ist mit Sicherheit nicht vollständig und korrekt, da ich mom. unterwegs bin. Vielleicht kurz danach im Internet suchen.. Grüße. Ingo Weigert schrieb am Mi., 28. Okt. 2020, 10:45: > Debian 9 Stretch > - Der Scanserverver arbeitet mit Debian 9 einwandfrei, die Clients finden > den Scanner. > > ### Problme ### Debian 10 Buster ### Problem ### > - Der Scanner wird mit "scanimage -L", eingegeben direkt im Terminal der > Scanservers gefunden und kann genutzt werden > - Die freigebenen Clients im Netwerk finden den Scanner nicht. > > Hier sind die erfolgten Tests dokumentiert: > > https://debianforum.de/forum/viewtopic.php?f=30&t=176958 > > https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 > *Gesendet:* Mittwoch, 28. Oktober 2020 um 10:36 Uhr > *Von:* "Jörn-Ingo Weigert" > *An:* AxelMD at gmx.de > *Cc:* "Sane Development" > *Betreff:* Re: [sane-devel] Debian 10 - Netzwerkscanner wird nicht > gefunden > Auf dem Scanserver mit Debian 10 wird der Scanner mit > scan-image -L gefunden > oder nur mit > sudo scan-image -L? > > schrieb am Mi., 28. Okt. 2020, 10:11: > >> >> Hallo Jörg und die Mailingliste, >> >> ich setze ein: >> >> ### >> sudo scanimage -L >> device `net:192.168.178.163 #p5915 SCSI Scanner:snapscan:/dev/sg3' is a >> AGFA SNAPSCAN 310 flatbed scanner >> ### >> >> Der Scanner wird mit Debian 9 Stretch auf dem Scanserver im Netzwerk >> gefunden. >> >> Der Scanner wird, wenn Dibian 10 Buster auf Scanserver installiert ist im >> Netzwerk nicht gefunden. >> >> Hoffentlich habe ich jetzt richtig in der Mailingliste geantwortet. >> >> Danke für eure Hilfe. >> >> VG >> AxelMD >> >> >> >> *Gesendet:* Mittwoch, 28. Oktober 2020 um 10:03 Uhr >> *Von:* "Jörn-Ingo Weigert" >> *An:* "Sane Development" >> *Betreff:* [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden >> Hallo Axel, >> welchen Typ (Marke/ Modell) von Netzwerkscanner setzt Du ein? >> >> Einige Modelle setzen bestimmte Protokolle voraus um überhaupt gefunden >> zu werden von ihren eigenen Treibern. >> >> Ist der Netzwerkscanner Teil eines Kopierer / AIO-Druckers oder nur ein >> Standalone-Scanner? >> >> Und welche Version von Sane bzw. sane-backends setzt Du ein? >> >> Mit freundlichen Grüßen, >> >> Jörn-Ingo Weigert >> >> schrieb am Mi., 28. Okt. 2020, 07:50: >> >>> Hallo, kann mir jemand behilflich sein? >>> >>> >>> https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 >>> >>> Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden >>> >>> >>> >>> Vielen Dank >>> >>> Viele Grüße >>> >>> AxelMD >>> >>> >> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AxelMD at gmx.de Wed Oct 28 10:34:58 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 11:34:58 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jens.wulf at malsfeld.de Tue Oct 27 13:04:00 2020 From: jens.wulf at malsfeld.de (Jens Wulf) Date: Tue, 27 Oct 2020 14:04:00 +0100 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages In-Reply-To: References: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> Message-ID: <584e9f22-72d1-cc20-af84-b53b85c86177@malsfeld.de> Am 27.10.2020 um 12:51 schrieb m. allan noah: > If you stop using buffermode, does the problem also stop? > > allan yes, that helps, thank you for the hint. I thought buffermode helped with the Speed-Problem, but it was the 300dpi setting. When changing this to 600dpi the scanner works really slow. From kitno455 at gmail.com Wed Oct 28 12:24:46 2020 From: kitno455 at gmail.com (m. allan noah) Date: Wed, 28 Oct 2020 08:24:46 -0400 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages In-Reply-To: <584e9f22-72d1-cc20-af84-b53b85c86177@malsfeld.de> References: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> <584e9f22-72d1-cc20-af84-b53b85c86177@malsfeld.de> Message-ID: Several years ago, I had a bug report about buffermode problems with this scanner. it is possible that there are some hardware limitations here. You might see if buffermode works at lower resolutions like 100. High resolutions are generally slower, much more data is being collected. allan On Wed, Oct 28, 2020 at 8:17 AM Jens Wulf wrote: > > Am 27.10.2020 um 12:51 schrieb m. allan noah: > > If you stop using buffermode, does the problem also stop? > > > > allan > > yes, that helps, thank you for the hint. > I thought buffermode helped with the Speed-Problem, but it was the 300dpi setting. > When changing this to 600dpi the scanner works really slow. > -- "well, I stand up next to a mountain- and I chop it down with the edge of my hand" From AxelMD at gmx.de Wed Oct 28 14:13:08 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 15:13:08 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden Message-ID: Testnachricht html oder txt From AxelMD at gmx.de Wed Oct 28 19:31:44 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 20:31:44 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden Message-ID: Der User auf dem Client kann, wenn auf dem Scanserver Debian 9 Stretch installiert ist den Scanner über das Netzwerk nutzen. Wechsel, Upgrade: Debian 9 ----> Debian 10 Ist auf dem Scanserver Debian 10 Buster installiert, kann der User vom Client im Netzwerk den Netzwerk-Scanner nicht finden. Der Scanner (Netzwerk-Scanner) kann jedoch auf dem Scanserver direkt genutzt werden. Siehe auch hier: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=950646 Kann sane-backends/1.0.31-2 aus Testing die Lösung sein? Wenn ja, wie installiere ich es sauber? In den Backports ist sane-backends/1.0.31-2 nicht enthalten. From jffry at posteo.net Sat Oct 31 20:55:18 2020 From: jffry at posteo.net (Jeff) Date: Sat, 31 Oct 2020 21:55:18 +0100 Subject: [sane-devel] gscan2pdf v2.10.0 released Message-ID: <617bf003-e5be-e98b-89dd-620ef4ca53c0@posteo.net> gscan2pdf - A GUI to produce a multipage PDF or DjVu from a scan. http://gscan2pdf.sourceforge.net/ Five clicks are required to scan several pages and then save all or a selection as a PDF or DjVu file, including metadata if required. gscan2pdf can control regular or sheet-fed (ADF) scanners with SANE via libimage-sane-perl, scanimage or scanadf, and can scan multiple pages at once. It presents a thumbnail view of scanned pages, and permits simple operations such as cropping, rotating and deleting pages. OCR can be used to recognise text in the scans, and the output embedded in the PDF or DjVu. PDF conversion is done by PDF::API2. The resulting document may be saved as a PDF, DjVu, multipage TIFF file, or single page image file. Changelog for 2.10.0: * Switch from PDF::API2 to PDF::Builder to improve TIFF handling and compression options. Closes Debian bugs 602486 (heavily distored scans) and 703768 (parts of the page translated to the right, black border) * Switch from internal image viewer to Gtk3::ImageView (based on internal image viewer) * Update to German translation (thanks to Eugen Artus) * Update to Ukrainian translation (thanks to Yuri Chornoivan) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: From paddy-hack at member.fsf.org Thu Oct 1 12:39:21 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Thu, 01 Oct 2020 20:39:21 +0900 Subject: [sane-devel] Rebase In-Reply-To: References: <20200930204719.GA870@kunai> Message-ID: <87tuve89au.fsf@quark> Hi Ralph, Ralph Little writes: > Hi, > > On Wed, Sep 30, 2020 at 1:47 PM Wolfram Sang wrote: > >> Hi Ralph, >> >> > I have an issue branch that now has conflicts with master. >> > I have not had a lot of experience with rebasing, but I read somewhere that >> > rebasing is not recommended if you have pushed changes to origin because of >> > the dangers of someone else working on the branch. ACK. Only if you don't a farthing about the trouble you're causing folks working off your published branch is it okay to rebase a branch and force push. That said, chances there are such people are slim :-) >> I am still new to SANE, but from my Kernel experience: >> >> If you pushed a branch to the public and other people use the branch to >> work on top of that, then rebasing is indeed a bad idea. If not, then >> just rebase. Which branch is it? >> >> It is 264-canon-pixma-mx492-adf-issue. > > AFAICS I am the only one to work on this branch, so I suspect that rebasing > will be OK. I'd check with the pixma backend's new maintainer, hi Povilas!, and Louis just to make sure but what is the argument for not wanting to merge master into your branch instead? BTW, I know for a fact that the old maintainer occasionally rebased. > Just really looking for perspectives for the SANE project. > I suspect different projects have views on this subject. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From skelband at gmail.com Thu Oct 1 15:36:47 2020 From: skelband at gmail.com (Ralph Little) Date: Thu, 1 Oct 2020 07:36:47 -0700 Subject: [sane-devel] Rebase In-Reply-To: <87tuve89au.fsf@quark> References: <20200930204719.GA870@kunai> <87tuve89au.fsf@quark> Message-ID: Hi, On 2020-10-01 4:39 a.m., Olaf Meeuwissen wrote: > Hi Ralph, > > Ralph Little writes: > > AFAICS I am the only one to work on this branch, so I suspect that rebasing > will be OK. > I'd check with the pixma backend's new maintainer, hi Povilas!, and > Louis just to make sure but what is the argument for not wanting to > merge master into your branch instead? > > BTW, I know for a fact that the old maintainer occasionally rebased. > It was Rolf's suggestion to rebase or merge. I have not rebased to a public git server before so I wanted to garner some opinion and advice. My preference for rebasing in this case would be to compress a rather long running branch to make review easier and to keep the branch clean. There are further fixes to push to the branch before it is merged back to master. For my testing of the branch, I do need to get some changes from master into it that relate to the imageClass machine that I have. Cheers, Ralph From netukar201409+sane at mailbox.org Fri Oct 2 08:55:57 2020 From: netukar201409+sane at mailbox.org (netukar201409+sane at mailbox.org) Date: Fri, 2 Oct 2020 09:55:57 +0200 Subject: [sane-devel] Fwd: book scanner recognized as v4l device - Invalid argument VIDIOCSPICT Message-ID: <6363f42f-94f4-7fef-37c2-a42cb7979095@mailbox.org> Hi, thank you for the hint with the colon. Now the scanimage command gives the following output: SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 Output format is not set, using pnm as a default. [08:32:10.656977] [sanei_debug] Setting debug level of v4l to 128. [08:32:10.657002] [v4l] SANE v4l backend version 1.0 build 5 from sane-backends 1.0.30-970-gd00af49e3 [08:32:10.657090] [v4l] attach: trying to open /dev/bttv0 [08:32:10.657114] [v4l] attach: failed to open device `/dev/bttv0': No such file or directory [08:32:10.657122] [v4l] attach: trying to open /dev/video0 [08:32:10.671591] [v4l] attach: found videodev `USB2.0 HD UVC WebCam: USB2.0 HD' on `/dev/video0' [08:32:10.671713] [v4l] attach: trying to open /dev/video1 [08:32:10.671913] [v4l] attach: failed to open device `/dev/video1': Invalid argument [08:32:10.671930] [v4l] attach: trying to open /dev/video2 [08:32:10.675048] [v4l] attach: found videodev `JY-VP216: JY-VP216' on `/dev/video2' [08:32:10.675089] [v4l] attach: trying to open /dev/video3 [08:32:10.675110] [v4l] attach: failed to open device `/dev/video3': No such file or directory [08:32:10.675130] [v4l] sane_open: device /dev/video2 found in devlist [08:32:10.678262] [v4l] sane_open: 1 channels, 0 audio devices [08:32:10.678296] [v4l] sane_open: minwidth=1280, minheight=720, maxwidth=4896, maxheight=3672 [08:32:10.678308] [v4l] sane_open: V4L device can capture to memory [08:32:10.678333] [v4l] sane_open: channel 0 (Camera 1), tuners=0, flags=0x0, type=2, norm=0 [08:32:10.678362] [v4l] sane_open: input is camera input [08:32:10.679064] [v4l] sane_open: brightness=26214, hue=0, colour=30583, contrast=34952 [08:32:10.679076] [v4l] sane_open: whiteness=0, depth=24, palette=4 [08:32:10.679525] [v4l] sane_open: ioctl VIDIOCSPICT failed (Invalid argument) [08:32:10.679536] [v4l] sane_open: x=0, y=0, width=2048, height=1536 [08:32:10.679548] [v4l] sane_get_option_descriptor: option 0 (Number of options) [08:32:10.679557] [v4l] sane_control_option: get option 0 (Number of options) [08:32:10.679588] [v4l] sane_get_option_descriptor: option 0 (Number of options) [08:32:10.679597] [v4l] sane_control_option: get option 0 (Number of options) [08:32:10.679606] [v4l] sane_get_option_descriptor: option 1 (Scan Mode) [08:32:10.679615] [v4l] sane_get_option_descriptor: option 2 (mode) [08:32:10.679625] [v4l] sane_get_option_descriptor: option 3 (channel) [08:32:10.679635] [v4l] sane_get_option_descriptor: option 4 (Geometry) [08:32:10.679645] [v4l] sane_get_option_descriptor: option 5 (tl-x) [08:32:10.679656] [v4l] sane_get_option_descriptor: option 6 (tl-y) [08:32:10.679665] [v4l] sane_get_option_descriptor: option 7 (br-x) [08:32:10.679675] [v4l] sane_get_option_descriptor: option 8 (br-y) [08:32:10.679685] [v4l] sane_get_option_descriptor: option 9 (Enhancement) [08:32:10.679697] [v4l] sane_get_option_descriptor: option 10 (brightness) [08:32:10.679706] [v4l] sane_get_option_descriptor: option 11 (hue) [08:32:10.679716] [v4l] sane_get_option_descriptor: option 12 (color) [08:32:10.679726] [v4l] sane_get_option_descriptor: option 13 (contrast) [08:32:10.679736] [v4l] sane_get_option_descriptor: option 14 (white-level) [08:32:10.679746] [v4l] sane_control_option: get option 7 (br-x) [08:32:10.679756] [v4l] sane_control option: option is inactive [08:32:10.679766] [v4l] sane_control_option: get option 5 (tl-x) [08:32:10.679776] [v4l] sane_control option: option is inactive [08:32:10.679785] [v4l] sane_control_option: get option 8 (br-y) [08:32:10.679796] [v4l] sane_control option: option is inactive [08:32:10.679805] [v4l] sane_control_option: get option 6 (tl-y) [08:32:10.679815] [v4l] sane_control option: option is inactive [08:32:10.679827] [v4l] sane_control_option: get option 5 (tl-x) [08:32:10.679837] [v4l] sane_control option: option is inactive [08:32:10.679847] [v4l] sane_get_option_descriptor: option 7 (br-x) scanimage: ignored request to set inactive option br-x [08:32:10.679860] [v4l] sane_control_option: get option 6 (tl-y) [08:32:10.679870] [v4l] sane_control option: option is inactive [08:32:10.679880] [v4l] sane_get_option_descriptor: option 8 (br-y) scanimage: ignored request to set inactive option br-y scanimage: output is not a file, exiting [08:32:10.679903] [v4l] sane_close: trying to close handle 0x55fd2b1e8220 [08:32:10.679922] [v4l] sane_exit: all devices freed Regards, --- Michael Dittmer FSFE fellower Am 2020-09-27 um 10:47 schrieb Olaf Meeuwissen: > Hi, > > netukar201409+sane at mailbox.org writes: > >> Hi, >> >> thank you for your hints. I reconnected the book scanner and was now >> recognized as video2. > The number is likely to change between power-cycling of the device. > >> scanimage --list-devices >> device `v4l:/dev/video2' is a Noname JY-VP216: JY-VP216 virtual device >> device `v4l:/dev/video0' is a Noname USB2.0 HD UVC WebCam: USB2.0 HD >> virtual device >> >> Then I tried >> >> scanimage -d v4l:/dev/video2 --help --all-options >> >> with result >> >> Usage: scanimage [OPTION]... >> Start image acquisition on a scanner device and write image data to >> standard output. >> [...] >> Options specific to device `v4l:/dev/video2': >> Scan Mode: >> --mode Gray|Color [Gray] >> Selects the scan mode (e.g., lineart, monochrome, or color). >> --channel Camera 1 [inactive] >> Selects the channel of the v4l device (e.g. television or video-in. >> Geometry: >> -l 0..-513pel (in steps of 1) [inactive] >> Top-left x position of scan area. >> -t 0..-209pel (in steps of 1) [inactive] >> Top-left y position of scan area. >> -x 1280..767pel (in steps of 1) [inactive] >> Width of scan-area. >> -y 720..511pel (in steps of 1) [inactive] >> Height of scan-area. >> Enhancement: >> --brightness 0..255 [102] >> Controls the brightness of the acquired image. >> --hue 0..255 [0] >> Controls the "hue" (blue-level) of the acquired image. >> --color 0..255 [119] >> Sets the picture's color. >> --contrast 0..255 [136] >> Controls the contrast of the acquired image. >> --white-level 0..255 [0] >> Selects what radiance level should be considered "white". >> >> All options specific to device `v4l:/dev/video2': >> [same output ...] >> >> Geometry settings seem not to be supported by V4L module. >> >> I also tried successlessly >> >> SANE_DEBUG_V4L=128 scanimage -v -d v4l*/dev/video2 >> Output format is not set, using pnm as a default. >> scanimage: open of device v4l*/dev/video2 failed: Invalid argument > Is that asterisk a typo in your command? It should be a colon. > > Whoops, I now see that typo was in my suggestion. Sorry. > # That's what I get for mixing Japanese and US ASCII keyboards. > >> Regards, >> >> --- >> >> Michael Dittmer >> >> FSFE fellower >> >> Am 2020-09-06 um 08:18 schrieb Olaf Meeuwissen: >>> Hi, >>> >>> Suggestions inlined below. >>> >>> netukar201409+sane at mailbox.org writes: >>> >>>> ---------- Urspr?ngliche Nachricht ---------- >>>> Von: Michael Dittmer >>>> An:"sane-devel at alioth-lists.debian.net" >>>> >>>> Datum: 23.08.2020 12:00 >>>> Betreff: book scanner recognized as v4l device >>>> >>>> I bought a book scanner >>>> >>>> JOURIST BT16 >>>> >>>> from a german dealer >>>> >>>> looks like: >>>> http://www.scanner.expert/de/images/products/buchscanner/description/5_JOURIST_Buchscanner_BS16_Standalone.jpg >>>> >>>> >>>> It takes photos from the pages with a camera like a CZUR book >>>> scanner. My bookscanner camera also can be opened by >>>> >>>> guvcview >>>> >>>> It has maximum resolution of >>>> >>>> 4608x3456 >>>> >>>> pixels for A3 scan (resolution can be selected by gucview and is shown >>>> later when starting xsane). >>>> >>>> When I plug it onto a usb port, several devices are recognized (dmesg >>>> output) >>>> >>>> [...] >>>> >>>> All book scanner manufacturers seem to deliver only twain drivers. So >>>> I tried to handle the scanner as an generic v4l device >>>> >>>> My linux mint 19.3 (based on Ubuntu 18.04) distribution has a sane >>>> backend package (1.0.27) without compiled v4l backend. >>>> After compiling current 1.0.30 sources with v4l-dev libraries I >>>> obtained the v4l backend >>>> >>>> scanimage --list-devices >>>> device `v4l:/dev/video3' is a Noname JY-VP216: JY-VP216 virtual device >>>> >>>> but xsane and scanimage are not able to perform scan ("illegal argument") >>> Check the supported settings and allowed values with >>> >>> scanimage -d v4l:/dev/video3 --help --all-options >>> >>>> SANE_DEBUG_SANEI_USB=4 scanimage -v -d v4l:/dev/video3 --format tiff > output.tif >>>> scanimage: ignored request to set inactive option br-x >>>> scanimage: ignored request to set inactive option br-y >>>> scanimage: sane_start: Invalid argument >>> Try >>> >>> SANE_DEBUG_V4L=128 scanimage -v -d v4l*/dev/video3 >>> >>> and see if that sheds any light upon your issue. >>> >>>> Another program >>>> >>>> simple scan >>>> >>>> from Ubuntu distribution is able to scan into pdf with 1600x1200 pixel >>>> but not with maximum resolution. >>>> >>>> It seems for me that the v4l backend has to support higher >>>> resolutions, like 4608x3456 e.g. > Hope this helps, > -- > Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 > GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 > Support Free Softwarehttps://my.fsf.org/donate > Join the Free Software Foundationhttps://my.fsf.org/join From anton.khabbaz at gmail.com Fri Oct 2 18:29:54 2020 From: anton.khabbaz at gmail.com (Anton Khabbaz) Date: Fri, 2 Oct 2020 13:29:54 -0400 Subject: [sane-devel] Thank you for the help with Canon TS9120 Message-ID: Dear Alexander and Theirry, Last April you helped me install a canon scanner on my Ubuntu 18.04 distribution. I just wanted to Thank you for your help. I was able to install it again on the another computer. This time I never installed any sane backends, just airscan from the github website. I followed the instructions there and it worked. Under /etc/sane.d/ has all the .conf files and this time I see no conf file for ecsl. Thank you for your help, Anton -------------- next part -------------- An HTML attachment was scrubbed... URL: From wsa at kernel.org Sat Oct 3 06:55:10 2020 From: wsa at kernel.org (Wolfram Sang) Date: Sat, 3 Oct 2020 07:55:10 +0200 Subject: [sane-devel] Is any developer interested in getting a canon dr-2020u scanner? In-Reply-To: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> References: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> Message-ID: <20201003055510.GA992@kunai> Hi, > I am from Germany/Munich so I am preferably looking for some one from > Germany (would send it for free) or maybe otherwise from Europe (depends on > shipping costs/probably also for free). > > Is anyone interested? Well, since nobody else replied so far, I would have a try. I can check if the scanner uses some already implementend backend and can adapt the backend if needed. SANE wiki mentions GL84x. I don't have the bandwidth to create a new backend from scratch, though. I live in Germany, so that would fit. If I can't get anywhere, I will send the scanner to other interested developers, of course. So, if you think that fits, just contact me. Thanks and happy hacking, Wolfram -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From colibri at mailbox.org Sat Oct 3 07:33:34 2020 From: colibri at mailbox.org (colibri) Date: Sat, 3 Oct 2020 08:33:34 +0200 Subject: [sane-devel] Is any developer interested in getting a canon dr-2020u scanner? In-Reply-To: <20201003055510.GA992@kunai> References: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> <20201003055510.GA992@kunai> Message-ID: <27a83fa7-3847-4933-03d5-2477c97cf26b@mailbox.org> Hi, thank you for your offer, but in fact I was contacted by Povilas already. He didn't send me his address yet. I am not sure if I messed up my reply or him just being busy. So I probably should wait a little bit longer but if he is not interested anymore I am going to send it to you. Best regards, Roman > Hi, > >> I am from Germany/Munich so I am preferably looking for some one from >> Germany (would send it for free) or maybe otherwise from Europe (depends on >> shipping costs/probably also for free). >> >> Is anyone interested? > > Well, since nobody else replied so far, I would have a try. > > I can check if the scanner uses some already implementend backend and > can adapt the backend if needed. SANE wiki mentions GL84x. I don't have > the bandwidth to create a new backend from scratch, though. > > I live in Germany, so that would fit. If I can't get anywhere, I will > send the scanner to other interested developers, of course. > > So, if you think that fits, just contact me. > > Thanks and happy hacking, > > Wolfram > From wsa at kernel.org Sat Oct 3 07:56:45 2020 From: wsa at kernel.org (Wolfram Sang) Date: Sat, 3 Oct 2020 08:56:45 +0200 Subject: [sane-devel] Is any developer interested in getting a canon dr-2020u scanner? In-Reply-To: <27a83fa7-3847-4933-03d5-2477c97cf26b@mailbox.org> References: <4cb09c9e-8c47-240a-4a99-9240efc3ebfd@mailbox.org> <20201003055510.GA992@kunai> <27a83fa7-3847-4933-03d5-2477c97cf26b@mailbox.org> Message-ID: <20201003065645.GB992@kunai> > So I probably should wait a little bit longer but if he is not interested > anymore I am going to send it to you. Sure, let's hope he will send the address. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: not available URL: From pimvantend at yahoo.com Sat Oct 3 11:09:45 2020 From: pimvantend at yahoo.com (Pim van Tend) Date: Sat, 3 Oct 2020 10:09:45 +0000 (UTC) Subject: [sane-devel] Fwd: book scanner recognized as v4l device - Invalid argument VIDIOCSPICT In-Reply-To: <6363f42f-94f4-7fef-37c2-a42cb7979095@mailbox.org> References: <6363f42f-94f4-7fef-37c2-a42cb7979095@mailbox.org> Message-ID: <1539062657.1358446.1601719785186@mail.yahoo.com> SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 >myfirstscan.pnm is the command to write your scan to myfirstscan.pnm Without the >-clause scanimage refuses to work. If you just want to experiment without looking at tje scan, usr >/dev/null -------------- next part -------------- An HTML attachment was scrubbed... URL: From yo35 at melix.net Sun Oct 4 17:31:34 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Sun, 4 Oct 2020 18:31:34 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working Message-ID: Hi, I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- not recognized by SANE. I've seen on the device list page that testers are needed for this device, so I would be happy to test what need to be tested in order to have this thing work properly. Please find attached the output of command 'sudo sane-find-scanner -v -v'. Regards, Y. -------------- next part -------------- This is sane-find-scanner from sane-backends 1.0.29 # 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. searching for SCSI scanners: checking /dev/scanner... failed to open (Invalid argument) checking /dev/sg0... failed to open (Invalid argument) checking /dev/sg1... failed to open (Invalid argument) checking /dev/sg2... failed to open (Invalid argument) checking /dev/sg3... failed to open (Invalid argument) checking /dev/sg4... failed to open (Invalid argument) checking /dev/sg5... failed to open (Invalid argument) checking /dev/sg6... failed to open (Invalid argument) checking /dev/sg7... failed to open (Invalid argument) checking /dev/sg8... failed to open (Invalid argument) checking /dev/sg9... failed to open (Invalid argument) checking /dev/sga... failed to open (Invalid argument) checking /dev/sgb... failed to open (Invalid argument) checking /dev/sgc... failed to open (Invalid argument) checking /dev/sgd... failed to open (Invalid argument) checking /dev/sge... failed to open (Invalid argument) checking /dev/sgf... failed to open (Invalid argument) checking /dev/sgg... failed to open (Invalid argument) checking /dev/sgh... failed to open (Invalid argument) checking /dev/sgi... failed to open (Invalid argument) checking /dev/sgj... failed to open (Invalid argument) checking /dev/sgk... failed to open (Invalid argument) checking /dev/sgl... failed to open (Invalid argument) checking /dev/sgm... failed to open (Invalid argument) checking /dev/sgn... failed to open (Invalid argument) checking /dev/sgo... failed to open (Invalid argument) checking /dev/sgp... failed to open (Invalid argument) checking /dev/sgq... failed to open (Invalid argument) checking /dev/sgr... failed to open (Invalid argument) checking /dev/sgs... failed to open (Invalid argument) checking /dev/sgt... failed to open (Invalid argument) checking /dev/sgu... failed to open (Invalid argument) checking /dev/sgv... failed to open (Invalid argument) checking /dev/sgw... failed to open (Invalid argument) checking /dev/sgx... failed to open (Invalid argument) checking /dev/sgy... failed to open (Invalid argument) checking /dev/sgz... failed to open (Invalid argument) # No SCSI scanners found. If you expected something different, make sure that # you have loaded a kernel SCSI driver for your SCSI adapter. searching for USB scanners: checking /dev/usb/scanner... failed to open (Invalid argument) checking /dev/usb/scanner0... failed to open (Invalid argument) checking /dev/usb/scanner1... failed to open (Invalid argument) checking /dev/usb/scanner2... failed to open (Invalid argument) checking /dev/usb/scanner3... failed to open (Invalid argument) checking /dev/usb/scanner4... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner7... failed to open (Invalid argument) checking /dev/usb/scanner8... failed to open (Invalid argument) checking /dev/usb/scanner9... failed to open (Invalid argument) checking /dev/usb/scanner10... failed to open (Invalid argument) checking /dev/usb/scanner11... failed to open (Invalid argument) checking /dev/usb/scanner12... failed to open (Invalid argument) checking /dev/usb/scanner13... failed to open (Invalid argument) checking /dev/usb/scanner14... failed to open (Invalid argument) checking /dev/usb/scanner15... failed to open (Invalid argument) checking /dev/usbscanner... failed to open (Invalid argument) checking /dev/usbscanner0... failed to open (Invalid argument) checking /dev/usbscanner1... failed to open (Invalid argument) checking /dev/usbscanner2... failed to open (Invalid argument) checking /dev/usbscanner3... failed to open (Invalid argument) checking /dev/usbscanner4... failed to open (Invalid argument) checking /dev/usbscanner5... failed to open (Invalid argument) checking /dev/usbscanner6... failed to open (Invalid argument) checking /dev/usbscanner7... failed to open (Invalid argument) checking /dev/usbscanner8... failed to open (Invalid argument) checking /dev/usbscanner9... failed to open (Invalid argument) checking /dev/usbscanner10... failed to open (Invalid argument) checking /dev/usbscanner11... failed to open (Invalid argument) checking /dev/usbscanner12... failed to open (Invalid argument) checking /dev/usbscanner13... failed to open (Invalid argument) checking /dev/usbscanner14... failed to open (Invalid argument) checking /dev/usbscanner15... failed to open (Invalid argument) trying libusb: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8001 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 2 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1d.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8009 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1a.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x0451 idProduct 0x8340 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 19 (interrupt) wMaxPacketSize 2 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1D6B idProduct 0x0003 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.01 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x82FF bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC52B bcdDevice 18.11 iManufacturer 1 (Logitech) iProduct 2 (USB Receiver) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 4 (RQR12.11_B0032) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 32 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 2 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x8342 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04A9 idProduct 0x1890 bcdDevice 1.02 iManufacturer 1 (Canon) iProduct 2 (TS8300 series) iSerialNumber 3 (21260F) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 223 bNumInterfaces 7 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 2 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x07 (out 0x07) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x88 (in 0x08) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x89 (in 0x09) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 11 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x01 (out 0x01) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 bInterfaceSubClass 6 bInterfaceProtocol 80 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x84 (in 0x04) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x05 (out 0x05) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x03 (out 0x03) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0A (out 0x0A) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8B (in 0x0B) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 could not claim USB device interface found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 series]) at libusb:003:013 bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC328 bcdDevice 134.00 iManufacturer 1 (Logitech) iProduct 2 (USB Keyboard) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 4 (U86.00_B0003) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 3 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 bDeviceSubClass 2 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x046D idProduct 0x0825 bcdDevice 0.10 iManufacturer 0 () iProduct 0 () iSerialNumber 2 (5EC3E6C0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 2469 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 () bmAttributes 128 () MaxPower 500 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x87 (in 0x07) bmAttributes 3 (interrupt) wMaxPacketSize 16 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 192 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 384 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 512 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 640 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 800 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 944 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2688 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 8 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2848 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 9 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 3040 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 10 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 4992 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 11 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 5116 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 68 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 100 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 132 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 196 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can't be detected by this program. done From skelband at gmail.com Sun Oct 4 22:33:58 2020 From: skelband at gmail.com (Ralph Little) Date: Sun, 4 Oct 2020 14:33:58 -0700 Subject: [sane-devel] Rebase In-Reply-To: <87tuve89au.fsf@quark> References: <20200930204719.GA870@kunai> <87tuve89au.fsf@quark> Message-ID: <1ae7f9bb-9277-f241-f6e9-d19e9aebdd75@gmail.com> Hi, On 2020-10-01 4:39 a.m., Olaf Meeuwissen wrote: > I'd check with the pixma backend's new maintainer, hi Povilas!, and > Louis just to make sure but what is the argument for not wanting to > merge master into your branch instead? > > BTW, I know for a fact that the old maintainer occasionally rebased. > OK, due to an "abundance of caution", I opted for the merge, although the size of the commit is enormous. Kinda thinking that maybe a rebase would have been better now but it's done. Where I work, we use mercurial and cherry picking is a tool that we commonly use there. I wonder if that might not have been a better bet here. Cheers, Ralph From thierry at ordissimo.com Sun Oct 4 22:51:44 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Sun, 04 Oct 2020 23:51:44 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: Message-ID: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> Le 2020-10-04 18:31, Yoann Le Montagner a ?crit?: > Hi, > > I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- not > recognized by SANE. I've seen on the device list page that testers are > needed for this device, so I would be happy to test what need to be > tested in order to have this thing work properly. > > Please find attached the output of command 'sudo sane-find-scanner -v > -v'. > The usb support has been added, for your template in version 1.0.30 of sane-backends. Full wifi support in version 1.0.31 of sane-backends. If your OS is ubuntu I invite you to update as follows: sudo add-apt-repository ppa:sane-project/sane-git sudo apt update sudo apt install libsane libsane-common sane-utils > Regards, > > Y. From thierry at ordissimo.com Mon Oct 5 19:10:01 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 20:10:01 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> Message-ID: <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Le 2020-10-05 19:22, Yoann Le Montagner a ?crit?: > Hi, > > Thanks for the answer. Indeed, things are better with libsane 1.0.31. > > However, I still encounter some random errors when trying to use the > scanner. For instance, using 'scanimage', I get: > >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> Erreur de segmentation (core dumped) >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> scanimage: rounded value of br-x from 215.9 to 215.9 >> scanimage: rounded value of br-y from 297.011 to 297.011 >> scanimage: sane_start: Device busy >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> Erreur de segmentation (core dumped) >> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >> outfile.pnm >> Output format is not set, using pnm as a default. >> scanimage: rounded value of br-x from 215.9 to 215.9 >> scanimage: rounded value of br-y from 297.011 to 297.011 > > ... the first 3 attempts failed, the fourth one succeed. The number of > attempts may change from one trial to another. And the scanner is > almost unusable from a graphical frontend such as XSane (probably > because of these errors I guess). > You are plugged in USB! Why use the network driver? ippusbxd doesn't work very well, I advise you to uninstall it. # sudo apt purge ippusbxd The PIXMA driver should then detect your scanner and everything should work. You can also use it in networks! Thierry > If there is any manipulation that I should try to provide more > information, please let me know. > > Regards, > > Yoann > > Le 04/10/2020 ? 23:51, Thierry HUCHARD a ?crit : > >> Le 2020-10-04 18:31, Yoann Le Montagner a ?crit : >> >>> Hi, >>> >>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>> not >>> recognized by SANE. I've seen on the device list page that testers >>> are >>> needed for this device, so I would be happy to test what need to >>> be >>> tested in order to have this thing work properly. >>> >>> Please find attached the output of command 'sudo sane-find-scanner >>> -v -v'. >> The usb support has been added, for your template in version 1.0.30 >> of sane-backends. >> Full wifi support in version 1.0.31 of sane-backends. >> If your OS is ubuntu I invite you to update as follows: >> sudo add-apt-repository ppa:sane-project/sane-git >> sudo apt update >> sudo apt install libsane libsane-common sane-utils >> >>> Regards, >>> >>> Y. From yo35 at melix.net Mon Oct 5 18:22:58 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 19:22:58 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> Message-ID: <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> Hi, Thanks for the answer. Indeed, things are better with libsane 1.0.31. However, I still encounter some random errors when trying to use the scanner. For instance, using 'scanimage', I get: yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. Erreur de segmentation (core dumped) yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. scanimage: rounded value of br-x from 215.9 to 215.9 scanimage: rounded value of br-y from 297.011 to 297.011 scanimage: sane_start: Device busy yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. Erreur de segmentation (core dumped) yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > outfile.pnm Output format is not set, using pnm as a default. scanimage: rounded value of br-x from 215.9 to 215.9 scanimage: rounded value of br-y from 297.011 to 297.011 ... the first 3 attempts failed, the fourth one succeed. The number of attempts may change from one trial to another. And the scanner is almost unusable from a graphical frontend such as XSane (probably because of these errors I guess). If there is any manipulation that I should try to provide more information, please let me know. Regards, Yoann Le 04/10/2020 ? 23:51, Thierry HUCHARD a ?crit?: > Le 2020-10-04 18:31, Yoann Le Montagner a ?crit?: >> Hi, >> >> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- not >> recognized by SANE. I've seen on the device list page that testers are >> needed for this device, so I would be happy to test what need to be >> tested in order to have this thing work properly. >> >> Please find attached the output of command 'sudo sane-find-scanner -v >> -v'. >> > The usb support has been added, for your template in version 1.0.30 of > sane-backends. > Full wifi support in version 1.0.31 of sane-backends. > If your OS is ubuntu I invite you to update as follows: > sudo add-apt-repository ppa:sane-project/sane-git > sudo apt update > sudo apt install libsane libsane-common sane-utils > > >> Regards, >> >> Y. -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Mon Oct 5 20:06:13 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 21:06:13 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: Le 2020-10-05 20:30, Yoann Le Montagner a ?crit?: > Hi, > > I've uninstalled ippusbxd, then reboot... and as a result the scanner > is not detected anymore! > > 'scanimage -L' returns "No scanners were identified." can you give me the log of : SANE_DEBUG_DLL=255 scanimage -L your scanner is found : found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 series]) at libusb:003:009 > > 'sane-find-scanner' still lists the scanner among the USB devices > (output of 'sudo sane-find-scanner -v -v' is attached). > > I don't understand you point regarding the scanner being plugged in > USB. Do you mean it would better to have it connected through Wifi ? > > Regards, > > Yoann > > > Le 05/10/2020 ? 20:10, Thierry HUCHARD a ?crit?: >> Le 2020-10-05 19:22, Yoann Le Montagner a ?crit?: >>> Hi, >>> >>> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >>> >>> However, I still encounter some random errors when trying to use the >>> scanner. For instance, using 'scanimage', I get: >>> >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> Erreur de segmentation (core dumped) >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>>> scanimage: sane_start: Device busy >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> Erreur de segmentation (core dumped) >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>> >>> ... the first 3 attempts failed, the fourth one succeed. The number >>> of >>> attempts may change from one trial to another. And the scanner is >>> almost unusable from a graphical frontend such as XSane (probably >>> because of these errors I guess). >>> >> You are plugged in USB! >> Why use the network driver? >> ippusbxd doesn't work very well, I advise you to uninstall it. >> # sudo apt purge ippusbxd >> The PIXMA driver should then detect your scanner and everything should >> work. >> You can also use it in networks! >> >> Thierry >> >>> If there is any manipulation that I should try to provide more >>> information, please let me know. >>> >>> Regards, >>> >>> Yoann >>> >>> Le 04/10/2020 ? 23:51, Thierry HUCHARD a ?crit : >>> >>>> Le 2020-10-04 18:31, Yoann Le Montagner a ?crit : >>>> >>>>> Hi, >>>>> >>>>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>>>> not >>>>> recognized by SANE. I've seen on the device list page that testers >>>>> are >>>>> needed for this device, so I would be happy to test what need to >>>>> be >>>>> tested in order to have this thing work properly. >>>>> >>>>> Please find attached the output of command 'sudo sane-find-scanner >>>>> -v -v'. >>>> The usb support has been added, for your template in version 1.0.30 >>>> of sane-backends. >>>> Full wifi support in version 1.0.31 of sane-backends. >>>> If your OS is ubuntu I invite you to update as follows: >>>> sudo add-apt-repository ppa:sane-project/sane-git >>>> sudo apt update >>>> sudo apt install libsane libsane-common sane-utils >>>> >>>>> Regards, >>>>> >>>>> Y. From pzz at apevzner.com Mon Oct 5 20:06:54 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 22:06:54 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> Message-ID: <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> On 10/5/20 8:22 PM, Yoann Le Montagner wrote: > Hi, > > Thanks for the answer. Indeed, things are better with libsane 1.0.31. > > However, I still encounter some random errors when trying to use the > scanner. For instance, using 'scanimage', I get: This is a bug in sane-escl driver, which causes it to crash. Basically, you have 3 options now: 1. You may try to help Thierry HUCHARD (the author of sane-escl) to debug his driver 2. You may uninstall ippusbxd in a hope that sane-pixma will work with your scanner via USB, as Thierry suggested 3. You may may install sane-airscan, the independent eSCL/WSD driver: sane-airscan can be downloaded from here: https://github.com/alexpevzner/sane-airscan - project page https://download.opensuse.org/repositories/home:/pzz/ - binary packages Note, ippusbxd is officially deprecated and replaced with ipp-usb. It works much more reliable. You can download ipp-usb binary package from the repository, mentioned above. Note also, the newest version of Debian/Ubuntu will come with sane-airscan and ipp-usb included by default; -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Mon Oct 5 20:10:57 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 21:10:57 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: <3fb96e35-0fdc-0f67-c159-64baa8398628@melix.net> Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' Regards, Yoann Le 05/10/2020 ? 21:06, Thierry HUCHARD a ?crit?: > Le 2020-10-05 20:30, Yoann Le Montagner a ?crit?: >> Hi, >> >> I've uninstalled ippusbxd, then reboot... and as a result the scanner >> is not detected anymore! >> >> 'scanimage -L' returns "No scanners were identified." > can you give me the log of : > SANE_DEBUG_DLL=255 scanimage -L > > your scanner is found : > found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 > series]) at libusb:003:009 > >> >> 'sane-find-scanner' still lists the scanner among the USB devices >> (output of 'sudo sane-find-scanner -v -v' is attached). >> >> I don't understand you point regarding the scanner being plugged in >> USB. Do you mean it would better to have it connected through Wifi ? >> >> Regards, >> >> Yoann >> >> >> Le 05/10/2020 ? 20:10, Thierry HUCHARD a ?crit?: >>> Le 2020-10-05 19:22, Yoann Le Montagner a ?crit?: >>>> Hi, >>>> >>>> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >>>> >>>> However, I still encounter some random errors when trying to use the >>>> scanner. For instance, using 'scanimage', I get: >>>> >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> Erreur de segmentation (core dumped) >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>>>> scanimage: sane_start: Device busy >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> Erreur de segmentation (core dumped) >>>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>>> outfile.pnm >>>>> Output format is not set, using pnm as a default. >>>>> scanimage: rounded value of br-x from 215.9 to 215.9 >>>>> scanimage: rounded value of br-y from 297.011 to 297.011 >>>> >>>> ... the first 3 attempts failed, the fourth one succeed. The number of >>>> attempts may change from one trial to another. And the scanner is >>>> almost unusable from a graphical frontend such as XSane (probably >>>> because of these errors I guess). >>>> >>> You are plugged in USB! >>> Why use the network driver? >>> ippusbxd doesn't work very well, I advise you to uninstall it. >>> # sudo apt purge ippusbxd >>> The PIXMA driver should then detect your scanner and everything >>> should work. >>> You can also use it in networks! >>> >>> Thierry >>> >>>> If there is any manipulation that I should try to provide more >>>> information, please let me know. >>>> >>>> Regards, >>>> >>>> Yoann >>>> >>>> Le 04/10/2020 ? 23:51, Thierry HUCHARD a ?crit : >>>> >>>>> Le 2020-10-04 18:31, Yoann Le Montagner a ?crit : >>>>> >>>>>> Hi, >>>>>> >>>>>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>>>>> not >>>>>> recognized by SANE. I've seen on the device list page that testers >>>>>> are >>>>>> needed for this device, so I would be happy to test what need to >>>>>> be >>>>>> tested in order to have this thing work properly. >>>>>> >>>>>> Please find attached the output of command 'sudo sane-find-scanner >>>>>> -v -v'. >>>>> The usb support has been added, for your template in version 1.0.30 >>>>> of sane-backends. >>>>> Full wifi support in version 1.0.31 of sane-backends. >>>>> If your OS is ubuntu I invite you to update as follows: >>>>> sudo add-apt-repository ppa:sane-project/sane-git >>>>> sudo apt update >>>>> sudo apt install libsane libsane-common sane-utils >>>>> >>>>>> Regards, >>>>>> >>>>>> Y. -------------- next part -------------- [21:08:44.634792] [sanei_debug] Setting debug level of dll to 255. [21:08:44.634923] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.31-160-g81227d1d4 [21:08:44.634955] [dll] sane_init/read_dlld: attempting to open directory `./dll.d' [21:08:44.634985] [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d' [21:08:44.635010] [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d' [21:08:44.635038] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip [21:08:44.635065] [dll] sane_init/read_config: reading dll.d/hplip [21:08:44.635094] [dll] add_backend: adding backend `hpaio' [21:08:44.635120] [dll] sane_init/read_dlld: done. [21:08:44.635143] [dll] sane_init/read_config: reading dll.conf [21:08:44.635167] [dll] add_backend: adding backend `net' [21:08:44.635182] [dll] add_backend: adding backend `abaton' [21:08:44.635197] [dll] add_backend: adding backend `agfafocus' [21:08:44.635212] [dll] add_backend: adding backend `apple' [21:08:44.635227] [dll] add_backend: adding backend `artec' [21:08:44.635241] [dll] add_backend: adding backend `artec_eplus48u' [21:08:44.635256] [dll] add_backend: adding backend `as6e' [21:08:44.635271] [dll] add_backend: adding backend `avision' [21:08:44.635286] [dll] add_backend: adding backend `bh' [21:08:44.635300] [dll] add_backend: adding backend `canon' [21:08:44.635315] [dll] add_backend: adding backend `canon630u' [21:08:44.635330] [dll] add_backend: adding backend `canon_dr' [21:08:44.635345] [dll] add_backend: adding backend `canon_lide70' [21:08:44.635359] [dll] add_backend: adding backend `cardscan' [21:08:44.635374] [dll] add_backend: adding backend `coolscan' [21:08:44.635389] [dll] add_backend: adding backend `coolscan3' [21:08:44.635405] [dll] add_backend: adding backend `dell1600n_net' [21:08:44.635419] [dll] add_backend: adding backend `dmc' [21:08:44.635434] [dll] add_backend: adding backend `epjitsu' [21:08:44.635450] [dll] add_backend: adding backend `epson2' [21:08:44.635464] [dll] add_backend: adding backend `epsonds' [21:08:44.635480] [dll] add_backend: adding backend `escl' [21:08:44.635495] [dll] add_backend: adding backend `fujitsu' [21:08:44.635510] [dll] add_backend: adding backend `genesys' [21:08:44.635525] [dll] add_backend: adding backend `gt68xx' [21:08:44.635540] [dll] add_backend: adding backend `hp' [21:08:44.635555] [dll] add_backend: adding backend `hp3500' [21:08:44.635570] [dll] add_backend: adding backend `hp3900' [21:08:44.635584] [dll] add_backend: adding backend `hp4200' [21:08:44.635599] [dll] add_backend: adding backend `hp5400' [21:08:44.635614] [dll] add_backend: adding backend `hp5590' [21:08:44.635629] [dll] add_backend: adding backend `hpljm1005' [21:08:44.635644] [dll] add_backend: adding backend `hpsj5s' [21:08:44.635662] [dll] add_backend: adding backend `hs2p' [21:08:44.635677] [dll] add_backend: adding backend `ibm' [21:08:44.635692] [dll] add_backend: adding backend `kodak' [21:08:44.635707] [dll] add_backend: adding backend `kodakaio' [21:08:44.635722] [dll] add_backend: adding backend `kvs1025' [21:08:44.635737] [dll] add_backend: adding backend `kvs20xx' [21:08:44.635752] [dll] add_backend: adding backend `kvs40xx' [21:08:44.635767] [dll] add_backend: adding backend `leo' [21:08:44.635782] [dll] add_backend: adding backend `lexmark' [21:08:44.635797] [dll] add_backend: adding backend `ma1509' [21:08:44.635812] [dll] add_backend: adding backend `magicolor' [21:08:44.635827] [dll] add_backend: adding backend `matsushita' [21:08:44.635842] [dll] add_backend: adding backend `microtek' [21:08:44.635857] [dll] add_backend: adding backend `microtek2' [21:08:44.635872] [dll] add_backend: adding backend `mustek' [21:08:44.635887] [dll] add_backend: adding backend `mustek_usb' [21:08:44.635902] [dll] add_backend: adding backend `mustek_usb2' [21:08:44.635917] [dll] add_backend: adding backend `nec' [21:08:44.635932] [dll] add_backend: adding backend `niash' [21:08:44.635948] [dll] add_backend: adding backend `pie' [21:08:44.635963] [dll] add_backend: adding backend `pieusb' [21:08:44.635978] [dll] add_backend: adding backend `pint' [21:08:44.636002] [dll] add_backend: adding backend `pixma' [21:08:44.636021] [dll] add_backend: adding backend `plustek' [21:08:44.636037] [dll] add_backend: adding backend `qcam' [21:08:44.636052] [dll] add_backend: adding backend `ricoh' [21:08:44.636067] [dll] add_backend: adding backend `ricoh2' [21:08:44.636083] [dll] add_backend: adding backend `rts8891' [21:08:44.636098] [dll] add_backend: adding backend `s9036' [21:08:44.636113] [dll] add_backend: adding backend `sceptre' [21:08:44.636128] [dll] add_backend: adding backend `sharp' [21:08:44.636143] [dll] add_backend: adding backend `sm3600' [21:08:44.636159] [dll] add_backend: adding backend `sm3840' [21:08:44.636174] [dll] add_backend: adding backend `snapscan' [21:08:44.636189] [dll] add_backend: adding backend `sp15c' [21:08:44.636205] [dll] add_backend: adding backend `tamarack' [21:08:44.636220] [dll] add_backend: adding backend `teco1' [21:08:44.636235] [dll] add_backend: adding backend `teco2' [21:08:44.636251] [dll] add_backend: adding backend `teco3' [21:08:44.636266] [dll] add_backend: adding backend `u12' [21:08:44.636282] [dll] add_backend: adding backend `umax' [21:08:44.636297] [dll] add_backend: adding backend `umax1220u' [21:08:44.636313] [dll] add_backend: adding backend `v4l' [21:08:44.636328] [dll] add_backend: adding backend `xerox_mfp' [21:08:44.636362] [dll] sane_get_devices [21:08:44.636379] [dll] load: searching backend `xerox_mfp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.636395] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:08:44.636417] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:08:44.636538] [dll] init: initializing backend `xerox_mfp' [21:08:44.641118] [dll] init: backend `xerox_mfp' is version 1.0.13 [21:08:44.641181] [dll] load: searching backend `v4l' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.641189] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' [21:08:44.641197] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' (No such file or directory) [21:08:44.641203] [dll] load: trying to load `/usr/lib/sane/libsane-v4l.so.1' [21:08:44.641210] [dll] load: couldn't open `/usr/lib/sane/libsane-v4l.so.1' (No such file or directory) [21:08:44.641216] [dll] load: couldn't find backend `v4l' (No such file or directory) [21:08:44.641222] [dll] load: searching backend `umax1220u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.641227] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:08:44.641236] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:08:44.641322] [dll] init: initializing backend `umax1220u' [21:08:44.645457] [dll] init: backend `umax1220u' is version 1.0.2 [21:08:44.645470] [dll] load: searching backend `umax' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.645476] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:08:44.645485] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:08:44.645569] [dll] init: initializing backend `umax' [21:08:44.650776] [dll] init: backend `umax' is version 1.0.45 [21:08:44.650787] [dll] load: searching backend `u12' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.650793] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:08:44.650801] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:08:44.650876] [dll] init: initializing backend `u12' [21:08:44.654558] [dll] init: backend `u12' is version 1.0.0 [21:08:44.654569] [dll] load: searching backend `teco3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.654575] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:08:44.654583] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:08:44.654633] [dll] init: initializing backend `teco3' [21:08:44.655145] [dll] init: backend `teco3' is version 1.0.1 [21:08:44.655159] [dll] load: searching backend `teco2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.655164] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:08:44.655173] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:08:44.655220] [dll] init: initializing backend `teco2' [21:08:44.656180] [dll] init: backend `teco2' is version 1.0.10 [21:08:44.656187] [dll] load: searching backend `teco1' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.656193] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:08:44.656201] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:08:44.656247] [dll] init: initializing backend `teco1' [21:08:44.656943] [dll] init: backend `teco1' is version 1.0.10 [21:08:44.656952] [dll] load: searching backend `tamarack' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.656958] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:08:44.656966] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:08:44.657020] [dll] init: initializing backend `tamarack' [21:08:44.657367] [dll] init: backend `tamarack' is version 1.0.0 [21:08:44.657374] [dll] load: searching backend `sp15c' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.657380] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:08:44.657397] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:08:44.657447] [dll] init: initializing backend `sp15c' [21:08:44.657547] [dll] init: backend `sp15c' is version 1.0.0 [21:08:44.657554] [dll] load: searching backend `snapscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.657560] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:08:44.657568] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:08:44.657640] [dll] init: initializing backend `snapscan' [21:08:44.661813] [dll] init: backend `snapscan' is version 1.4.53 [21:08:44.661824] [dll] load: searching backend `sm3840' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.661830] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:08:44.661840] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:08:44.661911] [dll] init: initializing backend `sm3840' [21:08:44.665653] [dll] init: backend `sm3840' is version 1.0.0 [21:08:44.665664] [dll] load: searching backend `sm3600' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.665670] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:08:44.665679] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:08:44.665764] [dll] init: initializing backend `sm3600' [21:08:44.670157] [dll] init: backend `sm3600' is version 1.0.6 [21:08:44.670172] [dll] load: searching backend `sharp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.670179] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:08:44.670189] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:08:44.670278] [dll] init: initializing backend `sharp' [21:08:44.670566] [dll] init: backend `sharp' is version 1.0.0 [21:08:44.670574] [dll] load: searching backend `sceptre' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.670580] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:08:44.670588] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:08:44.670640] [dll] init: initializing backend `sceptre' [21:08:44.670913] [dll] init: backend `sceptre' is version 1.0.10 [21:08:44.670921] [dll] load: searching backend `s9036' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.670927] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:08:44.670935] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:08:44.670990] [dll] init: initializing backend `s9036' [21:08:44.671178] [dll] init: backend `s9036' is version 1.0.0 [21:08:44.671185] [dll] load: searching backend `rts8891' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.671191] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:08:44.671199] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:08:44.671275] [dll] init: initializing backend `rts8891' [21:08:44.675139] [dll] init: backend `rts8891' is version 1.0.2401 [21:08:44.675195] [dll] load: searching backend `ricoh2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.675203] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:08:44.675211] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:08:44.675283] [dll] init: initializing backend `ricoh2' [21:08:44.679421] [dll] init: backend `ricoh2' is version 1.0.0 [21:08:44.679435] [dll] load: searching backend `ricoh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.679442] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:08:44.679460] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:08:44.679551] [dll] init: initializing backend `ricoh' [21:08:44.679743] [dll] init: backend `ricoh' is version 1.0.0 [21:08:44.679751] [dll] load: searching backend `qcam' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.679757] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:08:44.679764] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:08:44.679814] [dll] init: initializing backend `qcam' [21:08:44.679833] [dll] init: backend `qcam' is version 1.0.0 [21:08:44.679840] [dll] load: searching backend `plustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.679845] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:08:44.679853] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:08:44.679938] [dll] init: initializing backend `plustek' [21:08:44.684031] [dll] init: backend `plustek' is version 1.0.0 [21:08:44.684043] [dll] load: searching backend `pixma' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:44.684049] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:08:44.684057] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:08:44.684162] [dll] init: initializing backend `pixma' [21:08:44.687901] [dll] init: backend `pixma' is version 1.0.28 [21:08:45.208530] [dll] load: searching backend `pint' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.208593] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' [21:08:45.208621] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' (No such file or directory) [21:08:45.208637] [dll] load: trying to load `/usr/lib/sane/libsane-pint.so.1' [21:08:45.208655] [dll] load: couldn't open `/usr/lib/sane/libsane-pint.so.1' (No such file or directory) [21:08:45.208669] [dll] load: couldn't find backend `pint' (No such file or directory) [21:08:45.208684] [dll] load: searching backend `pieusb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.208698] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:08:45.208723] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:08:45.209017] [dll] init: initializing backend `pieusb' [21:08:45.218393] [dll] init: backend `pieusb' is version 1.0.1 [21:08:45.218421] [dll] load: searching backend `pie' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.218435] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:08:45.218456] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:08:45.218599] [dll] init: initializing backend `pie' [21:08:45.219650] [dll] init: backend `pie' is version 1.0.9 [21:08:45.219670] [dll] load: searching backend `niash' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.219684] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:08:45.219703] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:08:45.219876] [dll] init: initializing backend `niash' [21:08:45.226198] [dll] init: backend `niash' is version 1.0.1 [21:08:45.226210] [dll] load: searching backend `nec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.226216] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:08:45.226224] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:08:45.226301] [dll] init: initializing backend `nec' [21:08:45.226481] [dll] init: backend `nec' is version 1.0.0 [21:08:45.226489] [dll] load: searching backend `mustek_usb2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.226494] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:08:45.226502] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:08:45.226577] [dll] init: initializing backend `mustek_usb2' [21:08:45.226591] [dll] init: backend `mustek_usb2' is version 1.0.10 [21:08:45.231170] [dll] load: searching backend `mustek_usb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.231191] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:08:45.231203] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:08:45.231353] [dll] init: initializing backend `mustek_usb' [21:08:45.235767] [dll] init: backend `mustek_usb' is version 1.0.18 [21:08:45.235780] [dll] load: searching backend `mustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.235786] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:08:45.235794] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:08:45.235919] [dll] init: initializing backend `mustek' [21:08:45.236343] [dll] init: backend `mustek' is version 1.0.138 [21:08:45.236352] [dll] load: searching backend `microtek2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.236357] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:08:45.236366] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:08:45.236437] [dll] init: initializing backend `microtek2' [21:08:45.236729] [dll] init: backend `microtek2' is version 1.0.0 [21:08:45.236739] [dll] load: searching backend `microtek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.236745] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:08:45.236753] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:08:45.236804] [dll] init: initializing backend `microtek' [21:08:45.237064] [dll] init: backend `microtek' is version 1.0.0 [21:08:45.237071] [dll] load: searching backend `matsushita' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.237077] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:08:45.237085] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:08:45.237133] [dll] init: initializing backend `matsushita' [21:08:45.237711] [dll] init: backend `matsushita' is version 1.0.7 [21:08:45.237719] [dll] load: searching backend `magicolor' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:45.237725] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:08:45.237733] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:08:45.238211] [dll] init: initializing backend `magicolor' [21:08:45.241946] [dll] init: backend `magicolor' is version 1.0.1 [21:08:46.743672] [dll] load: searching backend `ma1509' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.743734] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:08:46.743850] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:08:46.744190] [dll] init: initializing backend `ma1509' [21:08:46.756740] [dll] init: backend `ma1509' is version 1.0.3 [21:08:46.756753] [dll] load: searching backend `lexmark' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.756759] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:08:46.756768] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:08:46.756876] [dll] init: initializing backend `lexmark' [21:08:46.760743] [dll] init: backend `lexmark' is version 1.0.32 [21:08:46.760800] [dll] load: searching backend `leo' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.760807] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:08:46.760816] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:08:46.760883] [dll] init: initializing backend `leo' [21:08:46.761258] [dll] init: backend `leo' is version 1.0.11 [21:08:46.761267] [dll] load: searching backend `kvs40xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.761272] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:08:46.761280] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:08:46.761403] [dll] init: initializing backend `kvs40xx' [21:08:46.765596] [dll] init: backend `kvs40xx' is version 1.0.1 [21:08:46.766003] [dll] load: searching backend `kvs20xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.766033] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:08:46.766058] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:08:46.766284] [dll] init: initializing backend `kvs20xx' [21:08:46.770143] [dll] init: backend `kvs20xx' is version 1.0.2 [21:08:46.770645] [dll] load: searching backend `kvs1025' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.770652] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:08:46.770662] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:08:46.770765] [dll] init: initializing backend `kvs1025' [21:08:46.774571] [dll] init: backend `kvs1025' is version 1.0.5 [21:08:46.774582] [dll] load: searching backend `kodakaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:46.774588] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:08:46.774597] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:08:46.775146] [dll] init: initializing backend `kodakaio' [21:08:46.778989] [dll] init: backend `kodakaio' is version 1.0.3 [21:08:48.687739] [dll] load: searching backend `kodak' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.687831] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:08:48.687884] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:08:48.688205] [dll] init: initializing backend `kodak' [21:08:48.688245] [dll] init: backend `kodak' is version 1.0.7 [21:08:48.688635] [dll] load: searching backend `ibm' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.688662] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:08:48.688686] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:08:48.688847] [dll] init: initializing backend `ibm' [21:08:48.689412] [dll] init: backend `ibm' is version 1.0.0 [21:08:48.689436] [dll] load: searching backend `hs2p' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.689453] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:08:48.689476] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:08:48.689630] [dll] init: initializing backend `hs2p' [21:08:48.690420] [dll] init: backend `hs2p' is version 1.0.0 [21:08:48.690456] [dll] load: searching backend `hpsj5s' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.690474] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:08:48.690498] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:08:48.690660] [dll] init: initializing backend `hpsj5s' [21:08:48.690745] [dll] init: backend `hpsj5s' is version 1.0.3 [21:08:48.690773] [dll] load: searching backend `hpljm1005' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.690790] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:08:48.690814] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:08:48.691023] [dll] init: initializing backend `hpljm1005' [21:08:48.701240] [dll] init: backend `hpljm1005' is version 1.0.1 [21:08:48.701251] [dll] load: searching backend `hp5590' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.701258] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:08:48.701266] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:08:48.701357] [dll] init: initializing backend `hp5590' [21:08:48.704987] [dll] init: backend `hp5590' is version 1.0.8 [21:08:48.704998] [dll] load: searching backend `hp5400' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.705004] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:08:48.705013] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:08:48.705103] [dll] init: initializing backend `hp5400' [21:08:48.709538] [dll] init: backend `hp5400' is version 1.0.3 [21:08:48.709552] [dll] load: searching backend `hp4200' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.709558] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:08:48.709567] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:08:48.709663] [dll] init: initializing backend `hp4200' [21:08:48.713699] [dll] init: backend `hp4200' is version 1.0.0 [21:08:48.713715] [dll] load: searching backend `hp3900' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.713721] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:08:48.713730] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:08:48.714065] [dll] init: initializing backend `hp3900' [21:08:48.718135] [dll] init: backend `hp3900' is version 1.0.0 [21:08:48.718147] [dll] load: searching backend `hp3500' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.718153] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:08:48.718161] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:08:48.718248] [dll] init: initializing backend `hp3500' [21:08:48.721956] [dll] init: backend `hp3500' is version 1.0.0 [21:08:48.721971] [dll] load: searching backend `hp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.721977] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:08:48.721986] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:08:48.722094] [dll] init: initializing backend `hp' [21:08:48.722109] [dll] init: backend `hp' is version 1.0.8 [21:08:48.726261] [dll] load: searching backend `gt68xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.726272] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:08:48.726281] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:08:48.726384] [dll] init: initializing backend `gt68xx' [21:08:48.730166] [dll] init: backend `gt68xx' is version 1.0.84 [21:08:48.730247] [dll] load: searching backend `genesys' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.730254] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:08:48.730263] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:08:48.730562] [dll] init: initializing backend `genesys' [21:08:48.734959] [dll] init: backend `genesys' is version 1.0.0 [21:08:48.735032] [dll] load: searching backend `fujitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.735040] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:08:48.735048] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:08:48.735133] [dll] init: initializing backend `fujitsu' [21:08:48.735148] [dll] init: backend `fujitsu' is version 1.0.137 [21:08:48.738939] [dll] load: searching backend `escl' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:48.738949] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:08:48.738958] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:08:48.747974] [dll] init: initializing backend `escl' [21:08:48.748065] [dll] init: backend `escl' is version 1.0.0 [21:08:49.751699] [dll] load: searching backend `epsonds' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:49.751763] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:08:49.751799] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:08:49.752225] [dll] init: initializing backend `epsonds' [21:08:49.761447] [dll] init: backend `epsonds' is version 1.0.0 [21:08:49.761502] [dll] load: searching backend `epson2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:49.761511] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:08:49.761522] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:08:49.761700] [dll] init: initializing backend `epson2' [21:08:49.766815] [dll] init: backend `epson2' is version 1.0.124 [21:08:50.768107] [dll] load: searching backend `epjitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:50.768183] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:08:50.768225] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:08:50.768683] [dll] init: initializing backend `epjitsu' [21:08:50.768736] [dll] init: backend `epjitsu' is version 1.0.31 [21:08:50.778397] [dll] load: searching backend `dmc' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:50.778422] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:08:50.778441] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:08:50.778624] [dll] init: initializing backend `dmc' [21:08:50.779050] [dll] init: backend `dmc' is version 1.0.0 [21:08:50.779067] [dll] load: searching backend `dell1600n_net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:50.779080] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:08:50.779097] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:08:50.779290] [dll] init: initializing backend `dell1600n_net' [21:08:50.779310] [dll] init: backend `dell1600n_net' is version 1.0.0 [21:08:51.079758] [dll] load: searching backend `coolscan3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.079847] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:08:51.079915] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:08:51.080305] [dll] init: initializing backend `coolscan3' [21:08:51.089730] [dll] init: backend `coolscan3' is version 1.0.0 [21:08:51.089889] [dll] load: searching backend `coolscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.089897] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:08:51.089907] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:08:51.090070] [dll] init: initializing backend `coolscan' [21:08:51.090347] [dll] init: backend `coolscan' is version 1.0.0 [21:08:51.090355] [dll] load: searching backend `cardscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.090366] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:08:51.090374] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:08:51.090482] [dll] init: initializing backend `cardscan' [21:08:51.094382] [dll] init: backend `cardscan' is version 1.0.3 [21:08:51.094423] [dll] load: searching backend `canon_lide70' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.094430] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:08:51.094439] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:08:51.094548] [dll] init: initializing backend `canon_lide70' [21:08:51.098391] [dll] init: backend `canon_lide70' is version 1.0.0 [21:08:51.098405] [dll] load: searching backend `canon_dr' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.098412] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:08:51.098420] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:08:51.098531] [dll] init: initializing backend `canon_dr' [21:08:51.098545] [dll] init: backend `canon_dr' is version 1.0.59 [21:08:51.102480] [dll] load: searching backend `canon630u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.102491] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:08:51.102500] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:08:51.102602] [dll] init: initializing backend `canon630u' [21:08:51.106335] [dll] init: backend `canon630u' is version 1.0.1 [21:08:51.106346] [dll] load: searching backend `canon' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.106352] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:08:51.106360] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:08:51.106440] [dll] init: initializing backend `canon' [21:08:51.106617] [dll] init: backend `canon' is version 1.0.0 [21:08:51.106636] [dll] load: searching backend `bh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.106642] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:08:51.106664] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:08:51.106810] [dll] init: initializing backend `bh' [21:08:51.107208] [dll] init: backend `bh' is version 1.0.4 [21:08:51.107225] [dll] load: searching backend `avision' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.107234] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:08:51.107257] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:08:51.107396] [dll] init: initializing backend `avision' [21:08:51.116823] [dll] init: backend `avision' is version 1.0.297 [21:08:51.122030] [dll] load: searching backend `as6e' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.122041] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:08:51.122050] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:08:51.122176] [dll] init: initializing backend `as6e' [21:08:51.122203] [dll] load: searching backend `artec_eplus48u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.122209] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:08:51.122218] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:08:51.122335] [dll] init: initializing backend `artec_eplus48u' [21:08:51.126360] [dll] init: backend `artec_eplus48u' is version 1.0.0 [21:08:51.126372] [dll] load: searching backend `artec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.126378] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:08:51.126387] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:08:51.126477] [dll] init: initializing backend `artec' [21:08:51.126756] [dll] init: backend `artec' is version 1.0.0 [21:08:51.126764] [dll] load: searching backend `apple' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.126770] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:08:51.126777] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:08:51.126846] [dll] init: initializing backend `apple' [21:08:51.127108] [dll] init: backend `apple' is version 1.0.0 [21:08:51.127115] [dll] load: searching backend `agfafocus' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.127120] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:08:51.127128] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:08:51.127202] [dll] init: initializing backend `agfafocus' [21:08:51.127385] [dll] init: backend `agfafocus' is version 1.0.0 [21:08:51.127392] [dll] load: searching backend `abaton' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.127398] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:08:51.127406] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:08:51.127468] [dll] init: initializing backend `abaton' [21:08:51.127727] [dll] init: backend `abaton' is version 1.0.0 [21:08:51.127734] [dll] load: searching backend `net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.127740] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:08:51.127749] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:08:51.127849] [dll] init: initializing backend `net' [21:08:51.129509] [dll] init: backend `net' is version 1.0.31 [21:08:51.129535] [dll] load: searching backend `hpaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:08:51.129542] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:08:51.129553] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:08:51.130141] [dll] init: initializing backend `hpaio' [21:08:51.130488] [dll] init: backend `hpaio' is version 1.0.0 [21:08:52.532029] [dll] sane_get_devices: found 0 devices [21:08:52.532106] [dll] sane_exit: exiting [21:08:52.532143] [dll] sane_exit: calling backend `xerox_mfp's exit function [21:08:52.532317] [dll] sane_exit: calling backend `umax1220u's exit function [21:08:52.532456] [dll] sane_exit: calling backend `umax's exit function [21:08:52.532551] [dll] sane_exit: calling backend `u12's exit function [21:08:52.532639] [dll] sane_exit: calling backend `teco3's exit function [21:08:52.532728] [dll] sane_exit: calling backend `teco2's exit function [21:08:52.532800] [dll] sane_exit: calling backend `teco1's exit function [21:08:52.532869] [dll] sane_exit: calling backend `tamarack's exit function [21:08:52.532937] [dll] sane_exit: calling backend `sp15c's exit function [21:08:52.533006] [dll] sane_exit: calling backend `snapscan's exit function [21:08:52.533078] [dll] sane_exit: calling backend `sm3840's exit function [21:08:52.533159] [dll] sane_exit: calling backend `sm3600's exit function [21:08:52.533231] [dll] sane_exit: calling backend `sharp's exit function [21:08:52.533299] [dll] sane_exit: calling backend `sceptre's exit function [21:08:52.533364] [dll] sane_exit: calling backend `s9036's exit function [21:08:52.533427] [dll] sane_exit: calling backend `rts8891's exit function [21:08:52.533490] [dll] sane_exit: calling backend `ricoh2's exit function [21:08:52.533604] [dll] sane_exit: calling backend `ricoh's exit function [21:08:52.533669] [dll] sane_exit: calling backend `qcam's exit function [21:08:52.533731] [dll] sane_exit: calling backend `plustek's exit function [21:08:52.533798] [dll] sane_exit: calling backend `pixma's exit function [21:08:52.533898] [dll] sane_exit: calling backend `pieusb's exit function [21:08:52.533971] [dll] sane_exit: calling backend `pie's exit function [21:08:52.534042] [dll] sane_exit: calling backend `niash's exit function [21:08:52.534104] [dll] sane_exit: calling backend `nec's exit function [21:08:52.534191] [dll] sane_exit: calling backend `mustek_usb2's exit function [21:08:52.534258] [dll] sane_exit: calling backend `mustek_usb's exit function [21:08:52.534325] [dll] sane_exit: calling backend `mustek's exit function [21:08:52.534392] [dll] sane_exit: calling backend `microtek2's exit function [21:08:52.534457] [dll] sane_exit: calling backend `microtek's exit function [21:08:52.534527] [dll] sane_exit: calling backend `matsushita's exit function [21:08:52.534590] [dll] sane_exit: calling backend `magicolor's exit function [21:08:52.534651] [dll] sane_exit: calling backend `ma1509's exit function [21:08:52.534724] [dll] sane_exit: calling backend `lexmark's exit function [21:08:52.534820] [dll] sane_exit: calling backend `leo's exit function [21:08:52.534888] [dll] sane_exit: calling backend `kvs40xx's exit function [21:08:52.534950] [dll] sane_exit: calling backend `kvs20xx's exit function [21:08:52.535022] [dll] sane_exit: calling backend `kvs1025's exit function [21:08:52.535081] [dll] sane_exit: calling backend `kodakaio's exit function [21:08:52.535148] [dll] sane_exit: calling backend `kodak's exit function [21:08:52.535216] [dll] sane_exit: calling backend `ibm's exit function [21:08:52.535276] [dll] sane_exit: calling backend `hs2p's exit function [21:08:52.535342] [dll] sane_exit: calling backend `hpsj5s's exit function [21:08:52.535419] [dll] sane_exit: calling backend `hpljm1005's exit function [21:08:52.535496] [dll] sane_exit: calling backend `hp5590's exit function [21:08:52.535557] [dll] sane_exit: calling backend `hp5400's exit function [21:08:52.535626] [dll] sane_exit: calling backend `hp4200's exit function [21:08:52.535692] [dll] sane_exit: calling backend `hp3900's exit function [21:08:52.535759] [dll] sane_exit: calling backend `hp3500's exit function [21:08:52.535820] [dll] sane_exit: calling backend `hp's exit function [21:08:52.535883] [dll] sane_exit: calling backend `gt68xx's exit function [21:08:52.535974] [dll] sane_exit: calling backend `genesys's exit function No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). [21:08:52.536271] [dll] sane_exit: calling backend `fujitsu's exit function [21:08:52.536338] [dll] sane_exit: calling backend `escl's exit function [21:08:52.537375] [dll] sane_exit: calling backend `epsonds's exit function [21:08:52.537469] [dll] sane_exit: calling backend `epson2's exit function [21:08:52.537555] [dll] sane_exit: calling backend `epjitsu's exit function [21:08:52.537643] [dll] sane_exit: calling backend `dmc's exit function [21:08:52.537712] [dll] sane_exit: calling backend `dell1600n_net's exit function [21:08:52.537774] [dll] sane_exit: calling backend `coolscan3's exit function [21:08:52.537840] [dll] sane_exit: calling backend `coolscan's exit function [21:08:52.537904] [dll] sane_exit: calling backend `cardscan's exit function [21:08:52.537976] [dll] sane_exit: calling backend `canon_lide70's exit function [21:08:52.538037] [dll] sane_exit: calling backend `canon_dr's exit function [21:08:52.538100] [dll] sane_exit: calling backend `canon630u's exit function [21:08:52.538173] [dll] sane_exit: calling backend `canon's exit function [21:08:52.538239] [dll] sane_exit: calling backend `bh's exit function [21:08:52.538304] [dll] sane_exit: calling backend `avision's exit function [21:08:52.538405] [dll] sane_exit: calling backend `artec_eplus48u's exit function [21:08:52.538465] [dll] sane_exit: calling backend `artec's exit function [21:08:52.538537] [dll] sane_exit: calling backend `apple's exit function [21:08:52.538598] [dll] sane_exit: calling backend `agfafocus's exit function [21:08:52.538658] [dll] sane_exit: calling backend `abaton's exit function [21:08:52.538725] [dll] sane_exit: calling backend `net's exit function [21:08:52.539728] [dll] sane_exit: calling backend `hpaio's exit function [21:08:52.540819] [dll] sane_exit: finished From pzz at apevzner.com Mon Oct 5 20:15:28 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 22:15:28 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <9560531ebf9f705935f3c59d512a0833@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> Hi Thierry, On 10/5/20 9:10 PM, Thierry HUCHARD wrote: >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> Erreur de segmentation (core dumped) ... skipped --- > You are plugged in USB! > Why use the network driver? > ippusbxd doesn't work very well, I advise you to uninstall it. Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't work very well, it cannot be a reason for SIGSEGV in the sane-escl. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From thierry at ordissimo.com Mon Oct 5 20:44:35 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 21:44:35 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> Message-ID: Le 2020-10-05 21:15, Alexander Pevzner a ?crit?: > Hi Thierry, > > On 10/5/20 9:10 PM, Thierry HUCHARD wrote: >>>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>>> outfile.pnm >>>> Output format is not set, using pnm as a default. >>>> Erreur de segmentation (core dumped) > > ... skipped --- > >> You are plugged in USB! >> Why use the network driver? >> ippusbxd doesn't work very well, I advise you to uninstall it. > > Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't > work very well, it cannot be a reason for SIGSEGV in the sane-escl. Thank you Alexander, to know if the problem comes from escl or ippusbxd, it would have been interesting to test with ipp-usb. I think that Yoann's installation is corrupted, the TS8300 is referenced in PIXMA since version 1.0.30 and despite that it is not detected! Thierry From thierry at ordissimo.com Mon Oct 5 20:46:33 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 21:46:33 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> Message-ID: <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Le 2020-10-05 21:06, Alexander Pevzner a ?crit?: > On 10/5/20 8:22 PM, Yoann Le Montagner wrote: >> Hi, >> >> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >> >> However, I still encounter some random errors when trying to use the >> scanner. For instance, using 'scanimage', I get: > > This is a bug in sane-escl driver, which causes it to crash. > > Basically, you have 3 options now: > 1. You may try to help Thierry HUCHARD (the author of sane-escl) to > debug his driver > 2. You may uninstall ippusbxd in a hope that sane-pixma will work with > your scanner via USB, as Thierry suggested > 3. You may may install sane-airscan, the independent eSCL/WSD driver: > > sane-airscan can be downloaded from here: > > https://github.com/alexpevzner/sane-airscan - project page > https://download.opensuse.org/repositories/home:/pzz/ - binary packages > > Note, ippusbxd is officially deprecated and replaced with ipp-usb. It > works much more reliable. You can download ipp-usb binary package from > the repository, mentioned above. > Hi Alexander, Can you help with the installation of ipp-usb ? thierry > Note also, the newest version of Debian/Ubuntu will come with > sane-airscan and ipp-usb included by default; From pzz at apevzner.com Mon Oct 5 21:45:05 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 23:45:05 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> Message-ID: <56434747-8406-15c1-2fce-d90a3f4db46a@apevzner.com> On 10/5/20 10:44 PM, Thierry HUCHARD wrote: >> Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't >> work very well, it cannot be a reason for SIGSEGV in the sane-escl. > Thank you Alexander, > to know if the problem comes from escl or ippusbxd, it would have been > interesting to test with ipp-usb. ippusbxd is the external program, sane-escl communicates with it over network. So even if it works wrong, for sane-escl it is a kind of invalid response from scanner. It should raise an error, not the crash. Scanner also can send invalid response. > I think that Yoann's installation is corrupted, the TS8300 is referenced > in PIXMA since version 1.0.30 and despite that it is not detected! Running IPP-over-USB daemon may prevent sane-pixma backend from access to the USB device. But in general I think that if some device provides both proprietary and "driverless" way of scanning/printing, driverless should be preferred. So although for some particular user disabling IPP-over-USB may work as a "hotfix", from community perspective this is better to investigate IPP-over-USB issues rather that to disable it when it doesn't work. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Mon Oct 5 21:49:02 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 5 Oct 2020 23:49:02 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Message-ID: Hi Thierry, On 10/5/20 10:46 PM, Thierry HUCHARD wrote: > Hi Alexander, > Can you help with the installation of ipp-usb ? It should be very easy. Just download appropriate package (depending on your distro) from https://download.opensuse.org/repositories/home:/pzz/ and install it. It is marked as "conflicting" with ippusbxd, so package manager should request you to uninstall ippusbxd or even do it automatically. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Mon Oct 5 22:14:43 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 23:14:43 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Message-ID: <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> Hi, I've installed both ipp-usb and sane-airscan, following the instructions on https://github.com/alexpevzner/sane-airscan, and uninstalled ippusbxd. I've sent a first mail to the list reporting that this manipulation didn't fixed the problem ('scanimage -L' was still returning "No scanner were identified..."). But I've retried the same test after a while, and now it appears to work: yoann at yoann-desktop:~$ scanimage -L Entity: line 1: parser error : Start tag expected, '<' not found ??? ^ device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) flatbed scanner device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 series (USB) eSCL network scanner I've tried to use the scan with scanimage, with device "escl:http:..." on one hand, and "airscan:e0:..." on the other hand. Both seem to work. XSane seems to work too. I will do some more tests tomorrow to confirm that. I don't whether one "device" should be preferred on the other ? Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' in which appears the warning regarding the parser error. Thanks for your help. Regards, Yoann Le 05/10/2020 ?? 22:49, Alexander Pevzner a ??crit??: > Hi Thierry, > > On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >> Hi Alexander, >> Can you help with the installation of ipp-usb ? > > It should be very easy. Just download appropriate package (depending > on your distro) from > https://download.opensuse.org/repositories/home:/pzz/ and install it. > > It is marked as "conflicting" with ippusbxd, so package manager should > request you to uninstall ippusbxd or even do it automatically. > -------------- next part -------------- [23:08:14.721884] [sanei_debug] Setting debug level of dll to 255. [23:08:14.722130] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.31-160-g81227d1d4 [23:08:14.722172] [dll] sane_init/read_dlld: attempting to open directory `./dll.d' [23:08:14.722227] [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d' [23:08:14.722272] [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d' [23:08:14.722321] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/airscan [23:08:14.722373] [dll] sane_init/read_config: reading dll.d/airscan [23:08:14.722423] [dll] add_backend: adding backend `airscan' [23:08:14.722463] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip [23:08:14.722508] [dll] sane_init/read_config: reading dll.d/hplip [23:08:14.722542] [dll] add_backend: adding backend `hpaio' [23:08:14.722584] [dll] sane_init/read_dlld: done. [23:08:14.722624] [dll] sane_init/read_config: reading dll.conf [23:08:14.722668] [dll] add_backend: adding backend `net' [23:08:14.722697] [dll] add_backend: adding backend `abaton' [23:08:14.722724] [dll] add_backend: adding backend `agfafocus' [23:08:14.722750] [dll] add_backend: adding backend `apple' [23:08:14.722777] [dll] add_backend: adding backend `artec' [23:08:14.722803] [dll] add_backend: adding backend `artec_eplus48u' [23:08:14.722830] [dll] add_backend: adding backend `as6e' [23:08:14.722856] [dll] add_backend: adding backend `avision' [23:08:14.722883] [dll] add_backend: adding backend `bh' [23:08:14.722910] [dll] add_backend: adding backend `canon' [23:08:14.722936] [dll] add_backend: adding backend `canon630u' [23:08:14.722963] [dll] add_backend: adding backend `canon_dr' [23:08:14.722990] [dll] add_backend: adding backend `canon_lide70' [23:08:14.723017] [dll] add_backend: adding backend `cardscan' [23:08:14.723043] [dll] add_backend: adding backend `coolscan' [23:08:14.723071] [dll] add_backend: adding backend `coolscan3' [23:08:14.723099] [dll] add_backend: adding backend `dell1600n_net' [23:08:14.723126] [dll] add_backend: adding backend `dmc' [23:08:14.723153] [dll] add_backend: adding backend `epjitsu' [23:08:14.723180] [dll] add_backend: adding backend `epson2' [23:08:14.723208] [dll] add_backend: adding backend `epsonds' [23:08:14.723235] [dll] add_backend: adding backend `escl' [23:08:14.723262] [dll] add_backend: adding backend `fujitsu' [23:08:14.723289] [dll] add_backend: adding backend `genesys' [23:08:14.723317] [dll] add_backend: adding backend `gt68xx' [23:08:14.723344] [dll] add_backend: adding backend `hp' [23:08:14.723371] [dll] add_backend: adding backend `hp3500' [23:08:14.723398] [dll] add_backend: adding backend `hp3900' [23:08:14.723425] [dll] add_backend: adding backend `hp4200' [23:08:14.723451] [dll] add_backend: adding backend `hp5400' [23:08:14.723478] [dll] add_backend: adding backend `hp5590' [23:08:14.723505] [dll] add_backend: adding backend `hpljm1005' [23:08:14.723538] [dll] add_backend: adding backend `hpsj5s' [23:08:14.723566] [dll] add_backend: adding backend `hs2p' [23:08:14.723593] [dll] add_backend: adding backend `ibm' [23:08:14.723620] [dll] add_backend: adding backend `kodak' [23:08:14.723647] [dll] add_backend: adding backend `kodakaio' [23:08:14.723674] [dll] add_backend: adding backend `kvs1025' [23:08:14.723701] [dll] add_backend: adding backend `kvs20xx' [23:08:14.723728] [dll] add_backend: adding backend `kvs40xx' [23:08:14.723756] [dll] add_backend: adding backend `leo' [23:08:14.723783] [dll] add_backend: adding backend `lexmark' [23:08:14.723810] [dll] add_backend: adding backend `ma1509' [23:08:14.723837] [dll] add_backend: adding backend `magicolor' [23:08:14.723864] [dll] add_backend: adding backend `matsushita' [23:08:14.723892] [dll] add_backend: adding backend `microtek' [23:08:14.723919] [dll] add_backend: adding backend `microtek2' [23:08:14.723946] [dll] add_backend: adding backend `mustek' [23:08:14.723974] [dll] add_backend: adding backend `mustek_usb' [23:08:14.724001] [dll] add_backend: adding backend `mustek_usb2' [23:08:14.724029] [dll] add_backend: adding backend `nec' [23:08:14.724073] [dll] add_backend: adding backend `niash' [23:08:14.724103] [dll] add_backend: adding backend `pie' [23:08:14.724130] [dll] add_backend: adding backend `pieusb' [23:08:14.724158] [dll] add_backend: adding backend `pint' [23:08:14.724191] [dll] add_backend: adding backend `pixma' [23:08:14.724219] [dll] add_backend: adding backend `plustek' [23:08:14.724248] [dll] add_backend: adding backend `qcam' [23:08:14.724275] [dll] add_backend: adding backend `ricoh' [23:08:14.724303] [dll] add_backend: adding backend `ricoh2' [23:08:14.724330] [dll] add_backend: adding backend `rts8891' [23:08:14.724358] [dll] add_backend: adding backend `s9036' [23:08:14.724385] [dll] add_backend: adding backend `sceptre' [23:08:14.724412] [dll] add_backend: adding backend `sharp' [23:08:14.724470] [dll] add_backend: adding backend `sm3600' [23:08:14.724477] [dll] add_backend: adding backend `sm3840' [23:08:14.724492] [dll] add_backend: adding backend `snapscan' [23:08:14.724498] [dll] add_backend: adding backend `sp15c' [23:08:14.724504] [dll] add_backend: adding backend `tamarack' [23:08:14.724509] [dll] add_backend: adding backend `teco1' [23:08:14.724515] [dll] add_backend: adding backend `teco2' [23:08:14.724520] [dll] add_backend: adding backend `teco3' [23:08:14.724526] [dll] add_backend: adding backend `u12' [23:08:14.724531] [dll] add_backend: adding backend `umax' [23:08:14.724537] [dll] add_backend: adding backend `umax1220u' [23:08:14.724543] [dll] add_backend: adding backend `v4l' [23:08:14.724548] [dll] add_backend: adding backend `xerox_mfp' [23:08:14.724563] [dll] sane_get_devices [23:08:14.724570] [dll] load: searching backend `xerox_mfp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.724576] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [23:08:14.724584] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [23:08:14.724665] [dll] init: initializing backend `xerox_mfp' [23:08:14.729460] [dll] init: backend `xerox_mfp' is version 1.0.13 [23:08:14.729521] [dll] load: searching backend `v4l' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.729528] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' [23:08:14.729536] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' (No such file or directory) [23:08:14.729541] [dll] load: trying to load `/usr/lib/sane/libsane-v4l.so.1' [23:08:14.729548] [dll] load: couldn't open `/usr/lib/sane/libsane-v4l.so.1' (No such file or directory) [23:08:14.729554] [dll] load: couldn't find backend `v4l' (No such file or directory) [23:08:14.729559] [dll] load: searching backend `umax1220u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.729565] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [23:08:14.729573] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [23:08:14.729650] [dll] init: initializing backend `umax1220u' [23:08:14.733305] [dll] init: backend `umax1220u' is version 1.0.2 [23:08:14.733316] [dll] load: searching backend `umax' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.733323] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [23:08:14.733331] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [23:08:14.733411] [dll] init: initializing backend `umax' [23:08:14.738123] [dll] init: backend `umax' is version 1.0.45 [23:08:14.738135] [dll] load: searching backend `u12' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.738141] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [23:08:14.738149] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [23:08:14.738228] [dll] init: initializing backend `u12' [23:08:14.742413] [dll] init: backend `u12' is version 1.0.0 [23:08:14.742428] [dll] load: searching backend `teco3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.742438] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [23:08:14.742457] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [23:08:14.742529] [dll] init: initializing backend `teco3' [23:08:14.742972] [dll] init: backend `teco3' is version 1.0.1 [23:08:14.742982] [dll] load: searching backend `teco2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.742987] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [23:08:14.742996] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [23:08:14.743047] [dll] init: initializing backend `teco2' [23:08:14.743772] [dll] init: backend `teco2' is version 1.0.10 [23:08:14.743781] [dll] load: searching backend `teco1' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.743787] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [23:08:14.743795] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [23:08:14.743844] [dll] init: initializing backend `teco1' [23:08:14.744293] [dll] init: backend `teco1' is version 1.0.10 [23:08:14.744302] [dll] load: searching backend `tamarack' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.744308] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [23:08:14.744316] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [23:08:14.744369] [dll] init: initializing backend `tamarack' [23:08:14.744577] [dll] init: backend `tamarack' is version 1.0.0 [23:08:14.744586] [dll] load: searching backend `sp15c' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.744592] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [23:08:14.744600] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [23:08:14.744662] [dll] init: initializing backend `sp15c' [23:08:14.744754] [dll] init: backend `sp15c' is version 1.0.0 [23:08:14.744765] [dll] load: searching backend `snapscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.744775] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [23:08:14.744799] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [23:08:14.744886] [dll] init: initializing backend `snapscan' [23:08:14.748847] [dll] init: backend `snapscan' is version 1.4.53 [23:08:14.748859] [dll] load: searching backend `sm3840' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.748865] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [23:08:14.748873] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [23:08:14.748946] [dll] init: initializing backend `sm3840' [23:08:14.752616] [dll] init: backend `sm3840' is version 1.0.0 [23:08:14.752627] [dll] load: searching backend `sm3600' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.752634] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [23:08:14.752642] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [23:08:14.752730] [dll] init: initializing backend `sm3600' [23:08:14.756272] [dll] init: backend `sm3600' is version 1.0.6 [23:08:14.756283] [dll] load: searching backend `sharp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.756289] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [23:08:14.756298] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [23:08:14.756369] [dll] init: initializing backend `sharp' [23:08:14.756595] [dll] init: backend `sharp' is version 1.0.0 [23:08:14.756605] [dll] load: searching backend `sceptre' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.756610] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [23:08:14.756619] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [23:08:14.756668] [dll] init: initializing backend `sceptre' [23:08:14.756877] [dll] init: backend `sceptre' is version 1.0.10 [23:08:14.756886] [dll] load: searching backend `s9036' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.756896] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [23:08:14.756905] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [23:08:14.756950] [dll] init: initializing backend `s9036' [23:08:14.757092] [dll] init: backend `s9036' is version 1.0.0 [23:08:14.757099] [dll] load: searching backend `rts8891' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.757105] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [23:08:14.757113] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [23:08:14.757184] [dll] init: initializing backend `rts8891' [23:08:14.761050] [dll] init: backend `rts8891' is version 1.0.2401 [23:08:14.761105] [dll] load: searching backend `ricoh2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.761112] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [23:08:14.761120] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [23:08:14.761193] [dll] init: initializing backend `ricoh2' [23:08:14.764774] [dll] init: backend `ricoh2' is version 1.0.0 [23:08:14.764785] [dll] load: searching backend `ricoh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.764791] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [23:08:14.764800] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [23:08:14.764869] [dll] init: initializing backend `ricoh' [23:08:14.765013] [dll] init: backend `ricoh' is version 1.0.0 [23:08:14.765021] [dll] load: searching backend `qcam' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.765027] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [23:08:14.765035] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [23:08:14.765083] [dll] init: initializing backend `qcam' [23:08:14.765102] [dll] init: backend `qcam' is version 1.0.0 [23:08:14.765109] [dll] load: searching backend `plustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.765114] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [23:08:14.765122] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [23:08:14.765199] [dll] init: initializing backend `plustek' [23:08:14.769007] [dll] init: backend `plustek' is version 1.0.0 [23:08:14.769018] [dll] load: searching backend `pixma' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:14.769025] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [23:08:14.769033] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [23:08:14.769131] [dll] init: initializing backend `pixma' [23:08:14.772836] [dll] init: backend `pixma' is version 1.0.28 [23:08:15.293849] [dll] load: searching backend `pint' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.293935] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' [23:08:15.293996] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' (No such file or directory) [23:08:15.294024] [dll] load: trying to load `/usr/lib/sane/libsane-pint.so.1' [23:08:15.294052] [dll] load: couldn't open `/usr/lib/sane/libsane-pint.so.1' (No such file or directory) [23:08:15.294074] [dll] load: couldn't find backend `pint' (No such file or directory) [23:08:15.294097] [dll] load: searching backend `pieusb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.294119] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [23:08:15.294155] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [23:08:15.294539] [dll] init: initializing backend `pieusb' [23:08:15.305710] [dll] init: backend `pieusb' is version 1.0.1 [23:08:15.305723] [dll] load: searching backend `pie' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.305729] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [23:08:15.305745] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [23:08:15.305817] [dll] init: initializing backend `pie' [23:08:15.306151] [dll] init: backend `pie' is version 1.0.9 [23:08:15.306159] [dll] load: searching backend `niash' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.306165] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [23:08:15.306173] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [23:08:15.306250] [dll] init: initializing backend `niash' [23:08:15.309870] [dll] init: backend `niash' is version 1.0.1 [23:08:15.309882] [dll] load: searching backend `nec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.309888] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [23:08:15.309897] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [23:08:15.309976] [dll] init: initializing backend `nec' [23:08:15.310126] [dll] init: backend `nec' is version 1.0.0 [23:08:15.310134] [dll] load: searching backend `mustek_usb2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.310140] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [23:08:15.310148] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [23:08:15.310224] [dll] init: initializing backend `mustek_usb2' [23:08:15.310237] [dll] init: backend `mustek_usb2' is version 1.0.10 [23:08:15.313963] [dll] load: searching backend `mustek_usb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.313977] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [23:08:15.313989] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [23:08:15.314110] [dll] init: initializing backend `mustek_usb' [23:08:15.317941] [dll] init: backend `mustek_usb' is version 1.0.18 [23:08:15.317952] [dll] load: searching backend `mustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.317959] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [23:08:15.317967] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [23:08:15.318090] [dll] init: initializing backend `mustek' [23:08:15.318424] [dll] init: backend `mustek' is version 1.0.138 [23:08:15.318433] [dll] load: searching backend `microtek2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.318439] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [23:08:15.318447] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [23:08:15.318566] [dll] init: initializing backend `microtek2' [23:08:15.318803] [dll] init: backend `microtek2' is version 1.0.0 [23:08:15.318813] [dll] load: searching backend `microtek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.318819] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [23:08:15.318828] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [23:08:15.318883] [dll] init: initializing backend `microtek' [23:08:15.319085] [dll] init: backend `microtek' is version 1.0.0 [23:08:15.319093] [dll] load: searching backend `matsushita' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.319099] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [23:08:15.319107] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [23:08:15.319157] [dll] init: initializing backend `matsushita' [23:08:15.319603] [dll] init: backend `matsushita' is version 1.0.7 [23:08:15.319612] [dll] load: searching backend `magicolor' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:15.319617] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [23:08:15.319626] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [23:08:15.320120] [dll] init: initializing backend `magicolor' [23:08:15.323738] [dll] init: backend `magicolor' is version 1.0.1 [23:08:16.825737] [dll] load: searching backend `ma1509' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.825851] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [23:08:16.825942] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [23:08:16.826395] [dll] init: initializing backend `ma1509' [23:08:16.838241] [dll] init: backend `ma1509' is version 1.0.3 [23:08:16.838253] [dll] load: searching backend `lexmark' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.838260] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [23:08:16.838268] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [23:08:16.838374] [dll] init: initializing backend `lexmark' [23:08:16.842141] [dll] init: backend `lexmark' is version 1.0.32 [23:08:16.842198] [dll] load: searching backend `leo' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.842205] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [23:08:16.842214] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [23:08:16.842285] [dll] init: initializing backend `leo' [23:08:16.842581] [dll] init: backend `leo' is version 1.0.11 [23:08:16.842589] [dll] load: searching backend `kvs40xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.842595] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [23:08:16.842603] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [23:08:16.842693] [dll] init: initializing backend `kvs40xx' [23:08:16.846388] [dll] init: backend `kvs40xx' is version 1.0.1 [23:08:16.846599] [dll] load: searching backend `kvs20xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.846607] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [23:08:16.846615] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [23:08:16.846701] [dll] init: initializing backend `kvs20xx' [23:08:16.850364] [dll] init: backend `kvs20xx' is version 1.0.2 [23:08:16.850750] [dll] load: searching backend `kvs1025' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.850758] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [23:08:16.850766] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [23:08:16.850853] [dll] init: initializing backend `kvs1025' [23:08:16.854531] [dll] init: backend `kvs1025' is version 1.0.5 [23:08:16.854542] [dll] load: searching backend `kodakaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:16.854549] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [23:08:16.854557] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [23:08:16.855091] [dll] init: initializing backend `kodakaio' [23:08:16.858925] [dll] init: backend `kodakaio' is version 1.0.3 [23:08:18.769016] [dll] load: searching backend `kodak' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.769128] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [23:08:18.769213] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [23:08:18.769671] [dll] init: initializing backend `kodak' [23:08:18.769728] [dll] init: backend `kodak' is version 1.0.7 [23:08:18.770186] [dll] load: searching backend `ibm' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.770224] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [23:08:18.770263] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [23:08:18.770533] [dll] init: initializing backend `ibm' [23:08:18.771246] [dll] init: backend `ibm' is version 1.0.0 [23:08:18.771284] [dll] load: searching backend `hs2p' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.771312] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [23:08:18.771375] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [23:08:18.771636] [dll] init: initializing backend `hs2p' [23:08:18.772682] [dll] init: backend `hs2p' is version 1.0.0 [23:08:18.772726] [dll] load: searching backend `hpsj5s' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.772780] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [23:08:18.772846] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [23:08:18.773159] [dll] init: initializing backend `hpsj5s' [23:08:18.773284] [dll] init: backend `hpsj5s' is version 1.0.3 [23:08:18.773319] [dll] load: searching backend `hpljm1005' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.773348] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [23:08:18.773386] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [23:08:18.773724] [dll] init: initializing backend `hpljm1005' [23:08:18.782960] [dll] init: backend `hpljm1005' is version 1.0.1 [23:08:18.782972] [dll] load: searching backend `hp5590' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.782978] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [23:08:18.782987] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [23:08:18.783093] [dll] init: initializing backend `hp5590' [23:08:18.786960] [dll] init: backend `hp5590' is version 1.0.8 [23:08:18.786971] [dll] load: searching backend `hp5400' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.786977] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [23:08:18.786986] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [23:08:18.787086] [dll] init: initializing backend `hp5400' [23:08:18.790826] [dll] init: backend `hp5400' is version 1.0.3 [23:08:18.790837] [dll] load: searching backend `hp4200' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.790843] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [23:08:18.790852] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [23:08:18.790934] [dll] init: initializing backend `hp4200' [23:08:18.794635] [dll] init: backend `hp4200' is version 1.0.0 [23:08:18.794646] [dll] load: searching backend `hp3900' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.794652] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [23:08:18.794661] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [23:08:18.795024] [dll] init: initializing backend `hp3900' [23:08:18.798789] [dll] init: backend `hp3900' is version 1.0.0 [23:08:18.798800] [dll] load: searching backend `hp3500' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.798806] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [23:08:18.798815] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [23:08:18.798901] [dll] init: initializing backend `hp3500' [23:08:18.802566] [dll] init: backend `hp3500' is version 1.0.0 [23:08:18.802590] [dll] load: searching backend `hp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.802607] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [23:08:18.802626] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [23:08:18.802768] [dll] init: initializing backend `hp' [23:08:18.802793] [dll] init: backend `hp' is version 1.0.8 [23:08:18.806772] [dll] load: searching backend `gt68xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.806783] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [23:08:18.806792] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [23:08:18.806897] [dll] init: initializing backend `gt68xx' [23:08:18.810758] [dll] init: backend `gt68xx' is version 1.0.84 [23:08:18.810891] [dll] load: searching backend `genesys' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.810903] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [23:08:18.810913] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [23:08:18.811211] [dll] init: initializing backend `genesys' [23:08:18.815295] [dll] init: backend `genesys' is version 1.0.0 [23:08:18.815370] [dll] load: searching backend `fujitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.815378] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [23:08:18.815387] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [23:08:18.815472] [dll] init: initializing backend `fujitsu' [23:08:18.815488] [dll] init: backend `fujitsu' is version 1.0.137 [23:08:18.819532] [dll] load: searching backend `escl' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:18.819543] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [23:08:18.819552] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [23:08:18.828139] [dll] init: initializing backend `escl' [23:08:18.828199] [dll] init: backend `escl' is version 1.0.0 [23:08:19.831512] [dll] load: searching backend `epsonds' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:19.831636] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [23:08:19.831727] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [23:08:19.832531] [dll] init: initializing backend `epsonds' [23:08:19.845851] [dll] init: backend `epsonds' is version 1.0.0 [23:08:19.845897] [dll] load: searching backend `epson2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:19.845905] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [23:08:19.845914] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [23:08:19.846062] [dll] init: initializing backend `epson2' [23:08:19.849793] [dll] init: backend `epson2' is version 1.0.124 [23:08:20.851052] [dll] load: searching backend `epjitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:20.851165] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [23:08:20.851248] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [23:08:20.851840] [dll] init: initializing backend `epjitsu' [23:08:20.851902] [dll] init: backend `epjitsu' is version 1.0.31 [23:08:20.862558] [dll] load: searching backend `dmc' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:20.862569] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [23:08:20.862579] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [23:08:20.862690] [dll] init: initializing backend `dmc' [23:08:20.862855] [dll] init: backend `dmc' is version 1.0.0 [23:08:20.862863] [dll] load: searching backend `dell1600n_net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:20.862869] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [23:08:20.862877] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [23:08:20.862981] [dll] init: initializing backend `dell1600n_net' [23:08:20.862990] [dll] init: backend `dell1600n_net' is version 1.0.0 [23:08:21.163437] [dll] load: searching backend `coolscan3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.163535] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [23:08:21.163619] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [23:08:21.164131] [dll] init: initializing backend `coolscan3' [23:08:21.177736] [dll] init: backend `coolscan3' is version 1.0.0 [23:08:21.177860] [dll] load: searching backend `coolscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.177868] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [23:08:21.177877] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [23:08:21.178012] [dll] init: initializing backend `coolscan' [23:08:21.178226] [dll] init: backend `coolscan' is version 1.0.0 [23:08:21.178233] [dll] load: searching backend `cardscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.178239] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [23:08:21.178248] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [23:08:21.178338] [dll] init: initializing backend `cardscan' [23:08:21.182042] [dll] init: backend `cardscan' is version 1.0.3 [23:08:21.182082] [dll] load: searching backend `canon_lide70' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.182089] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [23:08:21.182098] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [23:08:21.182197] [dll] init: initializing backend `canon_lide70' [23:08:21.185938] [dll] init: backend `canon_lide70' is version 1.0.0 [23:08:21.185953] [dll] load: searching backend `canon_dr' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.185959] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [23:08:21.185968] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [23:08:21.186070] [dll] init: initializing backend `canon_dr' [23:08:21.186085] [dll] init: backend `canon_dr' is version 1.0.59 [23:08:21.189887] [dll] load: searching backend `canon630u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.189898] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [23:08:21.189907] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [23:08:21.190002] [dll] init: initializing backend `canon630u' [23:08:21.193783] [dll] init: backend `canon630u' is version 1.0.1 [23:08:21.193795] [dll] load: searching backend `canon' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.193801] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [23:08:21.193809] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [23:08:21.193886] [dll] init: initializing backend `canon' [23:08:21.193976] [dll] init: backend `canon' is version 1.0.0 [23:08:21.193983] [dll] load: searching backend `bh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.193989] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [23:08:21.193997] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [23:08:21.194060] [dll] init: initializing backend `bh' [23:08:21.194263] [dll] init: backend `bh' is version 1.0.4 [23:08:21.194271] [dll] load: searching backend `avision' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.194276] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [23:08:21.194285] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [23:08:21.194383] [dll] init: initializing backend `avision' [23:08:21.202095] [dll] init: backend `avision' is version 1.0.297 [23:08:21.205932] [dll] load: searching backend `as6e' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.205940] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [23:08:21.205949] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [23:08:21.206017] [dll] init: initializing backend `as6e' [23:08:21.206041] [dll] load: searching backend `artec_eplus48u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.206047] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [23:08:21.206056] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [23:08:21.206142] [dll] init: initializing backend `artec_eplus48u' [23:08:21.209842] [dll] init: backend `artec_eplus48u' is version 1.0.0 [23:08:21.209854] [dll] load: searching backend `artec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.209860] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [23:08:21.209874] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [23:08:21.209942] [dll] init: initializing backend `artec' [23:08:21.210148] [dll] init: backend `artec' is version 1.0.0 [23:08:21.210156] [dll] load: searching backend `apple' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.210162] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [23:08:21.210170] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [23:08:21.210228] [dll] init: initializing backend `apple' [23:08:21.210425] [dll] init: backend `apple' is version 1.0.0 [23:08:21.210432] [dll] load: searching backend `agfafocus' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.210438] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [23:08:21.210446] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [23:08:21.210512] [dll] init: initializing backend `agfafocus' [23:08:21.210651] [dll] init: backend `agfafocus' is version 1.0.0 [23:08:21.210658] [dll] load: searching backend `abaton' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.210664] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [23:08:21.210672] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [23:08:21.210728] [dll] init: initializing backend `abaton' [23:08:21.210925] [dll] init: backend `abaton' is version 1.0.0 [23:08:21.210933] [dll] load: searching backend `net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.210939] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [23:08:21.210947] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [23:08:21.211038] [dll] init: initializing backend `net' [23:08:21.212678] [dll] init: backend `net' is version 1.0.31 [23:08:21.212702] [dll] load: searching backend `hpaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:21.212709] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [23:08:21.212720] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [23:08:21.213298] [dll] init: initializing backend `hpaio' [23:08:21.213643] [dll] init: backend `hpaio' is version 1.0.0 [23:08:22.615059] [dll] load: searching backend `airscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [23:08:22.615156] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-airscan.so.1' [23:08:22.615214] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-airscan.so.1' [23:08:22.615786] [dll] init: initializing backend `airscan' [23:08:22.624510] [dll] init: backend `airscan' is version 1.0.0 Entity: line 1: parser error : Start tag expected, '<' not found ? ^ [23:08:23.624709] [dll] sane_get_devices: found 2 devices [23:08:23.624837] [dll] sane_exit: exiting [23:08:23.624905] [dll] sane_exit: calling backend `xerox_mfp's exit function [23:08:23.625183] [dll] sane_exit: calling backend `umax1220u's exit function [23:08:23.625382] [dll] sane_exit: calling backend `umax's exit function [23:08:23.625534] [dll] sane_exit: calling backend `u12's exit function [23:08:23.625683] [dll] sane_exit: calling backend `teco3's exit function [23:08:23.625821] [dll] sane_exit: calling backend `teco2's exit function [23:08:23.625947] [dll] sane_exit: calling backend `teco1's exit function [23:08:23.626069] [dll] sane_exit: calling backend `tamarack's exit function [23:08:23.626189] [dll] sane_exit: calling backend `sp15c's exit function [23:08:23.626309] [dll] sane_exit: calling backend `snapscan's exit function [23:08:23.626435] [dll] sane_exit: calling backend `sm3840's exit function [23:08:23.626578] [dll] sane_exit: calling backend `sm3600's exit function [23:08:23.626707] [dll] sane_exit: calling backend `sharp's exit function [23:08:23.626827] [dll] sane_exit: calling backend `sceptre's exit function [23:08:23.626942] [dll] sane_exit: calling backend `s9036's exit function [23:08:23.627078] [dll] sane_exit: calling backend `rts8891's exit function [23:08:23.627194] [dll] sane_exit: calling backend `ricoh2's exit function [23:08:23.627393] [dll] sane_exit: calling backend `ricoh's exit function [23:08:23.627511] [dll] sane_exit: calling backend `qcam's exit function [23:08:23.627620] [dll] sane_exit: calling backend `plustek's exit function [23:08:23.627740] [dll] sane_exit: calling backend `pixma's exit function [23:08:23.627914] [dll] sane_exit: calling backend `pieusb's exit function [23:08:23.628039] [dll] sane_exit: calling backend `pie's exit function [23:08:23.628164] [dll] sane_exit: calling backend `niash's exit function [23:08:23.628270] [dll] sane_exit: calling backend `nec's exit function [23:08:23.628390] [dll] sane_exit: calling backend `mustek_usb2's exit function [23:08:23.628543] [dll] sane_exit: calling backend `mustek_usb's exit function [23:08:23.628671] [dll] sane_exit: calling backend `mustek's exit function [23:08:23.628815] [dll] sane_exit: calling backend `microtek2's exit function [23:08:23.628932] [dll] sane_exit: calling backend `microtek's exit function [23:08:23.629060] [dll] sane_exit: calling backend `matsushita's exit function [23:08:23.629172] [dll] sane_exit: calling backend `magicolor's exit function [23:08:23.629283] [dll] sane_exit: calling backend `ma1509's exit function [23:08:23.629413] [dll] sane_exit: calling backend `lexmark's exit function [23:08:23.629585] [dll] sane_exit: calling backend `leo's exit function [23:08:23.629706] [dll] sane_exit: calling backend `kvs40xx's exit function [23:08:23.629815] [dll] sane_exit: calling backend `kvs20xx's exit function [23:08:23.629941] [dll] sane_exit: calling backend `kvs1025's exit function [23:08:23.630045] [dll] sane_exit: calling backend `kodakaio's exit function [23:08:23.630168] [dll] sane_exit: calling backend `kodak's exit function [23:08:23.630289] [dll] sane_exit: calling backend `ibm's exit function [23:08:23.630394] [dll] sane_exit: calling backend `hs2p's exit function [23:08:23.630510] [dll] sane_exit: calling backend `hpsj5s's exit function [23:08:23.630647] [dll] sane_exit: calling backend `hpljm1005's exit function [23:08:23.630760] [dll] sane_exit: calling backend `hp5590's exit function [23:08:23.630868] [dll] sane_exit: calling backend `hp5400's exit function [23:08:23.630989] [dll] sane_exit: calling backend `hp4200's exit function [23:08:23.631105] [dll] sane_exit: calling backend `hp3900's exit function [23:08:23.631224] [dll] sane_exit: calling backend `hp3500's exit function [23:08:23.631347] [dll] sane_exit: calling backend `hp's exit function [23:08:23.631461] [dll] sane_exit: calling backend `gt68xx's exit function [23:08:23.631631] [dll] sane_exit: calling backend `genesys's exit function device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) flatbed scanner device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 series (USB) eSCL network scanner [23:08:23.632117] [dll] sane_exit: calling backend `fujitsu's exit function [23:08:23.632236] [dll] sane_exit: calling backend `escl's exit function [23:08:23.633733] [dll] sane_exit: calling backend `epsonds's exit function [23:08:23.633860] [dll] sane_exit: calling backend `epson2's exit function [23:08:23.633969] [dll] sane_exit: calling backend `epjitsu's exit function [23:08:23.634075] [dll] sane_exit: calling backend `dmc's exit function [23:08:23.634173] [dll] sane_exit: calling backend `dell1600n_net's exit function [23:08:23.634260] [dll] sane_exit: calling backend `coolscan3's exit function [23:08:23.634353] [dll] sane_exit: calling backend `coolscan's exit function [23:08:23.634446] [dll] sane_exit: calling backend `cardscan's exit function [23:08:23.634559] [dll] sane_exit: calling backend `canon_lide70's exit function [23:08:23.634645] [dll] sane_exit: calling backend `canon_dr's exit function [23:08:23.634735] [dll] sane_exit: calling backend `canon630u's exit function [23:08:23.634837] [dll] sane_exit: calling backend `canon's exit function [23:08:23.634930] [dll] sane_exit: calling backend `bh's exit function [23:08:23.635043] [dll] sane_exit: calling backend `avision's exit function [23:08:23.635179] [dll] sane_exit: calling backend `artec_eplus48u's exit function [23:08:23.635268] [dll] sane_exit: calling backend `artec's exit function [23:08:23.635371] [dll] sane_exit: calling backend `apple's exit function [23:08:23.635455] [dll] sane_exit: calling backend `agfafocus's exit function [23:08:23.635541] [dll] sane_exit: calling backend `abaton's exit function [23:08:23.635623] [dll] sane_exit: calling backend `net's exit function [23:08:23.636088] [dll] sane_exit: calling backend `hpaio's exit function [23:08:23.636349] [dll] sane_exit: calling backend `airscan's exit function [23:08:23.637727] [dll] sane_exit: finished From thierry at ordissimo.com Mon Oct 5 22:34:31 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 23:34:31 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <56434747-8406-15c1-2fce-d90a3f4db46a@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> <17e67b8b-8d7a-ced6-ea10-433c26ad145d@apevzner.com> <56434747-8406-15c1-2fce-d90a3f4db46a@apevzner.com> Message-ID: Le 2020-10-05 22:45, Alexander Pevzner a ?crit?: > On 10/5/20 10:44 PM, Thierry HUCHARD wrote: >>> Please notice, sane-escl has got a SIGSEGV. Though ippusbxd doesn't >>> work very well, it cannot be a reason for SIGSEGV in the sane-escl. >> Thank you Alexander, >> to know if the problem comes from escl or ippusbxd, it would have been >> interesting to test with ipp-usb. > > ippusbxd is the external program, sane-escl communicates with it over > network. So even if it works wrong, for sane-escl it is a kind of > invalid response from scanner. It should raise an error, not the > crash. Scanner also can send invalid response. > >> I think that Yoann's installation is corrupted, the TS8300 is >> referenced in PIXMA since version 1.0.30 and despite that it is not >> detected! > > Running IPP-over-USB daemon may prevent sane-pixma backend from access > to the USB device. > > But in general I think that if some device provides both proprietary > and "driverless" way of scanning/printing, driverless should be > preferred. So although for some particular user disabling IPP-over-USB > may work as a "hotfix", from community perspective this is better to > investigate IPP-over-USB issues rather that to disable it when it > doesn't work. You know it I am not of this opinion, the PIXMA pilot is free and much more complete than the ESCL/AIRSCAN pilot. From thierry at ordissimo.com Mon Oct 5 22:35:56 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 23:35:56 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> Message-ID: <1bbfefd94dfc64b032cd17697559e72d@ordissimo.com> Le 2020-10-05 22:49, Alexander Pevzner a ?crit?: > Hi Thierry, > > On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >> Hi Alexander, >> Can you help with the installation of ipp-usb ? > > It should be very easy. Just download appropriate package (depending Thank you Alexander, it's for Yoann :) > on your distro) from > https://download.opensuse.org/repositories/home:/pzz/ and install it. > > It is marked as "conflicting" with ippusbxd, so package manager should > request you to uninstall ippusbxd or even do it automatically. From thierry at ordissimo.com Mon Oct 5 22:42:36 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Mon, 05 Oct 2020 23:42:36 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> Message-ID: <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> Le 2020-10-05 23:14, Yoann Le Montagner a ?crit?: > Hi, > > I've installed both ipp-usb and sane-airscan, following the > instructions on https://github.com/alexpevzner/sane-airscan, and > uninstalled ippusbxd. I've sent a first mail to the list reporting > that this manipulation didn't fixed the problem ('scanimage -L' was > still returning "No scanner were identified..."). But I've retried the > same test after a while, and now it appears to work: > > yoann at yoann-desktop:~$ scanimage -L > Entity: line 1: parser error : Start tag expected, '<' not found > ? > ^ there is an error here, can you give me the log? $ SANE_DEBUG_ESCL=255 scanimage -d 'escl:http://127.0.0.1:60000' Thank's > device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) > flatbed scanner > device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 > series (USB) eSCL network scanner > > I've tried to use the scan with scanimage, with device "escl:http:..." > on one hand, and "airscan:e0:..." on the other hand. Both seem to > work. XSane seems to work too. I will do some more tests tomorrow to > confirm that. I don't whether one "device" should be preferred on the > other ? > > Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' > in which appears the warning regarding the parser error. > > Thanks for your help. > > Regards, > > Yoann > > > Le 05/10/2020 ? 22:49, Alexander Pevzner a ?crit?: >> Hi Thierry, >> >> On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >>> Hi Alexander, >>> Can you help with the installation of ipp-usb ? >> >> It should be very easy. Just download appropriate package (depending >> on your distro) from >> https://download.opensuse.org/repositories/home:/pzz/ and install it. >> >> It is marked as "conflicting" with ippusbxd, so package manager should >> request you to uninstall ippusbxd or even do it automatically. >> From yo35 at melix.net Mon Oct 5 19:30:55 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Mon, 5 Oct 2020 20:30:55 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <9560531ebf9f705935f3c59d512a0833@ordissimo.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <9560531ebf9f705935f3c59d512a0833@ordissimo.com> Message-ID: Hi, I've uninstalled ippusbxd, then reboot... and as a result the scanner is not detected anymore! 'scanimage -L' returns "No scanners were identified." 'sane-find-scanner' still lists the scanner among the USB devices (output of 'sudo sane-find-scanner -v -v' is attached). I don't understand you point regarding the scanner being plugged in USB. Do you mean it would better to have it connected through Wifi ? Regards, Yoann Le 05/10/2020 ? 20:10, Thierry HUCHARD a ?crit?: > Le 2020-10-05 19:22, Yoann Le Montagner a ?crit?: >> Hi, >> >> Thanks for the answer. Indeed, things are better with libsane 1.0.31. >> >> However, I still encounter some random errors when trying to use the >> scanner. For instance, using 'scanimage', I get: >> >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> Erreur de segmentation (core dumped) >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> scanimage: rounded value of br-x from 215.9 to 215.9 >>> scanimage: rounded value of br-y from 297.011 to 297.011 >>> scanimage: sane_start: Device busy >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> Erreur de segmentation (core dumped) >>> yoann at yoann-desktop:~$ scanimage -d escl:http://127.0.0.1:60000 > >>> outfile.pnm >>> Output format is not set, using pnm as a default. >>> scanimage: rounded value of br-x from 215.9 to 215.9 >>> scanimage: rounded value of br-y from 297.011 to 297.011 >> >> ... the first 3 attempts failed, the fourth one succeed. The number of >> attempts may change from one trial to another. And the scanner is >> almost unusable from a graphical frontend such as XSane (probably >> because of these errors I guess). >> > You are plugged in USB! > Why use the network driver? > ippusbxd doesn't work very well, I advise you to uninstall it. > # sudo apt purge ippusbxd > The PIXMA driver should then detect your scanner and everything should > work. > You can also use it in networks! > > Thierry > >> If there is any manipulation that I should try to provide more >> information, please let me know. >> >> Regards, >> >> Yoann >> >> Le 04/10/2020 ? 23:51, Thierry HUCHARD a ?crit : >> >>> Le 2020-10-04 18:31, Yoann Le Montagner a ?crit : >>> >>>> Hi, >>>> >>>> I've a brand new PIxma TS8350 scanner, that is -- unfortunately -- >>>> not >>>> recognized by SANE. I've seen on the device list page that testers >>>> are >>>> needed for this device, so I would be happy to test what need to >>>> be >>>> tested in order to have this thing work properly. >>>> >>>> Please find attached the output of command 'sudo sane-find-scanner >>>> -v -v'. >>> The usb support has been added, for your template in version 1.0.30 >>> of sane-backends. >>> Full wifi support in version 1.0.31 of sane-backends. >>> If your OS is ubuntu I invite you to update as follows: >>> sudo add-apt-repository ppa:sane-project/sane-git >>> sudo apt update >>> sudo apt install libsane libsane-common sane-utils >>> >>>> Regards, >>>> >>>> Y. -------------- next part -------------- This is sane-find-scanner from sane-backends 1.0.31-160-g81227d1d4 # 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. searching for SCSI scanners: checking /dev/scanner... failed to open (Invalid argument) checking /dev/sg0... failed to open (Invalid argument) checking /dev/sg1... failed to open (Invalid argument) checking /dev/sg2... failed to open (Invalid argument) checking /dev/sg3... failed to open (Invalid argument) checking /dev/sg4... failed to open (Invalid argument) checking /dev/sg5... failed to open (Invalid argument) checking /dev/sg6... failed to open (Invalid argument) checking /dev/sg7... failed to open (Invalid argument) checking /dev/sg8... failed to open (Invalid argument) checking /dev/sg9... failed to open (Invalid argument) checking /dev/sga... failed to open (Invalid argument) checking /dev/sgb... failed to open (Invalid argument) checking /dev/sgc... failed to open (Invalid argument) checking /dev/sgd... failed to open (Invalid argument) checking /dev/sge... failed to open (Invalid argument) checking /dev/sgf... failed to open (Invalid argument) checking /dev/sgg... failed to open (Invalid argument) checking /dev/sgh... failed to open (Invalid argument) checking /dev/sgi... failed to open (Invalid argument) checking /dev/sgj... failed to open (Invalid argument) checking /dev/sgk... failed to open (Invalid argument) checking /dev/sgl... failed to open (Invalid argument) checking /dev/sgm... failed to open (Invalid argument) checking /dev/sgn... failed to open (Invalid argument) checking /dev/sgo... failed to open (Invalid argument) checking /dev/sgp... failed to open (Invalid argument) checking /dev/sgq... failed to open (Invalid argument) checking /dev/sgr... failed to open (Invalid argument) checking /dev/sgs... failed to open (Invalid argument) checking /dev/sgt... failed to open (Invalid argument) checking /dev/sgu... failed to open (Invalid argument) checking /dev/sgv... failed to open (Invalid argument) checking /dev/sgw... failed to open (Invalid argument) checking /dev/sgx... failed to open (Invalid argument) checking /dev/sgy... failed to open (Invalid argument) checking /dev/sgz... failed to open (Invalid argument) # No SCSI scanners found. If you expected something different, make sure that # you have loaded a kernel SCSI driver for your SCSI adapter. searching for USB scanners: checking /dev/usb/scanner... failed to open (Invalid argument) checking /dev/usb/scanner0... failed to open (Invalid argument) checking /dev/usb/scanner1... failed to open (Invalid argument) checking /dev/usb/scanner2... failed to open (Invalid argument) checking /dev/usb/scanner3... failed to open (Invalid argument) checking /dev/usb/scanner4... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner5... failed to open (Invalid argument) checking /dev/usb/scanner7... failed to open (Invalid argument) checking /dev/usb/scanner8... failed to open (Invalid argument) checking /dev/usb/scanner9... failed to open (Invalid argument) checking /dev/usb/scanner10... failed to open (Invalid argument) checking /dev/usb/scanner11... failed to open (Invalid argument) checking /dev/usb/scanner12... failed to open (Invalid argument) checking /dev/usb/scanner13... failed to open (Invalid argument) checking /dev/usb/scanner14... failed to open (Invalid argument) checking /dev/usb/scanner15... failed to open (Invalid argument) checking /dev/usbscanner... failed to open (Invalid argument) checking /dev/usbscanner0... failed to open (Invalid argument) checking /dev/usbscanner1... failed to open (Invalid argument) checking /dev/usbscanner2... failed to open (Invalid argument) checking /dev/usbscanner3... failed to open (Invalid argument) checking /dev/usbscanner4... failed to open (Invalid argument) checking /dev/usbscanner5... failed to open (Invalid argument) checking /dev/usbscanner6... failed to open (Invalid argument) checking /dev/usbscanner7... failed to open (Invalid argument) checking /dev/usbscanner8... failed to open (Invalid argument) checking /dev/usbscanner9... failed to open (Invalid argument) checking /dev/usbscanner10... failed to open (Invalid argument) checking /dev/usbscanner11... failed to open (Invalid argument) checking /dev/usbscanner12... failed to open (Invalid argument) checking /dev/usbscanner13... failed to open (Invalid argument) checking /dev/usbscanner14... failed to open (Invalid argument) checking /dev/usbscanner15... failed to open (Invalid argument) trying libusb: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8001 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 2 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1d.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x8009 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic ehci_hcd) iProduct 2 (EHCI Host Controller) iSerialNumber 1 (0000:00:1a.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x0451 idProduct 0x8340 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 19 (interrupt) wMaxPacketSize 2 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 3.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 3 bMaxPacketSize0 9 idVendor 0x1D6B idProduct 0x0003 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 31 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.01 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x82FF bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 34 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC52B bcdDevice 18.11 iManufacturer 1 (Logitech) iProduct 2 (USB Receiver) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 84 bNumInterfaces 3 bConfigurationValue 1 iConfiguration 4 (RQR12.11_B0032) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 32 bInterval 2 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 2 bMaxPacketSize0 64 idVendor 0x0451 idProduct 0x8342 bcdDevice 1.00 iManufacturer 0 () iProduct 0 () could not fetch string descriptor: Pipe error iSerialNumber 1 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x04A9 idProduct 0x1890 bcdDevice 1.02 iManufacturer 1 (Canon) iProduct 2 (TS8300 series) iSerialNumber 3 (21260F) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 223 bNumInterfaces 7 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 2 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 0 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x07 (out 0x07) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x88 (in 0x08) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x89 (in 0x09) bmAttributes 3 (interrupt) wMaxPacketSize 64 bInterval 11 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 2 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x01 (out 0x01) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 bInterfaceSubClass 6 bInterfaceProtocol 80 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x84 (in 0x04) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x05 (out 0x05) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0C (out 0x0C) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8D (in 0x0D) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 4 bAlternateSetting 1 bNumEndpoints 2 bInterfaceClass 7 bInterfaceSubClass 1 bInterfaceProtocol 4 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0E (out 0x0E) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8F (in 0x0F) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 5 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x03 (out 0x03) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 6 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 255 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x0A (out 0x0A) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 bLength 7 bDescriptorType 5 bEndpointAddress 0x8B (in 0x0B) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 checking for LM983[1,2,3] ... this is not a LM983x (bcdUSB = 0x200) checking for GT-6801 ... this is not a GT-6801 (bDeviceClass = 0) checking for GT-6816 ... this is not a GT-6816 (bcdUSB = 0x200) checking for GLxxx ... this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 255) this is not a GLxxx (bDeviceClass = 0, bInterfaceClass = 255) found USB scanner (vendor=0x04a9 [Canon], product=0x1890 [TS8300 series]) at libusb:003:009 bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x046D idProduct 0xC328 bcdDevice 134.00 iManufacturer 1 (Logitech) iProduct 2 (USB Keyboard) iSerialNumber 0 () bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 4 (U86.00_B0003) bmAttributes 160 (Remote Wakeup) MaxPower 98 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 1 bInterfaceProtocol 1 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x82 (in 0x02) bmAttributes 3 (interrupt) wMaxPacketSize 3 bInterval 10 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 bDeviceSubClass 2 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x046D idProduct 0x0825 bcdDevice 0.10 iManufacturer 0 () iProduct 0 () iSerialNumber 2 (5EC3E6C0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 2469 bNumInterfaces 4 bConfigurationValue 1 iConfiguration 0 () bmAttributes 128 () MaxPower 500 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x87 (in 0x07) bmAttributes 3 (interrupt) wMaxPacketSize 16 bInterval 8 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 192 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 384 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 512 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 640 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 5 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 800 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 6 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 944 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 7 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2688 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 8 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 2848 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 9 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 3040 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 10 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 4992 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 11 bNumEndpoints 1 bInterfaceClass 14 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 5 (isochronous) wMaxPacketSize 5116 bInterval 1 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 1 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 68 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 100 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 132 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 9 bDescriptorType 4 bInterfaceNumber 3 bAlternateSetting 4 bNumEndpoints 1 bInterfaceClass 1 bInterfaceSubClass 2 bInterfaceProtocol 0 iInterface 0 () bLength 9 bDescriptorType 5 bEndpointAddress 0x86 (in 0x06) bmAttributes 5 (isochronous) wMaxPacketSize 196 bInterval 4 ms bRefresh 0 bSynchAddress 0 bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x1D6B idProduct 0x0002 bcdDevice 5.04 iManufacturer 3 (Linux 5.4.0-48-generic xhci-hcd) iProduct 2 (xHCI Host Controller) iSerialNumber 1 (0000:00:14.0) bNumConfigurations 1 bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 4 bInterval 12 ms bRefresh 0 bSynchAddress 0 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. # Not checking for parallel port scanners. # Most Scanners connected to the parallel port or other proprietary ports # can't be detected by this program. done From mrvanes at gmail.com Wed Oct 7 13:35:08 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 14:35:08 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 Message-ID: Hi, Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner anymore. My (Canon N670U) was (and is?) supported for a very long time, but now scanimage -L doesn't return the scanner (and therefore xsane does not find it): $ scanimage -L No scanners were identified. If you were expecting something different, check that the scanner is plugged in, turned on and detected by the sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). sane-find-scanner however, *does* find my scanner on the USB port: $ 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. found USB scanner (vendor=0x04a9 [Canon], product=0x220d [CanoScan], chip=LM9832/3) at libusb:001:013 # Your USB scanner was (probably) detected. It may or may not be supported by # SANE. Try scanimage -L and read the backend's manpage. Sane versions in 20.10: libsane: 0.31-2 xsane: 0.999-9 So, who's right and who's wrong? And more important: how can I fix it? Martin -- If 'but' was any useful, it would be a logic operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From sedat.dilek at gmail.com Wed Oct 7 14:20:05 2020 From: sedat.dilek at gmail.com (Sedat Dilek) Date: Wed, 7 Oct 2020 15:20:05 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: On Wed, Oct 7, 2020 at 3:01 PM Martin van Es wrote: > Sane versions in 20.10: > libsane: 0.31-2 > xsane: 0.999-9 > Typo? Version *1*0.31-2? - Sedat - [1] https://packages.ubuntu.com/libsane From povilas at radix.lt Wed Oct 7 14:22:38 2020 From: povilas at radix.lt (Povilas Kanapickas) Date: Wed, 7 Oct 2020 16:22:38 +0300 Subject: [sane-devel] Rebase In-Reply-To: References: <20200930204719.GA870@kunai> <87tuve89au.fsf@quark> Message-ID: Hi Ralph, On 10/1/20 5:36 PM, Ralph Little wrote: > Hi, > > On 2020-10-01 4:39 a.m., Olaf Meeuwissen wrote: >> Hi Ralph, >> >> Ralph Little writes: >> >> AFAICS I am the only one to work on this branch, so I suspect that rebasing >> will be OK. >> I'd check with the pixma backend's new maintainer, hi Povilas!, and >> Louis just to make sure but what is the argument for not wanting to >> merge master into your branch instead? >> >> BTW, I know for a fact that the old maintainer occasionally rebased. >> > It was Rolf's suggestion to rebase or merge. > I have not rebased to a public git server before so I wanted to garner > some opinion and advice. > > My preference for rebasing in this case would be to compress a rather > long running branch to make review easier and to keep the branch clean. > There are further fixes to push to the branch before it is merged back > to master. > For my testing of the branch, I do need to get some changes from master > into it that relate to the imageClass machine that I have. I think if it's your MR you're free to rebase the branch as you wish. Personally I would prefer to see clean history in the repository, so rebasing interactively then squashing and/or splitting commits into separate pieces where sensible is the way to go. The only case when we need some caution is when there has already been an agreement to use some branch as a place to integrate work of multiple developers. Cheers, Povilas From pzz at apevzner.com Wed Oct 7 14:25:28 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 16:25:28 +0300 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: Hi Martin. On 10/7/20 3:35 PM, Martin van Es wrote: > Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner anymore. > My (Canon N670U) was (and is?) supported for a very long time, but now > scanimage -L doesn't return the scanner (and therefore xsane does not > find it): > > $ scanimage -L Please, lsusb -v -- Wishes, Alexander Pevzner (pzz at apevzner.com) From mrvanes at gmail.com Wed Oct 7 15:19:08 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 16:19:08 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: On Wed, Oct 7, 2020 at 3:25 PM Alexander Pevzner wrote: > Hi Martin. > > On 10/7/20 3:35 PM, Martin van Es wrote: > > Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner anymore. > > My (Canon N670U) was (and is?) supported for a very long time, but now > > scanimage -L doesn't return the scanner (and therefore xsane does not > > find it): > > > > $ scanimage -L > > Please, lsusb -v > Bus 001 Device 005: ID 04a9:220d Canon, Inc. CanoScan N670U/N676U/LiDE 20 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 255 Vendor Specific Class bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x04a9 Canon, Inc. idProduct 0x220d CanoScan N670U/N676U/LiDE 20 bcdDevice 1.00 iManufacturer 64 Canon iProduct 77 CanoScan iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0027 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 500mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 0 bInterfaceProtocol 255 iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0001 1x 1 bytes bInterval 16 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x03 EP 3 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 0 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0000 (Bus Powered) dmesg when inserting the scanner: [ 1027.863405] usb 1-1: new full-speed USB device number 6 using xhci_hcd [ 1028.023470] usb 1-1: New USB device found, idVendor=04a9, idProduct=220d, bcdDevice= 1.00 [ 1028.023475] usb 1-1: New USB device strings: Mfr=64, Product=77, SerialNumber=0 [ 1028.023479] usb 1-1: Product: CanoScan [ 1028.023481] usb 1-1: Manufacturer: Canon And for Sedat: Typo? Version *1*0.31-2? Yes, it actually is 1.0.31-2, my apologies Martin -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Wed Oct 7 15:54:31 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 16:54:31 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: Le 2020-10-07 16:19, Martin van Es a ?crit?: > On Wed, Oct 7, 2020 at 3:25 PM Alexander Pevzner > wrote: > >> Hi Martin. >> >> On 10/7/20 3:35 PM, Martin van Es wrote: >>> Yesterday I upgraded to Ubuntu 20.10 and I can't use my scanner >> anymore. >>> My (Canon N670U) was (and is?) supported for a very long time, but >> now >>> scanimage -L doesn't return the scanner (and therefore xsane does >> not >>> find it): >>> >>> $ scanimage -L >> >> Please, lsusb -v > > Bus 001 Device 005: ID 04a9:220d Canon, Inc. CanoScan > N670U/N676U/LiDE 20 Device Descriptor: > bLength 18 > bDescriptorType 1 > bcdUSB 1.10 > bDeviceClass 255 Vendor Specific Class > bDeviceSubClass 0 > bDeviceProtocol 0 > bMaxPacketSize0 8 > idVendor 0x04a9 Canon, Inc. > idProduct 0x220d CanoScan N670U/N676U/LiDE 20 > bcdDevice 1.00 > iManufacturer 64 Canon > iProduct 77 CanoScan > iSerial 0 > bNumConfigurations 1 > Configuration Descriptor: > bLength 9 > bDescriptorType 2 > wTotalLength 0x0027 > bNumInterfaces 1 > bConfigurationValue 1 > iConfiguration 0 > bmAttributes 0xa0 > (Bus Powered) > Remote Wakeup > MaxPower 500mA > Interface Descriptor: > bLength 9 > bDescriptorType 4 > bInterfaceNumber 0 > bAlternateSetting 0 > bNumEndpoints 3 > bInterfaceClass 255 Vendor Specific Class > bInterfaceSubClass 0 > bInterfaceProtocol 255 > iInterface 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x81 EP 1 IN > bmAttributes 3 > Transfer Type Interrupt > Synch Type None > Usage Type Data > wMaxPacketSize 0x0001 1x 1 bytes > bInterval 16 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x82 EP 2 IN > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 0 > Endpoint Descriptor: > bLength 7 > bDescriptorType 5 > bEndpointAddress 0x03 EP 3 OUT > bmAttributes 2 > Transfer Type Bulk > Synch Type None > Usage Type Data > wMaxPacketSize 0x0040 1x 64 bytes > bInterval 0 > can't get debug descriptor: Resource temporarily unavailable > Device Status: 0x0000 > (Bus Powered) > > dmesg when inserting the scanner: > [ 1027.863405] usb 1-1: new full-speed USB device number 6 using > xhci_hcd > [ 1028.023470] usb 1-1: New USB device found, idVendor=04a9, > idProduct=220d, bcdDevice= 1.00 > [ 1028.023475] usb 1-1: New USB device strings: Mfr=64, Product=77, > SerialNumber=0 > [ 1028.023479] usb 1-1: Product: CanoScan > [ 1028.023481] usb 1-1: Manufacturer: Canon > > And for Sedat: > >> Typo? Version *1*0.31-2? > > Yes, it actually is 1.0.31-2, my apologies > > Martin Your device is referenced for a long time in the : backend/plustek-usbdevs.c Check that is not commented in : /etc/sane.d/dll.conf From mrvanes at gmail.com Wed Oct 7 16:20:24 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 17:20:24 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD wrote: > Your device is referenced for a long time in the : > backend/plustek-usbdevs.c > Check that is not commented in : /etc/sane.d/dll.conf > Yes I know, it has been working for ages. Hence my inquiry to this list. /etc/sane.d/dll.conf contains a line plustek (not commented). I'm not saying it's a sane problem per-se, I'm just doing my best to get as best as possible ubuntu 20.10 when it's released at the end of the month. It may very well be libusb in 20.10 but I don't know where to start debugging then? I can compile (small) testcode to see/debug what's going on if that's necessary? Martin -- If 'but' was any useful, it would be a logic operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Wed Oct 7 16:26:51 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 17:26:51 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: <0d464a3a566c1b145e1001b0056e9824@ordissimo.com> Le 2020-10-07 17:20, Martin van Es a ?crit?: > On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD > wrote: > >> Your device is referenced for a long time in the : >> backend/plustek-usbdevs.c >> Check that is not commented in : /etc/sane.d/dll.conf > > Yes I know, it has been working for ages. Hence my inquiry to this > list. > /etc/sane.d/dll.conf contains a line plustek (not commented). > > I'm not saying it's a sane problem per-se, I'm just doing my best to > get as best as possible ubuntu 20.10 when it's released at the end of > the month. > It may very well be libusb in 20.10 but I don't know where to start > debugging then? I can compile (small) testcode to see/debug what's > going on if that's necessary? > > Martin-- > If 'but' was any useful, it would be a logic operator Open an exit here, the backend manager will be able to watch : https://gitlab.com/sane-project/backends/-/issues From thierry at ordissimo.com Wed Oct 7 16:27:35 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 17:27:35 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: <0d464a3a566c1b145e1001b0056e9824@ordissimo.com> References: <0d464a3a566c1b145e1001b0056e9824@ordissimo.com> Message-ID: <1890dfee8fe716b5097d8e7ee1f7a5ee@ordissimo.com> Le 2020-10-07 17:26, Thierry HUCHARD a ?crit?: > Le 2020-10-07 17:20, Martin van Es a ?crit?: >> On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD >> wrote: >> >>> Your device is referenced for a long time in the : >>> backend/plustek-usbdevs.c >>> Check that is not commented in : /etc/sane.d/dll.conf >> >> Yes I know, it has been working for ages. Hence my inquiry to this >> list. >> /etc/sane.d/dll.conf contains a line plustek (not commented). >> >> I'm not saying it's a sane problem per-se, I'm just doing my best to >> get as best as possible ubuntu 20.10 when it's released at the end of >> the month. >> It may very well be libusb in 20.10 but I don't know where to start >> debugging then? I can compile (small) testcode to see/debug what's >> going on if that's necessary? >> >> Martin-- >> If 'but' was any useful, it would be a logic operator Open an issue here, the backend manager will be able to watch : https://gitlab.com/sane-project/backends/-/issues From simon.matter at invoca.ch Wed Oct 7 16:29:19 2020 From: simon.matter at invoca.ch (Simon Matter) Date: Wed, 7 Oct 2020 17:29:19 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: References: Message-ID: <57d4a1e387474e08ff36507e34f96989.squirrel@webmail.bi.corp.invoca.ch> > On Wed, Oct 7, 2020 at 4:54 PM Thierry HUCHARD > wrote: > >> Your device is referenced for a long time in the : >> backend/plustek-usbdevs.c >> Check that is not commented in : /etc/sane.d/dll.conf >> > > Yes I know, it has been working for ages. Hence my inquiry to this list. > /etc/sane.d/dll.conf contains a line plustek (not commented). > > I'm not saying it's a sane problem per-se, I'm just doing my best to get > as > best as possible ubuntu 20.10 when it's released at the end of the month. > It may very well be libusb in 20.10 but I don't know where to start > debugging then? I can compile (small) testcode to see/debug what's going > on > if that's necessary? Permission issue? Did you already try 'scanimage -L' as root? Simon From mrvanes at gmail.com Wed Oct 7 16:35:12 2020 From: mrvanes at gmail.com (Martin van Es) Date: Wed, 7 Oct 2020 17:35:12 +0200 Subject: [sane-devel] libsane and my scanner in Ubuntu 20.10 In-Reply-To: <57d4a1e387474e08ff36507e34f96989.squirrel@webmail.bi.corp.invoca.ch> References: <57d4a1e387474e08ff36507e34f96989.squirrel@webmail.bi.corp.invoca.ch> Message-ID: > > Permission issue? Did you already try 'scanimage -L' as root? > First thing I tried ;) I'll create an issue as suggested. -- If 'but' was any useful, it would be a logic operator -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Wed Oct 7 16:46:01 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 07 Oct 2020 17:46:01 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> Message-ID: <1ebc1b3bc1af6de8e3cbc21f610a6f04@ordissimo.com> Le 2020-10-07 17:38, Yoann Le Montagner a ?crit?: > Hi, > > Here is the logs obtained respectively with SANE_DEBUG_ESCL=255 > scanimage -d 'escl:http://127.0.0.1:60000' and SANE_DEBUG_ESCL=255 > scanimage -d 'airscan:e0:Canon TS8300 series (USB)'. > > I've tested the new set-up with ippusbxd uninstalled, replaced by > ipp-usb, + airscan, + libsane 1.0.31. It seems to work fine, scans are > OK, 1200dpi resolution works... Still, I've noticed something strange > with the 'escl:http://127.0.0.1:60000' driver: when I start the PC, > the driver is listed by `scanimage -L`, but after a while, when I'm > using the scanner, it disappears. The exact workflow: > > 1) Start the PC > 2) scanimage -L -> OK, both drivers are here: > > yoann at yoann-desktop:~$ scanimage -L > Entity: line 1: parser error : Start tag expected, '<' not found > ? > ^ > device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) > flatbed scanner > device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 > series (USB) eSCL network scanner > > 3) Start gimp, start XSane, select one of the two drivers. > 4) Preview, then acquisition. > 5) scanimage -L -> only airscan is listed now: > > yoann at yoann-desktop:~$ scanimage -L > device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 > series (USB) eSCL network scanner > > 6) Close gimp, restart gimp, start XSane => I'm no-longer prompt to > select one of the two drivers. > > -> This behavior seems weird to me, but as long as the airscan driver > is there, this is a non-blocking issue. > > Thanks for your help. > > Regards, > > Yoann > > > Le 05/10/2020 ? 23:42, Thierry HUCHARD a ?crit?: >> Le 2020-10-05 23:14, Yoann Le Montagner a ?crit?: >>> Hi, >>> >>> I've installed both ipp-usb and sane-airscan, following the >>> instructions on https://github.com/alexpevzner/sane-airscan, and >>> uninstalled ippusbxd. I've sent a first mail to the list reporting >>> that this manipulation didn't fixed the problem ('scanimage -L' was >>> still returning "No scanner were identified..."). But I've retried >>> the >>> same test after a while, and now it appears to work: >>> >>> yoann at yoann-desktop:~$ scanimage -L >>> Entity: line 1: parser error : Start tag expected, '<' not found >>> ? >>> ^ >> there is an error here, can you give me the log? >> $ SANE_DEBUG_ESCL=255 scanimage -d 'escl:http://127.0.0.1:60000' >> Thank's >>> device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) >>> flatbed scanner >>> device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 >>> series (USB) eSCL network scanner >>> >>> I've tried to use the scan with scanimage, with device >>> "escl:http:..." >>> on one hand, and "airscan:e0:..." on the other hand. Both seem to >>> work. XSane seems to work too. I will do some more tests tomorrow to >>> confirm that. I don't whether one "device" should be preferred on the >>> other ? >>> Thanks for the log! It's a bug that is present on the backend using avahi in sane, I'll look at it because Alexander has solved the problem! >>> Please find attached the output of 'SANE_DEBUG_DLL=255 scanimage -L' >>> in which appears the warning regarding the parser error. >>> >>> Thanks for your help. >>> >>> Regards, >>> >>> Yoann >>> >>> >>> Le 05/10/2020 ? 22:49, Alexander Pevzner a ?crit?: >>>> Hi Thierry, >>>> >>>> On 10/5/20 10:46 PM, Thierry HUCHARD wrote: >>>>> Hi Alexander, >>>>> Can you help with the installation of ipp-usb ? >>>> >>>> It should be very easy. Just download appropriate package (depending >>>> on your distro) from >>>> https://download.opensuse.org/repositories/home:/pzz/ and install >>>> it. >>>> >>>> It is marked as "conflicting" with ippusbxd, so package manager >>>> should request you to uninstall ippusbxd or even do it >>>> automatically. >>>> From pzz at apevzner.com Wed Oct 7 20:27:25 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 22:27:25 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> Message-ID: <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> Hi Yoann, On 10/7/20 6:38 PM, Yoann Le Montagner wrote: > 1) Start the PC > 2) scanimage -L -> OK, both drivers are here: > > yoann at yoann-desktop:~$ scanimage -L > Entity: line 1: parser error : Start tag expected, '<' not found > ? > ^ Do you see this "parser error" message every time you call "scamimage -L", or it is hard to reproduce? If you can reproduce this message, I want to better investigate it. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Wed Oct 7 20:35:39 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 22:35:39 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> Message-ID: On 10/7/20 10:29 PM, Yoann Le Montagner wrote: > The parser error is always there. Please, rerun scanimage with the following options: SANE_DEBUG_AIRSCAN=1 scanimage -L > Le 07/10/2020 ? 21:27, Alexander Pevzner a ?crit?: >> Hi Yoann, >> >> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>> 1) Start the PC >>> 2) scanimage -L -> OK, both drivers are here: >>> >>> yoann at yoann-desktop:~$ scanimage -L >>> Entity: line 1: parser error : Start tag expected, '<' not found >>> ? >>> ^ >> Do you see this "parser error" message every time you call "scamimage >> -L", or it is hard to reproduce? >> >> If you can reproduce this message, I want to better investigate it. >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Wed Oct 7 20:39:06 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Wed, 7 Oct 2020 21:39:06 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> Message-ID: <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in attachment. Thanks for your work. Le 07/10/2020 ?? 21:35, Alexander Pevzner a ??crit??: > On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >> The parser error is always there. > > Please, rerun scanimage with the following options: > > SANE_DEBUG_AIRSCAN=1 scanimage -L > >> Le 07/10/2020 ?? 21:27, Alexander Pevzner a ??crit??: >>> Hi Yoann, >>> >>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>> 1) Start the PC >>>> 2) scanimage -L -> OK, both drivers are here: >>>> >>>> yoann at yoann-desktop:~$ scanimage -L >>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>> ??? >>>> ^ >>> Do you see this "parser error" message every time you call >>> "scamimage -L", or it is hard to reproduce? >>> >>> If you can reproduce this message, I want to better investigate it. >>> > > -------------- next part -------------- sane_init() called loading configuration file /etc/sane.d/airscan.conf MDNS: AVAHI_CLIENT_S_RUNNING WSDD: netif addresses update: WSDD: + 2001:861:5284:6ad0:34e3:16e5:61fa:7a99 WSDD: + 2001:861:5284:6ad0:e933:275:67ed:482a WSDD: + 192.168.1.72 WSDD: + fe80::1ec4:7511:b668:7e12%2 WSDD: 2001:861:5284:6ad0:34e3:16e5:61fa:7a99: started discovery, UDP port=53032 WSDD: setsockopt(AF_INET6,IPV6_ADD_MEMBERSHIP): Address already in use WSDD: 2001:861:5284:6ad0:e933:275:67ed:482a: started discovery, UDP port=37145 WSDD: 192.168.1.72: started discovery, UDP port=44624 WSDD: setsockopt(AF_INET6,IPV6_ADD_MEMBERSHIP): Address already in use WSDD: fe80::1ec4:7511:b668:7e12: started discovery, UDP port=56519 zeroconf: zeroconf_device_list_get: requested zeroconf: zeroconf_initscan_wait: requested MDNS: browse/ipv4 "bbox Ippos Printer": AVAHI_BROWSER_NEW _ipp._tcp MDNS: browse/ipv4 "Canon TS8300 series (USB)": AVAHI_BROWSER_NEW _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _ipps._tcp MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _ipps._tcp MDNS: browse/ipv4 "Canon TS8300 series (USB)": AVAHI_BROWSER_NEW _uscan._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _uscan._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _uscans._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _scanner._tcp MDNS: resolve/ipv4 "bbox Ippos Printer": AVAHI_RESOLVER_FOUND _ipp._tcp WSDD: directed probe: trying if=enp0s25, addr=192.168.1.254 WSDD: HTTP POST http://192.168.1.254/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP resolving 192.168.1.254 80 WSDD: HTTP trying 192.168.1.254:80 MDNS: resolve/ipv4 "Canon TS8300 series (USB)": AVAHI_RESOLVER_FOUND _ipp._tcp zeroconf: found urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_MDNS_HINT zeroconf: interface: 1 (lo) zeroconf: name: Canon TS8300 series (USB) zeroconf: model: Canon TS8300 series zeroconf: device: 0000 (created) WSDD: directed probe: trying if=lo, addr=127.0.0.1 WSDD: directed probe: skipping loopback address MDNS: resolve/ipv4 "Canon TS8300 series (USB)": AVAHI_RESOLVER_FOUND _uscan._tcp zeroconf: found urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_USCAN_TCP zeroconf: interface: 1 (lo) zeroconf: name: Canon TS8300 series (USB) zeroconf: model: TS8300 series zeroconf: device: 0000 (found by uuid+name) zeroconf: protocol: eSCL zeroconf: endpoints: zeroconf: http://127.0.0.1:60000/eSCL/ WSDD: directed probe: trying if=lo, addr=127.0.0.1 WSDD: directed probe: skipping loopback address WSDD: HTTP POST http://192.168.1.254/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery: 302 Found WSDD: HTTP redirect 1: POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP resolving mabbox.bytel.fr 443 WSDD: HTTP trying [2001:861:5284:6ad0:4265:a3ff:fe43:8cdc]:443 WSDD: HTTP POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery: 307 Temporary Redirect WSDD: HTTP redirect 2: POST https://mabbox.bytel.fr:443/login.html WSDD: HTTP POST https://mabbox.bytel.fr:443/login.html WSDD: HTTP resolving mabbox.bytel.fr 443 WSDD: HTTP trying [2001:861:5284:6ad0:4265:a3ff:fe43:8cdc]:443 WSDD: HTTP POST https://mabbox.bytel.fr:443/login.html: got response headers (200) WSDD: HTTP POST https://mabbox.bytel.fr:443/login.html: 200 OK WSDD: HTTP POST https://mabbox.bytel.fr:443/login.html: OK Entity: line 1: parser error : Start tag expected, '<' not found ? ^ MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _uscan._tcp zeroconf: ZEROCONF_USCAN_TCP: initial scan finished MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _uscans._tcp zeroconf: ZEROCONF_USCANS_TCP: initial scan finished MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _scanner._tcp zeroconf: ZEROCONF_MDNS_HINT: initial scan finished zeroconf: zeroconf_initscan_wait: OK zeroconf: zeroconf_device_list_get: building list of devices zeroconf: Canon TS8300 series (USB): can: eSCL, use: eSCL zeroconf: zeroconf_device_list_get: resulting list: zeroconf: eSCL "Canon TS8300 series (USB)" device `escl:http://127.0.0.1:60000' is a Canon TS8300 series (USB) flatbed scanner device `airscan:e0:Canon TS8300 series (USB)' is a eSCL Canon TS8300 series (USB) eSCL network scanner sane_exit() called zeroconf: device gone urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_MDNS_HINT zeroconf: interface: 1 (lo) zeroconf: device gone urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_USCAN_TCP zeroconf: interface: 1 (lo) zeroconf: ZEROCONF_WSD: initial scan finished sane_exit(): OK From pzz at apevzner.com Wed Oct 7 20:55:43 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 7 Oct 2020 22:55:43 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> Message-ID: <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> On 10/7/20 10:39 PM, Yoann Le Montagner wrote: > Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in attachment. Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" with the address 192.168.1.254 and attempts to check it for WSD support. It does it by sending some HTTP request to that address. This request is redirected to https://mabbox.bytel.fr:443/login.html and response from there is not valid XML, so XML parser complains. Unfortunately, libxml complains directly to stderr, and it cannot be silenced. So this problem is cosmetical, though annoying. > Thanks for your work. > > Le 07/10/2020 ? 21:35, Alexander Pevzner a ?crit?: >> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>> The parser error is always there. >> >> Please, rerun scanimage with the following options: >> >> SANE_DEBUG_AIRSCAN=1 scanimage -L >> >>> Le 07/10/2020 ? 21:27, Alexander Pevzner a ?crit?: >>>> Hi Yoann, >>>> >>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>> 1) Start the PC >>>>> 2) scanimage -L -> OK, both drivers are here: >>>>> >>>>> yoann at yoann-desktop:~$ scanimage -L >>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>> ? >>>>> ^ >>>> Do you see this "parser error" message every time you call >>>> "scamimage -L", or it is hard to reproduce? >>>> >>>> If you can reproduce this message, I want to better investigate it. >>>> >> >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Wed Oct 7 20:29:03 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Wed, 7 Oct 2020 21:29:03 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> Message-ID: <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> The parser error is always there. Le 07/10/2020 ? 21:27, Alexander Pevzner a ?crit?: > Hi Yoann, > > On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >> 1) Start the PC >> 2) scanimage -L -> OK, both drivers are here: >> >> yoann at yoann-desktop:~$ scanimage -L >> Entity: line 1: parser error : Start tag expected, '<' not found >> ? >> ^ > Do you see this "parser error" message every time you call "scamimage > -L", or it is hard to reproduce? > > If you can reproduce this message, I want to better investigate it. > From till.kamppeter at gmail.com Wed Oct 7 21:29:14 2020 From: till.kamppeter at gmail.com (Till Kamppeter) Date: Wed, 7 Oct 2020 22:29:14 +0200 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> Message-ID: <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> Alex, you could suppress the stderr output of libxml. Enclose the call of the libxml function(s) with the following code: ---------- int fd1, fd2; /* Eliminate any output to stderr, to get rid of the error message output of the functions of libxml */ fd1 = dup(2); fd2 = open("/dev/null", O_WRONLY); dup2(fd2, 2); close(fd2); /* Put any code using functions of libxml here: */ ... /* Re-activate stderr output */ dup2(fd1, 2); close(fd1); ---------- This redirects the stderr into /dev/null. After you are done with the libxml funxtions you can return to normal behavior, if you actually need to output something to stderr later. Alternatively, you could use the receiving end of a pipe instead of fd2 in the "dup2(fd2, 2)" if you want to capture libxml's stderr output (you would need to fork() before to create a process for receiving the stderr output, which reads the other end of the pipe). Till On 07/10/2020 21:55, Alexander Pevzner wrote: > On 10/7/20 10:39 PM, Yoann Le Montagner wrote: >> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in >> attachment. > > Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" > with the address 192.168.1.254 and attempts to check it for WSD support. > It does it by sending some HTTP request to that address. This request is > redirected to https://mabbox.bytel.fr:443/login.html and response from > there is not valid XML, so XML parser complains. > > Unfortunately, libxml complains directly to stderr, and it cannot be > silenced. > > So this problem is cosmetical, though annoying. > >> Thanks for your work. >> >> Le 07/10/2020 ? 21:35, Alexander Pevzner a ?crit?: >>> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>>> The parser error is always there. >>> >>> Please, rerun scanimage with the following options: >>> >>> SANE_DEBUG_AIRSCAN=1 scanimage -L >>> >>>> Le 07/10/2020 ? 21:27, Alexander Pevzner a ?crit?: >>>>> Hi Yoann, >>>>> >>>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>>> 1) Start the PC >>>>>> 2) scanimage -L -> OK, both drivers are here: >>>>>> >>>>>> yoann at yoann-desktop:~$ scanimage -L >>>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>>> ? >>>>>> ^ >>>>> Do you see this "parser error" message every time you call >>>>> "scamimage -L", or it is hard to reproduce? >>>>> >>>>> If you can reproduce this message, I want to better investigate it. >>>>> >>> >>> > > From pzz at apevzner.com Thu Oct 8 07:29:53 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 8 Oct 2020 09:29:53 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> Message-ID: <5eae52ce-93cd-6312-0b10-817b8a9c0661@apevzner.com> On 10/7/20 11:29 PM, Till Kamppeter wrote: > Alex, you could suppress the stderr output of libxml. > > Enclose the call of the libxml function(s) with the following code: Till, it will affect all threads of the calling process, which is not very good. > ---------- > ? int fd1, fd2; > > ? /* Eliminate any output to stderr, to get rid of the error > ???? message output of the functions of libxml */ > ? fd1 = dup(2); > ? fd2 = open("/dev/null", O_WRONLY); > ? dup2(fd2, 2); > ? close(fd2); > > ? /* Put any code using functions of libxml here: */ > ? ... > > ? /* Re-activate stderr output */ > ? dup2(fd1, 2); > ? close(fd1); > ---------- > > This redirects the stderr into /dev/null. After you are done with the > libxml funxtions you can return to normal behavior, if you actually need > to output something to stderr later. > > Alternatively, you could use the receiving end of a pipe instead of fd2 > in the "dup2(fd2, 2)" if you want to capture libxml's stderr output (you > would need to fork() before to create a process for receiving the stderr > output, which reads the other end of the pipe). > > ?? Till > > > On 07/10/2020 21:55, Alexander Pevzner wrote: >> On 10/7/20 10:39 PM, Yoann Le Montagner wrote: >>> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in >>> attachment. >> >> Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" >> with the address 192.168.1.254 and attempts to check it for WSD >> support. It does it by sending some HTTP request to that address. This >> request is redirected to https://mabbox.bytel.fr:443/login.html and >> response from there is not valid XML, so XML parser complains. >> >> Unfortunately, libxml complains directly to stderr, and it cannot be >> silenced. >> >> So this problem is cosmetical, though annoying. >> >>> Thanks for your work. >>> >>> Le 07/10/2020 ? 21:35, Alexander Pevzner a ?crit?: >>>> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>>>> The parser error is always there. >>>> >>>> Please, rerun scanimage with the following options: >>>> >>>> SANE_DEBUG_AIRSCAN=1 scanimage -L >>>> >>>>> Le 07/10/2020 ? 21:27, Alexander Pevzner a ?crit?: >>>>>> Hi Yoann, >>>>>> >>>>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>>>> 1) Start the PC >>>>>>> 2) scanimage -L -> OK, both drivers are here: >>>>>>> >>>>>>> yoann at yoann-desktop:~$ scanimage -L >>>>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>>>> ? >>>>>>> ^ >>>>>> Do you see this "parser error" message every time you call >>>>>> "scamimage -L", or it is hard to reproduce? >>>>>> >>>>>> If you can reproduce this message, I want to better investigate it. >>>>>> >>>> >>>> >> >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 8 10:10:57 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 8 Oct 2020 12:10:57 +0300 Subject: [sane-devel] PIXMA TS8300 Series not working In-Reply-To: <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> References: <716ebe6aee9d5098fc4a953662ef0933@ordissimo.com> <1082f2ad-010a-2829-c8df-d234ba5f01d3@melix.net> <1b79d5aa-234d-cc40-450e-f3ae0b512c84@apevzner.com> <03a61e3f685f52eeb4892f1ad5d2f873@ordissimo.com> <859be775-cad8-1308-b48a-aafbd0a0d409@melix.net> <1619ddf3c6b41a30ce6d63004346a2ab@ordissimo.com> <990d865d-8223-55da-e125-56cfd6a723a7@apevzner.com> <8eb80051-797e-94dd-073e-c8606ccb855b@melix.net> <9488fa5f-ea4e-ddc2-53f1-785c26687165@melix.net> <757e5d30-c883-6ef1-21d6-e30b640df6ed@apevzner.com> <646f4cb1-cee4-4956-5d82-fe6d5c5e7c0d@gmail.com> Message-ID: <7c852555-4878-2458-5a80-71d5a2c839be@apevzner.com> On 10/7/20 11:29 PM, Till Kamppeter wrote: > Alex, you could suppress the stderr output of libxml. > > Enclose the call of the libxml function(s) with the following code: libxml2 is full of useful, but absolutely undocumented low-level interfaces. With a help of them, seems that I've got it without need of I/O redirection. > ---------- > ? int fd1, fd2; > > ? /* Eliminate any output to stderr, to get rid of the error > ???? message output of the functions of libxml */ > ? fd1 = dup(2); > ? fd2 = open("/dev/null", O_WRONLY); > ? dup2(fd2, 2); > ? close(fd2); > > ? /* Put any code using functions of libxml here: */ > ? ... > > ? /* Re-activate stderr output */ > ? dup2(fd1, 2); > ? close(fd1); > ---------- > > This redirects the stderr into /dev/null. After you are done with the > libxml funxtions you can return to normal behavior, if you actually need > to output something to stderr later. > > Alternatively, you could use the receiving end of a pipe instead of fd2 > in the "dup2(fd2, 2)" if you want to capture libxml's stderr output (you > would need to fork() before to create a process for receiving the stderr > output, which reads the other end of the pipe). > > ?? Till > > > On 07/10/2020 21:55, Alexander Pevzner wrote: >> On 10/7/20 10:39 PM, Yoann Le Montagner wrote: >>> Please find the log for 'SANE_DEBUG_AIRSCAN=1 scanimage -L' in >>> attachment. >> >> Now I see. sane-airscan discovers some IPP device "bbox Ippos Printer" >> with the address 192.168.1.254 and attempts to check it for WSD >> support. It does it by sending some HTTP request to that address. This >> request is redirected to https://mabbox.bytel.fr:443/login.html and >> response from there is not valid XML, so XML parser complains. >> >> Unfortunately, libxml complains directly to stderr, and it cannot be >> silenced. >> >> So this problem is cosmetical, though annoying. >> >>> Thanks for your work. >>> >>> Le 07/10/2020 ? 21:35, Alexander Pevzner a ?crit?: >>>> On 10/7/20 10:29 PM, Yoann Le Montagner wrote: >>>>> The parser error is always there. >>>> >>>> Please, rerun scanimage with the following options: >>>> >>>> SANE_DEBUG_AIRSCAN=1 scanimage -L >>>> >>>>> Le 07/10/2020 ? 21:27, Alexander Pevzner a ?crit?: >>>>>> Hi Yoann, >>>>>> >>>>>> On 10/7/20 6:38 PM, Yoann Le Montagner wrote: >>>>>>> 1) Start the PC >>>>>>> 2) scanimage -L -> OK, both drivers are here: >>>>>>> >>>>>>> yoann at yoann-desktop:~$ scanimage -L >>>>>>> Entity: line 1: parser error : Start tag expected, '<' not found >>>>>>> ? >>>>>>> ^ >>>>>> Do you see this "parser error" message every time you call >>>>>> "scamimage -L", or it is hard to reproduce? >>>>>> >>>>>> If you can reproduce this message, I want to better investigate it. >>>>>> >>>> >>>> >> >> -- Wishes, Alexander Pevzner (pzz at apevzner.com) From netukar201409+sane at mailbox.org Sun Oct 11 13:46:19 2020 From: netukar201409+sane at mailbox.org (netukar201409+sane at mailbox.org) Date: Sun, 11 Oct 2020 14:46:19 +0200 Subject: [sane-devel] Fwd: book scanner recognized as v4l device - Invalid argument VIDIOCSPICT and VIDIOCMCAPTURE Message-ID: Hello, I tried the following command but got an empty output file SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 >myfirstscan.pnm; ll myfirstscan.pnm Output format is not set, using pnm as a default. [14:42:37.362354] [sanei_debug] Setting debug level of v4l to 128. [14:42:37.362406] [v4l] SANE v4l backend version 1.0 build 5 from sane-backends 1.0.30-970-gd00af49e3 [14:42:37.362447] [v4l] attach: trying to open /dev/bttv0 [14:42:37.362471] [v4l] attach: failed to open device `/dev/bttv0': No such file or directory [14:42:37.362481] [v4l] attach: trying to open /dev/video0 [14:42:37.377588] [v4l] attach: found videodev `USB2.0 HD UVC WebCam: USB2.0 HD' on `/dev/video0' [14:42:37.377729] [v4l] attach: trying to open /dev/video1 [14:42:37.377962] [v4l] attach: failed to open device `/dev/video1': Invalid argument [14:42:37.377992] [v4l] attach: trying to open /dev/video2 [14:42:37.381738] [v4l] attach: found videodev `JY-VP216: JY-VP216' on `/dev/video2' [14:42:37.381768] [v4l] attach: trying to open /dev/video3 [14:42:37.381787] [v4l] attach: failed to open device `/dev/video3': No such file or directory [14:42:37.381813] [v4l] sane_open: device /dev/video2 found in devlist [14:42:37.385321] [v4l] sane_open: 1 channels, 0 audio devices [14:42:37.385349] [v4l] sane_open: minwidth=1280, minheight=720, maxwidth=4896, maxheight=3672 [14:42:37.385360] [v4l] sane_open: V4L device can capture to memory [14:42:37.385372] [v4l] sane_open: channel 0 (Camera 1), tuners=0, flags=0x0, type=2, norm=0 [14:42:37.385385] [v4l] sane_open: input is camera input libv4l2: error setting pixformat: Device or resource busy libv4l1: error setting pixformat: Device or resource busy [14:42:37.385429] [v4l] sane_open: brightness=26214, hue=0, colour=30583, contrast=34952 [14:42:37.385439] [v4l] sane_open: whiteness=0, depth=0, palette=0 [14:42:37.386165] [v4l] sane_open: ioctl VIDIOCSPICT failed (Invalid argument) [14:42:37.386190] [v4l] sane_open: x=0, y=0, width=4608, height=3456 [14:42:37.386208] [v4l] sane_get_option_descriptor: option 0 (Number of options) [14:42:37.386219] [v4l] sane_control_option: get option 0 (Number of options) [14:42:37.386234] [v4l] sane_get_option_descriptor: option 0 (Number of options) [14:42:37.386244] [v4l] sane_control_option: get option 0 (Number of options) [14:42:37.386253] [v4l] sane_get_option_descriptor: option 1 (Scan Mode) [14:42:37.386262] [v4l] sane_get_option_descriptor: option 2 (mode) [14:42:37.386274] [v4l] sane_get_option_descriptor: option 3 (channel) [14:42:37.386285] [v4l] sane_get_option_descriptor: option 4 (Geometry) [14:42:37.386297] [v4l] sane_get_option_descriptor: option 5 (tl-x) [14:42:37.386310] [v4l] sane_get_option_descriptor: option 6 (tl-y) [14:42:37.386320] [v4l] sane_get_option_descriptor: option 7 (br-x) [14:42:37.386332] [v4l] sane_get_option_descriptor: option 8 (br-y) [14:42:37.386344] [v4l] sane_get_option_descriptor: option 9 (Enhancement) [14:42:37.386356] [v4l] sane_get_option_descriptor: option 10 (brightness) [14:42:37.386369] [v4l] sane_get_option_descriptor: option 11 (hue) [14:42:37.386381] [v4l] sane_get_option_descriptor: option 12 (color) [14:42:37.386393] [v4l] sane_get_option_descriptor: option 13 (contrast) [14:42:37.386405] [v4l] sane_get_option_descriptor: option 14 (white-level) [14:42:37.386417] [v4l] sane_control_option: get option 7 (br-x) [14:42:37.386429] [v4l] sane_control option: option is inactive [14:42:37.386440] [v4l] sane_control_option: get option 5 (tl-x) [14:42:37.386453] [v4l] sane_control option: option is inactive [14:42:37.386465] [v4l] sane_control_option: get option 8 (br-y) [14:42:37.386477] [v4l] sane_control option: option is inactive [14:42:37.386488] [v4l] sane_control_option: get option 6 (tl-y) [14:42:37.386500] [v4l] sane_control option: option is inactive [14:42:37.386514] [v4l] sane_control_option: get option 5 (tl-x) [14:42:37.386525] [v4l] sane_control option: option is inactive [14:42:37.386537] [v4l] sane_get_option_descriptor: option 7 (br-x) scanimage: ignored request to set inactive option br-x [14:42:37.386554] [v4l] sane_control_option: get option 6 (tl-y) [14:42:37.386566] [v4l] sane_control option: option is inactive [14:42:37.386578] [v4l] sane_get_option_descriptor: option 8 (br-y) scanimage: ignored request to set inactive option br-y [14:42:37.386628] [v4l] sane_start [14:42:37.386669] [v4l] sane_start: mmap frame, buffersize: 67108864 bytes, buffers: 4, offset 0 0 [14:42:37.386694] [v4l] sane_start: mmapped frame, capture 1 pict into 0x7f41fde29000 [14:42:37.386713] [v4l] sane_start: mmapped frame 4608 x 3456 with palette 1 [14:42:37.387062] [v4l] sane_start: ioctl VIDIOCMCAPTURE failed: Invalid argument scanimage: sane_start: Invalid argument [14:42:37.387125] [v4l] sane_cancel [14:42:37.387144] [v4l] sane_close: trying to close handle 0x55a0cf21a220 [14:42:37.387184] [v4l] sane_exit: all devices freed -rw-r--r-- 1 charly charly 0 Okt 3 14:42 myfirstscan.pnm Regards, --- Michael Dittmer FSFE fellower Am 2020-10-03 um 12:09 schrieb Pim van Tend: > SANE_DEBUG_V4L=128 scanimage -v -d v4l:/dev/video2 >myfirstscan.pnm > > is the command to write your scan to myfirstscan.pnm > Without the >-clause scanimage refuses to work. > > If you just want to experiment without looking at tje scan, usr > >/dev/null From skelband at gmail.com Mon Oct 12 02:47:06 2020 From: skelband at gmail.com (Ralph Little) Date: Sun, 11 Oct 2020 18:47:06 -0700 Subject: [sane-devel] Sane API Message-ID: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> Hi, What is the status of the SANE API specification. I know that there is another API version in the works but I do not know who, if anyone, is working on it. I would be interested to participate. Cheers, Ralph From paddy-hack at member.fsf.org Mon Oct 12 10:06:49 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Mon, 12 Oct 2020 18:06:49 +0900 Subject: [sane-devel] Sane API In-Reply-To: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> Message-ID: <871ri3q0d2.fsf@quark> Hi Ralph, Ralph Little writes: > Hi, > What is the status of the SANE API specification. Latest "official" version is 1.06 at https://sane-project.gitlab.io/standard/1.06/ The master branch is a dozen or so commits ahead at https://sane-project.gitlab.io/standard/ but does not change the API in any way. The changes are build tweaks, spelling/grammar fixes, consistency fixes, etc. > I know that there is another API version in the works but I do not know > who, if anyone, is working on it. No-one has been working on the content of the version 2 draft for well over a decade, nearing two decades actually. There have been a few minor fixes but that's about it. You can find it at https://sane-project.gitlab.io/standard/draft-2/ > I would be interested to participate. You're welcome but I'm not sure how we want to go about things. A lot has changed since the bulk of that version 2 draft was written. From what I've seen of the changes (during the conversion from LaTeX to Sphinx), they look sensible but I feel there is a lot more that ought to be updated for the 2000-twenties. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From pzz at apevzner.com Mon Oct 12 10:16:44 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 12 Oct 2020 12:16:44 +0300 Subject: [sane-devel] Sane API In-Reply-To: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> Message-ID: <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> Hi Ralph, On 10/12/20 4:47 AM, Ralph Little wrote: > What is the status of the SANE API specification. > I know that there is another API version in the works but I do not know > who, if anyone, is working on it. > I would be interested to participate. Me too. And one of the most interesting questions, how the process of migration to the new updated API could be organized. Currently all drivers implement the whole SANE API. There are about one hundred drivers, and I believe, at least half of them are unmaintained (though I think, it's very optimistic estimation). Either all changes in the API must be backward compatible, or some translation layer is required (something, that implements SANE 2.0 on a top of SANE 1.x). or somebody should update all existent drivers, which is very unlikely to happen. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Mon Oct 12 19:00:36 2020 From: skelband at gmail.com (Ralph Little) Date: Mon, 12 Oct 2020 11:00:36 -0700 Subject: [sane-devel] Sane API In-Reply-To: <871ri3q0d2.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> Message-ID: Hi, On 2020-10-12 2:06 a.m., Olaf Meeuwissen wrote: > Hi Ralph, > > Ralph Little writes: > >> I would be interested to participate. > You're welcome but I'm not sure how we want to go about things. A lot > has changed since the bulk of that version 2 draft was written. From > what I've seen of the changes (during the conversion from LaTeX to > Sphinx), they look sensible but I feel there is a lot more that ought > to be updated for the 2000-twenties. > My main motivation is related to my experience in using a few different devices now and some common usability themes have emerged for me: 1) Often scanners spend a lot of time in calibration and it isn't always that obvious mechanically or audibly that that is what is going on. It would be cool if a frontend could emit some kind of status update to reassure the user that something is actually going on. We don't have anything in the current spec to support that. 2) Backends have different ideas about what is "advanced" and what is basic which just looks a bit messy. It would be good to establish some guidelines on some of the more common options. I'm thinking the x/y, w/h type options primarily. 3) We talked a bit ago about polling options and it would be good to get something more formal to deal with this. Just as a reminder, there was a machine with a "copy count" display indicator that the user could increment/decrement with buttons next to the display. We can now display the content of that window but since the value of this is "volatile" and could be conceptually linked to the scan count in the frontend (e.g. xsane), there is no way to indicate that the frontend should regularly poll for the value. Obviously there are frontend issues regarding the conceptual linkage and there was some concern about idly polling over the network as a form of DDOS attack, but I think that some thought might be put into a backend solution to support that capability. There are probably some other things that are not coming immediately to mind. I actually really love the simplicity of the current API and I would hate to complicate things much if at all. I also appreciate that whatever happens, the NET protocol has to support it. As regards the issue of backwards compatibility, that is a serious concern since many of the machines cannot be easily regression tested. However, if we could expand the scope of the number of officially recognised "options", then that might work for much of what I have listed above. Cheers, Ralph From juergen.mellinger at t-online.de Mon Oct 12 20:04:06 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Mon, 12 Oct 2020 21:04:06 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> Message-ID: <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> Specifying a gamma value for acquired scan data would greatly add to usability as well. ?J?rgen > Am 12.10.2020 um 20:00 schrieb Ralph Little : > > Hi, > > On 2020-10-12 2:06 a.m., Olaf Meeuwissen wrote: >> Hi Ralph, >> >> Ralph Little writes: >> >>> I would be interested to participate. >> You're welcome but I'm not sure how we want to go about things. A lot >> has changed since the bulk of that version 2 draft was written. From >> what I've seen of the changes (during the conversion from LaTeX to >> Sphinx), they look sensible but I feel there is a lot more that ought >> to be updated for the 2000-twenties. >> > My main motivation is related to my experience in using a few different > devices now and some common usability themes have emerged for me: > > 1) Often scanners spend a lot of time in calibration and it isn't always > that obvious mechanically or audibly that that is what is going on. It > would be cool if a frontend could emit some kind of status update to > reassure the user that something is actually going on. We don't have > anything in the current spec to support that. > > 2) Backends have different ideas about what is "advanced" and what is > basic which just looks a bit messy. It would be good to establish some > guidelines on some of the more common options. I'm thinking the x/y, w/h > type options primarily. > > 3) We talked a bit ago about polling options and it would be good to get > something more formal to deal with this. Just as a reminder, there was a > machine with a "copy count" display indicator that the user could > increment/decrement with buttons next to the display. We can now display > the content of that window but since the value of this is "volatile" and > could be conceptually linked to the scan count in the frontend (e.g. > xsane), there is no way to indicate that the frontend should regularly > poll for the value. Obviously there are frontend issues regarding the > conceptual linkage and there was some concern about idly polling over > the network as a form of DDOS attack, but I think that some thought > might be put into a backend solution to support that capability. > > There are probably some other things that are not coming immediately to > mind. > > I actually really love the simplicity of the current API and I would > hate to complicate things much if at all. I also appreciate that > whatever happens, the NET protocol has to support it. > > As regards the issue of backwards compatibility, that is a serious > concern since many of the machines cannot be easily regression tested. > However, if we could expand the scope of the number of officially > recognised "options", then that might work for much of what I have > listed above. > > Cheers, > Ralph > > From pzz at apevzner.com Mon Oct 12 21:40:38 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 12 Oct 2020 23:40:38 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> Message-ID: <91e7f3c1-8de7-e6a4-dadb-b21090c0f3b9@apevzner.com> Hi Ralph, On 10/12/20 9:00 PM, Ralph Little wrote: > 1) Often scanners spend a lot of time in calibration and it isn't always > that obvious mechanically or audibly that that is what is going on. It > would be cool if a frontend could emit some kind of status update to > reassure the user that something is actually going on. We don't have > anything in the current spec to support that. It would be nice to have a generic mechanism for unsolicited notifications from backend. Use cases: device status changes, as you've mentioned, push scan events, PnP (device discovery) events, button press notifications. > 2) Backends have different ideas about what is "advanced" and what is > basic which just looks a bit messy. It would be good to establish some > guidelines on some of the more common options. I'm thinking the x/y, w/h > type options primarily. This is better to define a standard set of options, with the same name and interpretation for all backends. It will let frontends to decide by themselves, which oprions are advanced from their own perspective. It will also help a lot to write non-interactive frontends. > 3) We talked a bit ago about polling options and it would be good to get > something more formal to deal with this. Just as a reminder, there was a > machine with a "copy count" display indicator that the user could > increment/decrement with buttons next to the display. We can now display > the content of that window but since the value of this is "volatile" and > could be conceptually linked to the scan count in the frontend (e.g. > xsane), there is no way to indicate that the frontend should regularly > poll for the value. Obviously there are frontend issues regarding the > conceptual linkage and there was some concern about idly polling over > the network as a form of DDOS attack, but I think that some thought > might be put into a backend solution to support that capability. If polling of some counter is required by underlying network protocol, backend may limit an actual frequency of network requests, and if frontend polls too often, just return cached value, which is updated with reasonably frequency. > As regards the issue of backwards compatibility, that is a serious > concern since many of the machines cannot be easily regression tested. > However, if we could expand the scope of the number of officially > recognised "options", then that might work for much of what I have > listed above. I think, we have no other choice that to let SANE 1.0 and SANE 2.0 to coexist, providing a necessary translation layer. There are a lot of SANE 1.0 backends, that honestly speaking, will never be updated, and some SANE 1.0 frontends (fortunately, not so much), that unlikely to be immediately updated to use the new API. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From paddy-hack at member.fsf.org Tue Oct 13 09:45:40 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Tue, 13 Oct 2020 17:45:40 +0900 Subject: [sane-devel] Sane API In-Reply-To: <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> Message-ID: <87mu0qtsy3.fsf@quark> Hi J?rgen, J?rgen Mellinger writes: > Specifying a gamma value for acquired scan data would greatly add to > usability as well. That's already in the version 2 draft. See https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma Both are for device-side gamma support and the standard discourages emulation in the backend of the former and forbids for the latter. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From paddy-hack at member.fsf.org Tue Oct 13 10:02:13 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Tue, 13 Oct 2020 18:02:13 +0900 Subject: [sane-devel] Sane API In-Reply-To: <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> Message-ID: <87lfgats6i.fsf@quark> Hi Alexander, Alexander Pevzner writes: > Hi Ralph, > > On 10/12/20 4:47 AM, Ralph Little wrote: >> What is the status of the SANE API specification. >> I know that there is another API version in the works but I do not know >> who, if anyone, is working on it. >> I would be interested to participate. > Me too. > > And one of the most interesting questions, how the process of > migration to the new updated API could be organized. > > Currently all drivers implement the whole SANE API. There are about > one hundred drivers, and I believe, at least half of them are > unmaintained (though I think, it's very optimistic estimation). It's more like 80% unmaintained :-/ To be precise, 78 out of 93, based on the :version keyword in doc/descriptions/*.desc excluding the template. > Either all changes in the API must be backward compatible, or some > translation layer is required (something, that implements SANE 2.0 on > a top of SANE 1.x). or somebody should update all existent drivers, > which is very unlikely to happen. Following semantic versioning, we are at liberty to (completely) break the API's backward compatibility although I realize that the draft has different ideas about that. Seeing how many years have passed since it was drafted, I guess a more radical approach _might_ be in order. If someone cares enough to write a compatibility layer, that's fine but it's not anywhere on *my* priority list. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From jsmeix at suse.de Tue Oct 13 12:26:29 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Tue, 13 Oct 2020 13:26:29 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87lfgats6i.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> Message-ID: Hello, On 2020-10-13 11:02, Olaf Meeuwissen wrote: > > Following semantic versioning, we are at liberty to (completely) break > the API's backward compatibility although I realize that the draft has > different ideas about that. Seeing how many years have passed since it > was drafted, I guess a more radical approach _might_ be in order. I don't know any details here so I could totally misunderstand things but "break ... backward compatibility" looks a bit scaring to me so I like to ask if I understand things at least basically right: Would it mean that existing frontends could no longer work because of "broken backward compatibility"? Could it mean that new frontends (for the new API) would no longer work with old backends that implement the old API? Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From juergen.mellinger at t-online.de Tue Oct 13 14:20:15 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 13 Oct 2020 15:20:15 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87mu0qtsy3.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> Message-ID: Hi Olaf, sorry for not being clear about my suggestion. I am aware that various options exist for the user to select hardware gamma correction, and that software gamma correction is discouraged. However, this is exactly the problem. Without software gamma correction, a frontend is unable to request a certain gamma correction, and cannot choose a gamma correction value suitable for the current operating system, and the current device, or user preferences transferred from a different device. So my suggestion would be to prescribe a software gamma correction option with the values 0 to 2.2, 0 standing for "off". Alternatively, a read-only option "HardwareGamma" could provide the frontend with enough information to implement software gamma correction by itself. Regards, Juergen > Am 13.10.2020 um 10:45 schrieb Olaf Meeuwissen : > > Hi J?rgen, > > J?rgen Mellinger writes: > >> Specifying a gamma value for acquired scan data would greatly add to >> usability as well. > > That's already in the version 2 draft. See > > https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options > https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma > > Both are for device-side gamma support and the standard discourages > emulation in the backend of the former and forbids for the latter. > > Hope this helps, > -- > Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 > GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 > Support Free Software https://my.fsf.org/donate > Join the Free Software Foundation https://my.fsf.org/join From steven at simplycircus.com Tue Oct 13 20:57:02 2020 From: steven at simplycircus.com (Steven Santos) Date: Tue, 13 Oct 2020 15:57:02 -0400 Subject: [sane-devel] CUPS progress slowing to a halt? Message-ID: https://www.phoronix.com/scan.php?page=news_item&px=Linux-2020-CUPS-Git -------------- next part -------------- An HTML attachment was scrubbed... URL: From pzz at apevzner.com Tue Oct 13 22:10:47 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 14 Oct 2020 00:10:47 +0300 Subject: [sane-devel] CUPS progress slowing to a halt? In-Reply-To: References: Message-ID: <12ec9d42-9582-9ed6-bbe7-9bafcfc9453b@apevzner.com> On 10/13/20 10:57 PM, Steven Santos wrote: > https://www.phoronix.com/scan.php?page=news_item&px=Linux-2020-CUPS-Git https://linuxplumbersconf.org/event/7/contributions/693/attachments/556/984/lpc-printer-applications-august-2020.pdf In short, CUPS will not go away, but will be seriously re- architected. And yes, CUPS development will not be backed by Apple. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From paddy-hack at member.fsf.org Wed Oct 14 11:56:24 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Wed, 14 Oct 2020 19:56:24 +0900 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> Message-ID: <87blh5rs87.fsf@quark> Hi J?rgen, J?rgen Mellinger writes: > Hi Olaf, > > sorry for not being clear about my suggestion. I am aware that various > options exist for the user to select hardware gamma correction, and > that software gamma correction is discouraged. Sorry for not being clear that I only wanted to point out that there was already something in that area in the draft standard. > However, this is exactly the problem. Without software gamma > correction, a frontend is unable to request a certain gamma > correction, and cannot choose a gamma correction value suitable for > the current operating system, and the current device, or user > preferences transferred from a different device. So my suggestion > would be to prescribe a software gamma correction option with the > values 0 to 2.2, 0 standing for "off". Alternatively, a read-only > option "HardwareGamma" could provide the frontend with enough > information to implement software gamma correction by itself. I guess what you as a user really want is a frontend giving you an option to set a gamma correction some way. Single value for RGB, maybe three values for R, G and B each or even hand-crafted profiles. What you as a frontend implementer really want is - a way to tell the backend to not muck with gamma at all and do everything in software yourself, or - a way to pass those settings to the backend and let that figure out the best way to achieve what it's been asked to do (maybe with a hint as to what constitutes best, e.g. speed, memory, image quality, etc.) The real problem with these settings that may or may not be supported by hardware is deciding and informing everything involved about who's responsible for doing what. I've seen similar issues in CUPS filter chains where, for example, 2-up and 90 degree rotation settings would be applied by multiple filters so in a pretty bad case you'd end up with a page that's 8-up and rotated by 270 degrees :-o The SANE backends are very much like a filter between the device and your frontend. There was also talk about "middleware" and if that enters the picture you really need to make sure who's going to take responsibility for what so that what arrives at the frontend is the way it's supposed to be. >> Am 13.10.2020 um 10:45 schrieb Olaf Meeuwissen : >> >> Hi J?rgen, >> >> J?rgen Mellinger writes: >> >>> Specifying a gamma value for acquired scan data would greatly add to >>> usability as well. >> >> That's already in the version 2 draft. See >> >> https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options >> https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma >> >> Both are for device-side gamma support and the standard discourages >> emulation in the backend of the former and forbids for the latter. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From paddy-hack at member.fsf.org Wed Oct 14 12:12:49 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Wed, 14 Oct 2020 20:12:49 +0900 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> Message-ID: <87a6wprrgu.fsf@quark> Hi Johannes, Johannes Meixner writes: > Hello, > > On 2020-10-13 11:02, Olaf Meeuwissen wrote: >> >> Following semantic versioning, we are at liberty to (completely) break >> the API's backward compatibility although I realize that the draft has >> different ideas about that. Seeing how many years have passed since it >> was drafted, I guess a more radical approach _might_ be in order. > > I don't know any details here so I could totally misunderstand things > but "break ... backward compatibility" looks a bit scaring to me > so I like to ask if I understand things at least basically right: > > Would it mean that existing frontends could no longer work > because of "broken backward compatibility"? Assuming for simplicity's sake that the backward compatibility breaking version is SANE 2 and what we use now is SANE 1, breaking backward compatibility means that - SANE 1 frontends will continue to work with SANE 1 backends - SANE 1 frontends will not work with SANE 2 backends - SANE 2 frontends will work with SANE 2 backends - SANE 2 frontends will not work with SANE 1 backends > Could it mean that new frontends (for the new API) would > no longer work with old backends that implement the old API? So, yes. Of course, if someone bothers to write a SANE 2 backend that uses one, some or even all of the SANE 1 backends, SANE 2 frontends can use that backend to access devices that are only supported by a SANE 1 backend. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From juergen.mellinger at t-online.de Wed Oct 14 12:30:32 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Wed, 14 Oct 2020 13:30:32 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87blh5rs87.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> <87blh5rs87.fsf@quark> Message-ID: Hi Olaf, thank you for your answer. > I guess what you as a user really want is a frontend giving you an > option to set a gamma correction some way. Single value for RGB, maybe > three values for R, G and B each or even hand-crafted profiles. What > you as a frontend implementer really want is > > - a way to tell the backend to not muck with gamma at all and do > everything in software yourself, or > - a way to pass those settings to the backend and let that figure out > the best way to achieve what it's been asked to do (maybe with a hint > as to what constitutes best, e.g. speed, memory, image quality, etc.) No, that is not what I want. As a user, I want an option in the frontend that results in a reasonable default gamma correction, so I don?t have to choose anything in order to get a reasonably looking scan. Especially, I don?t want to calibrate my individual scanner just to obtain information that is the same for all scanners of that kind. To put it differently, the information about a scanner?s native gamma value, given by its CCD properties, is a natural property of the backend. Any gamma correction applied by hardware and/or in the backend is also a natural property of the backend. There should be a way to communicate resulting gamma from the backend to a frontend, so it can choose an appropriate default gamma correction. > The SANE backends are very much like a filter between the device and > your frontend. There was also talk about "middleware" and if that > enters the picture you really need to make sure who's going to take > responsibility for what so that what arrives at the frontend is the way > it's supposed to be. I am aware that multiple gamma correction is detrimental for quality, this is why an option to choose the gamma of backend output would be preferable over a read-only option to obtain the actual gamma. Thanks, J?rgen > >>> Am 13.10.2020 um 10:45 schrieb Olaf Meeuwissen : >>> >>> Hi J?rgen, >>> >>> J?rgen Mellinger writes: >>> >>>> Specifying a gamma value for acquired scan data would greatly add to >>>> usability as well. >>> >>> That's already in the version 2 draft. See >>> >>> https://sane-project.gitlab.io/standard/draft-2/api.html#gamma-table-options >>> https://sane-project.gitlab.io/standard/draft-2/api.html#analog-gamma >>> >>> Both are for device-side gamma support and the standard discourages >>> emulation in the backend of the former and forbids for the latter. > > Hope this helps, > -- > Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 > GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 > Support Free Software https://my.fsf.org/donate > Join the Free Software Foundation https://my.fsf.org/join From pzz at apevzner.com Wed Oct 14 13:43:57 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 14 Oct 2020 15:43:57 +0300 Subject: [sane-devel] Sane API In-Reply-To: <87blh5rs87.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <871ri3q0d2.fsf@quark> <7903CA39-21C2-4C46-A8E8-839DDB3161C1@t-online.de> <87mu0qtsy3.fsf@quark> <87blh5rs87.fsf@quark> Message-ID: <09ec865e-bf40-eb92-a9e7-73196f8f1700@apevzner.com> Hi Olaf, On 10/14/20 1:56 PM, Olaf Meeuwissen wrote: > I guess what you as a user really want is a frontend giving you an > option to set a gamma correction some way. Single value for RGB, maybe > three values for R, G and B each or even hand-crafted profiles. What > you as a frontend implementer really want is > > - a way to tell the backend to not muck with gamma at all and do > everything in software yourself, or > - a way to pass those settings to the backend and let that figure out > the best way to achieve what it's been asked to do (maybe with a hint > as to what constitutes best, e.g. speed, memory, image quality, etc.) From another hand, draft 2.0 standard dictates a particular order of applying image enhancement filters and requires that if hardware applies these filters a different way, backend should perform a compensation. This is good by itself (we are trying to achieve a similar behavior on all devices), but what is the practical difference between software-simulated gamma correction and hardware-implemented gamma correction plus software compensation in backend? I bet also, that "universal" backends, like BJNP/PIXMA, ESCL, WSD, have no idea how gamma compensation is implemented by the particular device. And another thing, if we are still speaking about gamma correction, I cannot imagine a physical process within a device that can perform the gamma correction. In any case, it will be performed by some piece of software, either by firmware or at the host side. And taking into account that table-driven gamma correction is a trivial thing, there is no practical difference between the place where it is performed, even in a terms of CPU load and memory usage. Here the gamma correction is different from, for example, brightness; brightness control can be implemented by setting the particular lightening level. And yes, the end user wants gamma to be implemented somehow. So if backend implements gamma in software, while frontend doesn't, end user wins, if backend doesn't implement gamma just because it is prohibited by specification, and frontend doesn't implement it too, end user looses the gamma correction. From another hand, I understand a requirement from frontend developers, to understand, what actually goes on. Though honestly speaking, there are currently no widely used frontends that care. So may be, instead of prohibiting of software implementation of particular options, we will define a set of read-only "advanced" options, that will allow inquisitive frontend to explicitly query, how particular option is implemented, with values of "hardware"/"software"/"compensated", for example. > The real problem with these settings that may or may not be supported by > hardware is deciding and informing everything involved about who's > responsible for doing what. I've seen similar issues in CUPS filter > chains where, for example, 2-up and 90 degree rotation settings would be > applied by multiple filters so in a pretty bad case you'd end up with a > page that's 8-up and rotated by 270 degrees :-o From another hand, from the user perspective, it is better, if image will be rotated 9 times that if image cannot be rotated at all :-) > The SANE backends are very much like a filter between the device and > your frontend. There was also talk about "middleware" and if that > enters the picture you really need to make sure who's going to take > responsibility for what so that what arrives at the frontend is the way > it's supposed to be. Yes, the ideal place to "harmonize" things would be a some kind of middleware between backends and frontends. But we have what we have... -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Wed Oct 14 15:05:06 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 14 Oct 2020 17:05:06 +0300 Subject: [sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL Message-ID: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> Hi, what is the difference between "shadow" and "black-level" options? And the same question regarding "highlight" vs "white-level" options. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From paddy-hack at member.fsf.org Thu Oct 15 09:59:50 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Thu, 15 Oct 2020 17:59:50 +0900 Subject: [sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL In-Reply-To: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> References: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> Message-ID: <87a6wn6f09.fsf@quark> Hi Alexander, Alexander Pevzner writes: > what is the difference between "shadow" and "black-level" options? And > the same question regarding "highlight" vs "white-level" options. Judging from their descriptions (in include/sane/saneopts.h), nothing save for the command-line option names. I think this is just a case of independently developed backends where developer picked different option names for the same thing. A patch is welcome but note that it would break backward compatibility for a bunch of unmaintained backends if you simply drop the black- and white-level options :-o # The right way to go about this is *add* shadow and highlight to those # backends, mark the black-level and white-level options deprecated and # drop them in some release after the next. FWIW, the version 2 draft of the standard documents shadow and highlight at https://sane-project.gitlab.io/standard/draft-2/api.html#shadow-option https://sane-project.gitlab.io/standard/draft-2/api.html#highlight-option so keeping that option is probably to be preferred. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From pzz at apevzner.com Thu Oct 15 13:27:10 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 15 Oct 2020 15:27:10 +0300 Subject: [sane-devel] SANE_NAME_SHADOW vs SANE_NAME_BLACK_LEVEL In-Reply-To: <87a6wn6f09.fsf@quark> References: <8a35044c-afc5-f132-74fb-78b90da1d016@apevzner.com> <87a6wn6f09.fsf@quark> Message-ID: <5f96c786-6067-47b7-855c-e8bfa8541aae@apevzner.com> Hi Olaf, On 10/15/20 11:59 AM, Olaf Meeuwissen wrote: > I think this is just a case of independently developed backends where > developer picked different option names for the same thing. A patch is > welcome but note that it would break backward compatibility for a bunch > of unmaintained backends if you simply drop the black- and white-level > options :-o To make chaos even more chaotic :-), sane-microtek uses OPT_SHADOW internally, but with name SANE_NAME_BLACK_LEVEL, and the same for OPT_HIGHLIGHT/SANE_NAME_WHITE_LEVEL. > FWIW, the version 2 draft of the standard documents shadow and highlight > at > > https://sane-project.gitlab.io/standard/draft-2/api.html#shadow-option > https://sane-project.gitlab.io/standard/draft-2/api.html#highlight-option > > so keeping that option is probably to be preferred. Draft 2 defines these options as simple as follows, in pseudo-code: if (c < SHADOW) { c = BLACK; } else if (c > HIGHLIGHT) { c = WHITE; } else { c = c; } However, Photoshop, GIMP, XSane (on its software image enhancement) uses the different interpretation (with formula I didn't yet understood), and this interpretation seems to be common across image processing software. How these options are interpreted by backends where they are handled by hardware, probably nobody knows. Looks, like both variants make sense and needs to be defined as well-known options and documented. The present definition, as it written in the draft 2, probably better match the SANE_NAME_BLACK_LEVEL/SANE_NAME_WHITE_LEVEL pair. What do you think? -- Wishes, Alexander Pevzner (pzz at apevzner.com) From chl at clerew.man.ac.uk Sat Oct 17 20:37:00 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Sat, 17 Oct 2020 20:37:00 +0100 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> Message-ID: <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> On 16/09/2020 06:05, Ralph Little wrote: > Hi, > > On 2020-09-15 4:33 a.m., Charles Lindsey wrote: >> I have cracked it; well, sort of. >> >> Still using my old 0.999-5ubuntu2 version of xsane. >> Clearly, the preview uses a low resolution scan. So I tried doing a >> full scan at various resolutions. >> >> 50 dpi - banding seen >> 75 dpi - banding seen >> 100 dpi - banding seen >> 150 dpi - no banding >> >> I an still planning to download and compile the newer 0.999-8ubuntu2 >> version of xsane (but not today). In the meantime, I suggest you try >> the same experiment on your Epson 1260. >> >> Using Simple Scan, I got no banding at either 75 dpi or 150 dpi, so I >> still think it is an xsane problem. >> > > OK, I *think* that I might be seeing something like what you are. > I get no stripiness, but some resolutions give me a red tinted scan. > It looks to be the same kind of pink tint that you see but it is for the > entire scan area. > > I have to say that I only get this if I set the bit depth to 14. 8 > doesn't give me any problems. > > In all cases, I get the funny thin yellow stripe on the right hand side > which may or may not be related. > For all the scans, I am using xsane. Apologies for long delay but I was hospitalized for a while. I downloaded and compiled the source code for xsane. It is in a messy state, and maintained (in a desultory manner) by some guys at Debian. Gcc complained of many casts from pointer to int. I changes these to long, but it made no difference. I then downloaded the code for the plusek backend and compiled it. This was difficult because I do not have autoconf and its package had too many dependencies which I did not really want. So I had to do a bit of guesswork to get a config.h. It did compile but the problem remained. After many hours of using gdb to find how it worked, plus some use of the builtin SANE_DEBUG facility and comparing that with SANE_DEBUG on simple-scan which worked correctly, I spotted what the problem was. It is not a BUG; it is a FEATURE! Simple-scan runs a calibration (both Course and Fine) om every startup. Xsane has a setting "calibration cache" which can be set in the Standard Options window, and which I had set (because it seemed like a good idea). When set, it causes the result of the calibration to be set in ~/.sane/Epson_Perfection_1250_Photo-coarse.cal and in ~/.sane/Epson_Perfection_1250_Photo-fine.cal If it sees these in a later run, it uses them and omits the calibration process entirely. In the backend code there ia a variable 'dev->adj.cacheCalData' but nowhere could I find where it gets set, though I see now it can be set in /etc /sand.d/plustek.conf, which is presumably where simple-scan picks it up. Anyway, when I first used Xsane in Ubuntu 18.04 (where sane 1.0.27 was used), it created these cache files (which suffered from the original bug), and when I switched to sane 1.0.31 (both the binary package and my locally compiled one) it still used these buggy cache files (simple-scan followed the new code, of course). So when I deleted them and let xsane re-create them, it all started to work correctly (not even any sign of Ralph's yellow stripe). I also found a few oddities: in plustek.c, it declares: struct SIGACTION act; However, that struct is nowhere defined. I had to change it to struct sigaction act; and also #include Also, when running xsane and even simple-scan, it produced massive warnings of the form: MIB search path: /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp Cannot find module (SNMPv2-MIB): At line 1 in (none) Cannot find module (IF-MIB): At line 1 in (none) Cannot find module (IP-MIB): At line 1 in (none) Cannot find module (TCP-MIB): At line 1 in (none) Cannot find module (UDP-MIB): At line 1 in (none) Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) Cannot find module (MTA-MIB): At line 1 in (none) Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) Cannot find module (SNMPv2-TC): At line 15 in /usr/share/snmp/mibs/UCD-DISKIO-MI and much more. But I did not see them when using my own compiled backend-plustek. The bug is described in https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1795861, but the workaround given there doesn't work. AFAICS, it is trying to use the feature to use a scanner elsewhere on the net, but I have not installed saned because I do not need it. How do I turn it off? -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From skelband at gmail.com Sat Oct 17 22:57:46 2020 From: skelband at gmail.com (Ralph Little) Date: Sat, 17 Oct 2020 14:57:46 -0700 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> Message-ID: <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> Hi, On 2020-10-17 12:37 p.m., Charles Lindsey wrote: > > I downloaded and compiled the source code for xsane. It is in a messy > state, and maintained (in a desultory manner) by some guys at Debian. > Gcc complained of many casts from pointer to int. I changes these to > long, but it made no difference. I wouldn't bother compiling xsane. It is very unlikely to be the issue. > > Simple-scan runs a calibration (both Course and Fine) om every startup. > Xsane has a setting "calibration cache" which can be set in the > Standard Options window, and which I had set (because it seemed like a > good idea). When set, it causes the result of the calibration to be > set in > ?~/.sane/Epson_Perfection_1250_Photo-coarse.cal > and in > ?~/.sane/Epson_Perfection_1250_Photo-fine.cal > If it sees these in a later run, it uses them and omits the > calibration process entirely. In the backend code there ia a variable > 'dev->adj.cacheCalData' but nowhere could I find where it gets set, > though I see now it can be set in /etc /sand.d/plustek.conf, which is > presumably where simple-scan picks it up. > > Anyway, when I first used Xsane in Ubuntu 18.04 (where sane 1.0.27 was > used), it created these cache files (which suffered from the original > bug), and when I switched to sane 1.0.31 (both the binary package and > my locally compiled one) it still used these buggy cache files > (simple-scan followed the new code, of course). So when I deleted them > and let xsane re-create them, it all started to work correctly (not > even any sign of Ralph's yellow stripe). Yayy! > > I also found a few oddities: > in plustek.c, it declares: > ???? struct SIGACTION act; > However, that struct is nowhere defined. I had to change it to > ???? struct sigaction act; > and also > ?#include > Not sure about that. SIGACTION of probably generated by autoconf and so customized for the platform. > Also, when running xsane and even simple-scan, it produced massive > warnings of the form: > MIB search path: > /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp > Cannot find module (SNMPv2-MIB): At line 1 in (none) > Cannot find module (IF-MIB): At line 1 in (none) > Cannot find module (IP-MIB): At line 1 in (none) > Cannot find module (TCP-MIB): At line 1 in (none) > Cannot find module (UDP-MIB): At line 1 in (none) > Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) > Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) > Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) > Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) > Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) > Cannot find module (MTA-MIB): At line 1 in (none) > Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) > Cannot find module (SNMPv2-TC): At line 15 in > /usr/share/snmp/mibs/UCD-DISKIO-MI > and much more. But I did not see them when using my own compiled > backend-plustek. > Sorry, don't know about that. Regarding the original problem in the cached files, it seems to me that it might be worthwhile version stamping these files so that we can change their format and flush out buggy ones with a version bump. Something to consider in future I guess. Cheers, Ralph From paddy-hack at member.fsf.org Sun Oct 18 01:33:03 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Sun, 18 Oct 2020 09:33:03 +0900 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> Message-ID: <87y2k4fk5c.fsf@quark> Hi Ralph, Charles, Ralph Little writes: > Hi, > > On 2020-10-17 12:37 p.m., Charles Lindsey wrote: >> > [...] > > Yayy! >> >> I also found a few oddities: >> in plustek.c, it declares: >> struct SIGACTION act; >> However, that struct is nowhere defined. I had to change it to >> struct sigaction act; >> and also >> #include >> > Not sure about that. SIGACTION of probably generated by autoconf and so > customized for the platform. A quick `git grep SIGACTION` shows that it's defined in include/sane/sanei_backend.h to either sigaction or sigvec depending on what ./configure finds. Since Charles didn't install autoconf and cobbled together a config.h by himself, he probably didn't include anything for HAVE_SIGPROCMASK and ended up using sigvec. >> Also, when running xsane and even simple-scan, it produced massive >> warnings of the form: >> MIB search path: >> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >> Cannot find module (SNMPv2-MIB): At line 1 in (none) >> Cannot find module (IF-MIB): At line 1 in (none) >> Cannot find module (IP-MIB): At line 1 in (none) >> Cannot find module (TCP-MIB): At line 1 in (none) >> Cannot find module (UDP-MIB): At line 1 in (none) >> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >> Cannot find module (MTA-MIB): At line 1 in (none) >> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >> Cannot find module (SNMPv2-TC): At line 15 in >> /usr/share/snmp/mibs/UCD-DISKIO-MI >> and much more. But I did not see them when using my own compiled >> backend-plustek. >> > Sorry, don't know about that. Those warnings are courtesy of libsnmp and I think you compiled without. The Ubuntu bug report you mentioned talks about the possibility that colord-sane may be causing this. FWIW, we fixed a couple of backends a few months ago so that they no longer generate network traffic when the local-only option is used. See https://gitlab.com/sane-project/backends/-/issues/130 for details. > Regarding the original problem in the cached files, it seems to me that > it might be worthwhile version stamping these files so that we can > change their format and flush out buggy ones with a version bump. > > Something to consider in future I guess. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From chl at clerew.man.ac.uk Sun Oct 18 23:24:20 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Sun, 18 Oct 2020 23:24:20 +0100 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: <87y2k4fk5c.fsf@quark> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> Message-ID: On 18/10/2020 01:33, Olaf Meeuwissen wrote: > Hi Ralph, Charles, >>> Also, when running xsane and even simple-scan, it produced massive >>> warnings of the form: >>> MIB search path: >>> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>> Cannot find module (SNMPv2-MIB): At line 1 in (none) >>> Cannot find module (IF-MIB): At line 1 in (none) >>> Cannot find module (IP-MIB): At line 1 in (none) >>> Cannot find module (TCP-MIB): At line 1 in (none) >>> Cannot find module (UDP-MIB): At line 1 in (none) >>> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >>> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >>> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >>> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >>> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >>> Cannot find module (MTA-MIB): At line 1 in (none) >>> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >>> Cannot find module (SNMPv2-TC): At line 15 in >>> /usr/share/snmp/mibs/UCD-DISKIO-MI >>> and much more. But I did not see them when using my own compiled >>> backend-plustek. >>> >> Sorry, don't know about that. > > Those warnings are courtesy of libsnmp and I think you compiled without. > > The Ubuntu bug report you mentioned talks about the possibility that > colord-sane may be causing this. FWIW, we fixed a couple of backends a > few months ago so that they no longer generate network traffic when the > local-only option is used. See > > https://gitlab.com/sane-project/backends/-/issues/130 > > for details. > I have followed up that link, and also earlier discussions on this list referenced there. It all seems to boil down to the function SANE_Status sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only); and the exact meaning of local_only, and even the developers on this list can't seem to agree on what that means. Note that there are more than one implementation of that function throughout the whole system. So here is my take on it: Every usage of Sane starts from some frontend. For example xsane (of which I have the code in front of me) has to decide what backend it is going to use. If a backend is specified on the command line (and you specify it by a Name (e.g. "Alice's Scanner"), then all is straightforward. Otherwise, xsane calls sane_get_devices(&xsane.devlist, SANE_FALSE /* local and network devices */); which presumably looks at every SCSI Bus, and then any available Usb, and then any server on the LAN which is running saned (with proper authorisation for you), and then any such server on the internet; so if all it can find is a server in Timbuktu, you will have to hire a camel to take your document to Timbuktu to be scanned. Now I have run xsane under gdb, and observe that by the time that call returns, the deluge of warnings from snmp has already appeared, and note also that at that stage all that xsane is aware of is a list of [name/vendor/model/type]; NO specific device has been chosen, so the instance of sane_get_devices obeyed must have been the generic one in libsane. We don't have a specific SANE_Handle available, and therefore we cannot have obeyed and code in any SANE_handler. Therefore this is not a backend problem. The culprit for the deluge of warnings about snmp MUST be that sane_get_devices function in libsane, and that is where you should look. Now it is quite reasonable for a backend to seek advice from colord as to how to process the stuff it scans (and I see that I do have a colord running, though nothing in /etc/init.d), but that is for later when an actual backend has been activated. The plustek backend, which my scanner uses, has no interest in colord. It Does seem to envisage that is may have several devices of the same type under control, and it Does have a local implementation of sane_get_devices (which merely ignores its local_only parameter and returns a list of devices it has already been asked to activate). Who calls that local implementation is entirely unknown. The colord-sane daemon is a more interesting problem. It is known known that it incorporates a call of sane_get_devices, but I am not running colord-sane (that I know of). And why it should get involved when sane_get_devices gets called from xsane I cannot imagine. I would suggest that some investigation of what the sane_get_devices in libsane actually does and likewise what colord-sane is up to would lead to the solution for this deluge. -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From paddy-hack at member.fsf.org Mon Oct 19 10:32:49 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Mon, 19 Oct 2020 18:32:49 +0900 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> Message-ID: <87y2k2v9vi.fsf@quark> Hi Charles, Charles Lindsey writes: > On 18/10/2020 01:33, Olaf Meeuwissen wrote: >> Hi Ralph, Charles, > >>>> Also, when running xsane and even simple-scan, it produced massive >>>> warnings of the form: >>>> MIB search path: >>>> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>>> Cannot find module (SNMPv2-MIB): At line 1 in (none) >>>> Cannot find module (IF-MIB): At line 1 in (none) >>>> Cannot find module (IP-MIB): At line 1 in (none) >>>> Cannot find module (TCP-MIB): At line 1 in (none) >>>> Cannot find module (UDP-MIB): At line 1 in (none) >>>> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >>>> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >>>> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >>>> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >>>> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >>>> Cannot find module (MTA-MIB): At line 1 in (none) >>>> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >>>> Cannot find module (SNMPv2-TC): At line 15 in >>>> /usr/share/snmp/mibs/UCD-DISKIO-MI >>>> and much more. But I did not see them when using my own compiled >>>> backend-plustek. >>>> >>> Sorry, don't know about that. >> >> Those warnings are courtesy of libsnmp and I think you compiled without. >> >> The Ubuntu bug report you mentioned talks about the possibility that >> colord-sane may be causing this. FWIW, we fixed a couple of backends a >> few months ago so that they no longer generate network traffic when the >> local-only option is used. See >> >> https://gitlab.com/sane-project/backends/-/issues/130 >> >> for details. >> > I have followed up that link, and also earlier discussions on this > list referenced there. It all seems to boil down to the function > SANE_Status sane_get_devices (const SANE_Device *** device_list, > SANE_Bool local_only); > and the exact meaning of local_only, and even the developers on this > list can't seem to agree on what that means. Note that there are more > than one implementation of that function throughout the whole > system. So here is my take on it: Every SANE backend *must* provide an implementation. So, yes, there are 93 implementations of it in sane-backends alone. Any external backends you may or may not have installed would add to that. > Every usage of Sane starts from some frontend. Correct. > For example xsane (of which I have the code in front of me) has to > decide what backend it is going to use. Nitpick: It has to decide which scanner/backend combination it is going to use. > If a backend is specified on > the command line (and you specify it by a Name (e.g. "Alice's > Scanner"), then all is straightforward. That depends on the frontend and the backend you told it to use. In an ideal world, it would be straightforward but both frontend and backend are still free to call sane_get_devices if they feel the need. > Otherwise, xsane calls > sane_get_devices(&xsane.devlist, SANE_FALSE /* local and network devices */); > which presumably looks at every SCSI Bus, and then any available Usb, > and then any server on the LAN which is running saned (with proper > authorisation for you), and then any such server on the internet; so > if all it can find is a server in Timbuktu, you will have to hire a > camel to take your document to Timbuktu to be scanned. Apart from the exact order you sketch above, looking for servers (on the LAN and the internets at large) running saned should not happen in the case local-only was set to true. The `net` backend has observed that value correctly since version 1.0.1 (released over 20 years ago). However, certain backends also search for scanners directly attached to the network. They may use SNMP or AVAHI or ... well, whatever and would normally use an appropriate library to do so. Standard compliant backends should not be doing those probes for network attached scanners but some of our backends did. That has been fixed and will be in the next sane-backends release. Until such time, you can disable backends in your dll.conf file. The kodakaio and magicolor backends use SNMP to detect devices (and have been fixed recently). > Now I have run xsane under gdb, and observe that by the time that call > returns, the deluge of warnings from snmp has already appeared, and > note also that at that stage all that xsane is aware of is a list of > [name/vendor/model/type]; NO specific device has been chosen, so the > instance of sane_get_devices obeyed must have been the generic one in > libsane. We don't have a specific SANE_Handle available, and therefore > we cannot have obeyed and code in any SANE_handler. The "generic" sane_get_devices is normally the one from the dll backend and that one calls the sane_get_devices implementations of all the SANE backends you have enabled (normally in /etc/sane.d/dll.conf but see the sane-dll manual page for details). > Therefore this is not a backend problem. The culprit for the deluge of > warnings about snmp MUST be that sane_get_devices function in libsane, > and that is where you should look. We have looked there and we have fixed all the backends in sane-backends so they do not generate network traffic when local-only is true. That fix will be in the next sane-backends release. Please be advised that the messages you see are *not* output by the SANE backends. It's libsnmp that generates these messages when a backend has the audacity to use its API. > Now it is quite reasonable for a backend to seek advice from colord as > to how to process the stuff it scans (and I see that I do have a > colord running, though nothing in /etc/init.d), but that is for later > when an actual backend has been activated. To the best of my knowledge, our sane-backends don't use colord in any way. Perhaps your frontend does. I don't think XSane does, BTW. > The plustek backend, which my scanner uses, has no interest in > colord. It Does seem to envisage that is may have several devices of > the same type under control, and it Does have a local implementation > of sane_get_devices (which merely ignores its local_only parameter and > returns a list of devices it has already been asked to activate). Who > calls that local implementation is entirely unknown. If the plustek does not and will not, ever, support directly network attached devices, it can safely ignore the local-only parameter. > The colord-sane daemon is a more interesting problem. It is known > known that it incorporates a call of sane_get_devices, but I am not > running colord-sane (that I know of). And why it should get involved > when sane_get_devices gets called from xsane I cannot imagine. > > I would suggest that some investigation of what the sane_get_devices > in libsane actually does and likewise what colord-sane is up to would > lead to the solution for this deluge. If commenting out the kodakaio and magicolor backends in your dll.conf does not solve this for you, you have external backends installed that are responsible for the "deluge". If the plustek backend is all you need, simply comment out every other backend. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From chl at clerew.man.ac.uk Mon Oct 19 12:55:16 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Mon, 19 Oct 2020 12:55:16 +0100 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: <87y2k2v9vi.fsf@quark> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> <87y2k2v9vi.fsf@quark> Message-ID: <2fb523c6-deca-5d6e-91ba-73afeeeec29c@clerew.man.ac.uk> On 19/10/2020 10:32, Olaf Meeuwissen wrote: > Hi Charles, > > Charles Lindsey writes: > >> On 18/10/2020 01:33, Olaf Meeuwissen wrote: >>> Hi Ralph, Charles, >> >>>>> Also, when running xsane and even simple-scan, it produced massive >>>>> warnings of the form: >>>>> MIB search path: >>>>> /home/chl/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp >>>>> Cannot find module (SNMPv2-MIB): At line 1 in (none) >>>>> Cannot find module (IF-MIB): At line 1 in (none) >>>>> Cannot find module (IP-MIB): At line 1 in (none) >>>>> Cannot find module (TCP-MIB): At line 1 in (none) >>>>> Cannot find module (UDP-MIB): At line 1 in (none) >>>>> Cannot find module (HOST-RESOURCES-MIB): At line 1 in (none) >>>>> Cannot find module (NOTIFICATION-LOG-MIB): At line 1 in (none) >>>>> Cannot find module (DISMAN-EVENT-MIB): At line 1 in (none) >>>>> Cannot find module (DISMAN-SCHEDULE-MIB): At line 1 in (none) >>>>> Cannot find module (HOST-RESOURCES-TYPES): At line 1 in (none) >>>>> Cannot find module (MTA-MIB): At line 1 in (none) >>>>> Cannot find module (NETWORK-SERVICES-MIB): At line 1 in (none) >>>>> Cannot find module (SNMPv2-TC): At line 15 in >>>>> /usr/share/snmp/mibs/UCD-DISKIO-MI >>>>> and much more. But I did not see them when using my own compiled >>>>> backend-plustek. >>>>> >>>> Sorry, don't know about that. > If commenting out the kodakaio and magicolor backends in your dll.conf > does not solve this for you, you have external backends installed that > are responsible for the "deluge". If the plustek backend is all you > need, simply comment out every other backend. I had already commented out 'net' (which I presume is the only one that should legitimately invoke snmp); now I have also commented out 'kodakaio' and 'magicolor', and the problem has vanished, though I still don't understand why. > > Hope this helps, It did indeed. Thank you. -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From chl at clerew.man.ac.uk Mon Oct 19 13:00:03 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Mon, 19 Oct 2020 13:00:03 +0100 Subject: [sane-devel] Epson Perfection 1250/Photo 64-bit In-Reply-To: <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> Message-ID: On 17/10/2020 22:57, Ralph Little wrote: > On 2020-10-17 12:37 p.m., Charles Lindsey wrote: >> Simple-scan runs a calibration (both Course and Fine) om every startup. >> Xsane has a setting "calibration cache" which can be set in the >> Standard Options window, and which I had set (because it seemed like a >> good idea). When set, it causes the result of the calibration to be >> set in >> ?~/.sane/Epson_Perfection_1250_Photo-coarse.cal >> and in >> ?~/.sane/Epson_Perfection_1250_Photo-fine.cal >> If it sees these in a later run, it uses them and omits the >> calibration process entirely. In the backend code there ia a variable >> 'dev->adj.cacheCalData' but nowhere could I find where it gets set, >> though I see now it can be set in /etc /sand.d/plustek.conf, which is >> presumably where simple-scan picks it up. > > Regarding the original problem in the cached files, it seems to me that > it might be worthwhile version stamping these files so that we can > change their format and flush out buggy ones with a version bump. I think it would be more useful to ensure they did not hang around too long. I suspect that the calibration of a particular scanner could drift over time, and hence any cache over a week old should be ignored anyway. > > Something to consider in future I guess. > > Cheers, > Ralph > -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From jsmeix at suse.de Mon Oct 19 13:41:32 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Mon, 19 Oct 2020 14:41:32 +0200 Subject: [sane-devel] Sane API In-Reply-To: <87a6wprrgu.fsf@quark> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> Message-ID: <74f97c36219cba07ea4ae547df73e70a@suse.de> Hello, On 2020-10-14 13:12, Olaf Meeuwissen wrote: > Assuming for simplicity's sake that the backward compatibility breaking > version is SANE 2 and what we use now is SANE 1, breaking backward > compatibility means that > > - SANE 1 frontends will continue to work with SANE 1 backends > - SANE 1 frontends will not work with SANE 2 backends > - SANE 2 frontends will work with SANE 2 backends > - SANE 2 frontends will not work with SANE 1 backends I fear such a hard incompatible disruptive move forward might even basically "kill" the SANE project in practice "out there". I mean that it might annoy so many users in practice "out there" that in the end "SANE doesn't work" might become a commonplace. To avoid that I think it is mandatory in practice that SANE 1 frontends will continue to work as they did all the time so that for the users there is no noticeable disruption in how things work for them. This means all SANE 1 things must still be there in SANE 2 so that SANE 2 is a strict superset of SANE 1. I am not a SANE backends developer so I could be plain wrong with my following proposal: As far as I know each backend has to implement the whole SANE API so there are as many SANE API implementations as there are backends. I think what is described in section "4.1 Version Control" at https://sane-project.gitlab.io/standard/api.html therein in particular the part "A frontend may implement backwards compatibility by allowing major numbers that are smaller than the expected major number (provided the frontend really can cope with the older version). In contrast, a backend always provides support for one and only one version of the standard." and therin in particular the last sentence points to the root of the problems with how to move forward with SANE. I think it must be allowed that both frontends and backends support more than one version of the SANE API. To implement e.g. two versions of the SANE API in one backend the names of operations (functions) and data types must be different. So just as offhanded example there might be two initialization functions SANE_Status sane_init (SANE_Int * version_code, SANE_Authorization_Callback authorize); plus additionally a new one SANE2_Status sane2_init (SANE_Int * version_code, SANE2_Authorization_Callback authorize); where SANE2_Authorization_Callback could be an enhanced version of SANE_Authorization_Callback (e.g. to support some new kind of authorization) and sane2_init results an enhanced status as SANE2_Status (but it can still use SANE_Int when that is still sufficient). A SANE 1 frontend will not call sane2_init but sane_init that is still there. A SANE 2 frontend can call sane2_init but it can also call sane_init as fallback because that is still there. All SANE 1 backends would have to implement at least a dummy stub of sane2_init so that the function is there in each backend and the linker can link a SANE 2 frontend with all SANE 1 backends. A dummy stub of sane2_init would have to notify its SANE 2 frontend caller via the enhanced SANE2_Status that the sane2_init functionality is not actually implemented so that the SANE 2 frontend can automatically call sane_init as fallback. In this example only the sane_init function was enhanced as new additional sane2_init function together with its needed new additional data types but nothing else was changed. So I think this way it is possible to move forward step by step as needed for each particular kind of functionality and there is no longer the trap to either jump the whole API forward or to not move at all. When this works there is lo longer a strict separation of different SANE API versions - in contrast there is only one single SANE API that moves forward step by step as needed. When after a longer time there is no longer the need for old sane_* functions because all is implemented as new sane[234...] functions and there are no longer old SANE 1 frontends in use "in practice out there in real world", the old sane_* functions can be declared deprecated and their prototypes get removed from the sane.h header file to make compiling of old software fail that needs old sane_* functions to denote developers (developers don't read deprecation announcements - you must let compilation fail because "when it compiles it proves all is OK" ;-) I made this proposal based on what I noitced how the CUPS library moved forward step by step as needed in the past without noticeable breakage of backward compatibility, cf. the "someFunction" versus "someFunction2" names in https://www.cups.org/doc/cupspm.html Again: I am not a SANE backends developer so I could be plain wrong. Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From pzz at apevzner.com Mon Oct 19 14:04:51 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Mon, 19 Oct 2020 16:04:51 +0300 Subject: [sane-devel] Sane API In-Reply-To: <74f97c36219cba07ea4ae547df73e70a@suse.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> Message-ID: <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Hi Johannes, On 10/19/20 3:41 PM, Johannes Meixner wrote: > I fear such a hard incompatible disruptive move forward might even > basically "kill" the SANE project in practice "out there". > I mean that it might annoy so many users in practice "out there" > that in the end "SANE doesn't work" might become a commonplace. 100% agree. If SANE will break compatibility, I expect several months of resistance from major Linux distros to upgrade to SANE 2.0 (while some fixes/improvements will be backported from 2.0 to 1.0), and then fork and creation of alternative with backward compatibility promises. But please note also, there are not so much important SANE "clients" (frontends) in existanse. I'm aware only about xsane, simple-scan and LibreOffice. They can be easily fixed. What is much more important and much harder to fix, is to prevent loss of existent ~100 SANE 1.0 drivers (backends). Most of them are not maintained and nobody will bother to rewrite them to support SANE 2.0 API. > To avoid that I think it is mandatory in practice that SANE 1 frontends > will continue to work as they did all the time so that for the users > there is no noticeable disruption in how things work for them. > > This means all SANE 1 things must still be there in SANE 2 > so that SANE 2 is a strict superset of SANE 1. Actually, it is not necessery. It would be enough to have SANE 2.0 meta-backend (similar to sane-dll) that implements SANE 2.0 functionality on a top of SANE 1.0 API, exposed by existent SANE 1.0 backends. Obviously, if something cannot be implemented, it will not be implemented. But this is OK, because not everything we can imagine here can be implemented on a top of ANY hardware, it will be the similar limitation. > I made this proposal based on what I noitced how the CUPS library moved > forward > step by step as needed in the past without noticeable breakage of backward > compatibility, cf. the "someFunction" versus "someFunction2" names in > https://www.cups.org/doc/cupspm.html Situation with SANE is more difficult, that with CUPS. In CUPS, applications are linked against a single library. Old applications use old API, new applications can use either new or old API, as they wish. In SANE, each backend is the SANE itself, and if you build your application agains SANE library, that exposes sane2_init(), it will not even load, if used with pure SANE 1.0 backend (or will crash at the first call, depending on dynamic loader mode, either lazy or strict). May be, SANE should withdraw its promise, that any backend could be used alone as /usr/lib/libsane.so, and should explicitly state, that the only backend, usable for apps, is libsane-dll, while libsane-dll will handle all this complexity of providing emulations of sane2_xxx() functions for backends that don't implement these functions natively. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From steven at simplycircus.com Mon Oct 19 21:35:18 2020 From: steven at simplycircus.com (Steven Santos) Date: Mon, 19 Oct 2020 16:35:18 -0400 Subject: [sane-devel] Sane API In-Reply-To: <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Message-ID: I do documentation, not development, so take this for what its worth. 1. It seems to me that going forward, most scanners will be implementing some form if IPPEverywhere for scanners, so airscan et al is essentially the driver for most, if not all, modern scanners. 2. We have about 100 older scanner drivers that we need to preserve. Most of these are not currently maintained, and are unlikely to be maintained in the future. 3. The need for middleware has been established. I think the path forwards is to allow sane and sane2 to sit side-by-side. Sane1 should be left in its current state, exposing its drivers to sane2 via its net backend. Sane2 should act as a front end for sane 1, taking those scans and delivering them to its middleware. Going forwards, Sane2 drivers should be built against a standard libsane-dll type library, with standard middleware for controlling and tweaking the scans before being delivered to the front-end. Sane2 would be installed by default as the scanning interface on linux, with only currently supported drivers. Sane1 would be installed if legacy scanning is needed. On Mon, Oct 19, 2020 at 9:05 AM Alexander Pevzner wrote: > Hi Johannes, > > On 10/19/20 3:41 PM, Johannes Meixner wrote: > > I fear such a hard incompatible disruptive move forward might even > > basically "kill" the SANE project in practice "out there". > > I mean that it might annoy so many users in practice "out there" > > that in the end "SANE doesn't work" might become a commonplace. > > 100% agree. > > If SANE will break compatibility, I expect several months of resistance > from major Linux distros to upgrade to SANE 2.0 (while some > fixes/improvements will be backported from 2.0 to 1.0), and then fork > and creation of alternative with backward compatibility promises. > > But please note also, there are not so much important SANE "clients" > (frontends) in existanse. I'm aware only about xsane, simple-scan and > LibreOffice. They can be easily fixed. > > What is much more important and much harder to fix, is to prevent loss > of existent ~100 SANE 1.0 drivers (backends). Most of them are not > maintained and nobody will bother to rewrite them to support SANE 2.0 API. > > > To avoid that I think it is mandatory in practice that SANE 1 frontends > > will continue to work as they did all the time so that for the users > > there is no noticeable disruption in how things work for them. > > > > > This means all SANE 1 things must still be there in SANE 2 > > so that SANE 2 is a strict superset of SANE 1. > > Actually, it is not necessery. It would be enough to have SANE 2.0 > meta-backend (similar to sane-dll) that implements SANE 2.0 > functionality on a top of SANE 1.0 API, exposed by existent SANE 1.0 > backends. > > Obviously, if something cannot be implemented, it will not be > implemented. But this is OK, because not everything we can imagine here > can be implemented on a top of ANY hardware, it will be the similar > limitation. > > > I made this proposal based on what I noitced how the CUPS library moved > > forward > > step by step as needed in the past without noticeable breakage of > backward > > compatibility, cf. the "someFunction" versus "someFunction2" names in > > https://www.cups.org/doc/cupspm.html > > Situation with SANE is more difficult, that with CUPS. > > In CUPS, applications are linked against a single library. Old > applications use old API, new applications can use either new or old > API, as they wish. > > In SANE, each backend is the SANE itself, and if you build your > application agains SANE library, that exposes sane2_init(), it will not > even load, if used with pure SANE 1.0 backend (or will crash at the > first call, depending on dynamic loader mode, either lazy or strict). > > May be, SANE should withdraw its promise, that any backend could be used > alone as /usr/lib/libsane.so, and should explicitly state, that the only > backend, usable for apps, is libsane-dll, while libsane-dll will handle > all this complexity of providing emulations of sane2_xxx() functions for > backends that don't implement these functions natively. > > -- > > Wishes, Alexander Pevzner (pzz at apevzner.com) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From thierry at ordissimo.com Tue Oct 20 07:50:40 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Tue, 20 Oct 2020 08:50:40 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Message-ID: <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Hi All, I went to quickly look at sane-2.0: - I agree with @paddy-hack, making new with old is not necessarily a good thing! - I found that the difference was in the options. The operations are identical. It will be easy for a developer to create a gateway from sane-1.0 to sane-2.0. - The options are hardware dependent and there, some options are emulatable, others are not. - If sane-2.0 is just the formatting of the options, why not do it in sane-1.0? Thierry Le 2020-10-19 22:35, Steven Santos a ?crit?: > I do documentation, not development, so take this for what its worth. > > 1. It seems to me that going forward, most scanners will be > implementing some form if IPPEverywhere for scanners, so airscan et al > is essentially the driver for most, if not all, modern scanners. > > 2. We have about 100 older scanner drivers that we need to preserve. > Most of these are not currently maintained, and are unlikely to be > maintained in the future. > > 3. The need for middleware has been established. > > I think the path forwards is to allow sane and sane2 to sit > side-by-side. > > Sane1 should be left in its current state, exposing its drivers to > sane2 via its net backend. > > Sane2 should act as a front end for sane 1, taking those scans and > delivering them to its middleware. > > Going forwards, Sane2 drivers should be built against a standard > libsane-dll type library, with standard middleware for controlling and > tweaking the scans before being delivered to the front-end. > > Sane2 would be installed by default as the scanning interface on > linux, with only currently supported drivers. Sane1 would be > installed if legacy scanning is needed. > > On Mon, Oct 19, 2020 at 9:05 AM Alexander Pevzner > wrote: > >> Hi Johannes, >> >> On 10/19/20 3:41 PM, Johannes Meixner wrote: >>> I fear such a hard incompatible disruptive move forward might even >>> basically "kill" the SANE project in practice "out there". >>> I mean that it might annoy so many users in practice "out there" >>> that in the end "SANE doesn't work" might become a commonplace. >> >> 100% agree. >> >> If SANE will break compatibility, I expect several months of >> resistance >> from major Linux distros to upgrade to SANE 2.0 (while some >> fixes/improvements will be backported from 2.0 to 1.0), and then >> fork >> and creation of alternative with backward compatibility promises. >> >> But please note also, there are not so much important SANE "clients" >> >> (frontends) in existanse. I'm aware only about xsane, simple-scan >> and >> LibreOffice. They can be easily fixed. >> >> What is much more important and much harder to fix, is to prevent >> loss >> of existent ~100 SANE 1.0 drivers (backends). Most of them are not >> maintained and nobody will bother to rewrite them to support SANE >> 2.0 API. >> >>> To avoid that I think it is mandatory in practice that SANE 1 >> frontends >>> will continue to work as they did all the time so that for the >> users >>> there is no noticeable disruption in how things work for them. >>> >> >>> This means all SANE 1 things must still be there in SANE 2 >>> so that SANE 2 is a strict superset of SANE 1. >> >> Actually, it is not necessery. It would be enough to have SANE 2.0 >> meta-backend (similar to sane-dll) that implements SANE 2.0 >> functionality on a top of SANE 1.0 API, exposed by existent SANE 1.0 >> >> backends. >> >> Obviously, if something cannot be implemented, it will not be >> implemented. But this is OK, because not everything we can imagine >> here >> can be implemented on a top of ANY hardware, it will be the similar >> limitation. >> >>> I made this proposal based on what I noitced how the CUPS library >> moved >>> forward >>> step by step as needed in the past without noticeable breakage of >> backward >>> compatibility, cf. the "someFunction" versus "someFunction2" names >> in >>> https://www.cups.org/doc/cupspm.html >> >> Situation with SANE is more difficult, that with CUPS. >> >> In CUPS, applications are linked against a single library. Old >> applications use old API, new applications can use either new or old >> >> API, as they wish. >> >> In SANE, each backend is the SANE itself, and if you build your >> application agains SANE library, that exposes sane2_init(), it will >> not >> even load, if used with pure SANE 1.0 backend (or will crash at the >> first call, depending on dynamic loader mode, either lazy or >> strict). >> >> May be, SANE should withdraw its promise, that any backend could be >> used >> alone as /usr/lib/libsane.so, and should explicitly state, that the >> only >> backend, usable for apps, is libsane-dll, while libsane-dll will >> handle >> all this complexity of providing emulations of sane2_xxx() functions >> for >> backends that don't implement these functions natively. >> >> -- >> >> Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Tue Oct 20 09:12:03 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 11:12:03 +0300 Subject: [sane-devel] Sane API In-Reply-To: <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: Hi Thierry, On 10/20/20 9:50 AM, Thierry HUCHARD wrote: > I went to quickly look at sane-2.0: - I agree with @paddy-hack, > making new with old is not necessarily a good thing! - I found that > the difference was in the options. The operations are identical. It > will be easy for a developer to create a gateway from sane-1.0 to > sane-2.0. - The options are hardware dependent and there, some > options are emulatable, others are not. - If sane-2.0 is just the > formatting of the options, why not do it in sane-1.0? Current API misses some essential things, that cannot be implemented in terms of options: - PnP notifications (scanner was connected/disconnected some time after driver was initialized). This limitation can be worked around by continuous poll, but this poll drains a battery a generates network/USB traffic, so it is better to avoid. - If some scanner is identified by multiple backends, it would be nice to let user app to automatically choose one of the list. For this purpose, it would be nice to expose some information regarding scanner location, before scanner is opened (say, "USB bus X device Y, or NET addr aaa.bbb.ccc.ddd). It requires adding extra fields to the SANE_Device structure, which makes it incompatible with SANE 1.0 For the following things we just don't have appropriate SANE_Value_Type: - Scanner resolution if a form of X*Y pair. This is important, to support "asymmetrical" resolutions (300*600, for example) For the following options we don't have enough discipline: - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. My list is most likely very incomplete. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From starrtennis at gmail.com Tue Oct 20 09:18:23 2020 From: starrtennis at gmail.com (Michael Starr) Date: Tue, 20 Oct 2020 01:18:23 -0700 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com>, Message-ID: <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> An HTML attachment was scrubbed... URL: From starrtennis at gmail.com Tue Oct 20 09:19:29 2020 From: starrtennis at gmail.com (Michael Starr) Date: Tue, 20 Oct 2020 01:19:29 -0700 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com>, Message-ID: An HTML attachment was scrubbed... URL: From pzz at apevzner.com Tue Oct 20 09:41:03 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 11:41:03 +0300 Subject: [sane-devel] Sane API In-Reply-To: <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: On 10/20/20 11:18 AM, Michael Starr wrote: > Guys guys, just calm down. This is for Linux, remember? Excuse me if I sound rude, I don't feel that and trying to be polite. English is not my native language so I can miss some nuances. Actually, I'm just trying to summarize things. > Mike > > Sent from Mail for > Windows 10 > > *From: *Alexander Pevzner > *Sent: *Tuesday, October 20, 2020 1:12 AM > *To: *sane-devel at alioth-lists.debian.net > > *Subject: *Re: [sane-devel] Sane API > > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: > > > I went to quickly look at sane-2.0: - I agree with @paddy-hack, > > > making new with old is not necessarily a good thing! - I found that > > > the difference was in the options. The operations are identical. It > > > will be easy for a developer to create a gateway from sane-1.0 to > > > sane-2.0. - The options are hardware dependent and there, some > > > options are emulatable, others are not. - If sane-2.0 is just the > > > formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented in > > terms of options: > > - PnP notifications (scanner was connected/disconnected some time after > > driver was initialized). This limitation can be worked around by > > continuous poll, but this poll drains a battery a generates network/USB > > traffic, so it is better to avoid. > > - If some scanner is identified by multiple backends, it would be nice > > to let user app to automatically choose one of the list. For this > > purpose, it would be nice to expose some information regarding scanner > > location, before scanner is opened (say, "USB bus X device Y, or NET > > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > > SANE_Device structure, which makes it incompatible with SANE 1.0 > > For the following things we just don't have appropriate SANE_Value_Type: > > - Scanner resolution if a form of X*Y pair. This is important, to > > support "asymmetrical" resolutions (300*600, for example) > > For the following options we don't have enough discipline: > > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF > > duplex, ADF front/ADF back > > sane_airscan_get_parameters() must be accurate immediately after return > > from sane_start(). It is not always possible, unless sane_start() has to > > wait until image is available (compare sane-escl and sane-airscan approach). > > sane_airscan_get_select_fd() defined with serious mistake: it requires > > backend to close select_fd immediately after completion or cancellation > > of the scan job. In multi-threaded program closed file descriptor could > > be immediately reused for some different purpose by another thread. > > There is no possibility to request image in the device-specific "raw" > > format. I.e., if I want PDF and device can return PDF, image still will > > be repacked PDF->sane format->PDF. > > My list is most likely very incomplete. > > -- > > ????????????? Wishes, Alexander Pevzner (pzz at apevzner.com) > -- Wishes, Alexander Pevzner (pzz at apevzner.com) From jsmeix at suse.de Tue Oct 20 10:03:27 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Tue, 20 Oct 2020 11:03:27 +0200 Subject: [sane-devel] Sane API In-Reply-To: <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> Message-ID: <4f57832dcf3ef726629415ccfe152b22@suse.de> Hello, On 2020-10-19 15:04, Alexander Pevzner wrote (excerpts): > On 10/19/20 3:41 PM, Johannes Meixner wrote: > > What is much more important and much harder to fix, is to prevent loss > of existent ~100 SANE 1.0 drivers (backends). Most of them are not > maintained and nobody will bother to rewrite them to support SANE 2.0 > API. > >> To avoid that I think it is mandatory in practice that SANE 1 >> frontends >> will continue to work as they did all the time so that for the users >> there is no noticeable disruption in how things work for them. I think it was confusing what I wrote about SANE 1 frontends. What I actually meant was that SANE 1 backends should continue to work as they did all the time. Because a SANE 2 frontend would not work when used/linked directly with an unchanged SANE 1 backend I wrote about SANE 1 frontends. Simply put what I liked to say was: For the user there should not be two separated frontends like /usr/bin/scanimage for SANE 1 backends and /usr/bin/scanimage2 for SANE 2 backends but only one same frontend /usr/bin/scanimage that works both with SANE 1 backends and with SANE 2 backends so that for users there is no disruption how things behave. Regarding old and unmaintained SANE 1 backends: I fear many existing external/third-party SANE 1 backends (in particular proprietary backends from scanner manufacturers) are also unmaintained in practice and I fear many users use them which makes some backward-compatibility-layer (e.g. a meta backend) more or less mandatory in practice to keep SANE as THE standard. Or perhaps the ultimate way out are IPP-Scan Scanner Applications https://openprinting.github.io/upcoming-technologies/02-ipp-scan/ which encapsulate each individual scanner device driver into a separated Scanner Application that presents the scanner device as a virtual/emulated IPP scanner to user applications? This way scanner devices with a SANE 1 backend as driver would be encapsulated in a Scanner Application based on a SANE 1 backend while scanner devices with a SANE 2 backend as driver would be encapsulated in a Scanner Application based on a SANE 2 backend and for the user all scanner devices appear as IPP scanners that can be used with one same IPP scanner user application. Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From paddy-hack at member.fsf.org Tue Oct 20 10:08:22 2020 From: paddy-hack at member.fsf.org (Olaf Meeuwissen) Date: Tue, 20 Oct 2020 18:08:22 +0900 Subject: [sane-devel] Warnings from SNMP (was Epson Perfection) In-Reply-To: <2fb523c6-deca-5d6e-91ba-73afeeeec29c@clerew.man.ac.uk> References: <7c44ec01-b465-9918-2c9f-2ffdc045fe4c@clerew.man.ac.uk> <0cfbda3b-2d96-3060-2ab3-00ae8c7fe4a7@gmail.com> <85373361-e98a-3aea-1a87-91374e99b17e@clerew.man.ac.uk> <4d1dad54-76e1-a95b-6d3d-7b772c6bebd8@clerew.man.ac.uk> <6c691cb5-6590-20f4-5713-4fde4a2e519b@gmail.com> <712beafb-d7ea-93bb-aec8-a088a44e1a6d@clerew.man.ac.uk> <4ae41849-f648-12f8-3761-6a76f394f7db@gmail.com> <87y2k4fk5c.fsf@quark> <87y2k2v9vi.fsf@quark> <2fb523c6-deca-5d6e-91ba-73afeeeec29c@clerew.man.ac.uk> Message-ID: <877drle03d.fsf@quark> Hi Charles, Charles Lindsey writes: > On 19/10/2020 10:32, Olaf Meeuwissen wrote: > >> If commenting out the kodakaio and magicolor backends in your dll.conf >> does not solve this for you, you have external backends installed that >> are responsible for the "deluge". If the plustek backend is all you >> need, simply comment out every other backend. > > I had already commented out 'net' (which I presume is the only one > that should legitimately invoke snmp); now I have also commented out > 'kodakaio' and 'magicolor', and the problem has vanished, though I > still don't understand why. The net backend has no business using SNMP, not until saned starts using it at least. I guess you missed the fact the net backend only works with saned servers. It does not in any way support scanners that are directly attached to the network (as in have their own IP address and you can telnet to). It only works with the scanners that are locally attached (via USB, SCSI, etc.) to a machine that run saned. Hope this helps, -- Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27 GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9 Support Free Software https://my.fsf.org/donate Join the Free Software Foundation https://my.fsf.org/join From skelband at gmail.com Tue Oct 20 16:04:17 2020 From: skelband at gmail.com (Ralph Little) Date: Tue, 20 Oct 2020 08:04:17 -0700 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: Hi, On 2020-10-20 1:41 a.m., Alexander Pevzner wrote: > On 10/20/20 11:18 AM, Michael Starr wrote: >> Guys guys, just calm down. This is for Linux, remember? > > Excuse me if I sound rude, I don't feel that and trying to be polite. > English is not my native language so I can miss some nuances. > Actually, I'm just trying to summarize things. > I detected no rudeness. Please continue as you were. My initial posting has obviously ignited some passionate opinions and I think this is great! It is good that there seems to be an appetite to make some changes in an area that has become stagnant. ========== There have been a lot of ideas generated but I feel that we should coordinate them into something that we can make concrete progress on. Might I suggest that there are two broad options that we can implement either or both of: 1) Expand the current standard without changing the functional API itself. This would include enhancing the current set of recommended and mandatory options to address shortcomings that have been identified. IIRC, the standard drafts have mainly worked in this area. 2) Introduce a SANE 2 API which breaks compatibility with the current API to implement further features that are not satisfiable by just expanding the options. As has been mentioned, there are serious ramifications here and the implementation requires careful consideration because we would likely be stuck with it for some time. I think that some work in this area is timely since the plethora of machines supported by SANE has diversified somewhat from what was available many years ago: a) Most of what people use SANE for these days are multi-function devices and they come with their own particular foibles. b) We have new (fairly open) standards being introduced which offer the possibility that we could get wide compatibility in Linux. As a consequence, we have a number of machines supporting a number of different protocols provided by different backends. I have no doubt that manufacturers will coalesce their support around these new protocols because it makes economic sense for them to do so. Olaf, what do you feel would be the best way to formalise and discuss the proposals made by people in a more focused manner? There must have been a mechanism used in the past where proposals could be made, considered, perhaps voted on and added to the draft. I feel that we should embrace the current enthusiasm to make some changes. Perhaps we could set something up in GitLab? Cheers, Ralph From thierry at ordissimo.com Tue Oct 20 16:25:10 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Tue, 20 Oct 2020 17:25:10 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: Hi Alexander, I didn't feel any animosity, just an exchange of ideas. I don't have time to answer, I'm on an important bug. but I won't miss it tonight :) Thierry Le 2020-10-20 17:04, Ralph Little a ?crit?: > Hi, > > On 2020-10-20 1:41 a.m., Alexander Pevzner wrote: >> On 10/20/20 11:18 AM, Michael Starr wrote: >>> Guys guys, just calm down. This is for Linux, remember? >> >> Excuse me if I sound rude, I don't feel that and trying to be polite. >> English is not my native language so I can miss some nuances. >> Actually, I'm just trying to summarize things. >> > I detected no rudeness. Please continue as you were. > > My initial posting has obviously ignited some passionate opinions and I > think this is great! > It is good that there seems to be an appetite to make some changes in > an > area that has become stagnant. > > ========== > There have been a lot of ideas generated but I feel that we should > coordinate them into something that we can make concrete progress on. > > Might I suggest that there are two broad options that we can implement > either or both of: > > 1) Expand the current standard without changing the functional API > itself. This would include enhancing the current set of recommended and > mandatory options to address shortcomings that have been identified. > IIRC, the standard drafts have mainly worked in this area. > > 2) Introduce a SANE 2 API which breaks compatibility with the current > API to implement further features that are not satisfiable by just > expanding the options. As has been mentioned, there are serious > ramifications here and the implementation requires careful > consideration > because we would likely be stuck with it for some time. > > I think that some work in this area is timely since the plethora of > machines supported by SANE has diversified somewhat from what was > available many years ago: > > a) Most of what people use SANE for these days are multi-function > devices and they come with their own particular foibles. > > b) We have new (fairly open) standards being introduced which offer the > possibility that we could get wide compatibility in Linux. As a > consequence, we have a number of machines supporting a number of > different protocols provided by different backends. I have no doubt > that > manufacturers will coalesce their support around these new protocols > because it makes economic sense for them to do so. > > Olaf, what do you feel would be the best way to formalise and discuss > the proposals made by people in a more focused manner? > There must have been a mechanism used in the past where proposals could > be made, considered, perhaps voted on and added to the draft. > I feel that we should embrace the current enthusiasm to make some > changes. > Perhaps we could set something up in GitLab? > > Cheers, > Ralph From pzz at apevzner.com Tue Oct 20 17:19:56 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 19:19:56 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <5F08D939-A653-4543-BAA1-25B15407579A@hxcore.ol> Message-ID: <4c203cd9-1600-6beb-b40d-0d9bcacc7fa3@apevzner.com> Hi, On 10/20/20 6:04 PM, Ralph Little wrote: > b) We have new (fairly open) standards being introduced which offer the > possibility that we could get wide compatibility in Linux. As a > consequence, we have a number of machines supporting a number of > different protocols provided by different backends. I have no doubt that > manufacturers will coalesce their support around these new protocols > because it makes economic sense for them to do so. I want to outline one thing, that I feel is quite important. When SANE project has started a while ago, the software model of scanner (scanner as an object that provides some software interfaces) was roughly the following: 1. Scanner is a device that somewhere physically exists 2. It has a name, that helps human user to physically identify it 3. It can scan, and scanning returns an image 4. Scanning may take a while and user may want to cancel the process 5. Scanning may fail, returning some of the few predefined error codes 6. Scanner has options. These options have user-readable names and user-editable values (user == human user here) Though this model is very progressive in comparison to TWAIN approach of that time, where scanner was an object that opens unsolicited UI windows, it still not enough. Most important missed things are: 1. No common vision of scanner options 2. No PnP 3. No support of custom error/status messages. Existing set doesn't cover all situations that actually exist and is not expandable without breaking compatibility 4. No access to image formats, directly generated by hardware 5. No way to identify the situation, when the same device is discovered by multiple backends 6. No way to merge printer and scanner parts of the same physical device Now we have two published standards that codify scanner as a programmable object: IPP-scan and WSD. If you skip unimportant details, like units to specify image size (1/1000 inch in WSD, 1/100 mm in IPP), or detailed specification of scan-to-email, which you will find in the IPP-scan standard, you will notice that software models for scanner itself is very similar between these two standards. And this is quite similar to the eSCL model, though eSCL is not published, and to the TWAIN Direct, yet another HTTP+JSON-based published standard for the "driverless" scanning. So a giant work was done for us by codifying scanner object with all it possible options, scan job flow and a lot of nuances. Obviously, all future mass-market scanners will follow this model, because manufacturers will want to support eSCL/WSD. I think, our future API specification should borrow scanner definition model from these standards. Though it will not solve all the problems I've listed, it will solve at least half of them. And well, I believe our goal is to make Linux a first-class operating system in respect to scanning. We should scan better, that Windows/MacOS ever did! :-) -- Wishes, Alexander Pevzner (pzz at apevzner.com) From juergen.mellinger at t-online.de Tue Oct 20 17:40:42 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 20 Oct 2020 18:40:42 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> Hi Alexander, I would like to add "mssing option to poll ADF state" to what is missing from the current API. With the current API, it is not possible to prompt the user with meaningful messages such as "please put a document into the ADF" vs "there is a paper jam in the ADF" and similar. ?Juergen > Am 20.10.2020 um 10:12 schrieb Alexander Pevzner : > > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >> making new with old is not necessarily a good thing! - I found that >> the difference was in the options. The operations are identical. It >> will be easy for a developer to create a gateway from sane-1.0 to >> sane-2.0. - The options are hardware dependent and there, some >> options are emulatable, others are not. - If sane-2.0 is just the >> formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented in terms of options: > - PnP notifications (scanner was connected/disconnected some time after > driver was initialized). This limitation can be worked around by > continuous poll, but this poll drains a battery a generates network/USB > traffic, so it is better to avoid. > - If some scanner is identified by multiple backends, it would be nice > to let user app to automatically choose one of the list. For this > purpose, it would be nice to expose some information regarding scanner > location, before scanner is opened (say, "USB bus X device Y, or NET > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > SANE_Device structure, which makes it incompatible with SANE 1.0 > > For the following things we just don't have appropriate SANE_Value_Type: > - Scanner resolution if a form of X*Y pair. This is important, to > support "asymmetrical" resolutions (300*600, for example) > > For the following options we don't have enough discipline: > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back > > sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). > > sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. > > There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. > > My list is most likely very incomplete. > > -- > > Wishes, Alexander Pevzner (pzz at apevzner.com) > From pzz at apevzner.com Tue Oct 20 17:59:20 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 19:59:20 +0300 Subject: [sane-devel] Sane API In-Reply-To: <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> Message-ID: <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> Hi J?rgen, On 10/20/20 7:40 PM, J?rgen Mellinger wrote: > I would like to add "mssing option to poll ADF state" to what is missing from the current API. > With the current API, it is not possible to prompt the user with meaningful messages such as "please put a document into the ADF" vs "there is a paper jam in the ADF" and similar. From my experience with eSCL/WSD scanners 1) Polling current ADF state BEFORE scan attempt is not reliable 2) Reporting of ADF-related errors AFTER failed scan attempt is reliable > ?Juergen > >> Am 20.10.2020 um 10:12 schrieb Alexander Pevzner : >> >> Hi Thierry, >> >> On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >>> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >>> making new with old is not necessarily a good thing! - I found that >>> the difference was in the options. The operations are identical. It >>> will be easy for a developer to create a gateway from sane-1.0 to >>> sane-2.0. - The options are hardware dependent and there, some >>> options are emulatable, others are not. - If sane-2.0 is just the >>> formatting of the options, why not do it in sane-1.0? >> >> Current API misses some essential things, that cannot be implemented in terms of options: >> - PnP notifications (scanner was connected/disconnected some time after >> driver was initialized). This limitation can be worked around by >> continuous poll, but this poll drains a battery a generates network/USB >> traffic, so it is better to avoid. >> - If some scanner is identified by multiple backends, it would be nice >> to let user app to automatically choose one of the list. For this >> purpose, it would be nice to expose some information regarding scanner >> location, before scanner is opened (say, "USB bus X device Y, or NET >> addr aaa.bbb.ccc.ddd). It requires adding extra fields to the >> SANE_Device structure, which makes it incompatible with SANE 1.0 >> >> For the following things we just don't have appropriate SANE_Value_Type: >> - Scanner resolution if a form of X*Y pair. This is important, to >> support "asymmetrical" resolutions (300*600, for example) >> >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back >> >> sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). >> >> sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. >> >> There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. >> >> My list is most likely very incomplete. >> >> -- >> >> Wishes, Alexander Pevzner (pzz at apevzner.com) >> > > -- Wishes, Alexander Pevzner (pzz at apevzner.com) From juergen.mellinger at t-online.de Tue Oct 20 18:10:13 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 20 Oct 2020 19:10:13 +0200 Subject: [sane-devel] Sane API In-Reply-To: <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> Message-ID: <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> Hi Alex, > Am 20.10.2020 um 18:59 schrieb Alexander Pevzner : > > Hi J?rgen, > > On 10/20/20 7:40 PM, J?rgen Mellinger wrote: >> I would like to add "mssing option to poll ADF state" to what is missing from the current API. >> With the current API, it is not possible to prompt the user with meaningful messages such as "please put a document into the ADF" vs "there is a paper jam in the ADF" and similar. > > From my experience with eSCL/WSD scanners > 1) Polling current ADF state BEFORE scan attempt is not reliable > 2) Reporting of ADF-related errors AFTER failed scan attempt is reliable If so, how does a typical client application behave without confusing the user? Independently of eSCL/WSD, how would one want a frontend behave when talking to a SANE driver? -J?rgen > >> ?Juergen >>> Am 20.10.2020 um 10:12 schrieb Alexander Pevzner : >>> >>> Hi Thierry, >>> >>> On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >>>> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >>>> making new with old is not necessarily a good thing! - I found that >>>> the difference was in the options. The operations are identical. It >>>> will be easy for a developer to create a gateway from sane-1.0 to >>>> sane-2.0. - The options are hardware dependent and there, some >>>> options are emulatable, others are not. - If sane-2.0 is just the >>>> formatting of the options, why not do it in sane-1.0? >>> >>> Current API misses some essential things, that cannot be implemented in terms of options: >>> - PnP notifications (scanner was connected/disconnected some time after >>> driver was initialized). This limitation can be worked around by >>> continuous poll, but this poll drains a battery a generates network/USB >>> traffic, so it is better to avoid. >>> - If some scanner is identified by multiple backends, it would be nice >>> to let user app to automatically choose one of the list. For this >>> purpose, it would be nice to expose some information regarding scanner >>> location, before scanner is opened (say, "USB bus X device Y, or NET >>> addr aaa.bbb.ccc.ddd). It requires adding extra fields to the >>> SANE_Device structure, which makes it incompatible with SANE 1.0 >>> >>> For the following things we just don't have appropriate SANE_Value_Type: >>> - Scanner resolution if a form of X*Y pair. This is important, to >>> support "asymmetrical" resolutions (300*600, for example) >>> >>> For the following options we don't have enough discipline: >>> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF duplex, ADF front/ADF back >>> >>> sane_airscan_get_parameters() must be accurate immediately after return from sane_start(). It is not always possible, unless sane_start() has to wait until image is available (compare sane-escl and sane-airscan approach). >>> >>> sane_airscan_get_select_fd() defined with serious mistake: it requires backend to close select_fd immediately after completion or cancellation of the scan job. In multi-threaded program closed file descriptor could be immediately reused for some different purpose by another thread. >>> >>> There is no possibility to request image in the device-specific "raw" format. I.e., if I want PDF and device can return PDF, image still will be repacked PDF->sane format->PDF. >>> >>> My list is most likely very incomplete. >>> >>> -- >>> >>> Wishes, Alexander Pevzner (pzz at apevzner.com) >>> > > > -- > > Wishes, Alexander Pevzner (pzz at apevzner.com) > From pzz at apevzner.com Tue Oct 20 18:33:38 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 20:33:38 +0300 Subject: [sane-devel] Sane API In-Reply-To: <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> Message-ID: <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> Hi J?rgen, On 10/20/20 8:10 PM, J?rgen Mellinger wrote: > If so, how does a typical client application behave without confusing the user? > Independently of eSCL/WSD, how would one want a frontend behave when talking to a SANE driver? I was playing with simple-scan, xsane, LibreOffice, VueScan and Mopria for Android and native MS Windows client. Basically, they all behave the same: allow to choose scanner from the list, allow to edit scan options, then press Scan button, which either starts scanner or opens an error message box. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From juergen.mellinger at t-online.de Tue Oct 20 19:00:04 2020 From: juergen.mellinger at t-online.de (=?utf-8?Q?J=C3=BCrgen_Mellinger?=) Date: Tue, 20 Oct 2020 20:00:04 +0200 Subject: [sane-devel] Sane API In-Reply-To: <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> Message-ID: Hi Alexander, > Am 20.10.2020 um 19:33 schrieb Alexander Pevzner : > > Hi J?rgen, > > On 10/20/20 8:10 PM, J?rgen Mellinger wrote: >> If so, how does a typical client application behave without confusing the user? >> Independently of eSCL/WSD, how would one want a frontend behave when talking to a SANE driver? > I was playing with simple-scan, xsane, LibreOffice, VueScan and Mopria for Android and native MS Windows client. > > Basically, they all behave the same: allow to choose scanner from the list, allow to edit scan options, then press Scan button, which either starts scanner or opens an error message box. OK, that?s the bare minimum, but wouldn?t it be more elegant to give the user some feedback that the problem is solved, e.g. by auto-closing the error message box, or by changing the status line? Best, Juergen From pzz at apevzner.com Tue Oct 20 19:43:59 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Tue, 20 Oct 2020 21:43:59 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> Message-ID: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> On 10/20/20 9:00 PM, J?rgen Mellinger wrote: >> Basically, they all behave the same: allow to choose scanner from the list, allow to edit scan options, then press Scan button, which either starts scanner or opens an error message box. > > OK, that?s the bare minimum, but wouldn?t it be more elegant to give the user some feedback that the problem is solved, e.g. by auto-closing the error message box, or by changing the status line? I don't think it's really needed. Installing paper into ADF is a physical action. I don't think user needs a confirmation from computer that paper was actually installed; user knows it by feeling from its fingers. BTW, some users missing push-mode scan, totally missed from SANE. But it requires the whole image logistics to be rethought: user presses some buttons at scanner, scanner connects the computer, some daemon accepts this connection, then somehow GUI popup should occur with a question, how to handle received image. It doesn't fit well the UNIX multiuser model. At what desktop this popup should be open? (unlike UNIX, on Windows current terminal session has a very special role in respect to other system). -- Wishes, Alexander Pevzner (pzz at apevzner.com) From jsmeix at suse.de Wed Oct 21 08:11:22 2020 From: jsmeix at suse.de (Johannes Meixner) Date: Wed, 21 Oct 2020 09:11:22 +0200 Subject: [sane-devel] Sane API In-Reply-To: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> Message-ID: Hello, On 2020-10-20 20:43, Alexander Pevzner wrote: > On 10/20/20 9:00 PM, J?rgen Mellinger wrote: >>> Basically, they all behave the same: >>> allow to choose scanner from the list, >>> allow to edit scan options, >>> then press Scan button, >>> which either starts scanner or opens an error message box. >> >> OK, that?s the bare minimum, but wouldn?t it be more elegant >> to give the user some feedback that the problem is solved, >> e.g. by auto-closing the error message box, or by changing the status >> line? > > I don't think it's really needed. Installing paper into ADF is a > physical action. I don't think user needs a confirmation from computer > that paper was actually installed; user knows it by feeling from its > fingers. don't have only scanner devices in mind where there is only one (human) user at a time and where the scanner device is located (more or less) directly where its user is. Also think about network all in one printer scanner copiers that I described in the section "Scanning via Network" in https://en.opensuse.org/SDB:Configuring_Scanners Current SANE is not meant for users who use a professional network printer scanner copier all-in-one device but when in the future users of any kind of scanning device should be able to access them via one same user application then a future SANE version should be in compliance to work with such a generic scanning user frontend. I think for a remote network scanner a remote user may need to know the complete device status including things that are obvious for a user who is located next to the scanner device. "Complete device status" leads to the next topic: > BTW, some users missing push-mode scan, totally missed from SANE. But > it requires the whole image logistics to be rethought: user presses > some buttons at scanner, scanner connects the computer, some daemon > accepts this connection, then somehow GUI popup should occur with a > question, how to handle received image. > > It doesn't fit well the UNIX multiuser model. At what desktop this > popup should be open? (unlike UNIX, on Windows current terminal > session has a very special role in respect to other system). From a user point of view I think what does not fit the UNIX multiuser model is the "somehow GUI popup should occur" part. Technically I think what does not fit the UNIX multiuser model is the idea that something from remote can just trigger things on a computer because that "something from remote" is not the boss of the computer. Technically I think what would fit the UNIX multiuser model is that a particular user triggers the action he wants. So I think something like the following fits the UNIX multiuser model: Some user presses a button at a (possibly network) scanner device. This changes the scanner device status ("button X is activated"). Some (possibly other) user on a remote computer runs a scanning frontend. The scanning frontend shows the complete device status. The user can see that "button X is activated". The user can decide what to do. For example when he sees "scan button is activated" he may decide that he wants to get a scanned image and then an (optional) authentication dialog may open because the scanner device would not send scanned images to arbitrary non-authorized users (i.e. a lot of bidirectional communication between user scanning frontend and scanner device needs to happen). How such things behave depend on how the scanner device behaves. For example when a user directly at a network scanner device presses its "scan" button the device may show on its own screen a dialog where the scanned image should be sent or output, (e.g. output via a built-in printer versus send via e-mail). Kind Regards Johannes Meixner -- SUSE Software Solutions Germany GmbH Maxfeldstr. 5 - 90409 Nuernberg - Germany (HRB 36809, AG Nuernberg) GF: Felix Imendoerffer From thierry at ordissimo.com Wed Oct 21 13:04:44 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 21 Oct 2020 14:04:44 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: Le 2020-10-20 10:12, Alexander Pevzner a ?crit?: > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >> making new with old is not necessarily a good thing! - I found that >> the difference was in the options. The operations are identical. It >> will be easy for a developer to create a gateway from sane-1.0 to >> sane-2.0. - The options are hardware dependent and there, some >> options are emulatable, others are not. - If sane-2.0 is just the >> formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented > in terms of options: > - PnP notifications (scanner was connected/disconnected some time after > driver was initialized). This limitation can be worked around by > continuous poll, but this poll drains a battery a generates network/USB > traffic, so it is better to avoid. I don't see why notifications should be made by sane. It is the system that takes care of the connection / disconnection of the devices! USB is supported by udev For the network, Cups detects the printers, rather than weighing down the system it might be a good idea for Cups and Sane to propose a common solution. I remain convinced that it is not up to Sane or Cups to do this work but to the system! > - If some scanner is identified by multiple backends, it would be nice > to let user app to automatically choose one of the list. For this I'm for leaving the choice to the user, the automatic choice criteria are generally subjective choice criteria (specific to the developer), generally they limit the possibilities. > purpose, it would be nice to expose some information regarding scanner > location, before scanner is opened (say, "USB bus X device Y, or NET > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > SANE_Device structure, which makes it incompatible with SANE 1.0 > > For the following things we just don't have appropriate > SANE_Value_Type: > - Scanner resolution if a form of X*Y pair. This is important, to > support "asymmetrical" resolutions (300*600, for example) This change could easily be implemented without SANE-1.0. > > For the following options we don't have enough discipline: > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF > duplex, ADF front/ADF back It's only discipline! > > sane_airscan_get_parameters() must be accurate immediately after > return from sane_start(). It is not always possible, unless > sane_start() has to wait until image is available (compare sane-escl > and sane-airscan approach). > > sane_airscan_get_select_fd() defined with serious mistake: it requires > backend to close select_fd immediately after completion or > cancellation of the scan job. In multi-threaded program closed file > descriptor could be immediately reused for some different purpose by > another thread. > > There is no possibility to request image in the device-specific "raw" > format. I.e., if I want PDF and device can return PDF, image still > will be repacked PDF->sane format->PDF. Indeed, sane_read should be allowed to return the scanner data without processing it! > > My list is most likely very incomplete. From thierry at ordissimo.com Wed Oct 21 13:26:52 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 21 Oct 2020 14:26:52 +0200 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: Le 2020-10-21 14:04, Thierry HUCHARD a ?crit?: > Le 2020-10-20 10:12, Alexander Pevzner a ?crit?: >> Hi Thierry, >> >> On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >>> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >>> making new with old is not necessarily a good thing! - I found that >>> the difference was in the options. The operations are identical. It >>> will be easy for a developer to create a gateway from sane-1.0 to >>> sane-2.0. - The options are hardware dependent and there, some >>> options are emulatable, others are not. - If sane-2.0 is just the >>> formatting of the options, why not do it in sane-1.0? >> >> Current API misses some essential things, that cannot be implemented >> in terms of options: >> - PnP notifications (scanner was connected/disconnected some time >> after >> driver was initialized). This limitation can be worked around by >> continuous poll, but this poll drains a battery a generates >> network/USB >> traffic, so it is better to avoid. > > I don't see why notifications should be made by sane. > It is the system that takes care of the connection / disconnection of > the devices! > USB is supported by udev > For the network, Cups detects the printers, rather than weighing down > the system it might be a good idea for Cups and Sane to propose a > common solution. > I remain convinced that it is not up to Sane or Cups to do this work > but to the system! > >> - If some scanner is identified by multiple backends, it would be nice >> to let user app to automatically choose one of the list. For this > > I'm for leaving the choice to the user, the automatic choice criteria > are generally subjective choice > criteria (specific to the developer), generally they limit the > possibilities. > >> purpose, it would be nice to expose some information regarding scanner >> location, before scanner is opened (say, "USB bus X device Y, or NET >> addr aaa.bbb.ccc.ddd). It requires adding extra fields to the >> SANE_Device structure, which makes it incompatible with SANE 1.0 >> >> For the following things we just don't have appropriate >> SANE_Value_Type: >> - Scanner resolution if a form of X*Y pair. This is important, to >> support "asymmetrical" resolutions (300*600, for example) > > This change could easily be implemented without SANE-1.0. Sorry : This change could easily be implemented with SANE-1.0. > >> >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >> duplex, ADF front/ADF back > > It's only discipline! > >> >> sane_airscan_get_parameters() must be accurate immediately after >> return from sane_start(). It is not always possible, unless >> sane_start() has to wait until image is available (compare sane-escl >> and sane-airscan approach). >> >> sane_airscan_get_select_fd() defined with serious mistake: it requires >> backend to close select_fd immediately after completion or >> cancellation of the scan job. In multi-threaded program closed file >> descriptor could be immediately reused for some different purpose by >> another thread. >> >> There is no possibility to request image in the device-specific "raw" >> format. I.e., if I want PDF and device can return PDF, image still >> will be repacked PDF->sane format->PDF. > > Indeed, sane_read should be allowed to return the scanner data without > processing it! > >> >> My list is most likely very incomplete. From chl at clerew.man.ac.uk Wed Oct 21 13:56:44 2020 From: chl at clerew.man.ac.uk (Charles Lindsey) Date: Wed, 21 Oct 2020 13:56:44 +0100 Subject: [sane-devel] Sane API (sane-devel Digest, Vol 184, Issue 24) In-Reply-To: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> References: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> Message-ID: <96aa0c47-6ac8-3980-f73e-e2b488dd463d@clerew.man.ac.uk> On 20/10/2020 19:43, Alexander Pevzner wrote: > BTW, some users missing push-mode scan, totally missed from SANE. But it > requires the whole image logistics to be rethought: user presses some buttons at > scanner, scanner connects the computer, some daemon accepts this connection, > then somehow GUI popup should occur with a question, how to handle received image. > > It doesn't fit well the UNIX multiuser model. At what desktop this popup should > be open? (unlike UNIX, on Windows current terminal session has a very special > role in respect to other system). > The obvious use for this facility is to use a scanner and some nearby printer. So Bob marches up to some scanner, places his sheet, and presses the button marked 'Copy'. Now the scanner belongs to Alice, so we must presume that, when Alice logs in, it automatically starts a daemon which listens for signals from that button, and starts some shell script (or maybe Alice keeps a daemon running on her computer and started on reboot or wakeup). The shell script can do anything it likes. Perhaps it starts a frontend (if not already started). Perhaps something appears on Alice's screen (xsane), perhaps not (xscanimage). The script knows which printer to use, so it gets on with it. If the printer jams, or runs out of paper, there is no way to warn Bob (unless the scanner can be made to "beep") so sensibly they should be in the same room. The advantage is that Bob (or even Alice herself) can stand by the scanner and feed in successive sheets, pressing the Button after each one, rather than having to move over to the computer to click on the Scan button in the xsane window. Come to think of it, you can probably do all this already using 'scanbd'. -- Charles H. Lindsey ---------At my New Home, still doing my own thing------ Tel: +44 161 488 1845 Web: http://www.cs.man.ac.uk/~chl Email: chl at clerew.man.ac.uk Snail-mail: Apt 40, SK8 5BF, U.K. PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5 From pzz at apevzner.com Wed Oct 21 14:32:39 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Wed, 21 Oct 2020 16:32:39 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: On 10/21/20 3:04 PM, Thierry HUCHARD wrote: > I don't see why notifications should be made by sane. > It is the system that takes care of the connection / disconnection of > the devices! Because only backends knows, how system events are mapped to scanner PnP events. Applications should not be responsible to poll USB bus for USB-level events, which some knowledge how to distinguish mouse from scanner, poll DNS-SD events, with some knowledge, which services are registered by scanners and so on. May be in printer world it could work, because there are only one device class, used by USB printers, and only 3 service types, used by DNS-SD to advertise a printer, and these is no such thing as SCSI printer, but scanner hardware is MUCH more chaotic. >> - If some scanner is identified by multiple backends, it would be nice >> to let user app to automatically choose one of the list. For this > > I'm for leaving the choice to the user, the automatic choice criteria > are generally subjective choice > criteria (specific to the developer), generally they limit the > possibilities. This is UI (user interface) - level decision, our goal is to provide a mechanism that makes this decision possible to be implemented. >> For the following things we just don't have appropriate SANE_Value_Type: >> - Scanner resolution if a form of X*Y pair. This is important, to >> support "asymmetrical" resolutions (300*600, for example) > > This change could easily be implemented without SANE-1.0. OK, but how? >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >> duplex, ADF front/ADF back > > It's only discipline! Yes, but in result, every application that care must be aware about all existent variants. The existent situation needs at least to be documented, and well-known names needs to be added to the documentation and C header file. > Indeed, sane_read should be allowed to return the scanner data without > processing it! And it actually affects behavior of some other options and API calls. For example, if backend doesn't decode, it should not be obliged to return accurate data from sane_get_parameters. List of possible color modes could be different for "raw" and decoded modes (in raw mode backend may support mode that it cannot decode). Scan region settings may or may not work in the "raw" mode. All emulated options unlikely to work in the "raw" mode, and so on, -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Wed Oct 21 16:04:41 2020 From: skelband at gmail.com (Ralph Little) Date: Wed, 21 Oct 2020 08:04:41 -0700 Subject: [sane-devel] Sane API In-Reply-To: <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> Message-ID: <80928580-7df0-51b2-1cab-e711e2e0e6b0@gmail.com> Hi, On 2020-10-20 11:43 a.m., Alexander Pevzner wrote: > On 10/20/20 9:00 PM, J?rgen Mellinger wrote: >>> Basically, they all behave the same: allow to choose scanner from >>> the list, allow to edit scan options, then press Scan button, which >>> either starts scanner or opens an error message box. >> >> OK, that?s the bare minimum, but wouldn?t it be more elegant to give >> the user some feedback that the problem is solved, e.g. by >> auto-closing the error message box, or by changing the status line? > > I don't think it's really needed. Installing paper into ADF is a > physical action. I don't think user needs a confirmation from computer > that paper was actually installed; user knows it by feeling from its > fingers. > > BTW, some users missing push-mode scan, totally missed from SANE. But > it requires the whole image logistics to be rethought: user presses > some buttons at scanner, scanner connects the computer, some daemon > accepts this connection, then somehow GUI popup should occur with a > question, how to handle received image. > > It doesn't fit well the UNIX multiuser model. At what desktop this > popup should be open? (unlike UNIX, on Windows current terminal > session has a very special role in respect to other system). > Although I have not used it before, but there is a scanbd daemon that I believe allows actions to be linked to button presses. The problem is that it ties up the device so hardly a great solution as it stands in a multi-user environment. As ever, wiring something up behind the scenes is one thing. Making it usable for ordinary Joe and Jane Public with GUIs and the like to set up actions on button presses is the bigger issue. Most people don't like poking around in config files. :( Cheers, Ralph From thierry at ordissimo.com Wed Oct 21 16:24:25 2020 From: thierry at ordissimo.com (Thierry HUCHARD) Date: Wed, 21 Oct 2020 17:24:25 +0200 Subject: [sane-devel] Sane API In-Reply-To: <80928580-7df0-51b2-1cab-e711e2e0e6b0@gmail.com> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <9A456B5B-9466-4FD4-A926-6B6B3577FEAE@t-online.de> <98618bf0-b2cf-c04c-0f08-5b8e8c6571fe@apevzner.com> <4402BE5D-80E3-48B5-B16A-75C4267278CA@t-online.de> <57ee92de-9446-69ac-a2b8-403e290e9a95@apevzner.com> <2a14ddbe-5b7e-fbfe-9972-8e1d2aa20c8d@apevzner.com> <80928580-7df0-51b2-1cab-e711e2e0e6b0@gmail.com> Message-ID: <95d65ae188db51126a6b89ddc6a15cff@ordissimo.com> Le 2020-10-21 17:04, Ralph Little a ?crit?: > Hi, > > On 2020-10-20 11:43 a.m., Alexander Pevzner wrote: >> On 10/20/20 9:00 PM, J?rgen Mellinger wrote: >>>> Basically, they all behave the same: allow to choose scanner from >>>> the list, allow to edit scan options, then press Scan button, which >>>> either starts scanner or opens an error message box. >>> >>> OK, that?s the bare minimum, but wouldn?t it be more elegant to give >>> the user some feedback that the problem is solved, e.g. by >>> auto-closing the error message box, or by changing the status line? >> >> I don't think it's really needed. Installing paper into ADF is a >> physical action. I don't think user needs a confirmation from computer >> that paper was actually installed; user knows it by feeling from its >> fingers. >> >> BTW, some users missing push-mode scan, totally missed from SANE. But >> it requires the whole image logistics to be rethought: user presses >> some buttons at scanner, scanner connects the computer, some daemon >> accepts this connection, then somehow GUI popup should occur with a >> question, how to handle received image. >> >> It doesn't fit well the UNIX multiuser model. At what desktop this >> popup should be open? (unlike UNIX, on Windows current terminal >> session has a very special role in respect to other system). >> > Although I have not used it before, but there is a scanbd daemon that I > believe allows actions to be linked to button presses. > The problem is that it ties up the device so hardly a great solution as > it stands in a multi-user environment. > > As ever, wiring something up behind the scenes is one thing. Making it > usable for ordinary Joe and Jane Public with GUIs and the like to set > up > actions on button presses is the bigger issue. Most people don't like > poking around in config files. :( > I agree, we should allow the configuration of the scanners. The scanner is of Canon or Epson or XXXX brand, and only activate the necessary backends. It would be necessary to be able to configure the scanner (what allows the configuration of cups), a device is associated with a backend, it is the user who chooses. He can make several configurations. We can set priorities (free driver ++), for the automatic configuration. Translated with www.DeepL.com/Translator (free version) Thierry > Cheers, > Ralph From yo35 at melix.net Wed Oct 21 20:43:31 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Wed, 21 Oct 2020 21:43:31 +0200 Subject: [sane-devel] Segmentation fault with Airscan Message-ID: Hi, I encounter a segmentation fault when trying to use my scanner Canon Pixma TS8350. Xsane crashes, and 'scanimage -L' shows a segmentation fault that seems to be issued by Airscan: yoann at yoann-desktop:~$ scanimage -L Erreur de segmentation (core dumped) I attach the output of 'SANE_DEBUG_DLL=255 scanimage -L' (file out_debug_all.txt) and 'SANE_DEBUG_AIRSCAN=1 scanimage -L' (file out_debug_airscan.txt). Airscan version is 0.99.18+77.1, and sane-backends version is 1.0.31-175-g016271ebd. If I uninstall Airscan, the segmentation fault does not appear anymore, and I'm able to use the scanner. Still, it used to work with Airscan (with a previous version), as discussed two weeks ago on this list. Regards, Yoann -------------- next part -------------- API: sane_init(): called loading configuration file /etc/sane.d/airscan.conf MDNS: AVAHI_CLIENT_S_RUNNING WSDD: netif addresses update: WSDD: + 2001:861:5284:6ad0:6071:4975:e30e:f604 WSDD: + 2001:861:5284:6ad0:e933:275:67ed:482a WSDD: + 192.168.1.72 WSDD: + fe80::1ec4:7511:b668:7e12%2 WSDD: 2001:861:5284:6ad0:6071:4975:e30e:f604: started discovery, UDP port=53190 WSDD: setsockopt(AF_INET6,IPV6_ADD_MEMBERSHIP): Address already in use WSDD: 2001:861:5284:6ad0:e933:275:67ed:482a: started discovery, UDP port=53392 WSDD: 192.168.1.72: started discovery, UDP port=38737 WSDD: setsockopt(AF_INET6,IPV6_ADD_MEMBERSHIP): Address already in use WSDD: fe80::1ec4:7511:b668:7e12: started discovery, UDP port=56880 MDNS: browse/ipv4 "bbox Ippos Printer": AVAHI_BROWSER_NEW _ipp._tcp MDNS: browse/ipv4 "Canon TS8300 series (USB)": AVAHI_BROWSER_NEW _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _ipp._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _ipps._tcp zeroconf: zeroconf_device_list_get: requested zeroconf: device_list wait: requested zeroconf: device_list wait: DNS-SD not finished... MDNS: browse/ipv6: AVAHI_BROWSER_ALL_FOR_NOW _ipps._tcp MDNS: browse/ipv4 "Canon TS8300 series (USB)": AVAHI_BROWSER_NEW _uscan._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _uscan._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _uscans._tcp MDNS: browse/ipv6: AVAHI_BROWSER_CACHE_EXHAUSTED _scanner._tcp MDNS: resolve/ipv4 "Canon TS8300 series (USB)": AVAHI_RESOLVER_FOUND _uscan._tcp zeroconf: found urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_USCAN_TCP zeroconf: interface: 1 (lo) zeroconf: name: Canon TS8300 series (USB) zeroconf: model: TS8300 series zeroconf: addresses: zeroconf: 127.0.0.1 zeroconf: protocol: eSCL zeroconf: endpoints: zeroconf: http://127.0.0.1:60000/eSCL/ zeroconf: device: 0000 (created) WSDD: directed probe: trying if=lo, addr=127.0.0.1 WSDD: directed probe: skipping loopback address zeroconf: device_list wait: DNS-SD not finished... MDNS: resolve/ipv4 "Canon TS8300 series (USB)": AVAHI_RESOLVER_FOUND _ipp._tcp zeroconf: found urn:uuid:00000000-0000-1000-8000-00189021260f zeroconf: method: ZEROCONF_MDNS_HINT zeroconf: interface: 1 (lo) zeroconf: name: Canon TS8300 series (USB) zeroconf: model: Canon TS8300 series zeroconf: addresses: zeroconf: 127.0.0.1 zeroconf: device: 0000 (found) WSDD: directed probe: trying if=lo, addr=127.0.0.1 WSDD: directed probe: skipping loopback address zeroconf: device_list wait: DNS-SD not finished... MDNS: resolve/ipv4 "bbox Ippos Printer": AVAHI_RESOLVER_FOUND _ipp._tcp WSDD: directed probe: trying if=enp0s25, addr=192.168.1.254 WSDD: HTTP POST http://192.168.1.254/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP resolving 192.168.1.254 80 WSDD: HTTP trying 192.168.1.254:80 WSDD: HTTP POST http://192.168.1.254/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery: 302 Found WSDD: HTTP redirect 1: POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery WSDD: HTTP resolving mabbox.bytel.fr 443 WSDD: HTTP trying [2001:861:5284:6ad0:4265:a3ff:fe43:8cdc]:443 WSDD: HTTP POST https://mabbox.bytel.fr:443/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery: 307 Temporary Redirect WSDD: HTTP redirect 2: POST https://mabbox.bytel.fr:443/login.html -------------- next part -------------- [21:19:35.247246] [sanei_debug] Setting debug level of dll to 255. [21:19:35.247390] [dll] sane_init: SANE dll backend version 1.0.13 from sane-backends 1.0.31-175-g016271ebd [21:19:35.247418] [dll] sane_init/read_dlld: attempting to open directory `./dll.d' [21:19:35.247456] [dll] sane_init/read_dlld: attempting to open directory `/etc/sane.d/dll.d' [21:19:35.247513] [dll] sane_init/read_dlld: using config directory `/etc/sane.d/dll.d' [21:19:35.247548] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/airscan [21:19:35.247582] [dll] sane_init/read_config: reading dll.d/airscan [21:19:35.247615] [dll] add_backend: adding backend `airscan' [21:19:35.247641] [dll] sane_init/read_dlld: considering /etc/sane.d/dll.d/hplip [21:19:35.247670] [dll] sane_init/read_config: reading dll.d/hplip [21:19:35.247693] [dll] add_backend: adding backend `hpaio' [21:19:35.247720] [dll] sane_init/read_dlld: done. [21:19:35.247747] [dll] sane_init/read_config: reading dll.conf [21:19:35.247775] [dll] add_backend: adding backend `net' [21:19:35.247793] [dll] add_backend: adding backend `abaton' [21:19:35.247811] [dll] add_backend: adding backend `agfafocus' [21:19:35.247828] [dll] add_backend: adding backend `apple' [21:19:35.247845] [dll] add_backend: adding backend `artec' [21:19:35.247862] [dll] add_backend: adding backend `artec_eplus48u' [21:19:35.247879] [dll] add_backend: adding backend `as6e' [21:19:35.247895] [dll] add_backend: adding backend `avision' [21:19:35.247912] [dll] add_backend: adding backend `bh' [21:19:35.247929] [dll] add_backend: adding backend `canon' [21:19:35.247946] [dll] add_backend: adding backend `canon630u' [21:19:35.247963] [dll] add_backend: adding backend `canon_dr' [21:19:35.247981] [dll] add_backend: adding backend `canon_lide70' [21:19:35.247998] [dll] add_backend: adding backend `cardscan' [21:19:35.248015] [dll] add_backend: adding backend `coolscan' [21:19:35.248032] [dll] add_backend: adding backend `coolscan3' [21:19:35.248050] [dll] add_backend: adding backend `dell1600n_net' [21:19:35.248068] [dll] add_backend: adding backend `dmc' [21:19:35.248085] [dll] add_backend: adding backend `epjitsu' [21:19:35.248102] [dll] add_backend: adding backend `epson2' [21:19:35.248120] [dll] add_backend: adding backend `epsonds' [21:19:35.248163] [dll] add_backend: adding backend `escl' [21:19:35.248182] [dll] add_backend: adding backend `fujitsu' [21:19:35.248199] [dll] add_backend: adding backend `genesys' [21:19:35.248217] [dll] add_backend: adding backend `gt68xx' [21:19:35.248234] [dll] add_backend: adding backend `hp' [21:19:35.248252] [dll] add_backend: adding backend `hp3500' [21:19:35.248269] [dll] add_backend: adding backend `hp3900' [21:19:35.248287] [dll] add_backend: adding backend `hp4200' [21:19:35.248304] [dll] add_backend: adding backend `hp5400' [21:19:35.248321] [dll] add_backend: adding backend `hp5590' [21:19:35.248338] [dll] add_backend: adding backend `hpljm1005' [21:19:35.248360] [dll] add_backend: adding backend `hpsj5s' [21:19:35.248378] [dll] add_backend: adding backend `hs2p' [21:19:35.248395] [dll] add_backend: adding backend `ibm' [21:19:35.248413] [dll] add_backend: adding backend `kodak' [21:19:35.248430] [dll] add_backend: adding backend `kodakaio' [21:19:35.248448] [dll] add_backend: adding backend `kvs1025' [21:19:35.248465] [dll] add_backend: adding backend `kvs20xx' [21:19:35.248482] [dll] add_backend: adding backend `kvs40xx' [21:19:35.248500] [dll] add_backend: adding backend `leo' [21:19:35.248517] [dll] add_backend: adding backend `lexmark' [21:19:35.248535] [dll] add_backend: adding backend `ma1509' [21:19:35.248552] [dll] add_backend: adding backend `magicolor' [21:19:35.248570] [dll] add_backend: adding backend `matsushita' [21:19:35.248587] [dll] add_backend: adding backend `microtek' [21:19:35.248605] [dll] add_backend: adding backend `microtek2' [21:19:35.248622] [dll] add_backend: adding backend `mustek' [21:19:35.248640] [dll] add_backend: adding backend `mustek_usb' [21:19:35.248658] [dll] add_backend: adding backend `mustek_usb2' [21:19:35.248676] [dll] add_backend: adding backend `nec' [21:19:35.248705] [dll] add_backend: adding backend `niash' [21:19:35.248725] [dll] add_backend: adding backend `pie' [21:19:35.248743] [dll] add_backend: adding backend `pieusb' [21:19:35.248761] [dll] add_backend: adding backend `pint' [21:19:35.248782] [dll] add_backend: adding backend `pixma' [21:19:35.248800] [dll] add_backend: adding backend `plustek' [21:19:35.248819] [dll] add_backend: adding backend `qcam' [21:19:35.248836] [dll] add_backend: adding backend `ricoh' [21:19:35.248854] [dll] add_backend: adding backend `ricoh2' [21:19:35.248871] [dll] add_backend: adding backend `rts8891' [21:19:35.248889] [dll] add_backend: adding backend `s9036' [21:19:35.248906] [dll] add_backend: adding backend `sceptre' [21:19:35.248924] [dll] add_backend: adding backend `sharp' [21:19:35.248942] [dll] add_backend: adding backend `sm3600' [21:19:35.248959] [dll] add_backend: adding backend `sm3840' [21:19:35.248977] [dll] add_backend: adding backend `snapscan' [21:19:35.248995] [dll] add_backend: adding backend `sp15c' [21:19:35.249013] [dll] add_backend: adding backend `tamarack' [21:19:35.249031] [dll] add_backend: adding backend `teco1' [21:19:35.249049] [dll] add_backend: adding backend `teco2' [21:19:35.249066] [dll] add_backend: adding backend `teco3' [21:19:35.249085] [dll] add_backend: adding backend `u12' [21:19:35.249103] [dll] add_backend: adding backend `umax' [21:19:35.249121] [dll] add_backend: adding backend `umax1220u' [21:19:35.249139] [dll] add_backend: adding backend `v4l' [21:19:35.249157] [dll] add_backend: adding backend `xerox_mfp' [21:19:35.249200] [dll] sane_get_devices [21:19:35.249220] [dll] load: searching backend `xerox_mfp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.249239] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:19:35.249265] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-xerox_mfp.so.1' [21:19:35.249504] [dll] init: initializing backend `xerox_mfp' [21:19:35.257985] [dll] init: backend `xerox_mfp' is version 1.0.13 [21:19:35.258045] [dll] load: searching backend `v4l' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.258052] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' [21:19:35.258059] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-v4l.so.1' (No such file or directory) [21:19:35.258065] [dll] load: trying to load `/usr/lib/sane/libsane-v4l.so.1' [21:19:35.258072] [dll] load: couldn't open `/usr/lib/sane/libsane-v4l.so.1' (No such file or directory) [21:19:35.258077] [dll] load: couldn't find backend `v4l' (No such file or directory) [21:19:35.258082] [dll] load: searching backend `umax1220u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.258088] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:19:35.258096] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax1220u.so.1' [21:19:35.258175] [dll] init: initializing backend `umax1220u' [21:19:35.261856] [dll] init: backend `umax1220u' is version 1.0.2 [21:19:35.261867] [dll] load: searching backend `umax' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.261873] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:19:35.261881] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-umax.so.1' [21:19:35.261962] [dll] init: initializing backend `umax' [21:19:35.266650] [dll] init: backend `umax' is version 1.0.45 [21:19:35.266662] [dll] load: searching backend `u12' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.266667] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:19:35.266676] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-u12.so.1' [21:19:35.266752] [dll] init: initializing backend `u12' [21:19:35.270917] [dll] init: backend `u12' is version 1.0.0 [21:19:35.270931] [dll] load: searching backend `teco3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.270937] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:19:35.270952] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco3.so.1' [21:19:35.271010] [dll] init: initializing backend `teco3' [21:19:35.271467] [dll] init: backend `teco3' is version 1.0.1 [21:19:35.271475] [dll] load: searching backend `teco2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.271481] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:19:35.271490] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco2.so.1' [21:19:35.271540] [dll] init: initializing backend `teco2' [21:19:35.272320] [dll] init: backend `teco2' is version 1.0.10 [21:19:35.272330] [dll] load: searching backend `teco1' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.272336] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:19:35.272344] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-teco1.so.1' [21:19:35.272393] [dll] init: initializing backend `teco1' [21:19:35.272856] [dll] init: backend `teco1' is version 1.0.10 [21:19:35.272865] [dll] load: searching backend `tamarack' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.272871] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:19:35.272879] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-tamarack.so.1' [21:19:35.272933] [dll] init: initializing backend `tamarack' [21:19:35.273140] [dll] init: backend `tamarack' is version 1.0.0 [21:19:35.273148] [dll] load: searching backend `sp15c' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.273154] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:19:35.273162] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sp15c.so.1' [21:19:35.273213] [dll] init: initializing backend `sp15c' [21:19:35.273295] [dll] init: backend `sp15c' is version 1.0.0 [21:19:35.273302] [dll] load: searching backend `snapscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.273308] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:19:35.273317] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-snapscan.so.1' [21:19:35.273393] [dll] init: initializing backend `snapscan' [21:19:35.277385] [dll] init: backend `snapscan' is version 1.4.53 [21:19:35.277396] [dll] load: searching backend `sm3840' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.277402] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:19:35.277411] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3840.so.1' [21:19:35.277483] [dll] init: initializing backend `sm3840' [21:19:35.281302] [dll] init: backend `sm3840' is version 1.0.0 [21:19:35.281313] [dll] load: searching backend `sm3600' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.281319] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:19:35.281328] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sm3600.so.1' [21:19:35.281416] [dll] init: initializing backend `sm3600' [21:19:35.285003] [dll] init: backend `sm3600' is version 1.0.6 [21:19:35.285014] [dll] load: searching backend `sharp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285020] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:19:35.285029] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sharp.so.1' [21:19:35.285101] [dll] init: initializing backend `sharp' [21:19:35.285318] [dll] init: backend `sharp' is version 1.0.0 [21:19:35.285327] [dll] load: searching backend `sceptre' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285332] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:19:35.285340] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-sceptre.so.1' [21:19:35.285389] [dll] init: initializing backend `sceptre' [21:19:35.285601] [dll] init: backend `sceptre' is version 1.0.10 [21:19:35.285609] [dll] load: searching backend `s9036' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285619] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:19:35.285627] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-s9036.so.1' [21:19:35.285673] [dll] init: initializing backend `s9036' [21:19:35.285817] [dll] init: backend `s9036' is version 1.0.0 [21:19:35.285824] [dll] load: searching backend `rts8891' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.285830] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:19:35.285837] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-rts8891.so.1' [21:19:35.285909] [dll] init: initializing backend `rts8891' [21:19:35.289525] [dll] init: backend `rts8891' is version 1.0.2401 [21:19:35.289586] [dll] load: searching backend `ricoh2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.289594] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:19:35.289602] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh2.so.1' [21:19:35.289672] [dll] init: initializing backend `ricoh2' [21:19:35.293908] [dll] init: backend `ricoh2' is version 1.0.0 [21:19:35.293919] [dll] load: searching backend `ricoh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.293925] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:19:35.293934] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ricoh.so.1' [21:19:35.294002] [dll] init: initializing backend `ricoh' [21:19:35.294150] [dll] init: backend `ricoh' is version 1.0.0 [21:19:35.294158] [dll] load: searching backend `qcam' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.294164] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:19:35.294172] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-qcam.so.1' [21:19:35.294220] [dll] init: initializing backend `qcam' [21:19:35.294239] [dll] init: backend `qcam' is version 1.0.0 [21:19:35.294246] [dll] load: searching backend `plustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.294251] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:19:35.294259] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-plustek.so.1' [21:19:35.294337] [dll] init: initializing backend `plustek' [21:19:35.298224] [dll] init: backend `plustek' is version 1.0.0 [21:19:35.298235] [dll] load: searching backend `pixma' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.298241] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:19:35.298249] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pixma.so.1' [21:19:35.298349] [dll] init: initializing backend `pixma' [21:19:35.301938] [dll] init: backend `pixma' is version 1.0.28 [21:19:35.822979] [dll] load: searching backend `pint' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.823109] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' [21:19:35.823194] [dll] load: couldn't open `/usr/lib/x86_64-linux-gnu/sane/libsane-pint.so.1' (No such file or directory) [21:19:35.823227] [dll] load: trying to load `/usr/lib/sane/libsane-pint.so.1' [21:19:35.823261] [dll] load: couldn't open `/usr/lib/sane/libsane-pint.so.1' (No such file or directory) [21:19:35.823288] [dll] load: couldn't find backend `pint' (No such file or directory) [21:19:35.823316] [dll] load: searching backend `pieusb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.823343] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:19:35.823387] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pieusb.so.1' [21:19:35.823864] [dll] init: initializing backend `pieusb' [21:19:35.835051] [dll] init: backend `pieusb' is version 1.0.1 [21:19:35.835062] [dll] load: searching backend `pie' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.835069] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:19:35.835084] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-pie.so.1' [21:19:35.835144] [dll] init: initializing backend `pie' [21:19:35.835489] [dll] init: backend `pie' is version 1.0.9 [21:19:35.835497] [dll] load: searching backend `niash' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.835503] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:19:35.835511] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-niash.so.1' [21:19:35.835581] [dll] init: initializing backend `niash' [21:19:35.839199] [dll] init: backend `niash' is version 1.0.1 [21:19:35.839210] [dll] load: searching backend `nec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.839217] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:19:35.839225] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-nec.so.1' [21:19:35.839297] [dll] init: initializing backend `nec' [21:19:35.839447] [dll] init: backend `nec' is version 1.0.0 [21:19:35.839455] [dll] load: searching backend `mustek_usb2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.839461] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:19:35.839469] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1' [21:19:35.839540] [dll] init: initializing backend `mustek_usb2' [21:19:35.839552] [dll] init: backend `mustek_usb2' is version 1.0.10 [21:19:35.843443] [dll] load: searching backend `mustek_usb' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.843458] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:19:35.843472] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb.so.1' [21:19:35.843617] [dll] init: initializing backend `mustek_usb' [21:19:35.847437] [dll] init: backend `mustek_usb' is version 1.0.18 [21:19:35.847449] [dll] load: searching backend `mustek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.847458] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:19:35.847470] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-mustek.so.1' [21:19:35.847590] [dll] init: initializing backend `mustek' [21:19:35.847926] [dll] init: backend `mustek' is version 1.0.138 [21:19:35.847934] [dll] load: searching backend `microtek2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.847940] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:19:35.847948] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek2.so.1' [21:19:35.848002] [dll] init: initializing backend `microtek2' [21:19:35.848259] [dll] init: backend `microtek2' is version 1.0.0 [21:19:35.848271] [dll] load: searching backend `microtek' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.848276] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:19:35.848285] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-microtek.so.1' [21:19:35.848336] [dll] init: initializing backend `microtek' [21:19:35.848539] [dll] init: backend `microtek' is version 1.0.0 [21:19:35.848547] [dll] load: searching backend `matsushita' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.848552] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:19:35.848560] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-matsushita.so.1' [21:19:35.848609] [dll] init: initializing backend `matsushita' [21:19:35.849060] [dll] init: backend `matsushita' is version 1.0.7 [21:19:35.849068] [dll] load: searching backend `magicolor' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:35.849074] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:19:35.849082] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-magicolor.so.1' [21:19:35.849559] [dll] init: initializing backend `magicolor' [21:19:35.853182] [dll] init: backend `magicolor' is version 1.0.1 [21:19:37.355008] [dll] load: searching backend `ma1509' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.355104] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:19:37.355159] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ma1509.so.1' [21:19:37.355587] [dll] init: initializing backend `ma1509' [21:19:37.364597] [dll] init: backend `ma1509' is version 1.0.3 [21:19:37.364615] [dll] load: searching backend `lexmark' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.364624] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:19:37.364638] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-lexmark.so.1' [21:19:37.364757] [dll] init: initializing backend `lexmark' [21:19:37.370507] [dll] init: backend `lexmark' is version 1.0.32 [21:19:37.370601] [dll] load: searching backend `leo' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.370613] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:19:37.370626] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-leo.so.1' [21:19:37.370712] [dll] init: initializing backend `leo' [21:19:37.371167] [dll] init: backend `leo' is version 1.0.11 [21:19:37.371180] [dll] load: searching backend `kvs40xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.371190] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:19:37.371202] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs40xx.so.1' [21:19:37.371321] [dll] init: initializing backend `kvs40xx' [21:19:37.375240] [dll] init: backend `kvs40xx' is version 1.0.1 [21:19:37.375451] [dll] load: searching backend `kvs20xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.375458] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:19:37.375467] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs20xx.so.1' [21:19:37.375542] [dll] init: initializing backend `kvs20xx' [21:19:37.379139] [dll] init: backend `kvs20xx' is version 1.0.2 [21:19:37.379529] [dll] load: searching backend `kvs1025' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.379537] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:19:37.379545] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kvs1025.so.1' [21:19:37.379624] [dll] init: initializing backend `kvs1025' [21:19:37.383347] [dll] init: backend `kvs1025' is version 1.0.5 [21:19:37.383357] [dll] load: searching backend `kodakaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:37.383363] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:19:37.383372] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodakaio.so.1' [21:19:37.383886] [dll] init: initializing backend `kodakaio' [21:19:37.388545] [dll] init: backend `kodakaio' is version 1.0.3 [21:19:39.298011] [dll] load: searching backend `kodak' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.298126] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:19:39.298186] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-kodak.so.1' [21:19:39.298549] [dll] init: initializing backend `kodak' [21:19:39.298594] [dll] init: backend `kodak' is version 1.0.7 [21:19:39.298905] [dll] load: searching backend `ibm' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.298929] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:19:39.298955] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-ibm.so.1' [21:19:39.299122] [dll] init: initializing backend `ibm' [21:19:39.299603] [dll] init: backend `ibm' is version 1.0.0 [21:19:39.299629] [dll] load: searching backend `hs2p' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.299648] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:19:39.299688] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hs2p.so.1' [21:19:39.299856] [dll] init: initializing backend `hs2p' [21:19:39.300556] [dll] init: backend `hs2p' is version 1.0.0 [21:19:39.300584] [dll] load: searching backend `hpsj5s' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.300603] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:19:39.300629] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpsj5s.so.1' [21:19:39.300805] [dll] init: initializing backend `hpsj5s' [21:19:39.300881] [dll] init: backend `hpsj5s' is version 1.0.3 [21:19:39.300904] [dll] load: searching backend `hpljm1005' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.300922] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:19:39.300948] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpljm1005.so.1' [21:19:39.301167] [dll] init: initializing backend `hpljm1005' [21:19:39.310794] [dll] init: backend `hpljm1005' is version 1.0.1 [21:19:39.310808] [dll] load: searching backend `hp5590' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.310814] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:19:39.310824] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5590.so.1' [21:19:39.310936] [dll] init: initializing backend `hp5590' [21:19:39.314710] [dll] init: backend `hp5590' is version 1.0.8 [21:19:39.314721] [dll] load: searching backend `hp5400' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.314727] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:19:39.314736] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp5400.so.1' [21:19:39.314830] [dll] init: initializing backend `hp5400' [21:19:39.319047] [dll] init: backend `hp5400' is version 1.0.3 [21:19:39.319058] [dll] load: searching backend `hp4200' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.319064] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:19:39.319073] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp4200.so.1' [21:19:39.319152] [dll] init: initializing backend `hp4200' [21:19:39.322824] [dll] init: backend `hp4200' is version 1.0.0 [21:19:39.322835] [dll] load: searching backend `hp3900' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.322841] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:19:39.322849] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3900.so.1' [21:19:39.323127] [dll] init: initializing backend `hp3900' [21:19:39.326974] [dll] init: backend `hp3900' is version 1.0.0 [21:19:39.326985] [dll] load: searching backend `hp3500' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.326991] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:19:39.326999] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp3500.so.1' [21:19:39.327082] [dll] init: initializing backend `hp3500' [21:19:39.330834] [dll] init: backend `hp3500' is version 1.0.0 [21:19:39.330849] [dll] load: searching backend `hp' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.330856] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:19:39.330865] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hp.so.1' [21:19:39.330972] [dll] init: initializing backend `hp' [21:19:39.330987] [dll] init: backend `hp' is version 1.0.8 [21:19:39.334969] [dll] load: searching backend `gt68xx' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.334979] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:19:39.334988] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-gt68xx.so.1' [21:19:39.335089] [dll] init: initializing backend `gt68xx' [21:19:39.338858] [dll] init: backend `gt68xx' is version 1.0.84 [21:19:39.338940] [dll] load: searching backend `genesys' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.338953] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:19:39.338962] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1' [21:19:39.339249] [dll] init: initializing backend `genesys' [21:19:39.343489] [dll] init: backend `genesys' is version 1.0.0 [21:19:39.343566] [dll] load: searching backend `fujitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.343574] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:19:39.343583] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-fujitsu.so.1' [21:19:39.343666] [dll] init: initializing backend `fujitsu' [21:19:39.343681] [dll] init: backend `fujitsu' is version 1.0.137 [21:19:39.347439] [dll] load: searching backend `escl' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:39.347450] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:19:39.347458] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-escl.so.1' [21:19:39.356850] [dll] init: initializing backend `escl' [21:19:39.356915] [dll] init: backend `escl' is version 1.0.0 [21:19:40.359716] [dll] load: searching backend `epsonds' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:40.359807] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:19:40.359867] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epsonds.so.1' [21:19:40.360433] [dll] init: initializing backend `epsonds' [21:19:40.369530] [dll] init: backend `epsonds' is version 1.0.0 [21:19:40.369616] [dll] load: searching backend `epson2' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:40.369631] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:19:40.369648] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epson2.so.1' [21:19:40.369843] [dll] init: initializing backend `epson2' [21:19:40.376721] [dll] init: backend `epson2' is version 1.0.124 [21:19:41.377964] [dll] load: searching backend `epjitsu' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.378020] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:19:41.378051] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-epjitsu.so.1' [21:19:41.378369] [dll] init: initializing backend `epjitsu' [21:19:41.378404] [dll] init: backend `epjitsu' is version 1.0.31 [21:19:41.388618] [dll] load: searching backend `dmc' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.388629] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:19:41.388638] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dmc.so.1' [21:19:41.388710] [dll] init: initializing backend `dmc' [21:19:41.388871] [dll] init: backend `dmc' is version 1.0.0 [21:19:41.388879] [dll] load: searching backend `dell1600n_net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.388884] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:19:41.388892] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-dell1600n_net.so.1' [21:19:41.388974] [dll] init: initializing backend `dell1600n_net' [21:19:41.388983] [dll] init: backend `dell1600n_net' is version 1.0.0 [21:19:41.689398] [dll] load: searching backend `coolscan3' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.689483] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:19:41.689527] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan3.so.1' [21:19:41.690008] [dll] init: initializing backend `coolscan3' [21:19:41.702648] [dll] init: backend `coolscan3' is version 1.0.0 [21:19:41.703022] [dll] load: searching backend `coolscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.703049] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:19:41.703076] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-coolscan.so.1' [21:19:41.703397] [dll] init: initializing backend `coolscan' [21:19:41.704091] [dll] init: backend `coolscan' is version 1.0.0 [21:19:41.704118] [dll] load: searching backend `cardscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.704191] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:19:41.704202] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-cardscan.so.1' [21:19:41.704280] [dll] init: initializing backend `cardscan' [21:19:41.708016] [dll] init: backend `cardscan' is version 1.0.3 [21:19:41.708055] [dll] load: searching backend `canon_lide70' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.708063] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:19:41.708071] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_lide70.so.1' [21:19:41.708185] [dll] init: initializing backend `canon_lide70' [21:19:41.712286] [dll] init: backend `canon_lide70' is version 1.0.0 [21:19:41.712300] [dll] load: searching backend `canon_dr' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.712306] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:19:41.712315] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon_dr.so.1' [21:19:41.712403] [dll] init: initializing backend `canon_dr' [21:19:41.712417] [dll] init: backend `canon_dr' is version 1.0.59 [21:19:41.716260] [dll] load: searching backend `canon630u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.716271] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:19:41.716279] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon630u.so.1' [21:19:41.716366] [dll] init: initializing backend `canon630u' [21:19:41.720014] [dll] init: backend `canon630u' is version 1.0.1 [21:19:41.720024] [dll] load: searching backend `canon' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.720030] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:19:41.720039] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-canon.so.1' [21:19:41.720105] [dll] init: initializing backend `canon' [21:19:41.720204] [dll] init: backend `canon' is version 1.0.0 [21:19:41.720213] [dll] load: searching backend `bh' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.720219] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:19:41.720227] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-bh.so.1' [21:19:41.720289] [dll] init: initializing backend `bh' [21:19:41.720496] [dll] init: backend `bh' is version 1.0.4 [21:19:41.720504] [dll] load: searching backend `avision' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.720509] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:19:41.720517] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-avision.so.1' [21:19:41.720610] [dll] init: initializing backend `avision' [21:19:41.728146] [dll] init: backend `avision' is version 1.0.297 [21:19:41.732051] [dll] load: searching backend `as6e' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.732060] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:19:41.732069] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-as6e.so.1' [21:19:41.732135] [dll] init: initializing backend `as6e' [21:19:41.732160] [dll] load: searching backend `artec_eplus48u' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.732165] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:19:41.732174] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec_eplus48u.so.1' [21:19:41.732256] [dll] init: initializing backend `artec_eplus48u' [21:19:41.735925] [dll] init: backend `artec_eplus48u' is version 1.0.0 [21:19:41.735937] [dll] load: searching backend `artec' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.735943] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:19:41.735956] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-artec.so.1' [21:19:41.736021] [dll] init: initializing backend `artec' [21:19:41.736246] [dll] init: backend `artec' is version 1.0.0 [21:19:41.736255] [dll] load: searching backend `apple' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.736261] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:19:41.736269] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-apple.so.1' [21:19:41.736330] [dll] init: initializing backend `apple' [21:19:41.736534] [dll] init: backend `apple' is version 1.0.0 [21:19:41.736542] [dll] load: searching backend `agfafocus' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.736547] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:19:41.736555] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-agfafocus.so.1' [21:19:41.736618] [dll] init: initializing backend `agfafocus' [21:19:41.736766] [dll] init: backend `agfafocus' is version 1.0.0 [21:19:41.736777] [dll] load: searching backend `abaton' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.736783] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:19:41.736792] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-abaton.so.1' [21:19:41.736850] [dll] init: initializing backend `abaton' [21:19:41.737054] [dll] init: backend `abaton' is version 1.0.0 [21:19:41.737062] [dll] load: searching backend `net' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.737067] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:19:41.737075] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-net.so.1' [21:19:41.737167] [dll] init: initializing backend `net' [21:19:41.738598] [dll] init: backend `net' is version 1.0.31 [21:19:41.738613] [dll] load: searching backend `hpaio' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:41.738619] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:19:41.738630] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-hpaio.so.1' [21:19:41.739148] [dll] init: initializing backend `hpaio' [21:19:41.739476] [dll] init: backend `hpaio' is version 1.0.0 [21:19:43.140850] [dll] load: searching backend `airscan' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane' [21:19:43.140912] [dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-airscan.so.1' [21:19:43.140943] [dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-airscan.so.1' [21:19:43.141493] [dll] init: initializing backend `airscan' [21:19:43.148728] [dll] init: backend `airscan' is version 1.0.0 From pzz at apevzner.com Wed Oct 21 22:35:54 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 00:35:54 +0300 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: References: Message-ID: <17f357f2-b834-2d04-650e-b28fb7e0f335@apevzner.com> Hi Yoann, On 10/21/20 10:43 PM, Yoann Le Montagner wrote: > If I uninstall Airscan, the segmentation fault does not appear anymore, > and I'm able to use the scanner. Still, it used to work with Airscan > (with a previous version), as discussed two weeks ago on this list. Thank you for reporting this bug. What version did it previously work with? 0.99.17 or earlier? -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 22 13:39:18 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 15:39:18 +0300 Subject: [sane-devel] Sane API In-Reply-To: <6a52aa85-445d-7be6-0ff9-dafbd8df0692@apevzner.com> References: <6a52aa85-445d-7be6-0ff9-dafbd8df0692@apevzner.com> Message-ID: <52d03ab3-97f2-d567-9b7b-458bab589750@apevzner.com> Hi Johannes, On 10/21/20 10:11 AM, Johannes Meixner wrote: > Current SANE is not meant for users who use a professional network > printer scanner copier all-in-one device but when in the future > users of any kind of scanning device should be able to access them > via one same user application then a future SANE version should be > in compliance to work with such a generic scanning user frontend. What, do you feel, is missed from SANE to support professional MFPs? > I think for a remote network scanner a remote user may need > to know the complete device status including things that are > obvious for a user who is located next to the scanner device. I'm not sure it can be done in reliable way and without a lot of testing against variety of hardware. If it cannot be done reliable, it is better not to do it at all, to avoid a lot of frustration. > Technically I think what does not fit the UNIX multiuser model > is the idea that something from remote can just trigger things on a > computer > because that "something from remote" is not the boss of the computer. If user, who owns desktop, explicitly subscribes to it, why not? After all, if somebody sends you e-mail, it may trigger pop-up on your screen, though e-mail sender is not boss of your computer. > Technically I think what would fit the UNIX multiuser model > is that a particular user triggers the action he wants. > > So I think something like the following fits the UNIX multiuser model: > > Some user presses a button at a (possibly network) scanner device. > This changes the scanner device status ("button X is activated"). Let me explain, JFYI, how push scanning implemented in the WSD world. Computers, willing to accept incoming images, advertise their presence, using WS-Discovery protocol (UDP multicasting and so on, conceptually similar to DNS-SD, but totally incompatible). Push-mode scanning is activated by pressing some buttons or choosing appropriate menu item at the scanner front panel. Scanner offers a list of computers to send image too (previously discovered via WS-Discovery). When user chooses a destination device, some conversation between scanner and destination computer occurs. I didn't read this part of WSD specification in great details (it's very hard to read), but most likely, scanner sends ScanAvailableEvent: https://docs.microsoft.com/en-us/windows-hardware/drivers/image/scanavailableevent On Windows, it is most likely handled by some system service, which notifies some GUI program, running in a context of current session to open appropriate GUI dialog. After that, if all sides agreed, actual scanning begins. BTW, briefly looking to the specs, I have an impression, that actual scanning happens in a pull mode. The only difference is that scanner sends ScanAvailableEvent to the host, when host is chosen at the scanner's front pannel. Obviously, we can implement push scanning via polling scanner buttons, but only few backends allow to poll scanner buttons; it depends on the underlying protocol, offered by hardware. I believe, newest hardware will shift into the eSCL/WSD direction, and direct polling buttons will not be available. It is also not very secure. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 22 16:49:28 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 18:49:28 +0300 Subject: [sane-devel] sane-airscan 0.99.19 release notes Message-ID: Hi, I've just released sane-airscan 0.99.19. This is bugfix release. It fixes the following critical bugs: 1. If host part of URL is taken into square brackets, but it is not valid IPv6 literal (i.e., http:[xxx]/, it might cause backend to crash 2. If HTTP request was redirected 2 or more times, it might cause backend to crash Though these bugs are unlikely to hit most of users, upgrade is recommended. Also the following minor bug was fixed. 3. sane_control_option() now uses case-insensetive comparison for scan source names and color mode names Compiled binaries can be downloaded from the usual place: https://download.opensuse.org/repositories/home:/pzz/ -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Thu Oct 22 16:50:53 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Thu, 22 Oct 2020 18:50:53 +0300 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: References: Message-ID: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> Hi, On 10/21/20 10:43 PM, Yoann Le Montagner wrote: > I encounter a segmentation fault when trying to use my scanner Canon > Pixma TS8350. Xsane crashes, and 'scanimage -L' shows a segmentation > fault that seems to be issued by Airscan: Fixed in 0.99.19, please upgrade. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From povilas at radix.lt Fri Oct 23 11:13:49 2020 From: povilas at radix.lt (Povilas Kanapickas) Date: Fri, 23 Oct 2020 13:13:49 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: <32e8af5b-b0ea-269f-1442-47bdab4ebacd@radix.lt> Hi all, On 10/21/20 4:32 PM, Alexander Pevzner wrote: > On 10/21/20 3:04 PM, Thierry HUCHARD wrote: >> I don't see why notifications should be made by sane. >> It is the system that takes care of the connection / disconnection of >> the devices! > > Because only backends knows, how system events are mapped to scanner PnP > events. > > Applications should not be responsible to poll USB bus for USB-level > events, which some knowledge how to distinguish mouse from scanner, poll > DNS-SD events, with some knowledge, which services are registered by > scanners and so on. > > May be in printer world it could work, because there are only one device > class, used by USB printers, and only 3 service types, used by DNS-SD to > advertise a printer, and these is no such thing as SCSI printer, but > scanner hardware is MUCH more chaotic. Can't we just add an additional set of APIs for this use case in e.g. SANE 1.1? The applications may dlsym these APIs if they want to be backwards-compatible with SANE 1.0. >>> - If some scanner is identified by multiple backends, it would be nice >>> to let user app to automatically choose one of the list. For this >> >> I'm for leaving the choice to the user, the automatic choice criteria >> are generally subjective choice >> criteria (specific to the developer), generally they limit the >> possibilities. > > This is UI (user interface) - level decision, our goal is to provide a > mechanism that makes this decision possible to be implemented. > >>> For the following things we just don't have appropriate SANE_Value_Type: >>> - Scanner resolution if a form of X*Y pair. This is important, to >>> support "asymmetrical" resolutions (300*600, for example) >> >> This change could easily be implemented without SANE-1.0. > > OK, but how? We already have "x-resolution" and "y-resolution" options. X/Y resolutions can be handled the same way the non-pecific "resulution" option is handled right now. That is, application sets the preferred X and Y resolutions and then must check what actual supported resolution was selected by the backend by querying these options again. >>> For the following options we don't have enough discipline: >>> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >>> duplex, ADF front/ADF back >> >> It's only discipline! > > Yes, but in result, every application that care must be aware about all > existent variants. > > The existent situation needs at least to be documented, and well-known > names needs to be added to the documentation and C header file. > >> Indeed, sane_read should be allowed to return the scanner data without >> processing it! > > And it actually affects behavior of some other options and API calls. > > For example, if backend doesn't decode, it should not be obliged to > return accurate data from sane_get_parameters. List of possible color > modes could be different for "raw" and decoded modes (in raw mode > backend may support mode that it cannot decode). Scan region settings > may or may not work in the "raw" mode. All emulated options unlikely to > work in the "raw" mode, and so on, The current standard actually handles a lot of similar problems already. For example, the capabilities scan modes of a scanner can differ significantly: transparency scans may offer completely different resolutions than regular scans, transparency infrared scans may offer only gray color and the scan boundaries offered by all of the modes may be different. I agree that sane_get_parameters will return special values for "raw" mode, but if application supports "raw" mode, then it will already have special path for it which could handle sane_get_parameters in a special way too. Please let me know if I missed anything. Cheers, Povilas From povilas at radix.lt Fri Oct 23 11:29:23 2020 From: povilas at radix.lt (Povilas Kanapickas) Date: Fri, 23 Oct 2020 13:29:23 +0300 Subject: [sane-devel] Sane API In-Reply-To: References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> Message-ID: <4087b371-d2ea-65c5-a63b-aebf51cbc9f2@radix.lt> Hi all, On 10/20/20 11:12 AM, Alexander Pevzner wrote: > Hi Thierry, > > On 10/20/20 9:50 AM, Thierry HUCHARD wrote: >> I went to quickly look at sane-2.0: - I agree with @paddy-hack, >> making new with old is not necessarily a good thing! - I found that >> the difference was in the options. The operations are identical. It >> will be easy for a developer to create a gateway from sane-1.0 to >> sane-2.0. - The options are hardware dependent and there, some >> options are emulatable, others are not. - If sane-2.0 is just the >> formatting of the options, why not do it in sane-1.0? > > Current API misses some essential things, that cannot be implemented in > terms of options: > - PnP notifications (scanner was connected/disconnected some time after > driver was initialized). This limitation can be worked around by > continuous poll, but this poll drains a battery a generates network/USB > traffic, so it is better to avoid. I seems to me that this would be relatively independent of the current APIs, wouldn't it? We can add the new APIs to SANE 1.1 and applications could preserve backwards compatibility by optionally using them via dlsym. > - If some scanner is identified by multiple backends, it would be nice > to let user app to automatically choose one of the list. For this > purpose, it would be nice to expose some information regarding scanner > location, before scanner is opened (say, "USB bus X device Y, or NET > addr aaa.bbb.ccc.ddd). It requires adding extra fields to the > SANE_Device structure, which makes it incompatible with SANE 1.0 We could add SANE_Devicev2 and sane_get_devices_v2 APIs in a backwards-compatible way. New applications could dlsym the new API from new backends, old applications could continue using the old APIs. > For the following things we just don't have appropriate SANE_Value_Type: > - Scanner resolution if a form of X*Y pair. This is important, to > support "asymmetrical" resolutions (300*600, for example) (I've copied this from another e-mail, sorry for duplication and being late to the party :-) ) We already have "x-resolution" and "y-resolution" options. X/Y resolutions can be handled the same way the non-pecific "resulution" option is handled right now. That is, application sets the preferred X and Y resolutions and then must check what actual supported resolution was selected by the backend by querying these options again. > For the following options we don't have enough discipline: > - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF > duplex, ADF front/ADF back A string option for a scan source is much more flexible than e.g. an int and should be preserved. What we probably need is just document the commonly used values in the existing standard. > sane_airscan_get_parameters() must be accurate immediately after return > from sane_start(). It is not always possible, unless sane_start() has to > wait until image is available (compare sane-escl and sane-airscan > approach). Agreed. This case is more difficult. We need a way to preserve both the old and new behavior in some way with a possibility for the scan application to request either on demand. > sane_airscan_get_select_fd() defined with serious mistake: it requires > backend to close select_fd immediately after completion or cancellation > of the scan job. In multi-threaded program closed file descriptor could > be immediately reused for some different purpose by another thread. > > There is no possibility to request image in the device-specific "raw" > format. I.e., if I want PDF and device can return PDF, image still will > be repacked PDF->sane format->PDF. This can be implemented as a special "color" mode in existing standard. We would probably need an additional API for that. Cheers, Povilas From pzz at apevzner.com Fri Oct 23 13:17:43 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 15:17:43 +0300 Subject: [sane-devel] Sane API In-Reply-To: <32e8af5b-b0ea-269f-1442-47bdab4ebacd@radix.lt> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <32e8af5b-b0ea-269f-1442-47bdab4ebacd@radix.lt> Message-ID: <292786fa-f54f-f09d-e2db-5343e8808242@apevzner.com> Hi Povilas, On 10/23/20 1:13 PM, Povilas Kanapickas wrote: >> May be in printer world it could work, because there are only one device >> class, used by USB printers, and only 3 service types, used by DNS-SD to >> advertise a printer, and these is no such thing as SCSI printer, but >> scanner hardware is MUCH more chaotic. > > Can't we just add an additional set of APIs for this use case in e.g. > SANE 1.1? The applications may dlsym these APIs if they want to be > backwards-compatible with SANE 1.0. I think, requiring application to dlsym these APIs will significantly increase entry barrier for applications writers. Also, if there are multiple backends loaded (via sane-dll), how to know how to dlsym the proper symbol. It would be better to shift dlsyming into the sane-dll, to keep all complexity in a single place. > We already have "x-resolution" and "y-resolution" options. X/Y > resolutions can be handled the same way the non-pecific "resulution" > option is handled right now. That is, application sets the preferred X > and Y resolutions and then must check what actual supported resolution > was selected by the backend by querying these options again. In SANE these x/y-resolution options are independent, while real scanners offer a discrete set of possible x/y combinations. For example, my scanner offers 200x100, 200x200, 200x400, 300x300, 400x400 and 600x600. In theory, setting one of these options may update constraints for another option and return SANE_INFO_RELOAD_OPTIONS to tell application to reload constraints. But xsane, for example, doesn't understand it properly. Also, for application that wants to simple show a drop-down list of possible resolutions it will be a lot of work to obtain content of this list. > The current standard actually handles a lot of similar problems already. > For example, the capabilities scan modes of a scanner can differ > significantly: transparency scans may offer completely different > resolutions than regular scans, transparency infrared scans may offer > only gray color and the scan boundaries offered by all of the modes may > be different. Yes, I only want to tell, that switching to the "raw" mode is the "big change", like changing scan source, and it may affect a lot of other options. > I agree that sane_get_parameters will return special values for "raw" > mode, but if application supports "raw" mode, then it will already have > special path for it which could handle sane_get_parameters in a special > way too. I think, for the "raw" mode sane_get_parameters() should return SANE_STATUS_INVAL or SANE_STATUS_UNSUPPORTED -- Wishes, Alexander Pevzner (pzz at apevzner.com) From pzz at apevzner.com Fri Oct 23 14:43:31 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 16:43:31 +0300 Subject: [sane-devel] Sane API In-Reply-To: <4087b371-d2ea-65c5-a63b-aebf51cbc9f2@radix.lt> References: <8c1cb74c-afbd-7f89-c5cd-1f9fd431c035@gmail.com> <1d9631c8-8fa4-5ac8-667f-2c4710d236e2@apevzner.com> <87lfgats6i.fsf@quark> <87a6wprrgu.fsf@quark> <74f97c36219cba07ea4ae547df73e70a@suse.de> <4a9855d7-cef1-4b2c-35b7-5ae6ba2ff711@apevzner.com> <8ec460a2349d3f180ecbc5e7634e2cb5@ordissimo.com> <4087b371-d2ea-65c5-a63b-aebf51cbc9f2@radix.lt> Message-ID: <00b5911f-277b-3224-7016-efeeb51daa9e@apevzner.com> Hi Povilas, On 10/23/20 1:29 PM, Povilas Kanapickas wrote: > (I've copied this from another e-mail, sorry for duplication and being > late to the party :-) ) Better late, that never. I've already responded there :-) So here I will only comment topics, missed in your previous message. >> For the following options we don't have enough discipline: >> - SANE_NAME_SCAN_SOURCE. There is no common names for ADF simplex/ADF >> duplex, ADF front/ADF back > > A string option for a scan source is much more flexible than e.g. an int > and should be preserved. What we probably need is just document the > commonly used values in the existing standard. I don't object against string options, but these values should be used uniformly. Currently we have: - "Flatbed"/"Transparency Adapter"/"Automatic Document Feeder" (umax.c) - "Opaque/Normal"/"Transparency"/""AutoFeeder" (microtek.c) - "Flatbed"/"ADF"/"TMA"/"Filmstrip"/"Slide" (microtek2.h) - "Normal"/"Transparency"/"ADF Front"/"ADF Back"/"ADF Duplex" (avision.c) - "Automatic Document Feeder"/"Manual Feed Tray" (bh.h) - "Flatbed"/"ADF Front"/"ADF Back"/"Card Front"/"Card Back"/"Card Duplex" (canon_dr.c) And much, much more. Note, IPP-scan defines only "adf", "film-reader" and "platen" sources (with separate control for simplex/duplex ADF), WSD defines "ADF", "ADFDuplex", "Film" and "Platen" sources Best place to define standard valies is the saneopts.h, but we need also to do something with variety of variants, used by existent drivers. >> sane_airscan_get_parameters() must be accurate immediately after return >> from sane_start(). It is not always possible, unless sane_start() has to >> wait until image is available (compare sane-escl and sane-airscan >> approach). > Agreed. This case is more difficult. We need a way to preserve both the > old and new behavior in some way with a possibility for the scan > application to request either on demand. If actual image parameters are only available, when image arrives, as with eSCL/WSD, either somebody must wait until image arrives, or driver may promise to return an image according to the selected options, and then adjust actually received image to the promised parameters, as sane-airscan does. >> There is no possibility to request image in the device-specific "raw" >> format. I.e., if I want PDF and device can return PDF, image still will >> be repacked PDF->sane format->PDF. > > This can be implemented as a special "color" mode in existing standard. > We would probably need an additional API for that. These are orthogonal things. For example, my scanner in eSCL mode can return Gray8 and RGB24, as JPEG or PDF, and also B&W1, but only as PDF. -- Wishes, Alexander Pevzner (pzz at apevzner.com) From yo35 at melix.net Fri Oct 23 19:17:28 2020 From: yo35 at melix.net (Yoann Le Montagner) Date: Fri, 23 Oct 2020 20:17:28 +0200 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> References: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> Message-ID: Hi, I've upgraded to 0.99.19 and the segmentation fault is no longer here. The scanner is detected and everything works as expected. Thanks. Le 22/10/2020 ? 17:50, Alexander Pevzner a ?crit?: > Hi, > > On 10/21/20 10:43 PM, Yoann Le Montagner wrote: >> I encounter a segmentation fault when trying to use my scanner Canon >> Pixma TS8350. Xsane crashes, and 'scanimage -L' shows a segmentation >> fault that seems to be issued by Airscan: > > Fixed in 0.99.19, please upgrade. > From pzz at apevzner.com Fri Oct 23 20:40:21 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 22:40:21 +0300 Subject: [sane-devel] Segmentation fault with Airscan In-Reply-To: References: <1c1eb429-8450-1221-01da-d700a606d4b9@apevzner.com> Message-ID: <5a555564-4c98-763f-0333-13005b871a88@apevzner.com> Hi Yoann, On 10/23/20 9:17 PM, Yoann Le Montagner wrote: > I've upgraded to 0.99.19 and the segmentation fault is no longer here. > The scanner is detected and everything works as expected. Thank you for feedback! -- Wishes, Alexander Pevzner (pzz at apevzner.com) From andrea.croci at gmx.de Fri Oct 23 21:15:26 2020 From: andrea.croci at gmx.de (Andrea Croci) Date: Fri, 23 Oct 2020 22:15:26 +0200 Subject: [sane-devel] Strange behaviour by airscan Message-ID: <304cabf0-cfc8-bb35-3142-23c4fa42e79f@gmx.de> Hello, using Ubuntu 18.04 with scanimage (sane-backends) 1.0.31-179-ge4ef0548b; backend version 1.0.31 (installed from ppa), I get: scanimage -L device `epson2:net:192.168.2.101' is a Epson PID 08B9 flatbed scanner device `epkowa:net:192.168.2.101:1865' is a Epson WF-7610/7620 Series flatbed scanner device `airscan:e2:Canon MF745C/746C' is a eSCL Canon MF745C/746C eSCL network scanner device `airscan:w3:EPSON WF-7620 Series' is a WSD EPSON WF-7620 Series WSD network scanner (notice "airscan:e2:..." Yet scanimage --help -d 'airscan:e2:Canon MF745C/746C' Usage: scanimage [OPTION]... Start image acquisition on a scanner device and write image data to standard output. Parameters are separated by a blank from single-character options (e.g. -d epson) and by a "=" from multi-character options (e.g. --device-name=epson). -d, --device-name=DEVICE?? use a given scanner device (e.g. hp:/dev/scanner) ??? --format=pnm|tiff|png|jpeg? file format of output file -i, --icc-profile=PROFILE? include this ICC profile into TIFF file -L, --list-devices???????? show available scanner devices -f, --formatted-device-list=FORMAT similar to -L, but the FORMAT of the output ?????????????????????????? can be specified: %d (device name), %v (vendor), ?????????????????????????? %m (model), %t (type), %i (index number), and ?????????????????????????? %n (newline) -b, --batch[=FORMAT]?????? working in batch mode, FORMAT is `out%d.pnm' `out%d.tif' ?????????????????????????? `out%d.png' or `out%d.jpg' by default depending on --format ?????????????????????????? This option is incompatible with --output-file.??? --batch-start=#??????? page number to start naming files with ??? --batch-count=#??????? how many pages to scan in batch mode ??? --batch-increment=#??? increase page number in filename by # ??? --batch-double???????? increment page number by two, same as ?????????????????????????? --batch-increment=2 ??? --batch-print????????? print image filenames to stdout ??? --batch-prompt???????? ask for pressing a key before scanning a page ??? --accept-md5-only????? only accept authorization requests using md5 -p, --progress???????????? print progress messages -o, --output-file=PATH???? save output to the given file instead of stdout. ?????????????????????????? This option is incompatible with --batch. -n, --dont-scan??????????? only set options, don't actually scan -T, --test???????????????? test backend thoroughly -A, --all-options????????? list all available backend options -h, --help???????????????? display this help message and exit -v, --verbose????????????? give even more status messages -B, --buffer-size=#??????? change input buffer size (in kB, default 32) -V, --version????????????? print version information Output format is not set, using pnm as a default. scanimage: open of device airscan:e2:Canon MF745C/746C failed: Invalid argument Type ``scanimage --help -d DEVICE'' to get list of all options for DEVICE. List of available devices: ??? epson2:net:192.168.2.101 epkowa:net:192.168.2.101:1865 ??? airscan:e0:Canon MF745C/746C airscan:w3:EPSON WF-7620 Series notice "airscan:e0:..." Addressing the scanner as "airscan:e0:..." works great. Not a big problem, I just find it kind of funny. From pzz at apevzner.com Fri Oct 23 21:33:04 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Fri, 23 Oct 2020 23:33:04 +0300 Subject: [sane-devel] Strange behaviour by airscan In-Reply-To: <304cabf0-cfc8-bb35-3142-23c4fa42e79f@gmx.de> References: <304cabf0-cfc8-bb35-3142-23c4fa42e79f@gmx.de> Message-ID: Hi Andrea, On 10/23/20 11:15 PM, Andrea Croci wrote: > Addressing the scanner as "airscan:e0:..." works great. Not a big > problem, I just find it kind of funny. Well, it's a long story :-) Airscan attempts to be user-friendly, not hacker-friendly. For this purpose, it returns list of devices, not list of connection endpoints (a device may have multiple endpoints: WiFi/Ethernet, HTTP/HTTPS, eSCL/WSD, ...). Airscan attempts to list each physical device only once, regardless of how many endpoints it has. SANE requires every device to have an unique name, and DNS-SD name of the device is a natural choice. Unfortunately, there is no 100% guarantee that DNS-SD name is unique: 1. If computer connected to multiple networks (WiFi/Ethernet, for example), in theory these networks may contain devices with duplicated names 2. WSD doesn't have anything similar to DNS-SD name, its "namespace" is a space of device UUIDs. If device is visible simultaneously as DNS-SD device and WSD device, name is taken from the DNS-SD world. Otherwise, airscan fallbacks to the model name, which is also is not guaranteed to be unique across the network. To ensure uniqueness, airscan prefixes every name with a short prefix, like e1 or w2. First character comes from protocol (e == eSCL, w == WSD), small number is assigned as UNIX PID: incremented every time new device is encountered with protection against assignment of number currently in use. So this prefix depends in a order of device discovery (device, discovered first, will get smaller number). It works nice with GUI programs, that allow to choose device from a list, but may make some inconvenience for people, who uses command-line tools, like scanimage. From another hand, nobody complained so far :-) -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Sat Oct 24 22:52:44 2020 From: skelband at gmail.com (Ralph Little) Date: Sat, 24 Oct 2020 14:52:44 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 Message-ID: Hi, For a bit of fun (and a change of pace) I managed to check out a Samsung SCX-4100 multifunction laser. The supported page says that it is supported by the xerox-mfp backend. However, scanimage -L doesn't find it. The usb id is listed in xero-mfp.conf and lsusb shows it as present. However, sanei USB support says that it doesn't appear to have a scanner interface: [14:38:57.343554] [sanei_usb] libusb_scan_devices: device 0x04e8/0x3413, interface 0 doesn't look like a scanner (0/7) [14:38:57.343565] [sanei_usb] libusb_scan_devices: device 0x04e8/0x3413 at 001:006: no suitable interfaces Weird. Anyone know what the deal is with this machine? Perhaps it supports scanning with a different kind of interface, or perhaps it requires firmware to access the scanner portion? Cheers, Ralph From pzz at apevzner.com Sun Oct 25 00:04:08 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Sun, 25 Oct 2020 02:04:08 +0300 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: References: Message-ID: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> On 10/25/20 12:52 AM, Ralph Little wrote: > For a bit of fun (and a change of pace) I managed to check out a Samsung > SCX-4100 multifunction laser. What is the output of lsusb -v? -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Sun Oct 25 01:36:27 2020 From: skelband at gmail.com (Ralph Little) Date: Sat, 24 Oct 2020 17:36:27 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> Message-ID: Hi, On 2020-10-24 4:04 p.m., Alexander Pevzner wrote: > On 10/25/20 12:52 AM, Ralph Little wrote: >> For a bit of fun (and a change of pace) I managed to check out a Samsung >> SCX-4100 multifunction laser. > > What is the output of lsusb -v? > Basically printer output really. Kinda looks like the scanner is acting through the printer interface. I will try with the Windows software to make sure that it does work from that side. There is a TWAIN driver and a Windows-based software suite according to the user manual. Cheers, Ralph =================== Bus 001 Device 011: ID 04e8:3413 Samsung Electronics Co., Ltd SCX-4100 Scanner Device Descriptor: ? bLength??????????????? 18 ? bDescriptorType???????? 1 ? bcdUSB?????????????? 1.10 ? bDeviceClass??????????? 0 (Defined at Interface level) ? bDeviceSubClass???????? 0 ? bDeviceProtocol???????? 0 ? bMaxPacketSize0???????? 8 ? idVendor?????????? 0x04e8 Samsung Electronics Co., Ltd ? idProduct????????? 0x3413 SCX-4100 Scanner ? bcdDevice??????????? 1.00 ? iManufacturer?????????? 1 Samsung ? iProduct??????????????? 2 Samsung SCX-4100 Series ? iSerial???????????????? 3 8J61BAKY815410E ? bNumConfigurations????? 1 ? Configuration Descriptor: ??? bLength???????????????? 9 ??? bDescriptorType???????? 2 ??? wTotalLength?????????? 32 ??? bNumInterfaces????????? 1 ??? bConfigurationValue???? 1 ??? iConfiguration????????? 0 ??? bmAttributes???????? 0xc0 ????? Self Powered ??? MaxPower??????????????? 0mA ??? Interface Descriptor: ????? bLength???????????????? 9 ????? bDescriptorType???????? 4 ????? bInterfaceNumber??????? 0 ????? bAlternateSetting?????? 0 ????? bNumEndpoints?????????? 2 ????? bInterfaceClass???????? 7 Printer ????? bInterfaceSubClass????? 1 Printer ????? bInterfaceProtocol????? 2 Bidirectional ????? iInterface????????????? 0 ????? Endpoint Descriptor: ??????? bLength???????????????? 7 ??????? bDescriptorType???????? 5 ??????? bEndpointAddress???? 0x03? EP 3 OUT ??????? bmAttributes??????????? 2 ????????? Transfer Type??????????? Bulk ????????? Synch Type?????????????? None ????????? Usage Type?????????????? Data ??????? wMaxPacketSize???? 0x0040? 1x 64 bytes ??????? bInterval?????????????? 0 ????? Endpoint Descriptor: ??????? bLength???????????????? 7 ??????? bDescriptorType???????? 5 ??????? bEndpointAddress???? 0x81? EP 1 IN ??????? bmAttributes??????????? 2 ????????? Transfer Type??????????? Bulk ????????? Synch Type?????????????? None ????????? Usage Type?????????????? Data ??????? wMaxPacketSize???? 0x0040? 1x 64 bytes ??????? bInterval?????????????? 0 Device Status:???? 0x0001 ? Self Powered Cheers, Ralph From pzz at apevzner.com Sun Oct 25 10:16:57 2020 From: pzz at apevzner.com (Alexander Pevzner) Date: Sun, 25 Oct 2020 13:16:57 +0300 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> Message-ID: <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> Hi, Strange that it have only a singe, printer bidirectional interface (class 7, proto 2). There are should be not so much devices, that have similar USB configuration. Some of their drivers may work. On 10/25/20 3:36 AM, Ralph Little wrote: > Hi, > > On 2020-10-24 4:04 p.m., Alexander Pevzner wrote: >> On 10/25/20 12:52 AM, Ralph Little wrote: >>> For a bit of fun (and a change of pace) I managed to check out a Samsung >>> SCX-4100 multifunction laser. >> >> What is the output of lsusb -v? >> > Basically printer output really. > Kinda looks like the scanner is acting through the printer interface. > I will try with the Windows software to make sure that it does work from > that side. > There is a TWAIN driver and a Windows-based software suite according to > the user manual. > > Cheers, > Ralph > > =================== > Bus 001 Device 011: ID 04e8:3413 Samsung Electronics Co., Ltd SCX-4100 > Scanner > Device Descriptor: > ? bLength??????????????? 18 > ? bDescriptorType???????? 1 > ? bcdUSB?????????????? 1.10 > ? bDeviceClass??????????? 0 (Defined at Interface level) > ? bDeviceSubClass???????? 0 > ? bDeviceProtocol???????? 0 > ? bMaxPacketSize0???????? 8 > ? idVendor?????????? 0x04e8 Samsung Electronics Co., Ltd > ? idProduct????????? 0x3413 SCX-4100 Scanner > ? bcdDevice??????????? 1.00 > ? iManufacturer?????????? 1 Samsung > ? iProduct??????????????? 2 Samsung SCX-4100 Series > ? iSerial???????????????? 3 8J61BAKY815410E > ? bNumConfigurations????? 1 > ? Configuration Descriptor: > ??? bLength???????????????? 9 > ??? bDescriptorType???????? 2 > ??? wTotalLength?????????? 32 > ??? bNumInterfaces????????? 1 > ??? bConfigurationValue???? 1 > ??? iConfiguration????????? 0 > ??? bmAttributes???????? 0xc0 > ????? Self Powered > ??? MaxPower??????????????? 0mA > ??? Interface Descriptor: > ????? bLength???????????????? 9 > ????? bDescriptorType???????? 4 > ????? bInterfaceNumber??????? 0 > ????? bAlternateSetting?????? 0 > ????? bNumEndpoints?????????? 2 > ????? bInterfaceClass???????? 7 Printer > ????? bInterfaceSubClass????? 1 Printer > ????? bInterfaceProtocol????? 2 Bidirectional > ????? iInterface????????????? 0 > ????? Endpoint Descriptor: > ??????? bLength???????????????? 7 > ??????? bDescriptorType???????? 5 > ??????? bEndpointAddress???? 0x03? EP 3 OUT > ??????? bmAttributes??????????? 2 > ????????? Transfer Type??????????? Bulk > ????????? Synch Type?????????????? None > ????????? Usage Type?????????????? Data > ??????? wMaxPacketSize???? 0x0040? 1x 64 bytes > ??????? bInterval?????????????? 0 > ????? Endpoint Descriptor: > ??????? bLength???????????????? 7 > ??????? bDescriptorType???????? 5 > ??????? bEndpointAddress???? 0x81? EP 1 IN > ??????? bmAttributes??????????? 2 > ????????? Transfer Type??????????? Bulk > ????????? Synch Type?????????????? None > ????????? Usage Type?????????????? Data > ??????? wMaxPacketSize???? 0x0040? 1x 64 bytes > ??????? bInterval?????????????? 0 > Device Status:???? 0x0001 > ? Self Powered > > > Cheers, > Ralph > -- Wishes, Alexander Pevzner (pzz at apevzner.com) From skelband at gmail.com Mon Oct 26 02:23:36 2020 From: skelband at gmail.com (Ralph Little) Date: Sun, 25 Oct 2020 19:23:36 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> Message-ID: <3afd68e7-dda1-496a-6353-d93a5dbe2ad4@gmail.com> Hi, On 2020-10-25 3:16 a.m., Alexander Pevzner wrote: > Hi, > > Strange that it have only a singe, printer bidirectional interface > (class 7, proto 2). > > There are should be not so much devices, that have similar USB > configuration. Some of their drivers may work. > > On 10/25/20 3:36 AM, Ralph Little wrote: >> Hi, >> >> On 2020-10-24 4:04 p.m., Alexander Pevzner wrote: >>> On 10/25/20 12:52 AM, Ralph Little wrote: >>>> For a bit of fun (and a change of pace) I managed to check out a >>>> Samsung >>>> SCX-4100 multifunction laser. >>> >>> What is the output of lsusb -v? >>> >> Basically printer output really. >> Kinda looks like the scanner is acting through the printer interface. >> I will try with the Windows software to make sure that it does work from >> that side. >> There is a TWAIN driver and a Windows-based software suite according to >> the user manual. Well I have tried the Windows XP and 7 drivers and applications and although they can find the printer, they cannot find any scanning device. So just the same as the Linux situation which doesn't surprise me that much. I just wondered if it was doing scanning by some surreptitious means through the printer interface or by uploading some firmware. It will actually do an internal copy so the scanner actually does work. There isn't much of an interface to explore resetting. I cannot find any firmware for the machine although I can get the firmware downloading utility. I have a suspicion that the issue is with the device itself. Bit of a mystery really. Cheers, Ralph From skelband at gmail.com Tue Oct 27 03:54:00 2020 From: skelband at gmail.com (Ralph Little) Date: Mon, 26 Oct 2020 20:54:00 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> Message-ID: <6cc5c72c-88c1-a6bb-00bd-5f3f8fa32b2e@gmail.com> Hi, On 2020-10-25 3:16 a.m., Alexander Pevzner wrote: > Hi, > > Strange that it have only a singe, printer bidirectional interface > (class 7, proto 2). > > There are should be not so much devices, that have similar USB > configuration. Some of their drivers may work. > > On 10/25/20 3:36 AM, Ralph Little wrote: >> Basically printer output really. >> Kinda looks like the scanner is acting through the printer interface. >> I will try with the Windows software to make sure that it does work from >> that side. >> There is a TWAIN driver and a Windows-based software suite according to >> the user manual. >> >> Cheers, >> Ralph >> My current working theory is that someone has tried to flash the machine with a modified firmware to allow third party toner cartridges but either failed to do it properly or the firmware has been botched. I understand that there was a black market for such things for these machines. I have tried to find a stock firmware for the machine and was lead here: ftp://ftp.hp.com/pub/softlib/software13/printers/SS/ ...which appears to be a support dump from when HP acquired Samsung's printer division. Conspicuous by its absence are any files related to this particular machine :( If anyone has any ideas where I might look for the stock firmware for the SCX-4100 then I would be much obliged. Cheers, Ralph From skelband at gmail.com Tue Oct 27 05:43:19 2020 From: skelband at gmail.com (Ralph Little) Date: Mon, 26 Oct 2020 22:43:19 -0700 Subject: [sane-devel] SAMSUNG SCX-4100 In-Reply-To: References: <803c9912-5817-09c2-bfc5-3efe039a173c@apevzner.com> <3afac9a2-f174-9c58-58bb-79a84cf6091e@apevzner.com> <6cc5c72c-88c1-a6bb-00bd-5f3f8fa32b2e@gmail.com> Message-ID: <8d6c0e54-2f1a-a966-da42-8ceb03ef29f1@gmail.com> Hi, On 2020-10-26 8:59 p.m., Steven Santos wrote: > Have you tried the Linux Driver from Samsung for this model?? > > https://support.hp.com/us-en/drivers/selfservice/samsung-scx-4100-laser-multifunction-printer-series/20487163 > Well I downloaded it and gave it a try. scanimage -L finds this: device `smfp:usb;04e8;3413;8J61BAKY815410E ' is a Samsung SCX-4100 Series on USB Scanner However, any activity (as a normal user and as root) gives: scanimage: open of device smfp:usb;04e8;3413;8J61BAKY815410E? failed: Device busy I assume that is the backend's way of saying that it cannot find the interface. :( I guess it finds the USB id, without checkout out the interface configuration. Well it was worth a try, thanks. Someone else had the same experience: https://www.linuxquestions.org/questions/linux-hardware-18/problems-getting-my-samsung-scx-4100-to-run-as-a-scanner-4175580955/ I'm starting to see a pattern with this machine. Cheers, Ralph From trucsdivers95 at gmail.com Thu Oct 1 20:42:17 2020 From: trucsdivers95 at gmail.com (marick mathis) Date: Thu, 01 Oct 2020 19:42:17 -0000 Subject: [sane-devel] copier machine scanners not detected for A3 ADF auto document feeder Message-ID: https://ubuntuforums.org/showthread.php?t=2451321&p=13989838#post13989838 http://forums.debian.net/viewtopic.php?f=7&t=147524 https://www.kubuntuforums.net/showthread.php/77367-copier-machine-scanners-not-detected-for-A3-ADF-auto-document-feeder?p=440905#post440905 https://forum.kde.org/viewtopic.php?f=15&t=168091 https://askubuntu.com/questions/1279245/copier-machine-scanners-not-detected-for-a3-adf-auto-document-feeder Hi i have an issue, I just throwed it into as many forums as possible, I'd be glad if you could help on the one you prefer, regards -------------- next part -------------- An HTML attachment was scrubbed... URL: From jens.wulf at malsfeld.de Tue Oct 20 16:45:31 2020 From: jens.wulf at malsfeld.de (Jens Wulf) Date: Tue, 20 Oct 2020 17:45:31 +0200 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages Message-ID: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> I tried to scan 3 pages with: scanimage -b --format=tiff --mode Color --resolution 300dpi --source "ADF Duplex" --buffermode On I get: Scanning page 1 Scanned page 1. (scanner status = 5) Scanning page 2 Scanned page 2. (scanner status = 5) Scanning page 3 scanimage: sane_read: Error during device I/O Scanned page 3. (scanner status = 9) The scanner stops after 2nd page and blinks orange until power off. Does anyone have a hint for me? Jens From kitno455 at gmail.com Tue Oct 27 11:51:18 2020 From: kitno455 at gmail.com (m. allan noah) Date: Tue, 27 Oct 2020 07:51:18 -0400 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages In-Reply-To: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> References: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> Message-ID: If you stop using buffermode, does the problem also stop? allan On Tue, Oct 27, 2020 at 7:45 AM Jens Wulf wrote: > > I tried to scan 3 pages with: > scanimage -b --format=tiff --mode Color --resolution 300dpi --source "ADF Duplex" --buffermode On > I get: > Scanning page 1 > Scanned page 1. (scanner status = 5) > Scanning page 2 > Scanned page 2. (scanner status = 5) > Scanning page 3 > scanimage: sane_read: Error during device I/O > Scanned page 3. (scanner status = 9) > > The scanner stops after 2nd page and blinks orange until power off. > > Does anyone have a hint for me? > > Jens > -- "well, I stand up next to a mountain- and I chop it down with the edge of my hand" From strredwolf at gmail.com Tue Oct 27 11:57:44 2020 From: strredwolf at gmail.com (Kelly Price) Date: Tue, 27 Oct 2020 07:57:44 -0400 Subject: [sane-devel] Canon LiDE400 In-Reply-To: References: Message-ID: First of all... have you updated to the latest? You should have been auto-switched to the SANE Project's PPA now. That said, I think that's a "feature" of all the LiDE's. Let me check my LiDE 220... (scans in a Staedtler 6" ruler...) Yeah, there's a <1mm border that doesn't get scanned in. I'll check off my Windows PC but I've always had a cut-off at the bottom on even the LiDE 30's, so I'm not surprised it carried over. Plus... under 1mm? For what I'm scanning, it really doesn't matter. On Tue, Oct 27, 2020 at 7:45 AM Lee Dunbar wrote: > > SANE website proclaims this model is supported by Pixma back end, isn't supported by Pixma alone, I get the scanner to work using Rolf Bensch ppa. > > When scanning any document, the captured area is not the complete platen area. Might be foo in the hardware, not certain. > > From left to right, at the target corner, I lose about 1.5 to 2 mm from target side, havent explored opposite side limits. > > From top to bottom, I lose about 1.5 to 2 mm from target top edge, I lose maybe 5 mm from bottom of platen (the end which is opposite top). > > Would love to try any config file edits, if any, to assist, name the file and path, and suggest lines to be edited. -- Kelly "STrRedWolf" Price http://redwolf.ws From AxelMD at gmx.de Wed Oct 28 06:37:30 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 07:37:30 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden Message-ID: Hallo, kann mir jemand behilflich sein? https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden Vielen Dank Viele Gr??e AxelMD From jiweigert at gmail.com Wed Oct 28 09:03:12 2020 From: jiweigert at gmail.com (=?UTF-8?B?SsO2cm4tSW5nbyBXZWlnZXJ0?=) Date: Wed, 28 Oct 2020 10:03:12 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: Hallo Axel, welchen Typ (Marke/ Modell) von Netzwerkscanner setzt Du ein? Einige Modelle setzen bestimmte Protokolle voraus um ?berhaupt gefunden zu werden von ihren eigenen Treibern. Ist der Netzwerkscanner Teil eines Kopierer / AIO-Druckers oder nur ein Standalone-Scanner? Und welche Version von Sane bzw. sane-backends setzt Du ein? Mit freundlichen Gr??en, J?rn-Ingo Weigert schrieb am Mi., 28. Okt. 2020, 07:50: > Hallo, kann mir jemand behilflich sein? > > https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 > > Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden > > > > Vielen Dank > > Viele Gr??e > > AxelMD > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AxelMD at gmx.de Wed Oct 28 09:11:40 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 10:11:40 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jiweigert at gmail.com Wed Oct 28 09:36:26 2020 From: jiweigert at gmail.com (=?UTF-8?B?SsO2cm4tSW5nbyBXZWlnZXJ0?=) Date: Wed, 28 Oct 2020 10:36:26 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: Auf dem Scanserver mit Debian 10 wird der Scanner mit scan-image -L gefunden oder nur mit sudo scan-image -L? schrieb am Mi., 28. Okt. 2020, 10:11: > > Hallo J?rg und die Mailingliste, > > ich setze ein: > > ### > sudo scanimage -L > device `net:192.168.178.163 #p5915 SCSI Scanner:snapscan:/dev/sg3' is a > AGFA SNAPSCAN 310 flatbed scanner > ### > > Der Scanner wird mit Debian 9 Stretch auf dem Scanserver im Netzwerk > gefunden. > > Der Scanner wird, wenn Dibian 10 Buster auf Scanserver installiert ist im > Netzwerk nicht gefunden. > > Hoffentlich habe ich jetzt richtig in der Mailingliste geantwortet. > > Danke f?r eure Hilfe. > > VG > AxelMD > > > > *Gesendet:* Mittwoch, 28. Oktober 2020 um 10:03 Uhr > *Von:* "J?rn-Ingo Weigert" > *An:* "Sane Development" > *Betreff:* [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden > Hallo Axel, > welchen Typ (Marke/ Modell) von Netzwerkscanner setzt Du ein? > > Einige Modelle setzen bestimmte Protokolle voraus um ?berhaupt gefunden zu > werden von ihren eigenen Treibern. > > Ist der Netzwerkscanner Teil eines Kopierer / AIO-Druckers oder nur ein > Standalone-Scanner? > > Und welche Version von Sane bzw. sane-backends setzt Du ein? > > Mit freundlichen Gr??en, > > J?rn-Ingo Weigert > > schrieb am Mi., 28. Okt. 2020, 07:50: > >> Hallo, kann mir jemand behilflich sein? >> >> https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 >> >> Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden >> >> >> >> Vielen Dank >> >> Viele Gr??e >> >> AxelMD >> >> > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AxelMD at gmx.de Wed Oct 28 09:45:46 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 10:45:46 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jiweigert at gmail.com Wed Oct 28 10:10:35 2020 From: jiweigert at gmail.com (=?UTF-8?B?SsO2cm4tSW5nbyBXZWlnZXJ0?=) Date: Wed, 28 Oct 2020 11:10:35 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: Ist der User auf dem Client, auf dem Debian 10 installiert ist, in der gleichen Usergruppe (scanner) wie der Saned service? Auf einem ?hnlichen System behalf ich mir mit dem anlegen einer scan-servers.conf unterhalb von /etc/sane/ Mit der IP-Adresse des Scanservers als Inhalt. Das oben Letzt genannte ist mit Sicherheit nicht vollst?ndig und korrekt, da ich mom. unterwegs bin. Vielleicht kurz danach im Internet suchen.. Gr??e. Ingo Weigert schrieb am Mi., 28. Okt. 2020, 10:45: > Debian 9 Stretch > - Der Scanserverver arbeitet mit Debian 9 einwandfrei, die Clients finden > den Scanner. > > ### Problme ### Debian 10 Buster ### Problem ### > - Der Scanner wird mit "scanimage -L", eingegeben direkt im Terminal der > Scanservers gefunden und kann genutzt werden > - Die freigebenen Clients im Netwerk finden den Scanner nicht. > > Hier sind die erfolgten Tests dokumentiert: > > https://debianforum.de/forum/viewtopic.php?f=30&t=176958 > > https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 > *Gesendet:* Mittwoch, 28. Oktober 2020 um 10:36 Uhr > *Von:* "J?rn-Ingo Weigert" > *An:* AxelMD at gmx.de > *Cc:* "Sane Development" > *Betreff:* Re: [sane-devel] Debian 10 - Netzwerkscanner wird nicht > gefunden > Auf dem Scanserver mit Debian 10 wird der Scanner mit > scan-image -L gefunden > oder nur mit > sudo scan-image -L? > > schrieb am Mi., 28. Okt. 2020, 10:11: > >> >> Hallo J?rg und die Mailingliste, >> >> ich setze ein: >> >> ### >> sudo scanimage -L >> device `net:192.168.178.163 #p5915 SCSI Scanner:snapscan:/dev/sg3' is a >> AGFA SNAPSCAN 310 flatbed scanner >> ### >> >> Der Scanner wird mit Debian 9 Stretch auf dem Scanserver im Netzwerk >> gefunden. >> >> Der Scanner wird, wenn Dibian 10 Buster auf Scanserver installiert ist im >> Netzwerk nicht gefunden. >> >> Hoffentlich habe ich jetzt richtig in der Mailingliste geantwortet. >> >> Danke f?r eure Hilfe. >> >> VG >> AxelMD >> >> >> >> *Gesendet:* Mittwoch, 28. Oktober 2020 um 10:03 Uhr >> *Von:* "J?rn-Ingo Weigert" >> *An:* "Sane Development" >> *Betreff:* [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden >> Hallo Axel, >> welchen Typ (Marke/ Modell) von Netzwerkscanner setzt Du ein? >> >> Einige Modelle setzen bestimmte Protokolle voraus um ?berhaupt gefunden >> zu werden von ihren eigenen Treibern. >> >> Ist der Netzwerkscanner Teil eines Kopierer / AIO-Druckers oder nur ein >> Standalone-Scanner? >> >> Und welche Version von Sane bzw. sane-backends setzt Du ein? >> >> Mit freundlichen Gr??en, >> >> J?rn-Ingo Weigert >> >> schrieb am Mi., 28. Okt. 2020, 07:50: >> >>> Hallo, kann mir jemand behilflich sein? >>> >>> >>> https://debianforum.de/forum/viewtopic.php?f=30&t=176958&start=75#p1253155 >>> >>> Debian 10 - Netzwerkscanner vom Scanserver wird nicht gefunden >>> >>> >>> >>> Vielen Dank >>> >>> Viele Gr??e >>> >>> AxelMD >>> >>> >> >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From AxelMD at gmx.de Wed Oct 28 10:34:58 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 11:34:58 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden In-Reply-To: References: Message-ID: An HTML attachment was scrubbed... URL: From jens.wulf at malsfeld.de Tue Oct 27 13:04:00 2020 From: jens.wulf at malsfeld.de (Jens Wulf) Date: Tue, 27 Oct 2020 14:04:00 +0100 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages In-Reply-To: References: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> Message-ID: <584e9f22-72d1-cc20-af84-b53b85c86177@malsfeld.de> Am 27.10.2020 um 12:51 schrieb m. allan noah: > If you stop using buffermode, does the problem also stop? > > allan yes, that helps, thank you for the hint. I thought buffermode helped with the Speed-Problem, but it was the 300dpi setting. When changing this to 600dpi the scanner works really slow. From kitno455 at gmail.com Wed Oct 28 12:24:46 2020 From: kitno455 at gmail.com (m. allan noah) Date: Wed, 28 Oct 2020 08:24:46 -0400 Subject: [sane-devel] Fujitsu Scansnap ix500 stops after 2 pages In-Reply-To: <584e9f22-72d1-cc20-af84-b53b85c86177@malsfeld.de> References: <9e4b7f5e-7319-eee0-2e40-e63261c448e4@malsfeld.de> <584e9f22-72d1-cc20-af84-b53b85c86177@malsfeld.de> Message-ID: Several years ago, I had a bug report about buffermode problems with this scanner. it is possible that there are some hardware limitations here. You might see if buffermode works at lower resolutions like 100. High resolutions are generally slower, much more data is being collected. allan On Wed, Oct 28, 2020 at 8:17 AM Jens Wulf wrote: > > Am 27.10.2020 um 12:51 schrieb m. allan noah: > > If you stop using buffermode, does the problem also stop? > > > > allan > > yes, that helps, thank you for the hint. > I thought buffermode helped with the Speed-Problem, but it was the 300dpi setting. > When changing this to 600dpi the scanner works really slow. > -- "well, I stand up next to a mountain- and I chop it down with the edge of my hand" From AxelMD at gmx.de Wed Oct 28 14:13:08 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 15:13:08 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden Message-ID: Testnachricht html oder txt From AxelMD at gmx.de Wed Oct 28 19:31:44 2020 From: AxelMD at gmx.de (AxelMD at gmx.de) Date: Wed, 28 Oct 2020 20:31:44 +0100 Subject: [sane-devel] Debian 10 - Netzwerkscanner wird nicht gefunden Message-ID: Der User auf dem Client kann, wenn auf dem Scanserver Debian 9 Stretch installiert ist den Scanner ?ber das Netzwerk nutzen. Wechsel, Upgrade: Debian 9 ----> Debian 10 Ist auf dem Scanserver Debian 10 Buster installiert, kann der User vom Client im Netzwerk den Netzwerk-Scanner nicht finden. Der Scanner (Netzwerk-Scanner) kann jedoch auf dem Scanserver direkt genutzt werden. Siehe auch hier: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=950646 Kann sane-backends/1.0.31-2 aus Testing die L?sung sein? Wenn ja, wie installiere ich es sauber? In den Backports ist sane-backends/1.0.31-2 nicht enthalten. From jffry at posteo.net Sat Oct 31 20:55:18 2020 From: jffry at posteo.net (Jeff) Date: Sat, 31 Oct 2020 21:55:18 +0100 Subject: [sane-devel] gscan2pdf v2.10.0 released Message-ID: <617bf003-e5be-e98b-89dd-620ef4ca53c0@posteo.net> gscan2pdf - A GUI to produce a multipage PDF or DjVu from a scan. http://gscan2pdf.sourceforge.net/ Five clicks are required to scan several pages and then save all or a selection as a PDF or DjVu file, including metadata if required. gscan2pdf can control regular or sheet-fed (ADF) scanners with SANE via libimage-sane-perl, scanimage or scanadf, and can scan multiple pages at once. It presents a thumbnail view of scanned pages, and permits simple operations such as cropping, rotating and deleting pages. OCR can be used to recognise text in the scans, and the output embedded in the PDF or DjVu. PDF conversion is done by PDF::API2. The resulting document may be saved as a PDF, DjVu, multipage TIFF file, or single page image file. Changelog for 2.10.0: * Switch from PDF::API2 to PDF::Builder to improve TIFF handling and compression options. Closes Debian bugs 602486 (heavily distored scans) and 703768 (parts of the page translated to the right, black border) * Switch from internal image viewer to Gtk3::ImageView (based on internal image viewer) * Update to German translation (thanks to Eugen Artus) * Update to Ukrainian translation (thanks to Yuri Chornoivan) -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: OpenPGP digital signature URL: