[sane-devel] unknown vendor using ls-40 with freebsd

James Beard j.beard@lexicon.net
18 Jun 2002 23:25:18 +1000

Hi all,

I'm having trouble getting my Nikon LS-40 to work with freebsd 4.3 and
sane-backends-1.0.8.  There are a number of things that I've tried, but
I've hit something of a wall.

First, some system info:

uhci0: <Intel 82371SB (PIIX3) USB controller> port 0x6000-0x601f irq 11
at device 7.2 on pci0
usb0: <Intel 82371SB (PIIX3) USB controller> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1: Chicony  Generic USB Hub, class 9/0, rev 1.10/1.00, addr 2
uhub1: 3 ports with 2 removable, bus powered
ukbd0: Chicony  PFU-65 USB Keyboard, rev 1.10/1.00, addr 3, iclass 3/1
kbd0 at ukbd0
uscanner0: Nikon LS-40 ED, rev 1.10/1.10, addr 4
ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/13.00, addr 5, iclass
ums0: 4 buttons and Z dir.

usbdevs -v
Controller /dev/usb0:
addr 1: self powered, config 1, UHCI root hub(0x0000), Intel(0x0000),
rev 0x0100
 port 1 powered
 port 2 addr 2: power 90 mA, config 1, Generic USB Hub(0x0065), Chicony
(0x0472), rev 0x0100
  port 1 addr 3: self powered, config 1, PFU-65 USB Keyboard(0x0065),
Chicony (0x0472), rev 0x0100
  port 2 addr 4: self powered, config 1, LS-40 ED(0x4000),
Nikon(0x04b0), rev 0x0110
  port 3 addr 5: low speed, power 98 mA, config 1, USB-PS/2 Optical
Mouse(0xc012), Logitech(0x046d), rev 0x1300

diffs to  /usr/src/sys/dev/usb/usbdevs
> vendor NIKON          0x04b0  Nikon
> /* Nikon products */
> product       NIKON LS40              0x4000  LS-40 ED Scanner

diffs to  /usr/src/sys/dev/usb/uscanner.c
>       /* Nikon */

I regenerated usbdevs.h and usbdevs_data.h, then recompiled and
installed the kernel.

Now, where I used to get "failed to open (Invalid argument)" from
sane-find-scanner, I'm getting the following:

sane-find-scanner: found USB scanner (UNKNOWN vendor and product) at
device /dev/uscanner
sane-find-scanner: found USB scanner (UNKNOWN vendor and product) at
device /dev/uscanner0

Some progress, but I'm out of leads.  Any ideas on what I should try