Felix Grützmacher - Handy Tech Elektronik GmbH <felix.gruetzmac...@handytech.de> writes:
> Here is a log excerpt created from running as debug. Seems something went > wrong. Basically the exact same log was already submitted by you in July 2016. Dave analyzed it quite in detail in <20160712095617.gp26...@beta.private.mielke.cc>. Reading the thread from back then (which unfortunately didn't come to a conclusion), I have the feeling the bug is in libusb-1.0, or at least, in how we use it. Having written the support for AB4, I definitely know it worked on Linux, I just don't have any right now to test it. However, I know my AS4 is working on Linux via USB. > 2017-04-05@09:05:11.514 usbSubmitRequest error 40: Function not implemented. I don't particularily remember ever having seen this message on Linux. While I understand from reading the reply linked above that this is just a warning, I still wonder if this might be the crucial difference. AIUI, Dave is saying this warning would force the core to communicate differently with the device, maybe something it doesn't do on Linux? We basically have two different types of Handy Tech USB HID implementations in the driver. The first generation (usbOperations2) was when the Easy Braille was released. In that version, we are reading/writing from/to the device via HID reports (usbHidGetReport()/usbHidSetReport()). Later on, somehwere around the Active Braille, this didn't work anymore. We had to change to reading/writing HID frames from/to the USB endpoint directly. Without ever having tried so, I have a feeling maybe these two different implementations aren't really necessary, and we should be able to implement AB with the HID report layer as well. For that train of thought it would be interesting to know if the Braille Star HID or Easy Braille do work with BRLTTY on Windows. As I suspect you might have some around, Felix, could you please check if usbOperations2 devices do work on Windows (USB Product ID 0X0044 or 0X0074). And as you probably know a lot about the firmware, maybe you have an idea what the difference between an Easy Braille and an Active Braille USB interface is, and why we had to adapt the code when the Active Braille was released. It clearly worked on Linux, but strictly speaking, if I remember correctly, we were really just guessing back then, and what we guessed happend to work on Linux. After all of these years, I am still far from being an expert in the lower-level details of USB, however, I can't get rid of the feeling that the way how usbOperations3 is implemented feels a bit like a hybrid. Just some stabs into the dark, trying to dig up driver dev history to maybe find a way to adapt our code without needing to hope/wait for a libusb fix. -- CYa, ⡍⠁⠗⠊⠕ _______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: BRLTTY@brltty.com For general information, go to: http://brltty.com/mailman/listinfo/brltty