Bug 722255 - Problem accessing HP ScanJet 5590 after F14->F15 upgrade
Summary: Problem accessing HP ScanJet 5590 after F14->F15 upgrade
Keywords:
Status: CLOSED DUPLICATE of bug 723696
Alias: None
Product: Fedora
Classification: Fedora
Component: sane-backends
Version: 15
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Nils Philippsen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-07-14 18:36 UTC by Bob Schultz
Modified: 2011-09-01 16:49 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2011-09-01 16:49:44 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bob Schultz 2011-07-14 18:36:01 UTC
Description of problem:
Scanner not seen by sane unless scanner power is unplugged and then re-powered. (Worked flawlessly in F13 and F14). Scanner shows up immediately after cold boot login via lsbusb:

[Bob@localhost ~]$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 03f0:1705 Hewlett-Packard ScanJet 5590
Bus 005 Device 002: ID 046d:c03d Logitech, Inc. M-BT96a Pilot Optical Mouse
Bus 005 Device 003: ID 046d:c315 Logitech, Inc. Classic New Touch Keyboard


but scanimage doesn't see:


[Bob@localhost ~]$ 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).

Version-Release number of selected component (if applicable):
Lastest updates on all as of 07/14/2011

How reproducible:


Steps to Reproduce:
1.Boot and login. Try to access scanner.
2.
3.
  
Actual results:
Fails to be accessible to sane. DOES show up in lsusb listing!

Expected results:

Scanner accessible.

Additional info:
===================================================================
Right after the scanimage -L shown above, following sequence was run showing scanner "Couldn't set configuration: Device or resource busy":

[Bob@localhost ~]$ sane-find-scanner -v
This is sane-find-scanner from sane-backends 1.0.22

  # 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 (Access to resource has been denied)
checking /dev/sg2... failed to open (Access to resource has been denied)
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)
  Couldn't set configuration: Device or resource busy
found USB scanner (vendor=0x03f0 [Hewlett-Packard], product=0x1705 [hp scanjet scanner], chip=GL842?) at libusb:002:002
  # 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.

  # You may want to run this program as root to find all devices. Once you
  # found the scanner devices, be sure to adjust access permissions as
  # necessary.
done
[Bob@localhost ~]$ 
========================================================================
Then set debug flag to 50:
 
[Bob@localhost ~]$ export SANE_DEBUG_HP5590=50
[Bob@localhost ~]$
========================================================================

Then ran scanimage again:

[Bob@localhost ~]$ scanimage -L
[sanei_debug] Setting debug level of hp5590 to 50.
[hp5590] SANE backed for HP ScanJet 4500C/4570C/5500C/5550C/5590/7650 1.0.5
[hp5590] (c) Ilia Sotnikov <hostcc>
[hp5590] attach_usb_device: Opening USB device
[hp5590] sane_hp5590_get_devices, local only: 0
[hp5590] Found 0 devices

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).
[hp5590] sane_hp5590_exit
[Bob@localhost ~]$
======================================================================

Next unplugged scanner power, and then replugged.

Then ran scanimage again:

