[sane-devel] HP 7450C ... addendum

Rene Rebe rene.rebe@gmx.net
Mon, 30 Jun 2003 10:49:09 +0200 (CEST)


Hi,

On: 29 Jun 2003 21:45:37 -0700,
    Thomas Frayne <tomf@sjpc.org> wrote:

> On Sun, 2003-06-29 at 14:25, Rene Rebe wrote: =

> =

> > Which host controller chip and respective kernel driver is this?

[...]

> Jun 29 07:33:06 localhost kernel: usb-ohci.c: USB OHCI at membase
> 0xf0870000, IRQ 5
> Jun 29 07:33:06 localhost kernel: usb-ohci.c: usb-00:0b.0, NEC
> Corporation USB

Ah - ohci! The ohci driver in the kernel should be fine. It works with
my SiS based Athlon boards and my iBook ... (in the last weeks I
notices many problems with the two uhci drivers in general - not
related to SANE/Avision).

> Jun 29 07:33:06 localhost kernel: ehci-hcd 00:0b.2: NEC Corporation U=
SB
> 2.0
> Jun 29 07:33:06 localhost kernel: ehci-hcd 00:0b.2: irq 10, pci mem
> f087a000
> Jun 29 07:33:06 localhost kernel: usb.c: new USB bus registered,
> assigned bus number 3
> Jun 29 07:33:06 localhost kernel: PCI: 00:0b.2 PCI cache line size se=
t
> incorrectly (32 bytes) by BIOS/FW.
> Jun 29 07:33:06 localhost kernel: PCI: 00:0b.2 PCI cache line size
> corrected to 128.
> Jun 29 07:33:06 localhost kernel: ehci-hcd 00:0b.2: USB 2.0 enabled,
> EHCI 0.95, driver 2003-Jan-22

Hm - or ehci?

Could you send the output of lsusb?

> > If communication via libusb is not reliable for you, you still can =
use
> > the "deprecated" hpusbscsi driver in the kernel - but _not_ the
> > scanner driver.
> =

> =

> I've tried so many configuration variations over the last couple of
> weeks that I've gotten confused about what configuration settings do
> what.  I don't think I understand the terminology.

Ok - I rephrase it:

There is a generic USB scanner driver in the kernel. The resulting
module is named scanner.o. This driver does not work with Avision/HP
scanners. You should no try to force it's loading.

Instead you should use access via libusb. Libusb is a normal library
(libusb.so in /usr/lib or so) which allows low-level access to usb
devices from user-space applications. This library is automatically
used when the permissions in /proc/bus/usb/0*/* allow you to access
the device. But unfortunately this results in strance timeouts on your
system. So as short time soluion and test you could try:

Access via the "depricated" hpusbscsi driver. It is a kernel driver
which name is hpusbscsi.o. It was written to access Avision and HP usb
scanners via an emulated SCSI interface (/dev/sg?). When the hpusbscsi
module is loaded the scanner would look like a scsi device.

> I now think I should avoid using the scanner driver.  Would
> rmmod scanner =

> do this for me, or is something else necessary?  How can I tell wheth=
er
> or not I am using the scanner driver?

lsmod lists the loaded kernel modules. A rmmod scanner does only
unload the driver until the next reboot. You need to modify the place
where it gets loaded on your distribution (maybe hotplug so
/etc/hotplug ...) or you "simply" remove the scanner.o file in
/lib/modules/<kernel-ver>/... from your disk (if you do not have other
USB scanners that needs to be accessed via the module ...)

> I would like to use libusb, but I have not been able to figure out wh=
at
> causes the libusb driver to be loaded.  Some parts of my system refer=
 to

There is no libusb "driver" - it is a normal user-space library. Youl
only need the usbfb mounted to /proc/bus/usb - and the permissions
must allow your user to access the device.

> usbfs; others refer to usbdevfs.  I think I need everything in the
> system refering to one or everything to the other, but when I tried
> changing the usbdevfs references to usbfs, I produced a system that
> would not boot, and had to restore a backup.

If RedHat likes the usbdevfs name simply leave it as it is. usbdevfs
and usbfs are the same. (That one alias is depricate and will
disappear in the future does only need to wory RedHat - not you)

> What is the best way to get back to a clean system?
> Is there a modprobe command I should be using to load the libusb
> driver?  If so, should I add it to /etc/rc.d/rc.local to get it to ru=
n
> during boot?

As written above - only usbfs need to be mounted and the permissions
needs to be correct. Nothing else - no kernel driver.

> My guess is that =

> modprobe scanner vendor=3D0x03f0 product=3D0x0801
> should be added to /etc/rc.d/rc.local.  Is that right?  If so,  what
> else needs to be done?

Nope - please do not force to load the not SANE/Avision compatible
scanner driver.

> What should be done to get the scanner mounted as rw with permissions=

> for everyone to use it?  The things I have tried with fstab did not
> work, since the system tried to mount it twice.
> =

> I currently have hpusbbscsi disabled.  Should both libusb and hpusbbs=
csi
> be enabled?

You can use hpusbscsi - it should work fine - but when you use the new
libusb access method - the hpusbscsi module should not be loaded.

Sincerely yours,
  Ren=E9 Rebe
    - ROCK Linux stable release maintainer

--  =

Ren=E9 Rebe - Europe/Germany/Berlin
  rene@rocklinux.org rene.rebe@gmx.net
http://www.rocklinux.org http://www.rocklinux.org/people/rene       =

http://gsmp.tfh-berlin.de/gsmp http://gsmp.tfh-berlin.de/rene