[sane-devel] Formulardaten

2007-08-11 Thread cgi-mai...@kundenserver.de


===
== Neuer Eintrag
===

  
---
-- Formular: 'adddev'
---

1. Your email address:
   'wiezeboe at orange.nl'
2. Manufacturer (e.g. Mustek):
   'Canon'
3. Model name (e.g. ScanExpress 1200UB):
   'Canoscan D646U'
4. Bus type:
   'USB'
5. Vendor id (e.g. 0x001):
   '0x04a9'
6. Product id (e.g. 0x0002):
   '0x220b'
7. Chipset (e.g. lm9831):
   ''
8. Comments (e.g. similar to Mustek 1234):
   'sane-find-scanner finds it, but scanimage doesn't.'
9. Data (e.g. sane-find-scanner -v -v):
   'device descriptor of 0x04a9/0x220b at 003:003 (Canon CanoScan)
bLength   18
bDescriptorType   1
bcdUSB1.10
bDeviceClass  0
bDeviceSubClass   0
bDeviceProtocol   0
bMaxPacketSize0   8
idVendor  0x04A9
idProduct 0x220B
bcdDevice 0.07
iManufacturer 5 (Canon)
iProduct  6 (CanoScan)
iSerialNumber 0 ()
bNumConfigurations1
 configuration 0
 bLength  9
 bDescriptorType  2
 wTotalLength 32
 bNumInterfaces   1
 bConfigurationValue  1
 iConfiguration   0 ()
 bmAttributes 192 (Self-powered)
 MaxPower 48 mA
  interface 0
   altsetting 0
   bLength9
   bDescriptorType4
   bInterfaceNumber   0
   bAlternateSetting  0
   bNumEndpoints  2
   bInterfaceClass16
   bInterfaceSubClass 1
   bInterfaceProtocol 0
   iInterface 0 ()
endpoint 0
bLength   7
bDescriptorType   5
bEndpointAddress  0x81 (in 0x01)
bmAttributes  2 (bulk)
wMaxPacketSize64
bInterval 0 ms
bRefresh  0
bSynchAddress 0
endpoint 1
bLength   7
bDescriptorType   5
bEndpointAddress  0x02 (out 0x02)
bmAttributes  2 (bulk)
wMaxPacketSize64
bInterval 0 ms
bRefresh  0
bSynchAddress 0

trying to find out which USB chip is used
checking for GT-6801 ...
this is not a GT-6801 (bDeviceClass = 0)
checking for GT-6816 ...
this is not a GT-6816 (bDeviceClass = 0, bInterfaceClass = 16)
checking for GT-8911 ...
this is not a GT-8911 (check 1, bDeviceClass = 0, bInterfaceClass = 16)
checking for MA-1017 ...
this is not a MA-1017 (bDeviceClass = 0, bInterfaceClass = 16)
checking for MA-1015 ...
this is not a MA-1015 (bDeviceClass = 0)
checking for MA-1509 ...
this is not a MA-1509 (bDeviceClass = 0)
checking for LM983[1,2,3] ...
this is not a LM983x (bDeviceClass = 0, bInterfaceClass = 16)
checking for GL646 ...
this is not a GL646 (bNumEndpoints = 2)
checking for GL646_HP ...
this is not a GL646_HP (bDeviceClass = 0, bInterfaceClass = 16)
checking for GL660+GL646 ...
this is not a GL660+GL646 (bDeviceClass = 0, bInterfaceClass = 16)
checking for GL841 ...
this is not a GL841 (bDeviceClass = 0, bInterfaceClass = 16)
checking for ICM532B ...
this is not a ICM532B (check 1, bDeviceClass = 0, bInterfaceClass = 16)
checking for PV8630/LM9830 ...
this is not a PV8630/LM9830 (bcdUSB = 0x110)
checking for M011 ...
this is not a M011 (bDeviceClass = 0)
checking for RTS8822L-01H ...
this is not a RTS8822L-01H (bNumEndpoints = 2)
checking for rts8858c ...
this is not a rts8858c (bNumEndpoints = 2)
checking for SQ113 ...
this is not a SQ113 (bcdUSB = 0x110)
Couldn't determine the type of the USB chip (result from sane-backends 1.0.18)

found USB scanner (vendor=0x04a9 [Canon], product=0x220b [CanoScan]) at 
libusb:003:003

