Re: driver, not device, installation

Tyler Bell <[email protected]> Wed, 12 Sep 2018 13:00:12 -0500
Newsgroups gmane.comp.lib.libusb.devel.windows
Message-ID <CAGBb3WcHd+Qvj1X=1ME4dsHX6M_9rsLUq52a=QyyarBGP0JXdw@mail.gmail.com>
--===============3006210733134022038==
Content-Type: multipart/alternative; boundary="0000000000005797780575b05d19"

--0000000000005797780575b05d19
Content-Type: text/plain; charset="UTF-8"

On Sun, Sep 9, 2018 at 8:55 PM Xiaofan Chen <[email protected]> wrote:

> On Fri, Sep 7, 2018 at 10:38 PM Tyler Bell <[email protected]> wrote:
> >
> > From what I can tell, that is not, what I need. That targets the driver
> to a device,
> > which is what the bug 84 conversation indicates I should not do. I only
> want the .sys and .dll in
> > the correct windows directories and registered to the system. This is
> complicated by the need for
> > UAC and 32/64 bit divide(a 32 bit app cannot install drivers on a 64-bit
> machine and and 64-bit
> > app cannot run on a 32-bit machine).
> >  These are not huge issues, but as libusb has already nicely solved
> these concerns for "primary
> > driver" installation, it would be great(and, it seems, trivial?) if we
> could reuse the existing code for
> > filter driver installation.
>
> If you install this file libusb-win32-devel-filter-1.2.6.0.exe, it
> will do the necessary for you to put
> the libusb0.sys and libusb0.dll in the right place. And it will create
> the start-up menu for the
> inf-wizard (not working for new version of Windows, that is why I
> added libusbk-inf-wizard.exe
> here as well and filter wizard which still works for Windows 10.
> https://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/
>
> Or if you install libusbK-3.0.7.0-setup.exe (recommended over the
> above package), it will install
> libusb0.sys/libusbk.sys/libusb0.dll/libusbk.dll in the right place.
> And in the end it will run the
> filter wizard for you as well.
> https://sourceforge.net/projects/libusb-win32/files/libusbK-release/


Neither of those are working on my system. If I use
libusb-win32-devel-filter-1.2.6.0.exe, I only get stuff under C:\Program
Files\LibUSB-Win32, the DLL/SYS are not in the Windows folder.
Subsequently, trying to install an INF as a filter driver, the device fails.


>
>
> > Backing up a bit, I have to interface with a device that has a driver
> from the manufacturer(FTDI
> > USB-serial cables). The OEM driver is limited(but also required) so I've
> augmented it w/ libusb.
> > The best way to manage this on a client's machine that I can find is to
> use libusb as a filter driver.
> > However, to install libusb as a filter driver for a device, libwdi
> assumes that libusb already exists
> > on the client machine. This is not a good assumption to make for a
> client machine. Infwizard doesn't
> > seem capable of creating an inf for filter driver mode and I'm not sure
> that, even if it did, it would copy
> > the DLL&SYS files.
>
> If you use FTDI device, better way is to use libftdi-1.0 and it uses
> libusb-1.0 API, there you
> have the option of using different libusb-1.0 Windows backend, one of
> the option is to use
> usbdk (filter, similar to libusb-win32 filter but works better in new
> Windows versions).
>

I would love to use libftdi, but I am stuck w/ the stock driver from FTDI.
That is why I'm trying to use libusb as a filter driver; I need to add a
bit of functionality to one tool, but there are a handful of other tools
that use the same FTDI device and those are built w/ the FTDI driver.


>
> For usbdk, it is the same, you need to the 32bit/64bit installer first
> (as admin) and then you
> can use the command line to install/uninstall the filter.
> https://github.com/daynix/UsbDk
> https://github.com/daynix/UsbDk/releases
>
> You may need to use libusb-1.0.21 build with usbdk for now and not
> libusb-1.0.22 due to
> the following change. libftdi has not been updated to incorporate the
> change.
> https://github.com/libusb/libusb/issues/443
>
> Leagacy libftdi-0.1 uses libusb-0.1 API and you can use libusb-win32
> filter with it but libftdi-0.1
> is no longer maintained.
>
> --
> Xiaofan
>
>
> _______________________________________________
> Libusb-win32-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel
>

--0000000000005797780575b05d19
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br><div class=3D"gmail_quote"><div dir=
=3D"ltr">On Sun, Sep 9, 2018 at 8:55 PM Xiaofan Chen &lt;<a href=3D"mailto:=
[email protected]">[email protected]</a>&gt; wrote:<br></div><blockquote =
class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px sol=
id rgb(204,204,204);padding-left:1ex">On Fri, Sep 7, 2018 at 10:38 PM Tyler=
 Bell &lt;<a href=3D"mailto:[email protected]" target=3D"_blank">mrbell32=
[email protected]</a>&gt; wrote:<br>
&gt;<br>
&gt; From what I can tell, that is not, what I need. That targets the drive=
r to a device,<br>
&gt; which is what the bug 84 conversation indicates I should not do. I onl=
y want the .sys and .dll in<br>
&gt; the correct windows directories and registered to the system. This is =
complicated by the need for<br>
&gt; UAC and 32/64 bit divide(a 32 bit app cannot install drivers on a 64-b=
it machine and and 64-bit<br>
&gt; app cannot run on a 32-bit machine).<br>
&gt;=C2=A0 These are not huge issues, but as libusb has already nicely solv=
ed these concerns for &quot;primary<br>
&gt; driver&quot; installation, it would be great(and, it seems, trivial?) =
if we could reuse the existing code for<br>
&gt; filter driver installation.<br>
<br>
If you install this file libusb-win32-devel-filter-1.2.6.0.exe, it<br>
will do the necessary for you to put<br>
the libusb0.sys and libusb0.dll in the right place. And it will create<br>
the start-up menu for the<br>
inf-wizard (not working for new version of Windows, that is why I<br>
added libusbk-inf-wizard.exe<br>
here as well and filter wizard which still works for Windows 10.<br>
<a href=3D"https://sourceforge.net/projects/libusb-win32/files/libusb-win32=
-releases/" rel=3D"noreferrer" target=3D"_blank">https://sourceforge.net/pr=
ojects/libusb-win32/files/libusb-win32-releases/</a><br>
<br>
Or if you install libusbK-3.0.7.0-setup.exe (recommended over the<br>
above package), it will install<br>
libusb0.sys/libusbk.sys/libusb0.dll/libusbk.dll in the right place.<br>
And in the end it will run the<br>
filter wizard for you as well.<br>
<a href=3D"https://sourceforge.net/projects/libusb-win32/files/libusbK-rele=
ase/" rel=3D"noreferrer" target=3D"_blank">https://sourceforge.net/projects=
/libusb-win32/files/libusbK-release/</a></blockquote><div><br></div><div>Ne=
ither of those are working on my system. If I use libusb-win32-devel-filter=
-1.2.6.0.exe, I only get stuff under=C2=A0C:\Program Files\LibUSB-Win32, th=
e DLL/SYS are not in the Windows folder. Subsequently, trying to install an=
 INF as a filter driver, the device fails.</div><div>=C2=A0<br></div><block=
quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1=
px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
&gt; Backing up a bit, I have to interface with a device that has a driver =
from the manufacturer(FTDI<br>
&gt; USB-serial cables). The OEM driver is limited(but also required) so I&=
#39;ve augmented it w/ libusb.<br>
&gt; The best way to manage this on a client&#39;s machine that I can find =
is to use libusb as a filter driver.<br>
&gt; However, to install libusb as a filter driver for a device, libwdi ass=
umes that libusb already exists<br>
&gt; on the client machine. This is not a good assumption to make for a cli=
ent machine. Infwizard doesn&#39;t<br>
&gt; seem capable of creating an inf for filter driver mode and I&#39;m not=
 sure that, even if it did, it would copy<br>
&gt; the DLL&amp;SYS files.<br>
<br>
If you use FTDI device, better way is to use libftdi-1.0 and it uses<br>
libusb-1.0 API, there you<br>
have the option of using different libusb-1.0 Windows backend, one of<br>
the option is to use<br>
usbdk (filter, similar to libusb-win32 filter but works better in new<br>
Windows versions).<br></blockquote><div><br></div><div>I would love to use =
libftdi, but I am stuck w/ the stock driver from FTDI. That is why I&#39;m =
trying to use libusb as a filter driver; I need to add a bit of functionali=
ty to one tool, but there are a handful of other tools that use the same FT=
DI device and those are built w/ the FTDI driver.</div><div>=C2=A0</div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-lef=
t:1px solid rgb(204,204,204);padding-left:1ex">
<br>
For usbdk, it is the same, you need to the 32bit/64bit installer first<br>
(as admin) and then you<br>
can use the command line to install/uninstall the filter.<br>
<a href=3D"https://github.com/daynix/UsbDk" rel=3D"noreferrer" target=3D"_b=
lank">https://github.com/daynix/UsbDk</a><br>
<a href=3D"https://github.com/daynix/UsbDk/releases" rel=3D"noreferrer" tar=
get=3D"_blank">https://github.com/daynix/UsbDk/releases</a><br>
<br>
You may need to use libusb-1.0.21 build with usbdk for now and not<br>
libusb-1.0.22 due to<br>
the following change. libftdi has not been updated to incorporate the chang=
e.<br>
<a href=3D"https://github.com/libusb/libusb/issues/443" rel=3D"noreferrer" =
target=3D"_blank">https://github.com/libusb/libusb/issues/443</a><br>
<br>
Leagacy libftdi-0.1 uses libusb-0.1 API and you can use libusb-win32<br>
filter with it but libftdi-0.1<br>
is no longer maintained.<br>
<br>
-- <br>
Xiaofan<br>
<br>
<br>
_______________________________________________<br>
Libusb-win32-devel mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel"=
 rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/l=
istinfo/libusb-win32-devel</a><br>
</blockquote></div></div></div>

--0000000000005797780575b05d19--


--===============3006210733134022038==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============3006210733134022038==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Libusb-win32-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel

--===============3006210733134022038==--