Tevion MD9693 Scanner
It's always a bit painful to get a usb-flatbed-scanner working in linux, even if you know it already have been working before.
I have the Tevion MD9693 Scanner which is driven by the artec_eplus48u module and was probably sold with different names in german supermarkets from the Medion Company.
Get in done
First, I check the actual port on the USB-bus for the Scanner (Every time the scanner is reconnected to any other usb-port, this must be done!) This is solved now with the script below
lsusb
that gives me a few lines of output for all my usb-devices, and I pick the right one for the scanner:
Bus 001 Device 008: ID 05d8:4003 Ultima Electronics Corp. Artec E+ 48U
Now it's time to copy the needed firmware file and configure the driver. The firmware resides in /usr/share/sane/artec_eplus48u/Artec48.usb
, so you need to copy the Artec48.usb file from your driver disc or the previous installed windows (or download it here.)
Now we have a working firmware, we must edit the configurationfile.
/etc/sane.d/artec_eplus48u.conf.build
I put a sample file here without comments, you need to edit your bus and device id's to match your lsusb
output we catched earlier
# EDIT HERE TO MATCH YOUR DEVICE usb 0x05d8 0x4003 #EDIT ONLY IF YOU'RE KNOW WHAT YOU DO option artecFirmwareFile /usr/share/sane/artec_eplus48u/Artec48.usb option redGamma 1.0 option greenGamma 1.0 option blueGamma 1.0 option masterGamma 1.9 option redOffset 0x28 option greenOffset 0x2f option blueOffset 0x2f option redExposure 0xa7 option greenExposure 0x116 option blueExposure 0xdc option vendorString "Tevion" option modelString "MD9693" #libusb comes here...
Final step here is to fire up yast
and install the found scanner device as TEVION/MEDION etc. 9693
device, but I think any device with the driver „artec_eplus48u“ driver should work. Yast will set the permissions from the device, so users can use the scanner with skanlite
or xsane
.
Problems with different USB-Port after reboot
I noticed problems after rebooting the machine, as everytime the scanner seems to be recognized as an other usb device number. I try to build a small script, that will fixe that on boot..
/etc/sane.d/build_cfg.sh
#!/bin/bash # Scan for scanner device on usb bus and add the right port to the scanner config # on every boot # you need a config file __WITHOUT__ the libusb entry, this script will add it #add your device DEVICE_ID="05d8:4003" CFG_FILE="/etc/sane.d/artec_eplus48u.conf" SAMPLE_CFG="/etc/sane.d/artec_eplus48u.conf.build" ## no changes needed below BUS=$(lsusb | grep $DEVICE_ID | cut -d' ' -f2) DEVICE=$(lsusb | grep $DEVICE_ID | cut -d' ' -f4 | sed s/://g) echo "updating config..." rm $CFG_FILE cp $SAMPLE_CFG $CFG_FILE #make sure there's a new line and add the entry echo -e "\ndevice libusb:$BUS:$DEVICE" >> $CFG_FILE echo "Scanner update complete!"
make it executable with chmod +x /etc/sane.d/build_cfg.sh
and put it in your startup procedure, for opensuse I just add the line
/etc/sane.d/build_cfg.sh
to /etc/init.d/boot.local
and on every boot the file should be written with the right device picked from the usb-bus.