[BRLTTY] Testing on Windows

Mario Lang mlang at delysid.org
Wed Apr 5 18:20:49 EDT 2017


Felix Grützmacher - Handy Tech Elektronik GmbH
<felix.gruetzmacher at 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.GP26909 at 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 at 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,
  ⡍⠁⠗⠊⠕


More information about the BRLTTY mailing list