I found two issues for lsusb for hub information.
Currently, the output is like this:
--------------------------------------------------------------
Hub Descriptor:
bLength 11
bDescriptorType 41
nNbrPorts 8
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
TT think time 8 FS bits
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00 0x00
PortPwrCtrlMask 0x00 0x00
--------------------------------------------------------------
I think that we have one more space for PortPwrCtrlMask, and the value
is wrong (in my case, true value is 0xff 0xff).
Here is a fix.
2006-01-17 NIIBE Yutaka <[EMAIL PROTECTED]>
* lsusb.c (dump_hub): Format string fix.
(do_hub): Allocate enough space for the hub descriptor.
Check return value in different way.
cvs diff: Diffing .
Index: lsusb.c
===================================================================
RCS file: /cvsroot/linux-usb/usbutils/lsusb.c,v
retrieving revision 1.21
diff -u -3 -p -r1.21 lsusb.c
--- lsusb.c 3 Nov 2005 16:03:43 -0000 1.21
+++ lsusb.c 17 Jan 2006 13:51:00 -0000
@@ -1652,7 +1652,7 @@ static void dump_hub(char *prefix, unsig
printf(" 0x%02x", p[7+i]);
printf("\n%s PortPwrCtrlMask ", prefix);
for(j = 0; j < l; j++)
- printf(" 0x%02x ", p[7+i+j]);
+ printf(" 0x%02x", p[7+i+j]);
printf("\n");
}
@@ -2141,7 +2141,7 @@ bad:
static void do_hub(struct usb_dev_handle *fd, unsigned has_tt)
{
- unsigned char buf [7];
+ unsigned char buf [12];
int i, ret;
ret = usb_control_msg(fd,
@@ -2149,7 +2149,7 @@ static void do_hub(struct usb_dev_handle
USB_REQ_GET_DESCRIPTOR,
0x29 << 8, 0,
buf, sizeof buf, CTRL_TIMEOUT);
- if (ret != sizeof buf) {
+ if (ret < 0) {
/* Linux returns this for suspended devices */
if (errno != EHOSTUNREACH)
perror ("can't get hub descriptor");
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel