i saw
http://www.sun.com/io_technologies/usb/USB-Faq.html #Ugen
and i found solaris 10 is supported libusb
i modify /kernel/drv/scsa2usb.conf
add: attribute-override-list = "vid=0x96 reduced-cmd-support=true";
reboot
#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]#
[root@solaris10:/usr/hongbin/source]#make
gcc -I/usr/sfw/include -c SearchDevice.c
gcc -o SearchDevice SearchDevice.o -L/usr/sfw/lib -R/usr/sfw/lib -lusb
[root@solaris10:/usr/hongbin/source]#./SearchDevic e
111111
[root@solaris10:/usr/hongbin/source]#
now i want to find device vid and pid on solaris ,but output msg is wrong, i can't understand..
who can give me suggest,my english is poor! ^_^ thank you!