搜索
bottom↓
回复: 16

分享一个Libusb 和 zadig安装USB驱动

[复制链接]

出0入0汤圆

发表于 2014-9-29 14:22:07 | 显示全部楼层 |阅读模式
用STM32开发自定义USB设备时就需要安装driver, 一般会选择libusb.
我之前用win7 32bit/64bit都没问题, 最近想将driver装到win8上看看结果发现无法安装.
后来在网上找到了一个开源的zadig,可以用这个软件将liusb安装上去.
zadig其实就是一个打包软件,可以通过它打包驱动,然后自动解压,签名,再安装.
下面介绍一些使用经验.

首先到官方网站上下载 编译好的exe 和source code.
https://github.com/pbatard/libwdi/wiki

打开编译好的zadig.exe 用管理员权限打开,界面如下

点options  选择 lsit all devices, 默认zadig只列出没有安装驱动的设备.
在下拉菜单找到要装驱动的设备设备, 箭头右边有个选择驱动类型的地方,选libusb
然后就是一个大复合按钮,按钮右边有个下箭头可以选择行为. 如果选择extract files,zadig就会将驱动文件解压到一个usb_driver目录.
点options菜单选择Advanced Mode,可以看到zadig的log输出.
点Install Driver就可以安装驱动了.


这个软件还提供源代码,下载后可以自己修改.一些修改源代码的注意事项:
1. 最好用VS2012修改,如果是用VS2010打开会提示平台工具集错误,要在project属性->配置属性->常规->平台工具集里修改为VS2010的 V100
2. 首先要修改MSVC目录下的config.h头文件
下面这2段是WinUSB和libusbK用到的,将这些代码注释掉就不会将这2个驱动编译进去,可以减小zadig的体积


#ifndef DDK_DIR
//#define DDK_DIR "C:/Program Files (x86)/Windows Kits/8.1"
#endif


#ifndef LIBUSBK_DIR
//#define LIBUSBK_DIR "D:/libusbK/bin"
#endif

下面这段代码是libusb使用的, 要修改其目录为正确的libusb driver所在目录,主要用于zadig将driver打包进exe
#ifndef LIBUSB0_DIR
#define LIBUSB0_DIR "c:/libusb-win32"
#endif
3. Installer_x86和installer_x64要修改C/C++下的运行库为多线程/MT, 要不然在一些win7/8 机器上会提示缺少dll

也可以自己修改其他部分来添加自己的一些需求.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-9-29 14:24:41 | 显示全部楼层
source code:
编译好的exe:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-9-29 14:34:42 | 显示全部楼层
谢谢分享,我也听同事的建议,在win8.1 64bit上安装V-USB驱动的。

出0入0汤圆

发表于 2014-9-29 14:35:45 | 显示全部楼层
谢谢,收了,备用
头像被屏蔽

出0入0汤圆

发表于 2014-9-29 14:35:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

出0入0汤圆

发表于 2014-9-29 14:40:06 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽

出0入0汤圆

发表于 2014-9-29 15:00:04 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2014-9-29 15:09:43 | 显示全部楼层
great job!

出0入0汤圆

 楼主| 发表于 2014-9-29 20:51:32 | 显示全部楼层
bbs2009 发表于 2014-9-29 15:00
貌似 LZ  是  HIDUSB , 这个可能容易驱动, 据 mcupro 大侠 说 :win8  对其他非HID设备限制端口0(除在 ...

不是hidusb, 是完全自定义的USB, 可以根据自己需要定义EP的类型.
EP0只是用于控制传输

出0入0汤圆

发表于 2014-11-18 16:15:23 | 显示全部楼层
谢谢楼主
有个问题,用zadig生成的驱动,生成的cat文件 ,查看属性,显示的签名不可用,请问这样可以在win8上安装吗?

出0入0汤圆

发表于 2014-11-18 16:24:50 | 显示全部楼层
不错,备用

出0入0汤圆

发表于 2014-11-18 16:54:31 | 显示全部楼层
不错,多谢分享。

出0入0汤圆

发表于 2014-11-18 20:00:15 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2014-11-18 20:08:11 来自手机 | 显示全部楼层
谢谢楼主,正为签名的事情头疼呢。

出0入0汤圆

发表于 2014-11-18 22:40:34 | 显示全部楼层
您好 ,vs2010下确实出现了问题,但提到 不止第一点 。   错误 1 error MSB3073。 目前无法解决

出0入0汤圆

 楼主| 发表于 2014-11-20 15:09:01 | 显示全部楼层
icemagicisme 发表于 2014-11-18 22:40
您好 ,vs2010下确实出现了问题,但提到 不止第一点 。   错误 1 error MSB3073。 目前无法解决 ...

我用的是2012开发的,没用过2010.

出0入0汤圆

发表于 2015-1-19 15:56:18 | 显示全部楼层
不错。我之前用LibUsbDotNet开发的程序,在win7下装驱动很麻烦,自带的inf-wizard生成驱动在某些机不能安装。用了lz这个软件解决了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 06:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表