[Bob@localhost ~]$ 
[Bob@localhost ~]$ scanimage -L
[sanei_debug] Setting debug level of hp5590 to 50.
[hp5590] SANE backed for HP ScanJet 4500C/4570C/5500C/5550C/5590/7650 1.0.5
[hp5590] (c) Ilia Sotnikov <hostcc>
[hp5590] attach_usb_device: Opening USB device
[hp5590] attach_usb_device: USB device opened
[hp5590] hp5590_init_scanner
[hp5590] hp5590_cmd: USB-in-USB: command : 0012
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 0012, last command: 0012, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] HP5590 flags (0x02)
[hp5590] HP5590 flags: ADF yes, TMA no, LCD no
[hp5590] HP5590 firmware version: 0.067
[hp5590] HP5590 max resolution X: 2400 DPI
[hp5590] HP5590 max resolution Y: 2400 DPI
[hp5590] HP5590 max pixels X: 20400
[hp5590] HP5590 max pixels Y: 28128
[hp5590] HP5590 max size X: 8.500 inches
[hp5590] HP5590 max size Y: 11.720 inches
[hp5590] HP5590 normal motor param: 100, max motor param: 1000
[hp5590] hp5590_get_status
[hp5590] hp5590_init_scanner: scanner status OK
[hp5590] attach_usb_device: found HP5590 scanner at 'libusb:002:003'
[hp5590] attach_usb_device: Reading max scan count
[hp5590] hp5590_read_max_scan_count
[hp5590] Reading max scan count
[hp5590] hp5590_read_eeprom
[hp5590] Reading EEPROM: addr 0010, size 3
[hp5590] hp5590_cmd: USB-in-USB: command : 00f2
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: getting response
[hp5590] hp5590_control_msg: USB-in-USB: got correct response
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 00f2, last command: 00f2, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] hp5590_cmd: USB-in-USB: command : 0bf0
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 00f0, last command: 00f0, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] Max scan count 1118977
[hp5590] attach_usb_device: Max Scanning count 1118977
[hp5590] attach_usb_device: Reading scan count
[hp5590] hp5590_read_scan_count
[hp5590] Reading scan count
[hp5590] hp5590_read_eeprom
[hp5590] Reading EEPROM: addr 0000, size 4
[hp5590] hp5590_cmd: USB-in-USB: command : 00f2
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: getting response
[hp5590] hp5590_control_msg: USB-in-USB: got correct response
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 00f2, last command: 00f2, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] hp5590_cmd: USB-in-USB: command : 0bf0
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 00f0, last command: 00f0, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] Scan count 1040
[hp5590] attach_usb_device: Scanning count 1040
[hp5590] hp5590_read_part_number
[hp5590] hp5590_read_eeprom
[hp5590] Reading EEPROM: addr 001a, size 10
[hp5590] hp5590_cmd: USB-in-USB: command : 00f2
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: getting response
[hp5590] hp5590_control_msg: USB-in-USB: got correct response
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 00f2, last command: 00f2, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] hp5590_cmd: USB-in-USB: command : 0bf0
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 00f0, last command: 00f0, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] Part number: 'N66BSR0CQ'
[hp5590] hp5590_stop_scan
[hp5590] hp5590_cmd: USB-in-USB: command : 011b
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if data was accepted
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: getting response
[hp5590] hp5590_control_msg: USB-in-USB: got correct response
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification requested
[hp5590] hp5590_control_msg: USB-in-USB: core data: no
[hp5590] hp5590_control_msg: USB-in-USB: sending control msg
[hp5590] hp5590_control_msg: USB-in-USB: checking acknowledge for control message
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_control_msg: USB-in-USB: checking if confirmation was acknowledged
[hp5590] hp5590_get_ack
[hp5590] hp5590_get_ack: USB-in-USB: accepted
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verification 001b, last command: 001b, core status: 0000
[hp5590] hp5590_verify_last_cmd: USB-in-USB: command verified successfully
[hp5590] sane_hp5590_get_devices, local only: 0
[hp5590] Found 1 devices
device `hp5590:libusb:002:003' is a HP 5590 Workgroup scanner
[hp5590] sane_hp5590_exit
[Bob@localhost ~]$ 

As shown, repowering the scanner "kicked something" into working. Seems like some sort of initialization problem.

Comment 1 Bob Schultz 2011-07-19 22:18:30 UTC
Update--This does not appear to be a SANE problem. Debugging the sane internals, the attempt to open the properly identified device fails with a BUSY condition. I wrote the following code to report the status in boot-up state, and as shown, it reports a kernel driver active on the device, which precludes a SANE opening:

	#include <stdio.h>
	
	#include <libusb.h>
	


	int main(void)
	{
	        libusb_device_handle **dev;
		
		uint16_t vendor_id;
		uint16_t product_id;
		
	        int r;
		
		vendor_id = 0x03f0;
		product_id = 0x1705;
		
	
	        r = libusb_init(NULL);
	        if (r < 0)
	                return r;
	
	        *dev = libusb_open_device_with_vid_pid(NULL, vendor_id, product_id );
	        if (*dev == NULL)
	                return 16;
		printf("Opened HP5590 device handle\n");
		/*return 0;*/

		r = libusb_kernel_driver_active(*dev,0);

		printf("Returning kernel probe with code %d\n",r);
	
		
/*		r = libusb_reset_device(*dev);
		
		libusb_close(*dev);

(This is a commented out fragment which successfully resets the connection
effectively serving as an unplug/re-plug of the device)
*/

	        libusb_exit(NULL);
		
		printf("Returning with code %d\n",r);
	        return r;
	}

[Bob@localhost resetusb]$ ./listusb-kernel
Opened HP5590 device handle
Returning kernel probe with code 1
Returning with code 1
[Bob@localhost resetusb]$ 

There appears to be an initialization problem at boot time leaving a kernel driver attached to the device, blocking access by SANE.

Any help in resolving this problem would be appreciated. No such problems occurred in F13 or F14 previously.

Sane fails in sanei_usb.c with errno == EBUSY

      /* Claim the interface */
      result = usb_claim_interface (devices[devcount].libusb_handle,
				    devices[devcount].interface_nr);
      if (result < 0)
	{
	  SANE_Status status = SANE_STATUS_INVAL;

	  DBG (1, "sanei_usb_open: libusb complained: %s\n", usb_strerror ());
	  if (errno == EPERM)
	    {
	      DBG (1, "Make sure you run as root or set appropriate "
		   "permissions\n");
	      status = SANE_STATUS_ACCESS_DENIED;
	    }
	  else if (errno == EBUSY)
	    {
	      DBG (1, "Maybe the kernel scanner driver claims the "
		   "scanner's interface?\n");
	      status = SANE_STATUS_DEVICE_BUSY;
	    }
	  usb_close (devices[devcount].libusb_handle);
	  return status;
	}

Comment 2 Bob Schultz 2011-07-20 20:04:51 UTC
Refer to new bug report https://bugzilla.redhat.com/show_bug.cgi?id=723696 specifically addressing the usb port problem.

Comment 3 Nils Philippsen 2011-09-01 16:49:44 UTC
Sorry for chiming in late (was on vacation when you filed this).

I'd argue that this is a regression on the kernel side, re your comments in bug #723696. I'll close this bug as a duplicate of it.

*** This bug has been marked as a duplicate of bug 723696 ***


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