[BRLTTY] Introducing myself, and a question regarding BRLTTY for Windows

Dave Mielke dave at mielke.cc
Tue Jul 12 05:24:40 EDT 2016


[quoted lines by Felix Grützmacher - Handy Tech Elektronik GmbH on 2016/07/12 at 10:20 +0200]

>A lot of error 40 function not implemented. Makes me wonder if the setup
>installed libusb properly.

No, that's not the right way to interpret those errors. You'll recall that, in 
my previous message, I explained that it says "testing" just before it checks a 
device to determine if it's an eligible one. What happens next is what it needs 
to do in order to check out that device. If it goes right on to the next 
"testing" then it was able to reject it right away. Sometimes, however, it 
needs to do a bit more.

>brltty.exe: USB: testing device: vendor=8086 product=1C2D
>brltty.exe: libusb_open error 40: Function not implemented.

This vendor/prouct ID pair shows that it's clearly not one of your devices, but 
brltty needed to try to open it before it could figure this out. The open error 
is that libusb doesn't include support for opening whatever kind of device it 
is. That could also be why brltty concluded that libusb wasn't giving it 
adequate information so it needed to try to open it to have a better look.

>brltty.exe: USB: testing device: vendor=8086 product=1C26
>brltty.exe: libusb_open error 40: Function not implemented.

Same with this one.

>brltty.exe: USB: testing device: vendor=046A product=0023
>brltty.exe: USB: setup packet: Typ:80 Req:06 Val:0100 Idx:0000 Len:00FF
>brltty.exe: USB: control input: 12 01 00 02 00 00 00 40 6A 04 23 00 00 01 00
>00
>00 01
>brltty.exe: USB: using actual device descriptor

This one is a little different, but it does reveal that libusb is indeed not 
always providing enough information for some devices. The extra step in this 
one, after libusb was able to open whatever type of device this one is, is that 
brltty then reads the device descriptor. It only reads and uses "the actual 
device descriptor" if the USB interface it's using hasn't provided enough 
information.

>brltty.exe: USB: testing device: vendor=046D product=0A45
>brltty.exe: USB: testing device: vendor=05E3 product=0608
>brltty.exe: USB: testing device: vendor=05E3 product=0608

In these cases, there was enough information so it just continued searching.

So this is how to understand the device search. Now, when it gets to your 
device:

>brltty.exe: USB: testing device: vendor=1FE4 product=0054
>brltty.exe: USB: setup packet: Typ:80 Req:06 Val:0300 Idx:0000 Len:00FF
>brltty.exe: USB: control input: 04 03 09 04
>brltty.exe: USB: USB language: 409
...

Your device was detected up front, without needing to do anythign extra like 
reading in the actual device descriptor, so it continued on to attempt to 
prepare it for use.

Now I'll have a look at that part.

-- 
Dave Mielke           | 2213 Fox Crescent | The Bible is the very Word of God.
Phone: 1-613-726-0014 | Ottawa, Ontario   | http://Mielke.cc/bible/
EMail: Dave at Mielke.cc | Canada  K2A 1H7   | http://FamilyRadio.org/


More information about the BRLTTY mailing list