Skip to content

Support for Avision PaperAir 215 Document scanner?

Hi, I did some investigations on the currently unsupported document scanner. Weather Avision declares Linux compatibility, neither SANE lists it as supported by the Avision backend. It is currently also not supported by the company binary SANE driver package #498 (closed).

Of course it is detected on the OS level:

dmesg ... [18429.205060] usb 2-1.2: new high-speed USB device number 4 using ehci-pci [18431.230635] usb 2-1.2: New USB device found, idVendor=0638, idProduct=2d02, bcdDevice= 1.15 [18431.230654] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [18431.230661] usb 2-1.2: Product: PaperAir 215 [18431.230665] usb 2-1.2: Manufacturer: AVISION [18431.230670] usb 2-1.2: SerialNumber: A09081987A330187

This makes it possible to guess it for SANE as well:

sudo sane-find-scanner .# 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.

.# No SCSI scanners found. If you expected something different, make sure that .# you have loaded a kernel SCSI driver for your SCSI adapter.

found possible USB scanner (vendor=0x0638 [AVISION], product=0x2d02 [PaperAir 215]) at libusb:002:004

But of course it fails to use it properly. If we make a detailed guess:

sudo sane-find-scanner -v -v This is sane-find-scanner from sane-backends 1.1.1-debian

.# 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. ...

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/usbscanner15... failed to open (Invalid argument) trying libusb:

... <device descriptor of 0x0638/0x2d02 at 002:004 (AVISION PaperAir 215)> bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 255 bDeviceSubClass 255 bDeviceProtocol 255 bMaxPacketSize0 64 idVendor 0x0638 idProduct 0x2D02 bcdDevice 1.15 iManufacturer 1 (AVISION) iProduct 2 (PaperAir 215) iSerialNumber 3 (A09081987A330187) bNumConfigurations 1 <configuration 0> bLength 9 bDescriptorType 2 wTotalLength 39 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 192 (Self-powered) MaxPower 100 mA <interface 0> <altsetting 0> bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 bInterfaceSubClass 255 bInterfaceProtocol 255 iInterface 0 () <endpoint 0> bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 <endpoint 1> bLength 7 bDescriptorType 5 bEndpointAddress 0x02 (out 0x02) bmAttributes 2 (bulk) wMaxPacketSize 512 bInterval 0 ms bRefresh 0 bSynchAddress 0 <endpoint 2> bLength 7 bDescriptorType 5 bEndpointAddress 0x83 (in 0x03) bmAttributes 3 (interrupt) wMaxPacketSize 8 bInterval 8 ms bRefresh 0 bSynchAddress 0

checking for LM983[1,2,3] ... this is not a LM983x (bcdUSB = 0x200) checking for GT-6801 ... this is not a GT-6801 (bcdUSB = 0x200) checking for GT-6816 ... this is not a GT-6816 (bDeviceClass = 255, bInterfaceClass = 255) checking for GLxxx ... this is not a GL646 (bDeviceClass = 255, bInterfaceClass = 255) this is not a GLxxx (bEndpointAddress = 0x83, bmAttributes = 0x3, wMaxPacketSize = 0x8, bInterval = 0x8)

found possible USB scanner (vendor=0x0638 [AVISION], product=0x2d02 [PaperAir 215]) at libusb:002:004

<device descriptor of 0x8087/0x0024 at 002:002> bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 9 bDeviceSubClass 0 bDeviceProtocol 1 bMaxPacketSize0 64 idVendor 0x8087 idProduct 0x0024 bcdDevice 0.00 iManufacturer 0 () iProduct 0 () iSerialNumber 0 () bNumConfigurations 1 <configuration 0> bLength 9 bDescriptorType 2 wTotalLength 25 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 () bmAttributes 224 (Self-poweredRemote Wakeup) MaxPower 0 mA <interface 0> <altsetting 0> bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 9 bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 () <endpoint 0> bLength 7 bDescriptorType 5 bEndpointAddress 0x81 (in 0x01) bmAttributes 3 (interrupt) wMaxPacketSize 1 bInterval 12 ms bRefresh 0 bSynchAddress 0

...

I read that the backend is currently unmaintained, so I'm not sure what to do ...

P.S: I asked support@avision-europe.com and service@avision-europe.com if they would share some technical documentation to enable at least unofficial SANE support, but unfortunately no feedback for now.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information