Hallo, Bill Unruh hat gesagt: // Bill Unruh wrote: > As I understand this this a "mislabeling" problem, one if taken > literally could result in overwriting the ends of an array. There would > seem to be two reactions-- kill anything that does that, or make the > array larger. Yes, the latter "wastes" memory, but is the memory wasted > really that precious a resource?
According to USB spec 1.1, a device has to tell the number of alternative settings it has. Each setting then is numbered starting from zero. So in a device with seven alt settings these have identifiers [0,1,2,3,4,5,6] But the Quattro has configurations, where it tells the kernel: "I got two alt settings, dude." The kernel and all applications now know that those are [0,1], because that's what the standard says. But in the case of the Quattro they are [0,4]! Every configuration of the Quattro is broken in this way. Some say, they would have 4 settings and those are [0,1,3,4]! This has nothing to do with the lenghth of the array but with the allowed values it can included. I don't know the USB system in the kernel, so I'm guessing a bit here: The kernel checks this early on and rejects this device, because it doesn't know what might break later on in code paths that rely on the alt settings being correctly identified. Such path aren't hard to think of, they could for example be loops like this (Python-pseudocode): numSettings = kernel.getAltSettings() # numSetting now is an int like 2 for setting in range(0,numSettings): doSomethingWith(setting) You would never reach the Quattro's setting 4 inside such loops, because it has reported the number of settings as 2. This might not be that important, you just wouldn't be able to set setting 4, but it also might wreck everything. > I may misunderstand the problem entirely, such that it is impossible > to write a USB bus driver which could compensate for maudio or other > manufacturer's stupididty. But an overstrict interpretation of the > rules seems an inappropriate reaction of writers (especially since > Linux USB itself seems to have some peculiarities of its own). Among 20 USB sound devices only my Quattro failed on 2.6. It caused many people lots of trouble in the path, if you search the archives. ciao -- Frank Barknecht _ ______footils.org__ ------------------------------------------------------- The SF.Net email is sponsored by EclipseCon 2004 Premiere Conference on Open Tools Development and Integration See the breadth of Eclipse activity. February 3-5 in Anaheim, CA. http://www.eclipsecon.org/osdn _______________________________________________ Alsa-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/alsa-user