Logo
IT Dienstleistungen

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.


Seiten-Werkzeuge