用libusb 去枚举solaris系统上的usb设备vid与pid
时间:2010-05-17
来源:互联网
查看了一些文档,提到solaris10系统支持libusb,我写了一个简单的枚举设备ID的程序,用的是libusb进行通讯,但是执行时确什么都没有输出,希望各位指点一下
我的usb设备使用prtconfig -v 没有打印出来设备的vid 和pid,在网上找了一些资料,发现在/kernel/drv/scsa2usb.conf文件中添加便课找到产品的pid与vid
attribute-override-list = "vid=id reduced-cmd-support=true";
#protconf -v |grep 96
value='usb96e,6.109' + 'usb96e,6' + 'usbif96e,class3.0.0' + 'usbif96e,class3.0' + 'usbif96e,class3' + 'usbif,class3.0.0' + 'usbif,class3.0' + 'usbif,class3' + 'usb,device'
[root@solaris10:/usr/hongbin/source]#uname -a
SunOS solaris10 5.11 snv_79a i86pc i386 i86pc Solaris
[root@solaris10:/usr/hongbin/source]#cat Makefile
CC=gcc
CFLAGS=-I/usr/sfw/include
LDFLAGS=-L/usr/sfw/lib -R/usr/sfw/lib -lusb
SearchDevice:SearchDevice.o
$(CC) -o SearchDevice SearchDevice.o $(LDFLAGS)
SearchDevice.o:SearchDevice.c
$(CC) $(CFLAGS) -c SearchDevice.c
clean:
rm -fr *.o SearchDevice a.out core
[root@solaris10:/usr/hongbin/source]#cat SearchDevice.c
#include <stdio.h>
#include </usr/sfw/include/usb.h>
int main()
{
struct usb_bus *busses ;
struct usb_bus *bus ;
usb_init();
usb_find_busses();
usb_find_devices();
busses=usb_get_busses();
for (bus = busses; bus; bus = bus->next) {
struct usb_device *dev;
printf("111111\n");
for (dev = bus->devices; dev; dev = dev->next) {
struct usb_device_descriptor *desc;
printf("2222\n");
desc = &(dev->descriptor);
printf("Vendor/Product ID: %04x04x\n", desc->idVendor,
desc->idProduct);
}
}
return 0;
}
[root@solaris10:/usr/hongbin/source]#
执行上边的程序 只进入了 1循环体 ,没有执行第二个循环,还请高手帮忙看下(这段代码在linux下编译可以找到产品的信息)
我的usb设备使用prtconfig -v 没有打印出来设备的vid 和pid,在网上找了一些资料,发现在/kernel/drv/scsa2usb.conf文件中添加便课找到产品的pid与vid
attribute-override-list = "vid=id reduced-cmd-support=true";
#protconf -v |grep 96
value='usb96e,6.109' + 'usb96e,6' + 'usbif96e,class3.0.0' + 'usbif96e,class3.0' + 'usbif96e,class3' + 'usbif,class3.0.0' + 'usbif,class3.0' + 'usbif,class3' + 'usb,device'
[root@solaris10:/usr/hongbin/source]#uname -a
SunOS solaris10 5.11 snv_79a i86pc i386 i86pc Solaris
[root@solaris10:/usr/hongbin/source]#cat Makefile
CC=gcc
CFLAGS=-I/usr/sfw/include
LDFLAGS=-L/usr/sfw/lib -R/usr/sfw/lib -lusb
SearchDevice:SearchDevice.o
$(CC) -o SearchDevice SearchDevice.o $(LDFLAGS)
SearchDevice.o:SearchDevice.c
$(CC) $(CFLAGS) -c SearchDevice.c
clean:
rm -fr *.o SearchDevice a.out core
[root@solaris10:/usr/hongbin/source]#cat SearchDevice.c
#include <stdio.h>
#include </usr/sfw/include/usb.h>
int main()
{
struct usb_bus *busses ;
struct usb_bus *bus ;
usb_init();
usb_find_busses();
usb_find_devices();
busses=usb_get_busses();
for (bus = busses; bus; bus = bus->next) {
struct usb_device *dev;
printf("111111\n");
for (dev = bus->devices; dev; dev = dev->next) {
struct usb_device_descriptor *desc;
printf("2222\n");
desc = &(dev->descriptor);
printf("Vendor/Product ID: %04x04x\n", desc->idVendor,
desc->idProduct);
}
}
return 0;
}
[root@solaris10:/usr/hongbin/source]#
执行上边的程序 只进入了 1循环体 ,没有执行第二个循环,还请高手帮忙看下(这段代码在linux下编译可以找到产品的信息)
作者: xwhbin_1988 发布时间: 2010-05-17
高手 速度 来帮忙瞅瞅 solaris usb驱动开发
作者: xwhbin_1988 发布时间: 2010-05-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28