On Fri, 13 Dec 2002, Benjamin W. Dugan wrote:

>I'm trying to understand how the OS can read the strings (as reflected
>by the /proc/bus/usb/devices file) but the libusb functions can't.

well, you didn't say what the error code was, but I'll throw this in, in 
case it is related:

USB strings are 16-bit little-endian Unicode.  Many devices use only 8-bit 
characters (ASCII), so a simple conversion to 8-bit will give you an ASCII 
string, but if any characters are true 16-bit (high byte is non-zero) then 
you can't use ASCII.  The devices file uses the usb_string() function 
which does conversion to 8-bit ASCII (and 16-bit characters show up as ?); 
see here:
http://lxr.linux.no/source/drivers/usb/usb.c#L2165


I must admit I don't know if libusb does Unicode string conversion (or 
even conversion to 8-bit ASCII), but if not then that may be where your 
trouble is coming from.


-- 
Dan Streetman
[EMAIL PROTECTED]
---------------------
186,272 miles per second:
It isn't just a good idea, it's the law!



-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to