<div dir="ltr"><div dir="ltr">Hi,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 23, 2022 at 10:18 AM Giovanni Cappellotto <<a href="mailto:potomak84@gmail.com">potomak84@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">You’re right, I was using avision.</div><div dir="auto"><br></div><div dir="auto">Thanks for the suggestion, I guess I could try that.</div><div dir="auto"><br></div><div dir="auto">Last time I was hacking the avision backed, I remember the source code had a lot of additional complexity because it was supporting tens of different scanners. Supposedly some changes for supporting a particular scanner broke the support for Minolta Dimage.</div><div dir="auto"><br></div><div dir="auto">I’m wondering if you have docs or other resources I can use to reverse engineer the scanner protocol from the logs I can collect from the original windows driver.</div></blockquote><div><br></div><div>I believe that there are some Avision protocol docs around but IIRC they are held by folks under NDA so probably no help there. From what I have been able to gather, Avision themselves did have a hand in the making the avision backend, but I doubt that they would be interested in helping out there now. <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><br></div><div dir="auto">For instance I think I identified 3 different endpoints looking at the sniffer logs, but I’m not sure their meaning. 0x01 seems some kind of command endpoint, 0x83 receives and sends a lot of information, 0x82 receives and responds with zeroes and seems like an endpoint used to complete a command.</div><div dir="auto"><br></div><div dir="auto">Maybe I can share the full log I collected and get help to recreate a backend specific for <span>Minolta Dimage?</span></div><div><br></div></blockquote><div>Sure, generate a  diag log and send it to us. We might be able to figure out what is going on. I would certainly look at the forking issue and try the fix that was suggested in the link I provided. From what I gather, process forking is like kryptonite to libusb. Threading is a better option.</div><div><br></div><div>Cheers,</div><div>Ralph<br></div></div></div>