Hello,
you are right in assuming the USB architecture differs between Easy Braille and 
Active Braille. The reason is that Easy Braille has just one relevant endpoint 
for HID communication for Braille input and output, whereas AB4 and AS4 have 
keyboard input as well. So those have the Braille HID endpoint plus the HID 
keyboard endpoint.
I just tested Easy Braille (ID 0x44) with the following result:
2017-04-06@10:17:55.937 USB: testing device: vendor=1FE4 product=0044
2017-04-06@10:17:55.937 USB: setup packet: Typ:80 Req:06 Val:0300 Idx:0000 
Len:00FF
2017-04-06@10:17:55.937 USB: control input: 04 03 09 04
2017-04-06@10:17:55.937 USB: USB language: 409
2017-04-06@10:17:55.937 USB: setup packet: Typ:80 Req:06 Val:0301 Idx:0409 
Len:00FF
2017-04-06@10:17:55.937 USB: control input: 36 03 48 00 61 00 6E 00 64 00 79 00 
20 00 54 00 65 00 63 00 68 00 20 00 45 00 6C 00 65 00 6B 00 74 00 72 00 6F 00 
6E 00 69 00 6B 00 20 00 47 00 6D 00 62 00 48 00
2017-04-06@10:17:55.937 USB: Manufacturer Name: Handy Tech Elektronik GmbH
2017-04-06@10:17:55.937 USB: setup packet: Typ:80 Req:06 Val:0302 Idx:0409 
Len:00FF
2017-04-06@10:17:55.937 USB: control input: 1A 03 45 00 61 00 73 00 79 00 20 00 
42 00 72 00 61 00 69 00 6C 00 6C 00 65 00
2017-04-06@10:17:55.937 USB: Product Description: Easy Braille
2017-04-06@10:17:55.937 USB: setting configuration: 1
2017-04-06@10:17:55.937 USB: setup packet: Typ:80 Req:06 Val:0200 Idx:0000 
Len:00FF
2017-04-06@10:17:55.947 USB: control input: 09 02 29 00 01 01 00 80 32 09 04 00 
00 02 03 00 00 00 09 21 10 01 00 01 22 46 20 07 05 81 03 3C 00 0A 07 05 02 03 
3C 00 0A
2017-04-06@10:17:55.947 USB: claiming interface: 0
2017-04-06@10:17:55.947 program exit event added: sorted-usb-serial-adapters
2017-04-06@10:17:55.947 USB: setup packet: Typ:81 Req:06 Val:2200 Idx:0000 
Len:0720
2017-04-06@10:17:55.947 USB: control input: 06 A0 FF 09 01 A1 01 09 01 15 00 25 
FF 75 08 95 3C 81 00 09 02 15 00 25 FF 75 08 95 3C 91 00 C0
2017-04-06@10:17:55.947 HID report not found: 01
2017-04-06@10:17:55.947 USB: releasing interface: 0
2017-04-06@10:17:55.947 braille driver initialization failed: ht -> USB:

So this failed but for seemingly different reasons.
Hope this helps, and if there's any other way I can assist, please let me know.
Kind regards,
Felix

Mit freundlichen Grüßen/Best regards

Felix Grützmacher
Softwareentwickler

Handy Tech Elektronik GmbH
Brunnenstraße 10
72160 Horb
Germany

Tel: +49 (0)7451 5546-37
Fax: +49 (0)7451 5546-67
E-Mail: [email protected]  
Internet: www.handytech.de

Sitz der Gesellschaft: Horb-Nordstetten - Handelsregister Stuttgart HRB 440471 
- Geschäftsführer: Dipl.-Ing. Siegfried Kipke - USt-IdNr.: DE 213 128 795
headquarter: Horb-Nordstetten · company registration office: Stuttgart HRB 
440471 · owner / manager: Dipl.-Ing. Siegfried Kipke · USt-IdNr.: DE 213 128 795

Werden Sie Teil unserer Handy Tech Internetgemeinde und bleiben Sie immer 
informiert!
Join the Handy Tech web-community and stay up to date!
Facebook: Deutsch, English, Youtube, Twitter, RSS-Feed: Deutsch, English


-----Ursprüngliche Nachricht-----
Von: BRLTTY [mailto:[email protected]] Im Auftrag von Mario Lang
Gesendet: Donnerstag, 6. April 2017 00:21
An: 'Informal discussion between users and developers of BRLTTY.'
Betreff: Re: [BRLTTY] Testing on Windows

Felix Gr tzmacher - Handy Tech Elektronik GmbH 
<[email protected]> 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 
<[email protected]>.

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: [email protected] For general 
information, go to: http://brltty.com/mailman/listinfo/brltty

_______________________________________________
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: [email protected]
For general information, go to: http://brltty.com/mailman/listinfo/brltty

Reply via email to