On 29 September, 2019 - Dirk Hohndel wrote:

> As I try to catch up with my large backlog of email...
> 
> 
> > On Sep 23, 2019, at 7:45 AM, Anton Lundin <[email protected]> wrote:
> > 
> > First of all, I'd just try to run our current code on a libusb
> > containing:
> > https://github.com/libusb/libusb/commit/2f3bc98b0d0f4766496df53c855685a5f0e5e7cf
> >  
> > <https://github.com/libusb/libusb/commit/2f3bc98b0d0f4766496df53c855685a5f0e5e7cf>
> 
> That part is easy. v1.0.23 is what we want to switch to.
> But of course that breaks our current approach which works on SOME devices, 
> so we can't do that until the second part below is done.
> 
> > My preferred solution here would be to patch linux_scan_devices to have
> > a callback into subsurface which could do the scanning against java code
> > here, and fill up the libusb data structures. I have some unfinished
> > code working on this path, and its basically the same approach as in our
> > "open" patch. The upside with this is that it keeps all our non ftdi
> > libusb using backends in libdivecomputer still working.
> 
> I honestly think that this is the right approach. I started staring at the 
> code and
> as expected the more I look the more I worry that I will get started and never
> get finished. My challenge is that I don't understand the libusb data 
> structures.
> So which part of the libusb_context do I need to populate from the 
> information 
> we get back from the JNI calls? That structure has quite a few members that I 
> have no idea what to do with. And reading the Linux code that initializes 
> this 
> structure in the regular case really doesn't make me any smarter as just 
> trying 
> to follow the code is making me break out in a rash...


Yea, its a quite complex call chain, but I thin it can be simplified to
filling out struct libusb_device and calling usbi_connect_device on
those.

UsbManager.getDeviceList() gives us enough to fill in the libusb_device
structs.

> I have a branch for this but I don't recommend that anybody hope that I'll 
> make
> a lot of progress. I'm just dealing with way too many other issues that people
> are equally desperately hoping for me to work on (like the UI issues and 
> crashes
> on Android that I think the latest beta finally addresses - which means I 
> need to
> make another release...)

Do you have a link to that branch?

https://github.com/glance-/libusb/commit/50e2690f27a04011c4eae215d8b100851278e544
Is basically the libusb patch needed, the rest of the code needed would
end up in the callback subsurface would provide.

I had a half written variant of such code somewhere but I can't find it
right now.


//Anton


-- 
Anton Lundin    +46702-161604
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to