[sane-devel] Kyocera Scanner not working in any Linux Distro

Steven Santos steven at stevensantos.com
Wed Mar 15 04:13:26 GMT 2023


The SANE driver for the TaskAlpha 1800 is from 2014.  It's a compiled
binary.

Starting with Ubuntu 17.10, Ubuntu changed the directory where dll looks
for third party drivers in. This configuration effectively broke backward
compatibility for many third-party drivers. Third party sane drivers in
previous version of sane were located under /usr/lib/sane/, however, the
current version of sane on Ubuntu only looks for 64 bit drivers under the
/usr/lib/x86_64-linux-gnu/sane directory. Many third party scanner issues
can be resolved by placing the proper sym links.

Likewise, Ubuntu 17.10 printer related udev rules appear to be clobbering a
number of third-party scanner rules (more common with all-in-one type
devices). To complicate matters further, the Ubuntu specific sane-backends
rules may clobber part of those printer rules yet again.

Thus far, the only known workaround to these two issues is to symlink the
old drivers to the new folder, and to manually edit the udev rules.

On Tue, Mar 14, 2023 at 10:55 PM jitesh pandey <jsjpandey at gmail.com> wrote:

> Dear all,
>
> Since it's been year or so asking for help and I great full for your reply
> but the problem doesn't get solved till date.
> So after the last query I tried some other method like installing the
> older version of sane, installing the older versions of distros in which
> sometimes it works but I cannot save the log as it's not confirm the try
> you are making will work or not, it's like one in hundredths try , I will
> say only one time it works then never. Futher I tried it with Windows OS
> where I found out that it only save in BMP file format not in any other
> format with its old Scan and Fax software only not with modern softwares.
> It feels like it works on old concept of scanning so would love to hear
> your say in this.
>
> Thankyou
>
> On Wednesday, April 27, 2022, jitesh pandey <jsjpandey at gmail.com> wrote:
>
>> Dear Ralph, I tried your suggestion, as the output I got was not that big
>> so I am pasting here for better explanation, as you can see we are getting
>> the same invalid argument error.
>>
>> *LIBUSB_DEBUG=10 scanimage -d kyocera_gdi_a3 -T*
>> Output format is not set, using pnm as a default.
>> [timestamp] [threadID] facility level [function call] <message>
>>
>> --------------------------------------------------------------------------------
>> [ 0.000036] [00007a4b] libusb: debug [libusb_init] libusb v1.0.26.11724
>> [ 0.000077] [00007a4b] libusb: debug [usbi_add_event_source] add fd 3
>> events 1
>> [ 0.000092] [00007a4b] libusb: debug [usbi_io_init] using timer for
>> timeouts
>> [ 0.000097] [00007a4b] libusb: debug [usbi_add_event_source] add fd 4
>> events 1
>> [ 0.000129] [00007a4b] libusb: debug [get_kernel_version] reported kernel
>> version is 5.17.3-arch1-1
>> [ 0.000218] [00007a4b] libusb: debug [op_init] found usbfs at /dev/bus/usb
>> [ 0.000225] [00007a4b] libusb: debug [op_init] max iso packet length is
>> (likely) 98304 bytes
>> [ 0.000238] [00007a4b] libusb: debug [op_init] sysfs is available
>> [ 0.000712] [00007a4c] libusb: debug [linux_udev_event_thread_main] udev
>> event thread entering
>> [ 0.008081] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: usb1 detached: 0
>> [ 0.008149] [00007a4b] libusb: debug [linux_get_device_address] scan usb1
>> [ 0.008293] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=1
>> [ 0.008313] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 1 session_id 257
>> [ 0.008329] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/1 (session 257)
>> [ 0.008614] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-3 detached: 0
>> [ 0.008633] [00007a4b] libusb: debug [linux_get_device_address] scan 1-3
>> [ 0.008723] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=106
>> [ 0.008731] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 106 session_id 362
>> [ 0.008739] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/106 (session 362)
>> [ 0.008797] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe46e0 (1-3) has parent 0x55ca7ffe4580 (usb1) port 3
>> [ 0.009175] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-4 detached: 0
>> [ 0.009202] [00007a4b] libusb: debug [linux_get_device_address] scan 1-4
>> [ 0.009291] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=7
>> [ 0.009304] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 7 session_id 263
>> [ 0.009313] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/7 (session 263)
>> [ 0.009362] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe4af0 (1-4) has parent 0x55ca7ffe4580 (usb1) port 4
>> [ 0.009606] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-5 detached: 0
>> [ 0.009622] [00007a4b] libusb: debug [linux_get_device_address] scan 1-5
>> [ 0.009701] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=2
>> [ 0.009711] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 2 session_id 258
>> [ 0.009720] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/2 (session 258)
>> [ 0.009799] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe4c90 (1-5) has parent 0x55ca7ffe4580 (usb1) port 5
>> [ 0.010001] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-5.2 detached: 0
>> [ 0.010016] [00007a4b] libusb: debug [linux_get_device_address] scan 1-5.2
>> [ 0.010101] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=4
>> [ 0.010111] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 4 session_id 260
>> [ 0.010122] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/4 (session 260)
>> [ 0.010233] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe5340 (1-5.2) has parent 0x55ca7ffe4c90 (1-5) port 2
>> [ 0.010571] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-6 detached: 0
>> [ 0.010591] [00007a4b] libusb: debug [linux_get_device_address] scan 1-6
>> [ 0.010654] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=3
>> [ 0.010669] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 3 session_id 259
>> [ 0.010680] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/3 (session 259)
>> [ 0.010750] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe5730 (1-6) has parent 0x55ca7ffe4580 (usb1) port 6
>> [ 0.010976] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-6.1 detached: 0
>> [ 0.010990] [00007a4b] libusb: debug [linux_get_device_address] scan 1-6.1
>> [ 0.011072] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=5
>> [ 0.011083] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 5 session_id 261
>> [ 0.011096] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/5 (session 261)
>> [ 0.011179] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe5540 (1-6.1) has parent 0x55ca7ffe5730 (1-6) port 1
>> [ 0.011412] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: 1-6.2 detached: 0
>> [ 0.011424] [00007a4b] libusb: debug [linux_get_device_address] scan 1-6.2
>> [ 0.011675] [00007a4b] libusb: debug [linux_get_device_address] bus=1
>> dev=6
>> [ 0.011698] [00007a4b] libusb: debug [linux_enumerate_device] busnum 1
>> devaddr 6 session_id 262
>> [ 0.011709] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 1/6 (session 262)
>> [ 0.011784] [00007a4b] libusb: debug [linux_get_parent_info] dev
>> 0x55ca7ffe4650 (1-6.2) has parent 0x55ca7ffe5730 (1-6) port 2
>> [ 0.011972] [00007a4b] libusb: debug [linux_get_device_address] getting
>> address for device: usb2 detached: 0
>> [ 0.011982] [00007a4b] libusb: debug [linux_get_device_address] scan usb2
>> [ 0.012051] [00007a4b] libusb: debug [linux_get_device_address] bus=2
>> dev=1
>> [ 0.012063] [00007a4b] libusb: debug [linux_enumerate_device] busnum 2
>> devaddr 1 session_id 513
>> [ 0.012073] [00007a4b] libusb: debug [linux_enumerate_device] allocating
>> new device for 2/1 (session 513)
>> [ 0.012450] [00007a4b] libusb: warning [libusb_init] installing new
>> context as implicit default
>> [ 0.012575] [00007a4b] libusb: debug [libusb_get_device_list]
>> [ 0.012619] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012639] [00007a4b] libusb: debug [libusb_open] open 2.1
>> [ 0.012682] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/002/001, errno=13
>> [ 0.012692] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.012701] [00007a4b] libusb: debug [libusb_open] open 2.1 returns -3
>> [ 0.012711] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012719] [00007a4b] libusb: debug [libusb_open] open 1.6
>> [ 0.012740] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/001/006, errno=13
>> [ 0.012748] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.012757] [00007a4b] libusb: debug [libusb_open] open 1.6 returns -3
>> [ 0.012764] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012772] [00007a4b] libusb: debug [libusb_open] open 1.5
>> [ 0.012801] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/001/005, errno=13
>> [ 0.012812] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.012820] [00007a4b] libusb: debug [libusb_open] open 1.5 returns -3
>> [ 0.012826] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012833] [00007a4b] libusb: debug [libusb_open] open 1.3
>> [ 0.012854] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/001/003, errno=13
>> [ 0.012862] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.012868] [00007a4b] libusb: debug [libusb_open] open 1.3 returns -3
>> [ 0.012875] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012884] [00007a4b] libusb: debug [libusb_open] open 1.4
>> [ 0.012900] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/001/004, errno=13
>> [ 0.012911] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.012916] [00007a4b] libusb: debug [libusb_open] open 1.4 returns -3
>> [ 0.012927] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012936] [00007a4b] libusb: debug [libusb_open] open 1.2
>> [ 0.012959] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/001/002, errno=13
>> [ 0.012970] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.012980] [00007a4b] libusb: debug [libusb_open] open 1.2 returns -3
>> [ 0.012989] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.012997] [00007a4b] libusb: debug [libusb_open] open 1.7
>> [ 0.013065] [00007a4b] libusb: debug [usbi_add_event_source] add fd 7
>> events 4
>> [ 0.013088] [00007a4b] libusb: debug [libusb_get_configuration]
>> [ 0.013154] [00007a4b] libusb: debug [libusb_get_configuration] active
>> config 1
>> [ 0.013172] [00007a4b] libusb: debug [libusb_close]
>> [ 0.013189] [00007a4b] libusb: debug [usbi_remove_event_source] remove fd
>> 7
>> [ 0.013214] [00007a4b] libusb: debug [libusb_get_config_descriptor] index
>> 0
>> [ 0.013259] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.013268] [00007a4b] libusb: debug [libusb_open] open 1.106
>> [ 0.013305] [00007a4b] libusb: debug [usbi_add_event_source] add fd 7
>> events 4
>> [ 0.013315] [00007a4b] libusb: debug [libusb_get_configuration]
>> [ 0.013401] [00007a4b] libusb: debug [libusb_get_configuration] active
>> config 1
>> [ 0.013414] [00007a4b] libusb: debug [libusb_close]
>> [ 0.013420] [00007a4b] libusb: debug [usbi_remove_event_source] remove fd
>> 7
>> [ 0.013432] [00007a4b] libusb: debug [libusb_get_config_descriptor] index
>> 0
>> [ 0.013450] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.013463] [00007a4b] libusb: debug [libusb_open] open 1.1
>> [ 0.013483] [00007a4b] libusb: error [get_usbfs_fd] libusb couldn't open
>> USB device /dev/bus/usb/001/001, errno=13
>> [ 0.013490] [00007a4b] libusb: error [get_usbfs_fd] libusb requires write
>> access to USB device nodes
>> [ 0.013496] [00007a4b] libusb: debug [libusb_open] open 1.1 returns -3
>> [ 0.015605] [00007a4b] libusb: debug [libusb_open] open 1.106
>> [ 0.015682] [00007a4b] libusb: debug [usbi_add_event_source] add fd 8
>> events 4
>> [ 0.015691] [00007a4b] libusb: debug [libusb_get_configuration]
>> [ 0.015759] [00007a4b] libusb: debug [libusb_get_configuration] active
>> config 1
>> [ 0.015769] [00007a4b] libusb: debug [libusb_get_device_descriptor]
>> [ 0.015775] [00007a4b] libusb: debug [libusb_get_config_descriptor] index
>> 0
>> [ 0.015939] [00007a4b] libusb: debug [libusb_set_configuration]
>> configuration 1
>> [ 0.015975] [00007a4b] libusb: debug [libusb_claim_interface] interface 1
>> [ 0.016011] [00007a4b] libusb: debug [libusb_get_config_descriptor] index
>> 0
>> [ 0.016052] [00007a4b] libusb: debug [libusb_submit_transfer] transfer
>> 0x55ca7ffe02f0
>> [ 0.016059] [00007a4b] libusb: debug [add_to_flying_list] arm timer for
>> timeout in 30000ms (first in line)
>> [ 0.016100] [00007a4b] libusb: debug
>> [libusb_handle_events_timeout_completed] doing our own event handling
>> [ 0.016107] [00007a4b] libusb: debug [handle_events] event sources
>> modified, reallocating event data
>> [ 0.016115] [00007a4b] libusb: debug [usbi_wait_for_events] poll() 3 fds
>> with timeout in 60000ms
>> [ 5.947290] [00007a4b] libusb: debug [usbi_wait_for_events] poll()
>> returned 1
>> [ 5.947345] [00007a4b] libusb: debug [reap_for_handle] urb type=2
>> status=0 transferred=6
>> [ 5.947355] [00007a4b] libusb: debug [handle_control_completion] handling
>> completion status 0
>> [ 5.947365] [00007a4b] libusb: debug [arm_timer_for_next_timeout] no
>> timeouts, disarming timer
>> [ 5.947377] [00007a4b] libusb: debug [usbi_handle_transfer_completion]
>> transfer 0x55ca7ffe02f0 has callback 0x7f2f869cd5a0
>> [ 5.947387] [00007a4b] libusb: debug [sync_transfer_cb] actual_length=6
>> [ 5.947399] [00007a4b] libusb: debug [libusb_free_transfer] transfer
>> 0x55ca7ffe02f0
>> *scanimage: open of device kyocera_gdi_a3 failed: Invalid argument*
>> [ 5.947455] [00007a4b] libusb: debug [libusb_release_interface] interface
>> 1
>> [ 5.947499] [00007a4b] libusb: debug [libusb_close]
>> [ 5.947511] [00007a4b] libusb: debug [usbi_remove_event_source] remove fd
>> 8
>>
>>
>>
>>
>> On Wed, Apr 27, 2022 at 8:06 AM Ralph Little <skelband at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> On 2022-04-26 02:06, jitesh pandey wrote:
>>>
>>> Ok, thanks for reply, now take a look at the following, maybe you could
>>> find something into it
>>>
>>>
>>> *scanimage --list-devices device `kyocera_gdi_a3:libusb:001:029' is a
>>> Kyocera TASKalfa 1800 multi-functional device*
>>>
>>> So scanimage list the device as *kyocera_gdi_a3 *but when I test it as
>>>
>>> scanimage -d kyocera_gdi_a3 -T
>>>
>>> *Output format is not set, using pnm as a default. scanimage: open of
>>> device kyocera_gdi_a3 failed: Invalid argument*
>>>
>>> So there is no luck in it further without any argument
>>>
>>> SANE_DEBUG_KYOCERA_GDI_A3=255 scanimage -T
>>> Output format is not set, using pnm as a default.
>>> [kyocera_debug] Setting debug level of kyocera_gdi_a3 to 255.
>>> [kyocera_gdi_a3] >>sane_init
>>> [kyocera_gdi_a3] sane_init() : Kyocera backend (build 1), version !=
>>> null, authorize != null
>>> [kyocera_gdi_a3] <<sane_init
>>> [kyocera_gdi_a3] >>sane_get_devices
>>> [kyocera_gdi_a3] sane_get_devices() : start reading config file
>>> kyocera_gdi_a3.conf
>>> [kyocera_gdi_a3] sane_get_devices() : usb 0x0482 0x0606
>>> [kyocera_gdi_a3] attach_one_usb()
>>> [kyocera_gdi_a3] attach_one()
>>> [kyocera_gdi_a3] connect_scanner() : INFO : connecting usb scanner
>>> device libusb:001:029
>>> [kyocera_gdi_a3] connect_scanner() : successfully connected to usb
>>> scanner
>>> [kyocera_gdi_a3] attach_one() : vendor 0x482, product 0x606
>>> [kyocera_gdi_a3] sane_get_devices() : usb 0x0482 0x0607
>>> [kyocera_gdi_a3] sane_get_devices() : usb 0x0482 0x0608
>>> [kyocera_gdi_a3] sane_get_devices() : usb 0x0482 0x0609
>>> [kyocera_gdi_a3] sane_get_devices() : finished reading config file
>>> kyocera_gdi_a3.conf
>>> [kyocera_gdi_a3] sane_get_devices() : found Kyocera scanner in
>>> libusb:001:029
>>> [kyocera_gdi_a3] sane_get_devices() : Kyocera scanners found 1
>>> [kyocera_gdi_a3] <<sane_get_devices
>>> [kyocera_gdi_a3] >>sane_open
>>> [kyocera_gdi_a3] get_device_from_name() : name = libusb:001:029
>>>
>>>
>>> scanimage: open of device kyocera_gdi_a3:libusb:001:029 failed: Invalid
>>> argument
>>>
>>>
>>> This certainly seems to be the source of the problem.
>>>
>>> Firstly, I would check that the scanner doesn't require some manual
>>> operation to ready it for USB scanning.
>>>
>>> Secondly, since we don't have access to the Kyocera SANE backend source,
>>> perhaps we could get some more info from libusb:
>>>
>>> LIBUSB_DEBUG=10 scanimage -d kyocera_gdi_a3 -T
>>>
>>> There is likely to be a lot of output.
>>> Perhaps stick into a file and give us a link to somewhere to download,
>>> or if the problematic part is obvious, then give let us see that segment
>>> with a bit of surrounding context.
>>>
>>> Cheers,
>>> Ralph
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/sane-devel/attachments/20230315/65e509f4/attachment-0001.htm>


More information about the sane-devel mailing list