![]() | ||||||||||
Messages in this thread |
On Sat, 8 May 2004 11:48:44 +0800 (CST) <dongzai007@sohu.com> wrote:
|
|
| I am writting an usb driver.You know function usb_probe(...) is used to determine whether the usbdevices just pluged in is what the driver is for.
a. Please learn to use the Enter/Return key around character position
70 (or before) on each line.
b. what kernel version? (*always*)
c. You should ask this on the linux-usb-development mailing list:
linux-usb-devel@lists.sf.net
| The Vid and Pid of my usb device are 0x1111 and 0x0000 respectively.
|
| the program is :
|
| static void* usb_probe(struct usb_device *udev, unsigned int ifnum, const struct usb_device_id *id)
| {
| ..............
| ..............
|
| printk("<1>Vid:%x\nPid:%x\n",udev->descriptor.idVendor,udev->descriptor.idProduct);
|
| if ((udev->descriptor.idVendor!=0x1111)
| ||(udev->descriptor.idProduct!=0x0000)) return NULL;
|
| ..............
| }
|
| when I plug the device whose vid & pid is 0x1111 & 0x0000 respectively.
| this Module displayed
|
|
| Vid:0
| Pid:201
|
| usb.c ........ no active driver for this device;
|
| and when I plug another device , I also got wrong vid & pid.
|
| But when I wrote program as below:
|
| __u16 tmp=0x1111;
| printk("<1>%x",tmp);
|
| it can print "1111" on the screen. That means my syntax is correct.
| I mean, the problem may be at the data transfered into function usb_probe()
| Maybe data transfered into function usb_probe() is wrong.
|
| I wonder where is the problem, how can i solve.
Seeing more (or all) of your source code could help.
I'm especially curious (suspicious) about your USB descriptor data
structures.
--
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| |||||||||
| Last update: 2005-03-22 13:03 [from the cache] ©2003-2008 | ||||||||||