From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 X-Virus-Scanned: amavisd-new at nsrz.ru From: =?koi8-r?b?4czFy9PFyiD7xc7Dxdc=?= Organization: =?utf-8?b?0J7QkNCe?= "=?utf-8?b?0J3QodCg0Jc=?=" To: hardware@lists.altlinux.org Date: Thu, 31 Jan 2008 17:01:29 +0300 User-Agent: KMail/1.9.7 References: <2182991201457066@webmail21.yandex.ru> <200801300935.40462.ashen@nsrz.ru> <20080131172829.1bb92775@debian> In-Reply-To: <20080131172829.1bb92775@debian> X-Face: 'QRI*AI~am"KKk`p4bg0l4ch1, =?utf-8?q?=5BP=7EF=5Ew-u!q=5Bv=2EWl=24=7Bjo=7D68Zshm=25-QSKu=7C5=7D8pnQwrD?= =?utf-8?q?=27J=0A=09=5Ex0BM=3FY=7CT?=)32~xr1='^e[i}1&jf_o/X Subject: Re: [Hardware] Epson Perfection 1270 X-BeenThere: hardware@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: hardware@lists.altlinux.org List-Id: ALT Linux hardware support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Jan 2008 14:03:09 -0000 Archived-At: List-Archive: List-Post: --Boundary-00=_6SdoHX057MXniZG Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: base64 Content-Disposition: inline 9yDTz8/C3cXOyckgz9QgVGh1cnNkYXkgMzEgSmFudWFyeSAyMDA4IDE2OjI4OjI5IEFsZWtzZXkg S29yb3Rrb3YgzsHQydPBzCjBKToKPiDpztTF0sXT1cDULiDzwc0g0M/LwSDF3aMgzsUg0NLPws/X wcwg2sHXxdPUySwg19OjIM7FIMTPINzUz8fPIMLZzM8sIM7PCj4g08/CydLBwNPYLiDwz9TPzdUg 1dPQxdvO2cogz9DZ1CDXxdPYzcEgyc7UxdLF08XOLgoxKSDO1dbOzyDV09TBzs/XydTYIHNhbmUu IPPCz9LLwSDTIMvP1M/Sz8og1SDNxc7RIM/OINrB16PM09Eg19rRzCDJ2iDTydrJxsEuIAr3z9Qg 3NTJINDBy8XU2ToKW3Jvb3RAb2FzdTMgL10jIHJwbSAtcWEgfCBncmVwIHNhbmUgfCBzb3J0Cmxp YnNhbmUtMS4wLjE4LWFsdDYKc2FuZS0xLjAuMTgtYWx0Ngpbcm9vdEBvYXN1MyAvXSMK7sHExcDT 2CDTy8/SzyDC1cTV1CDXIMLSwc7exS4KMikKL2V0Yy9zYW5lLmQvZGxsLmNvbmYKL2V0Yy9zYW5l LmQvZXBrb3dhLmNvbmYKL2V0Yy9zYW5lLmQvc25hcHNjYW4uY29uZgrzzS4g188g18zP1sXOycku CjMpIGZpcm13YXJlIGVzZnczZS5iaW4gwsXSo80gydog18nOxM/Xz9rP19PLycggxNLP1yDP1CDc 1M/HzyDTy8HOxdLBIMkgCtXLzMHE2dfBxc0g1NXEwSwg3tTPINXLwdrBzMkg1yAvZXRjL3NuYXBz Y2FuLmNvbmYKNCkg7c/WxdQgySDMydvOyc0sIM7PINEg0sXbycwg3tTPIMLBxyAKaHR0cHM6Ly9i dWd6aWxsYS5hbHRsaW51eC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzU5CszV3tvFIMnT0NLB18nU 2Cwg0M8g08XN1SAvZXRjL2hvdHBsdWcvdXNiLnJjINPNLiDXzyDXzM/Wxc7JyS4KNSkg8NLP18XS 2NTFLCDe1M8g1yAvZXRjL2hvdHBsdWcvdXNiL2xpYnNhbmUudXNlcm1hcCDQ0snT1dTT1NfVxdQg 1MHLwdEgCtPU0s/LwToKbGlidXNic2Nhbm5lciAweDAwMDMgMHgwNGI4IDB4MDEyMCAweDAwMDAg MHgwMDAwIDB4MDAgMHgwMCAweDAwIDB4MDAgMHgwMCAweDAwIAoweDAwMDAwMDAwCgru1SDX0s/E xSDQ0snOw8nQxSDJINfToy4KLS0gCvMg1dfB1sXOycXNIPvFzsPF1yDhzMXL08XKIPfMwcTJzcnS z9fJ3i4KRS1tYWlsOiBhc2hlbkBuc3J6LnJ1ClhNUFA6IGFzaGVuQGFsdGxpbnV4Lm9yZywgQWxl eFNoZW5AamFiYmVyLnJ1CklDUTogMjcxMDUzODQ1Cg== --Boundary-00=_6SdoHX057MXniZG Content-Type: text/plain; charset="koi8-r"; name="dll.conf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="dll.conf" # enable the next line if you want to allow access through the network: epkowa snapscan --Boundary-00=_6SdoHX057MXniZG Content-Type: text/plain; charset="koi8-r"; name="epkowa.conf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="epkowa.conf" # epkowa.conf -- sample configuration for the EPKOWA SANE backend usb usb 0x04b8 0x0120 usb /dev//dev/scanner-usbdev5.2 --Boundary-00=_6SdoHX057MXniZG Content-Type: text/plain; charset="koi8-r"; name="snapscan.conf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="snapscan.conf" #------------------------------ General ----------------------------------- # Change to the fully qualified filename of your firmware file, if # firmware upload is needed by the scanner #firmware /usr/share/sane/snapscan/your-firmwarefile.bin firmware /usr/share/sane/snapscan/esfw3e.bin # If not automatically found you may manually specify a device name. # For USB scanners also specify bus=usb, e.g. /dev/scanner-usbdev5.2 bus=usb # Epson Perfection 1270 usb usb 0x04b8 0x0120 --Boundary-00=_6SdoHX057MXniZG Content-Type: application/x-shellscript; name="usb.rc" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="usb.rc" #!/bin/sh # vim: syntax=sh # # usb.rc This brings the USB subsystem up and down safely. # # $Id: usb.rc,v 1.28 2004/09/20 22:30:35 kroah Exp $ # # Best invoked via /etc/init.d/hotplug or equivalent, with # writable /tmp, /usr mounted, and syslogging active. # # Bus management is basically unrelated to runlevel changes; it # relates to physical topology, including possibly hotpluggable # busses (USB, Cardbus) or controllers. If a bus is physically # present, it should normally be available. # # USB-dependant systems (iMacs, "legacy free" x86 systems, and so on) # should statically link USB keyboard support into the kernel (USB core, # EHCI/OHCI/UHCI/..., hid, input, keybdev; and likely mousedev) so the # system console can't be removed by accident. PATH=/sbin:/bin:/usr/sbin:/usr/bin unset I_WANT_A_BROKEN_PS PS_PERSONALITY=linux STATIC_MODULE_LIST= X11_USBMICE_HACK=false SYSFS="needed" . /etc/hotplug/hotplug.functions || exit 1 SourceIfNotEmpty /etc/sysconfig/hotplug if [ "$HOTPLUG" == "no" ];then exit 0 fi # override any of the defaults above? SourceIfNotEmpty /etc/sysconfig/usb grep -iq nousb /proc/cmdline && exit 0 if [ "$USB" = "no" ];then exit 0 fi MOUSE_MODULES="mousedev input" # In its currently-recommended configuration, XFree86 3.3.6 always opens # /dev/input/mice; so mousedev and input must be loaded before X11 starts. if [ $X11_USBMICE_HACK = true ]; then STATIC_MODULE_LIST="$MOUSE_MODULES $STATIC_MODULE_LIST" fi # # "COLD PLUG" ... recovery from partial USB init that may have happened # before the OS could really handle hotplug, perhaps because /sbin or # $HOTPLUG_DIR wasn't available or /tmp wasn't writable. When/if the # /sbin/hotplug program is invoked then, hotplug event notifications # get dropped. To make up for such "cold boot" errors, we synthesize # all the hotplug events we expect to have seen already. They can be # out of order, and some might be duplicates. # # Note that on 2.5 the init filesystem may have loaded some of the more # essential usb drivers (maybe usb-storage for a boot disk, and hid), # but we may still need to load less important ones or invoke setup # scripts that couldn't run earlier. # usb_boot_events () { # # FIXME on 2.5, /sys/bus/usb/devices/* gives all of the # info we need. Interface hotplug events come from the # "*:*" files, and device events (do them first) come # from the others. # # don't expect usbmodules to exist!! and remove the # dependency (below) on usbfs to decide whether we should # be synthesizing coldplug events. # # synthesize hotplug events if we can # make sure the usb agent will run ACTION=add PRODUCT=0/0/0 TYPE= INTERFACE= DEVPATH= DEVFS=/proc/bus/usb DEVICE= export ACTION PRODUCT TYPE INTERFACE DEVPATH DEVFS DEVICE if [ -d $SYSFS/bus ]; then if [ -d $SYSFS/bus/usb/devices ]; then cd $SYSFS/bus/usb/devices for device in $SYSFS//bus/usb/devices/[0-9]*; do devlink=$( readlink -f $device ) DEVPATH=${devlink#/sys} if [ -f $devlink/../idVendor ]; then PRODUCT="$(cat $devlink/../idVendor)/$(cat $devlink/../idProduct)/$(cat $devlink/../bcdDevice)" if [ -f $devlink/../../devnum ] then #devbus=$( ( echo -n 000 ; cat $devlink/../../devnum ) | grep -o ...\$ ) devbus=$( ( echo -n 000`echo $devlink| sed 's/^.*usb\([0-9]\+\)\/.*$/\1/'` ) | grep -o ...\$ ) devdev=$( ( echo -n 000 ; cat $devlink/../devnum ) | grep -o ...\$ ) DEVICE="/proc/bus/usb/$devbus/$devdev" else DEVICE= fi /etc/hotplug/usb.agent fi done fi fi } maybe_start_usb () { COUNT=0 # if USB is partially initted then synthesize "cold plug" events. the # kernel probably dropped many "hot plug" events, and those it didn't # drop likely couldn't trigger all the setup actions (kicking daemons, # dropping config records, and so on). # if it's not initted at all (no hcds loaded) no synthesized events # will be needed, we'll see real ones. knowing that there are no # hcds available through version-portable logic is a nightmare, so # assume we synthesize unless "usbfs" is clearly not initted (which # we currently need when synthesizing, anyway). SYNTHESIZE=true if [ ! -d /proc/bus/usb ]; then SYNTHESIZE=false fi # if distro hasn't already done part of this ... load core, # and mount usbfs before the first hotplug agent fires # (so it'll be available to the agents). modprobe -q usbcore >/dev/null 2>&1 if [ -d /proc/bus/usb ]; then # if it's not mounted, try to mount it if [ -z "`grep " /proc/bus/usb " /proc/mounts`" ]; then if grep -q -E "^[^#][^[:space:]]+[[:space:]]+/proc/bus/usb/?[[:space:]]" /etc/fstab; then mount /proc/bus/usb else if grep -q usbfs /proc/filesystems; then mount -t usbfs usbfs /proc/bus/usb else mount -t usbdevfs usbdevfs /proc/bus/usb fi fi fi fi # Load Host Controller Drivers (HCDs) ... this automatically handles # systems with multiple controllers (EHCI, OHCI, UHCI) without needing # /proc or tools (lspci -v|grep USB, etc) to do so. If hotplugging # is enabled on this system, initting a root hub will cause hotplug # events to fire for every device on the tree at that root. for i in `/usr/bin/pciscan -r -c 00c:03 2>/dev/null|sort -u`;do modprobe $i;done >/dev/null 2>&1 # ... add any non-PCI HCDS here. Examples include the # CRIS usb-host, Philips ISP-1161, Symlogic 811HS, and so on. # ohci-hcd can handle some non-pci variants. if [ -d /proc/bus/usb ]; then # If we see there are no busses, we "failed" and # can report so even if we're partially nonmodular. # # NOTE: this fails on older kernels, where usbdevfs had two files # ('devices' and 'drivers') with no hcds registered, but works on # newer kernels where usbfs has zero files until hcds register, # and might not have the 'drivers' file. COUNT=`ls /proc/bus/usb | wc -l` if [ $COUNT -lt 2 ]; then umount /proc/bus/usb rmmod usbcore >/dev/null 2>&1 return 1 fi # if USB is fully modular and yet can clean up, # we know init failed without needing usbfs elif rmmod usbcore >/dev/null 2>&1; then return 1 fi # hotplug events didn't fire during booting; # cope with devices that enumerated earlier # and may not have been fully configured. if [ $SYNTHESIZE = true ]; then sleep 1 usb_boot_events fi # Some modules are statically loaded, perhaps because they are # needed to activate filesystem device nodes. for MODULE in $STATIC_MODULE_LIST; do modprobe $MODULE done # we did everything we could ... return 0 } maybe_stop_usb () { # don't stop usb return 0; } # See how we were called. case "$1" in start) maybe_start_usb ;; stop) maybe_stop_usb ;; status) echo $"USB Status for kernel: " `uname -srm` echo '' if [ -f /proc/bus/usb/devices ]; then # as noted above: this fails on older kernels, # where usbfs created files differently. COUNT=`ls /proc/bus/usb | wc -l` if [ $COUNT -ge 2 ]; then COUNT=`expr $COUNT - 2` echo $"USB up; bus count is $COUNT" grep "^[TPSI]:" /proc/bus/usb/devices else echo $"usbfs partially up; no busses" fi echo '' echo $"USB Drivers Loaded: " if [ -f /proc/bus/usb/drivers ]; then cat /proc/bus/usb/drivers fi if [ -d $SYSFS/bus/usb ]; then ls -1 /sys/bus/usb/drivers fi else echo $"usbfs is unavailable. " if [ -f /proc/modules ] && grep -F -q usbcore /proc/modules; then echo $"USB module is loaded. " else echo $"USB may be statically linked. " fi echo $"If khubd is running, that shows USB is available." fi echo '' if [ -f /proc/sys/kernel/hotplug ]; then echo $"khubd/hotplug thread: " else echo $"khubd thread:" fi ps -l | head -n 1 ps -Al | grep 'khubd' | grep -v grep echo '' lsmod echo '' # /proc/devices too? "usb", "input", and others ... ;; restart) # always invoke by absolute path, else PATH=$PATH: $0 stop && $0 start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 ;; esac --Boundary-00=_6SdoHX057MXniZG--