When the scanner is recognised upon plugging it in, the following message appears:
usb 5-2: new full speed USB device using uhci_hcd and address 2
Bus 005 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 004 Device 002: ID 04a5:20b0 Acer Peripherals Inc. (now BenQ Corp.) S2W 3300U/4300U Bus 004 Device 001: ID 0000:0000
Check /proc/bus/usb/devices to see if the scanner was recognised and loaded a driver – look for something after the "Driver=xxx" bit. None found in my case:
T: Bus=05 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0 D: Ver= 1.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS= 8 #Cfgs= 1 P: Vendor=04a5 ProdID=20b0 Rev= 1.00 S: Manufacturer=Color S: Product= FlatbedScanner 22 C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 8 Ivl=0ms E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=16ms
As normal user, run xsane from a TerminalEmulator to see what it has to say.
Error: Failed to open device 'snapscan:libusb:005:002': Invalid argument
Running snapscan from a TerminalEmulator:
[snapscan] Cannot open firmware file /usr/share/sane/snapscan/your-firmwarefile.bin. [snapscan] Edit the firmware file entry in snapscan.conf.
Let's find the firmware for the scanner. Open System → Administration → Device Manager, scroll down/expand the tabs to the devices with names similar to:
Look for a device that has names/numbers/model/etc. associated with your scanner.
E.g. mine has "S2W 3300U/4300U" under "82801G (ICH7 Family) USB UHCI #4" tab.
Click on that device, and then in the right pane, click on 'Advanced', which shows heaps of stuff.
Look for the two lines that have the following:
Mine looks like:
Do a Google search, or look on http://snapscan.sourceforge.net/ for the product_id/vendor_id (e.g. '0x20b0' and/or 0x4a5'). I found Acer / Benq 3300 / 4300 USB 0x04a5, 0x20b0 "FlatbedScanner23" u176v046.bin.
Put the firmware in the right place:
mkdir /usr/share/sane/snapscan cp u176v046.bin /usr/share/sane/snapscan chmod -R a=r,a+X,u+w /usr/share/sane/snapscan
Ensure each part is in the correct order, e.g. loading firmware we haven't located yet, etc. (sanity check? :-) )