device descriptor of 0x/0x at 003:001 (Linux 2.6.20-16-generic 
uhci_hcd UHCI Host Controller)
bLength   18
bDescriptorType   1
bcdUSB1.10
bDeviceClass  9
bDeviceSubClass   0
bDeviceProtocol   0
bMaxPacketSize0   64
idVendor  0x
idProduct 0x
bcdDevice 2.06
iManufacturer 3 (Linux 2.6.20-16-generic uhci_hcd)
iProduct  2 (UHCI Host Controller)
iSerialNumber 1 (:00:10.2)
bNumConfigurations1
 configuration 0
 bLength  9
 bDescriptorType  2
 wTotalLength 25
 bNumInterfaces   1
 bConfigurationValue  1
 iConfiguration   0 ()
 bmAttributes 224 (Self-poweredRemote Wakeup)
 MaxPower 0 mA
  interface 0
   altsetting 0
   bLength9
   bDescriptorType4
   bInterfaceNumber   0
   bAlternateSetting  0
   bNumEndpoints  1
   bInterfaceClass9
   bInterfaceSubClass 0
   bInterfaceProtocol 0
   iInterface 0 ()
endpoint 0
bLength   7
bDescriptorType   5
bEndpointAddress  0x81 (in 0x01)
bmAttributes  3 (interrupt)
wMaxPacketSize2
bInterval 255 ms
bRefresh  0
bSynchAddress 0'




[sane-devel] (no subject)

2007-08-11 Thread Joshua Hudson
jhudson76 at gmail.com
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20070811/e36407d3/attachment.htm
 


[sane-devel] Accessing a scanner for a different reason

2007-08-11 Thread Justin Rosen
Hello again,

 you need to give more data about the size of read-head you need, the
 bit-depth, and your intended use, before anyone can suggest a
 particular model of scanner.

The size of the read head isn't particularly important.  I think an  
average scanner width is sufficient.

Bit-depth, the higher the better, but 24 is fine.

I am looking to connect a scanner to my computer that has been taken  
apart.  Meaning, that you could wave around the scanning head.  My  
program would essentially start scanning until i told it to stop.  I  
would take the data thats being read form the scanning head (looking  
for real-time), and output it somewhere.

The first iteration of the program I'm trying to write would  
essentially open a window that shows an image of what is being  
scanned at that moment.  The image only needs to be 1 pixel high!   
So, I'm guessing this is possible to do in real-time.  Essentially  
I'm using a scanner as a 1 pixel high video camera.


On Aug 9, 2007, at 1:28 PM, Gerard Klaver wrote:
 A sheetfeed scanner seems the best device to use (after removing  
 parts).

 Depending on your specifications, tests with a webcam can also deliver
 enough information (remove the lines with data you don't need).
 A modified xcam backend is maybe also usable.

I need the highest res I can get.  24bit-depth.  Not sure I'll be  
able to get that out of a webcam :).  A sheetfeed scanner sounds  
interesting.  Would I be able to take it apart and use just the scan  
head without any problems?

On Aug 9, 2007, at 9:35 AM, m. allan noah wrote:

 the problem here is not sane. infact, sane is not all that useful to
 you, as it is designed as an interface to setup a wide variety of
 parameters on 2-d scan, and aquire an image occasionally. you would be
 better off probably writing a stand-alone libusb program to aquire the
 data.

 your big problem is hardware. every manufacturer does something
 different in terms of the control language. cheaper units typically
 rely on the host computer for many functions, and feature a very low
 level command set (lamp on, move head 1 step, read 1 line, etc). more
 expensive machines have higer-level commands which rely on the cpu in
 the scanner (accept scan params, scan)

 allan

This sounds like a better and more complex approach.  How and where  
would I go about figuring out how to write a stand-alone libusb  
program?  I checked out http://libusb.sourceforge.net/ and they have  
a little bit of documentation that might help me get started.  Does  
anyone know of any good websites that may be helpful?  And, in terms  
of contacting a Manufacturer for a information regarding their  
control language, is this usually a pain?

