3M AT9000 Document Reader

11 posts / 0 new
Last post
Joeri
3M AT9000 Document Reader

I am trying to get a 3M AT9000 Document Reader (http://multimedia.3m.com/mws/media/611505O/sell-sheet-at9000.pdf) working via a RaspberryPi B+.

The device is detected properly and i can install the drivers. If i run the 3M troubleshooting tool which is included it detects the device OK. But when i do a Camera test i get an error.

Unfortunately i cannot find any relevant logging on client nor server side. So i do not have much to go on. Any suggestions what to check?

Michael
what operating system are you

what operating system are you using client side? e.g windows,linux or osx?

Joeri
The client OS is Windows 7

The client OS is Windows 7 64bit

Michael
You might have to try windows

You might have to try windows 10 if possible. The reason is there is a new driver for that which is more compatible with these sorts of devices and also on your raspberry pi, make sure you have the latest firmware like this

sudo apt-get update;sudo apt-get upgrade -y;sudo rpi-update;sync;sudo reboot

Joeri
Ok, i tried the following:

Ok, i tried the following:
- update the RaspberryPi B+ to latest firmware
- switch to RaspberryPi 3
- Try Windows 10

But the result is all the same as the initial situation. Isn't there anyway to turn on debug logging or something to further analyse?

Michael
Im wondering if its a full

Im wondering if its a full speed device with in-bound isochonrous like a microphone. If so there is a bug in raspbian that prevent this from working. To see if this is the case can you ssh to your pi and make sure virutalhere server is not running then type

lsusb -v

and paste the output of that here

Joeri
Both the Omnikey and the

Both the Omnikey and the Still Image Device are inside the 3M device. The Still Image Device is the one with the problems.
Bus 001 Device 005: ID 076b:5341 OmniKey AG
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x076b OmniKey AG
idProduct 0x5341
bcdDevice 5.31
iManufacturer 1
iProduct 2
iSerial 5
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 93
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 11 Chip/SmartCard
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
ChipCard Interface Descriptor:
bLength 54
bDescriptorType 33
bcdCCID 1.00
nMaxSlotIndex 0
bVoltageSupport 7 5.0V 3.0V 1.8V
dwProtocols 3 T=0 T=1
dwDefaultClock 4800
dwMaxiumumClock 8000
bNumClockSupported 4
dwDataRate 10752 bps
dwMaxDataRate 412903 bps
bNumDataRatesSupp. 106
dwMaxIFSD 254
dwSyncProtocols 00000007 2-wire 3-wire I2C
dwMechanical 00000000
dwFeatures 000207B2
Auto configuration based on ATR
Auto clock change
Auto baud rate change
Auto PPS made by CCID
CCID can set ICC in clock stop mode
NAD value other than 0x00 accepted
Auto IFSD exchange
Short APDU level exchange
dwMaxCCIDMsgLen 271
bClassGetResponse echo
bClassEnvelope echo
wlcdLayout none
bPINSupport 0
bMaxCCIDBusySlots 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x05 EP 5 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0

Bus 001 Device 006: ID 0898:0047
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x0898
idProduct 0x0047
bcdDevice 4.00
iManufacturer 1
iProduct 2
iSerial 9
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 3
bmAttributes 0xc0
Self Powered
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 6 Imaging
bInterfaceSubClass 1 Still Image Capture
bInterfaceProtocol 0
iInterface 5
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0

Michael
OK, the camera is bulk which

OK, the camera is bulk which should be ok.

Can you do this:
1. Unplug the scanner from the pi
2. in a ssh session to the pi, watch the syslog file like this tail -f /var/log/syslog
3. Plug the scanner back in, can you see the pi try to bind any drivers to it? E.g a camera driver or a ccid driver?

Im wondering if the pi is binding some image driver or something that is disrupting that device before its shared by virtualhere. If so we can just unload that blacklist that driver on the pi.

Joeri
Here is the output of syslog

Here is the output of syslog and lsmod. Doesn't look like a driver is loaded to me.

Mar 19 04:33:49 raspberrypi kernel: [ 8213.521336] usb 1-1.3: new high-speed USB device number 7 using dwc_otg
Mar 19 04:33:49 raspberrypi kernel: [ 8213.621982] usb 1-1.3: New USB device found, idVendor=0424, idProduct=2514
Mar 19 04:33:49 raspberrypi kernel: [ 8213.622024] usb 1-1.3: New USB device strings: Mfr=0, Product=0, SerialNumber=0
Mar 19 04:33:49 raspberrypi kernel: [ 8213.637507] hub 1-1.3:1.0: USB hub found
Mar 19 04:33:49 raspberrypi kernel: [ 8213.637827] hub 1-1.3:1.0: 4 ports detected
Mar 19 04:33:49 raspberrypi kernel: [ 8214.071353] usb 1-1.3.2: new full-speed USB device number 8 using dwc_otg
Mar 19 04:33:49 raspberrypi kernel: [ 8214.254611] usb 1-1.3.2: New USB device found, idVendor=076b, idProduct=5341
Mar 19 04:33:49 raspberrypi kernel: [ 8214.254651] usb 1-1.3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=5
Mar 19 04:33:49 raspberrypi kernel: [ 8214.254671] usb 1-1.3.2: Product: Smart Card Reader USB
Mar 19 04:33:49 raspberrypi kernel: [ 8214.254688] usb 1-1.3.2: Manufacturer: OMNIKEY
Mar 19 04:33:49 raspberrypi kernel: [ 8214.254705] usb 1-1.3.2: SerialNumber: OKCM0033004140354588567345445642
Mar 19 04:33:50 raspberrypi kernel: [ 8214.581374] usb 1-1.3.1: new high-speed USB device number 9 using dwc_otg
Mar 19 04:33:50 raspberrypi kernel: [ 8214.682807] usb 1-1.3.1: New USB device found, idVendor=0898, idProduct=0047
Mar 19 04:33:50 raspberrypi kernel: [ 8214.682847] usb 1-1.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=9
Mar 19 04:33:50 raspberrypi kernel: [ 8214.682867] usb 1-1.3.1: Product: 3M Document Reader
Mar 19 04:33:50 raspberrypi kernel: [ 8214.682885] usb 1-1.3.1: Manufacturer: 3M
Mar 19 04:33:50 raspberrypi kernel: [ 8214.682901] usb 1-1.3.1: SerialNumber: 61A00002

Module Size Used by
cfg80211 479279 0
rfkill 21508 1 cfg80211
snd_bcm2835 22502 0
bcm2835_gpiomem 3703 0
bcm2835_rng 2207 0
snd_pcm 92861 1 snd_bcm2835
snd_timer 22156 1 snd_pcm
snd 67534 3 snd_bcm2835,snd_timer,snd_pcm
uio_pdrv_genirq 3526 0
uio 10078 1 uio_pdrv_genirq
ipv6 358811 26

Michael
ok unfortunately im out of

ok unfortunately im out of ideas, it looks like it should work ok. I have seen one other smart key not work and i think it was related to timing issues as just a tiny bit more latency in the communications i think was enough to stop the smartcard part working. Maybe there are strict timing contraints on this device and therefore wouldnt be compatible when the comms are sent over IP. I know yours is the camera part but pehaps its the same thing. The last thing to try is use some other device as the server and see if that works e.g a ubuntu desktop machine or something. If that worked then it might be some bug in the raspbian kernel. If the desktop still doesnt work then it must be a latency thing. I did download the sdk for that product and took a look at the "CameraTest.exe" file but i dont know how it works so it didnt give any clues as to the issue.

Joeri
Thanks for trying. I tried

Thanks for trying. I tried myself with Ubuntu 14.04 LTS but it yielded the same results. So i guess this is a no-go. Too bad as i thought this to be a great solution for the test depart.

Log in or register to post comments