[sane-devel] Hai, about probe_scanner can't be probed
Henning Meier-Geinitz
henning@meier-geinitz.de
Thu, 10 Apr 2003 11:28:27 +0200
Hi,
On Tue, Apr 08, 2003 at 10:41:33PM +0800, Fan Dan wrote:
> Hai, Henning
Have you read my response to your other posting? Could you please
answer my questions? If something is unclear, please ask. I'm not a
native English speaker so sometimes I'm writing crap :-)
Ok, I understand the problem now. The scanner has two endpoints with
the same number but different "directions":
bEndpointAddress = 81 (in)
bEndpointAddress = 01 (out)
I have never seens this. In fact I just have checked all the outputs
of scanners I have and none uses the same number for two different
endpoints.
Does anyone know if that's complient to the USB spec at all?
> Today, I modified scanner.c for Mustek A3Pro usb scanner (0x055f
> 0x0401)
> In probe_scanner.
> modified
> have_bulk_in = 1
> have_bulk_out =2
> have_intr = 3
> to
> have_bulk_in = 0
> have_bulk_out = 1
> have_bulk_intr = 2
> /////////////////////////////////////////
> + have_bulk_in--
> + have_bulk_out--
> + have_intr--
> then scanner that has three endpoints can be probed successly, because
> maxpacketout[3] = 0, but maxpacketout[2] = 1 in USB module;
I see. But wouldn't be the right approach:
have_bulk_in = 1
have_bulk_out = 1
have_bulk_intr = 2
At least according to your log in your previous message?
> And scanner can be writed, but we can't read from that. so I midified some
> code int read_scanner function.
> //////////////////////////////////////////////////////
> - result = usb_bulk_msg(dev, usb_rcvbulkpipe(dev, scn->bulk_in_ep), ibuf,
> this_read, &partial, scn->rd_nak_timeout);
> + result = usb_bulk_msg(dev, usb_rcvbulkpipe(dev, scn->bulk_out_ep), ibuf,
> this_read, &partial, scn->rd_nak_timeout);
> /////////////////////////////////////////////////////
> Then scanner can be write and read.
Ok, but I'll never accept code like this in the kernel :-)
> I want to know that there are three endpoint in scanner, but why both in
> bulk and out bulk are in same ep? Whether is that OK??
I don't think so, but I'll have to check the USB spec. It's extremely
unusual at least.
I'll ask on linux-usb-devel for some details.
Bye,
Henning