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: =?utf-8?b?0JDQu9C10LrRgdC10Lkg0KjQtdC90YbQtdCy?= Organization: =?utf-8?b?0J7QkNCe?= "=?utf-8?b?0J3QodCg0Jc=?=" To: unak@ngs.ru, ALT Linux Community general discussions Date: Fri, 1 Feb 2008 13:39:55 +0300 User-Agent: KMail/1.9.7 References: <200801301407.13802.ashen@nsrz.ru> <1201834492.6393.4.camel@localhost> In-Reply-To: <1201834492.6393.4.camel@localhost> 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 Content-Type: Multipart/Mixed; boundary="Boundary-00=_7bvoHg1e6hKzFUZ" Subject: Re: [Comm] =?utf-8?b?0KHQutCw0L3QtdGAINC4IExpbnV4CS0gRXBzb24gUGVyZmVj?= =?utf-8?q?tion_1270?= X-BeenThere: community@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: ALT Linux Community general discussions List-Id: ALT Linux Community general discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Feb 2008 10:40:58 -0000 Archived-At: List-Archive: List-Post: --Boundary-00=_7bvoHg1e6hKzFUZ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Content-Disposition: inline 0JIg0YHQvtC+0LHRidC10L3QuNC4INC+0YIgRnJpZGF5IDAxIEZlYnJ1YXJ5IDIwMDggMDU6NTQ6 NTIgSW5vayDQvdCw0L/QuNGB0LDQuyjQsCk6Cj4g0KPQstCw0LbQsNC10LzRi9C5INGC0L7QstCw 0YDQuNGJLCDQvdC4INCx0YPQtNC40YLQtSDQu9C4INCS0Ysg0YHRgtC+0LvRjCDQu9GO0LHQtdC3 0L3RiywKPiDQstGB0LUg0YLQsNC60Lgg0L7RgtC/0LjRgdCw0YLRjCwg0LrQsNC6INCy0LDQvCDR g9C00LDQu9C+0YHRjCAi0L/RgNC40LrRgNGD0YLQuNGC0YwiINC00LDQvdC90YvQuSDRgdC60LDQ vdC10YAuCj4g0K8g0L/Ri9GC0LDQu9GB0Y8g0YHQtNC10LvQsNGC0YwgLSDRjdGC0L4g0YDRg9C6 0L7QstC+0LTRgdGC0LLRg9GP0YHRjCDQstGL0YjQtdGD0L/QvtC80Y/QvdGD0YLQvtC5INGB0YHR i9C70LrQvtC5Lgo+INCd0L4g0YMg0LzQtdC90Y8g0L3QuNGH0LXQs9C+INC90LUg0LLRi9GI0LvQ vi4K0KPQv9GBLCDQsCDRjyDQstGH0LXRgNCwINC90LUg0LPQu9GP0L3Rg9C7LCDRh9GC0L4g0L7R gtC/0LjRgdCw0Lsg0LIgaGFyZHdhcmVAINCwINC90LUg0YHRjtC00LAuIArQn9GA0L7QtNGD0LHQ u9C40YDRg9GOINC30LTQtdGB0YwuCjEpINC90YPQttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg c2FuZS4g0KHQsdC+0YDQutCwINGBINC60L7RgtC+0YDQvtC5INGDINC80LXQvdGPINC+0L0g0LfQ sNCy0ZHQu9GB0Y8g0LLQt9GP0Lsg0LjQtyDRgdC40LfQuNGE0LAuIArQktC+0YIg0Y3RgtC4INC/ 0LDQutC10YLRizoKW3Jvb3RAb2FzdTMgL10jIHJwbSAtcWEgfCBncmVwIHNhbmUgfCBzb3J0Cmxp YnNhbmUtMS4wLjE4LWFsdDYKc2FuZS0xLjAuMTgtYWx0Ngpbcm9vdEBvYXN1MyAvXSMK0J3QsNC0 0LXRjtGB0Ywg0YHQutC+0YDQviDQsdGD0LTRg9GCINCyINCx0YDQsNC90YfQtS4KMikKL2V0Yy9z YW5lLmQvZGxsLmNvbmYKL2V0Yy9zYW5lLmQvZXBrb3dhLmNvbmYKL2V0Yy9zYW5lLmQvc25hcHNj YW4uY29uZgrQodC8LiDQstC+INCy0LvQvtC20LXQvdC40LguCjMpIGZpcm13YXJlIGVzZnczZS5i aW4g0LHQtdGA0ZHQvCDQuNC3INCy0LjQvdC00L7QstC+0LfQvtCy0YHQutC40YUg0LTRgNC+0LIg 0L7RgiDRjdGC0L7Qs9C+INGB0LrQsNC90LXRgNCwINC4IArRg9C60LvQsNC00YvQstCw0LXQvCDR gtGD0LTQsCwg0YfRgtC+INGD0LrQsNC30LDQu9C4INCyIC9ldGMvc25hcHNjYW4uY29uZgo0KSDQ nNC+0LbQtdGCINC4INC70LjRiNC90LjQvCwg0L3QviDRjyDRgNC10YjQuNC7INGH0YLQviDQsdCw 0LMgCmh0dHBzOi8vYnVnemlsbGEuYWx0bGludXgub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc1OQrQ u9GD0YfRiNC1INC40YHQv9GA0LDQstC40YLRjCwg0L/QviDRgdC10LzRgyAvZXRjL2hvdHBsdWcv dXNiLnJjINGB0LwuINCy0L4g0LLQu9C+0LbQtdC90LjQuC4KNSkg0J/RgNC+0LLQtdGA0YzRgtC1 LCDRh9GC0L4g0LIgL2V0Yy9ob3RwbHVnL3VzYi9saWJzYW5lLnVzZXJtYXAg0L/RgNC40YHRg9GC 0YHRgtCy0YPQtdGCINGC0LDQutCw0Y8gCtGB0YLRgNC+0LrQsDoKbGlidXNic2Nhbm5lciAweDAw MDMgMHgwNGI4IDB4MDEyMCAweDAwMDAgMHgwMDAwIDB4MDAgMHgwMCAweDAwIDB4MDAgMHgwMCAw eDAwIAoweDAwMDAwMDAwCjYpINCSIC9ldGMvc25hZS5kL3NuYXBzY2FuLmNvbmYg0LfQvdCw0YfQ tdC90LjQtSAvZGV2L3NjYW5uZXItdXNiZGV2NS4yCtC30LDQvNC10L3QuNGC0LUg0L3QsCDRgdCy 0L7RkS4KNykg0L3RgyDQuCDQv9GA0LDQstCwINC90LAg0YPRgdGC0YDQvtC50YHRgtCy0L4gL2Rl di9idXMvdXNiLzAwNS8wMDIg0Y8g0LLRi9GB0YLQsNCy0LvRj9C7INGC0LDQutC40LU6CmNob3du IHJvb3Q6c2Nhbm5lciAvZGV2L2J1cy91c2IvMDA1LzAwMgpjaG1vZCA2NjQgL2Rldi9idXMvdXNi LzAwNS8wMDIKCdCc0LXQttC00YMg0LfQsNC/0YPRgdC60LDQvNC4IHNhbmUtZmluZC1zY2FubmVy LCBzYW5lIC1MLCBzYW5lIC1wVCAo0LTQu9GPINC/0YDQvtCy0LXRgNC60Lgg0LLQuNC00LjRgiDQ u9C4IArRgdC40YHRgtC10LzQsCDRgdC60LDQvdC10YApINGPINCy0YvQttC40LTQsNC7INC00L4g NSDQvNC40L3Rg9GCLiDQkCDRgtC+INC10YHQu9C4INC/0L7QtNGA0Y/QtCDQuNGFINC30LDQv9GD 0YHQutCw0YLRjCDRgdC40YHRgtC10LzQsCAK0YLQviDQstC40LTQuNGCINGB0LrQsNC90LXRgCwg 0YLQviDQvdC10YIuINCd0YMg0Lgg0L/RgNC40LzQtdGA0L3QviDRgtCw0LrQvtC5INC20LUg0L/R gNC+0LzQtdC20YPRgtC+0Log0LLRgNC10LzQtdC90Lgg0LTQtdC70LDQuyDQuCAK0LzQtdC20LTR gyDQt9Cw0L/Rg9GB0LrQsNC80LggeHNhbmUKCi0tIArQoSDRg9Cy0LDQttC10L3QuNC10Lwg0KjQ tdC90YbQtdCyINCQ0LvQtdC60YHQtdC5INCS0LvQsNC00LjQvNC40YDQvtCy0LjRhy4KRS1tYWls OiBhc2hlbkBuc3J6LnJ1ClhNUFA6IGFzaGVuQGFsdGxpbnV4Lm9yZywgQWxleFNoZW5AamFiYmVy LnJ1CklDUTogMjcxMDUzODQ1Cg== --Boundary-00=_7bvoHg1e6hKzFUZ 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=_7bvoHg1e6hKzFUZ Content-Type: text/plain; charset="utf-8"; 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=_7bvoHg1e6hKzFUZ Content-Type: text/plain; charset="utf-8"; 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=_7bvoHg1e6hKzFUZ Content-Type: text/plain; charset="utf-8"; 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=_7bvoHg1e6hKzFUZ--