Hi Ryan, So are you saying that you really have a device that has a 255 dB range that steps 16dB at a time? This is a most unusual device then. XP would generally take any range and map it to the slider, but Win7 is a little more particular/realistic about these things. Most devices will report a range of Max: 0db to Min: -64db or so (though there definitely are exceptions). If your device is still in development I would suggest that you map your volume range similarly if possible. This should give you the XP/Win7 parity you seek. Cheers, DJ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of RYAN ALLAN Sent: Friday, January 14, 2011 2:32 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] Understanding USB Feature Unit Descriptors I am developing a USB-to-analog audio device, and am seeing strange volume scaling behavior from Windows 7/Vista machines. The problem is not apparent with XP machines. I am using the following Feature Unit Descriptors. Get_Min: 0x01, 0x80 Get_Max: 0xFF, 0x7F Get_Res: 0x00, 0x10 This tells me that the volume will be in the range from Min:0x8001 to Max:0x7FFFF, and each step (each time the volume is incremented via volume+ button on a multimedia keyboard) will be of size Res:0x1000. Is this correct? When I move the volume slider in a Windows 7/Vista machine, the volume (I am looking at Set_Cur packets) moves in a range from 0x7FFFF to 0x3900 with step sizes of 0x0100. The same experiment on a XP machine sees the volume move in a range from 0x7FFF to 0x8001 with step sizes of 0x1000. Why do the two OS's have different behavior? I would like volume to be in the range from -127db - +127db (as per USB spec), and I would like step sizes of 0x1000. Basically, I would like the Windows 7 machine to behave like the XP machine. Thanks! -- Ryan