Cheers,
Justin







 On 8/9/07, Justin Rosen rosen at nanotoon.com wrote:
 Hello!

 I've recently stumbled upon the SANE libraries in an effort to gain
 access to a scanner.  What I would like to do, is be able to read
 from a scanner, but not to create an image, but instead to pull RGB
 data from a single line of scan.  Meaning I only need a scan size of
 1 pixel x width of scanner.  Also, I don't necessarily need the
 flatbed itself.  Is it possible with SANE to access a scanner that
 has been taken apart?  I essentially need the RGB values of the
 scanning head in realtime (I'm not sure what the terminology is for
 the portion of the scanner that actually gets color values).

 So imagine the scanner as a color sensor constantly pumping out an
 array of RGB colors, where the array size is the width of the  
 scanner.

 I'm completely new to the SANE libraries, I've read the SANE Standard
 and compiled the SANE libraries and I'm stuck on the fact that I
 think the scanner I purchased is broken, so I'm at a halt for the
 moment, but thought I could get a little more insight on my issue.

 I thought my idea above could be possible using SANE for a few
 reasons.  If I were to write a front-end that used a scanner to scan
 an area of 1pixel x scanner width per frame, and to continually scan
 frames until I told it to stop, I could receive RGB data as fast as
 the scanner could scan (hopefully real-time).  If this can be done,
 great!  I need to really figure out how to write the front-end!  The
 only problem I see is that I'm hoping to take the scanner apart and
 use just the sensor to pull data from.  I noticed that some of the
 SANE calls may fail if the SANE_Status is SANE_STATUS_COVER_OPEN,
 which leaves me to believe I won't be able to take the scanner apart
 and just pull RGB data from the scanner head.

 If anyone can answer any or part of my questions or point me in the
 right direction it would be greatly appreciated.

 Thanks for your time.

 Cheers,
 Justin Rosen

 --
 sane-devel mailing list: sane-devel at lists.alioth.debian.org
 http://lists.alioth.debian.org/mailman/listinfo/sane-devel
 Unsubscribe: Send mail with subject unsubscribe your_password
  to sane-devel-request at lists.alioth.debian.org



 -- 
 The truth 

[sane-devel] Accessing a scanner for a different reason

2007-08-11 Thread m. allan noah
On 8/11/07, Justin Rosen rosen at nanotoon.com wrote:
 Hello again,

  you need to give more data about the size of read-head you need, the
  bit-depth, and your intended use, before anyone can suggest a
  particular model of scanner.

 The size of the read head isn't particularly important.  I think an
 average scanner width is sufficient.

'average'- you sure are specific :)


 Bit-depth, the higher the better, but 24 is fine.

 I am looking to connect a scanner to my computer that has been taken
 apart.  Meaning, that you could wave around the scanning head.  My
 program would essentially start scanning until i told it to stop.  I
 would take the data thats being read form the scanning head (looking
 for real-time), and output it somewhere.

again, you have given us no additional info over your original post,
making you very hard to help, but i can say that CCD sensors (which is
a bit of a misnomer) tend to be more sensitive, and work at larger
distances that CIS. but in either case, 'wave it around' might be a
bit of an issue, since both sensors are meant to focus on a surface a
few mm away. i think you will need some serious lens-making help if
you intend to scan anything farther away that the original scan
distance. this is where a 2-d camera with a lens might be useful.

  your big problem is hardware. every manufacturer does something
  different in terms of the control language. cheaper units typically
  rely on the host computer for many functions, and feature a very low
  level command set (lamp on, move head 1 step, read 1 line, etc). more
  expensive machines have higer-level commands which rely on the cpu in
  the scanner (accept scan params, scan)

 This sounds like a better and more complex approach.  How and where
 would I go about figuring out how to write a stand-alone libusb
 program?

google :)

  I checked out http://libusb.sourceforge.net/ and they have
 a little bit of documentation that might help me get started.  Does
 anyone know of any good websites that may be helpful?

the libusb docs are weak, but once you read the 'usb in a nutshell'
website, and the usb specs, they make a little more sense.
unfortunately, then you still have to figure out what data to send,
and that depends on the chipset in the scanner.

  And, in terms
 of contacting a Manufacturer for a information regarding their
 control language, is this usually a pain?

most of the big name scanner makers wont talk to you. but there are
some chipset-only makers which do publish info. but in either case,
you can use the source code for the sane backend (if it exists), and
extract enough info from that to operate the scanner.

if it's wide enough, the cardscan 800c has a very simple protocol,
easy-to-open hardware, and a working sane backend (by yours truely).
it would be very simple to use in this fashion, since it has no
concept of scan length, but only 'keep scanning' or 'stop scanning'. i
even have a stand-alone libusb program that could be modified to
stream the data. the only issues are its width- 4.12 inches, and that
the read-head might be hard to separate from the feed roller. oh, and
its only 300dpi, 24 bit.

allan

-- 
The truth is an offense, but not a sin