also @ TechSpot: Xbox One: Entertainment Hub First, Gaming Console Second -- But Could It Disrupt TV?

Problem with USB device

Discussion in 'Audio and Video' started by rduff, Apr 25, 2009.

  1. rduff Newcomer, in training Posts: 32

    Can anyone help with this query? I recently upgraded the Realtek sound card in my computer, however the Sennheiser USB headset I've used for ages is now displayed as a Micronas device. How can the PC recognise the same device as something else and is it possible to rename it? The operating system is Vista 32 SP1. Any tips are much appreciated!!
  2. LookinAround TechSpot Chancellor Posts: 7,677   +39

    Here’s a simplified overview to how Windows finds drivers (which is why name changes can occur) Note "device names" are merely comments in Windows and aren't what's really important

    What is important are underlying Identification strings you normally don't see (unless you know how to find them) so let me first ask
    => Are your headsets working?
    => Does its driver indicate Status= Working Properly or an error? (even tho its name has changed)
  3. rduff Newcomer, in training Posts: 32

    Yes the headset still works and driver indicates working properly. I know this isn't a critical issue, but it's bugging me. Should be simple enough simple to rename the device, if only I knew how!!
  4. LookinAround TechSpot Chancellor Posts: 7,677   +39

    read the post i referred to. If you find the driver file it's using, you can rename it in the driver file... But it can be more trouble that its worth and you might accidently screw up your driver file if you make an error.. so might be best leave it be (but if you want to try.. i can point you in that direction.. but can't help if it screw it things up)
  5. rduff Newcomer, in training Posts: 32

    OK..well I'd like to have a go!! Please let me know how to rename the driver file.
  6. LookinAround TechSpot Chancellor Posts: 7,677   +39

    OK. But note you aren't going to change the driver file name!

    Rather you have to find the driver file, and edit the file to change the device name which appears inside the file (that's where Windows gets the name it displays to you)

    i should be a file with an .inf extension
    Also to see the file you must first change your settings to "view hidden files"

    Next, you need to find the right .inf file. It might be simplest to use Windows search to look for the text Micronas inside of all the .inf files in C:\Windows\inf.

    If i recall you need open Control Panel->Search Options (Or similar name) to modify your options.. but would have to post details later as i don't have a vista machine in front me right now... but that's the idea.

    Find the .inf containing the Micronas device name string it. That's where windows is getting the name. Then edit the name string. BUT make sure you edit the right name (especially if you find multiple occurences.). If you want, might be best you just attach the .inf file you find to a TechSpot post so i can see it first.

    and point out the right string. (be sure to back things up before you attempt this tho!)

    /* EDIT */
    Actully, here;s an example of what you should find inside the right .inf file. See this example

    Code:
    PCI\VEN_11C1&CC_0C0010.DeviceDesc="AGERE OHCI Compliant IEEE 1394 Host Controller"
    the string between the quotes is the name that would appear in Device Manager. You will find and can edit the device name in the .inf file when you find it
     
  7. rduff Newcomer, in training Posts: 32

    Thanks. The theory sounds great but in practice I can't find the relevant file. I've attached a screen print showing the device manager list, driver location and registry details which hopefully you'll be able to make sense of, but otherwise not sure how to proceed.

    Attached Files:

  8. LookinAround TechSpot Chancellor Posts: 7,677   +39

    1) Unhide files per my previous post

    2) Use Start->Programs->Accessories->Notepad and open C:\Windows\inf\wdma_usb.inf
    3) Find the string Micronas USB Headset in the file inside the quotes (will look similar to my example in previous post). Check if multiple occurrences. You want the one with the Hardware ID you see in the screenshot
    4) Edit the name Micronas USB Headset and save the file
    5) Uninstall the device so Windows reinstalls
    6) The name should now change
  9. rduff Newcomer, in training Posts: 32

    Done that but can't find any Micronas string....copied from notepad into Word and then used word search but nothing there. File is attached for reference.

    Attached Files:

  10. LookinAround TechSpot Chancellor Posts: 7,677   +39

    Cool! You present an .inf file that works a bit different what i've seen before (i like a challenge :) )

    For your specific case, i see the .inf doesn't assign the name directly. Rather it appears to do the assignment using a shell variable %USBGenericDesc% which must be defined prior to this .inf is invoked during the install process

    First, let's try searching all the .inf files in the inf folder for the Micronas text string and see what's found
    1) Folder options should unhide files
    2) In a Vista Advanced Search Window
    ==> Set Location to C:\Windows\inf (you get there by Choosing Location option from the pulldown context menu of location and navigating to the folder)
    ==> Check the box labeled Include non-indexed, hidden, and system files
    ==> In the Search box in upper most right corner of the Advanced Search window type: micronas name:*.inf

    3) It will come up blank but will show you Search in File Contents option in the empty Search result
    4) Click and see what files it matches containing micronas

    /* EDIT */
    If that should fail to find anything, try again but this set Location to C:\Windows
  11. rduff Newcomer, in training Posts: 32

    OK...found two files after a lot of searching. Hope they mean something to you. I also like a challenge but am beginning to wonder if this is worth the effort!!
  12. LookinAround TechSpot Chancellor Posts: 7,677   +39

    Welcome to the Wonderful World of Windows!! :D

    May take me a couple days but will get back to you about the stuff in those files (I warned ya those .inf files are not at all very straightforward or simple to figure out ;) )
  13. rduff Newcomer, in training Posts: 32

    Thanks...look forward to hearing from you.
  14. LookinAround TechSpot Chancellor Posts: 7,677   +39

    I'm still gonna look at those files and stuff (now that i'm also curious) but did occur to me there's also a "cheap and easy" band-aid solution that might do the job (for the most part)

    The brief "big picture"
    => When Windows installs the driver for your headset its gettin the Micornas name from an unknown inf file or install driver command as yet still unknown
    => But whatever file or whatever it is that contains the original source of that Micronas name, it gets written into the registry (as can be seen in your registry snap-shot earlier)
    => The name written in the registry should only change if and when you should uninstall/reinstall the headset driver
    => So we might just also change it in the registry (which is a semi-permanent fix)

    But i'll get back to you with more detail about either case
  15. rduff Newcomer, in training Posts: 32

    Well it all sounds very complicated. Basically I don't understand how it can show a Sennheiser headset is connected one day and Micronas the next?? Hopefully we can work it out.
  16. LookinAround TechSpot Chancellor Posts: 7,677   +39

    How device names change is the part that's simple to explain. They can change anytime you add/remove driver files (those .inf files)

    Open Device Manager. Find your headset. Rt click it and select Properties. Click the Details tab

    You'll see a pull down menu. If you select Hardware Id and then Compatible Ids you'll see the Windows IDs for you headset device. That's how windows REALLY refers to and knows your device (the descriptive device name is just for us humans.. it's not important to Windows)

    IT's THE WINDOWS IDS THAT ARE CONSTANT AND NEVER CHANGE FOR YOUR HEADSET DEVICE

    Windows uses THESE IDs to find you a driver (amongst all those INF files). As soon as you add/change driver files (inf) files your device name can change (because device name is in the INF file)

    Remember Windows uses the IDs to find a driver among the inf files
    It then simply copies/pastes whatever name appears in the inf file and uses it as a name
    If we put the word BALONEY in the file Windows will happily display it as the device name in Device Manager!~
    The device name is nice for us humans but Windows doesn't care if/when it changes as it only looks at those IDs
  17. LookinAround TechSpot Chancellor Posts: 7,677   +39

    THAT's how it happened to change. That Reatek upgrade modified your driver files such that Windows now matches a driver file which happens to state Micronas!
  18. rduff Newcomer, in training Posts: 32

    So it is my fault then!!!
    Further down the list in properties is 'Display name' which of course shows Micronas USB Headset. As you suggest, a possible quick fix is simply to amend the registry to change the name to Sennheiser...is this possible?
  19. LookinAround TechSpot Chancellor Posts: 7,677   +39

    Yes, we can edit the registry but disadvantage: Next time Windows reinstalls the device it overwrites the registry with the Micronas device name. (Tho, Windows wouldn't likely reinstall it unless your first uninstalled it for whatever reason.) But before the registry route, let's try one more crack at your driver's .inf files. I think the steps below should be simple / not-to-much work to do

    Step 1. See if all your driver .inf files are being stored in C:\Windows directory
    The registry key DevicePath tells Windows Plug and Play (PnP) where to search for .inf files. DevicePath is a semi-colon ; separated list of directories
    Start->Run, enter regedit. Navigate to HKEY-LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
    Look for DevicePath
    • Does each directory in DevicePath start with either %SytstemRoot% or C:\Windows??
    • If, yes, then our search through C:\Windows should (I hope) find what we want
    • Fyi.. %SystemRoot% is a Windows' "variable". This variable equals the string value: C:\Windows)
    In my example below, all directories in DevicePath (highlighted in yellow) start %SystemRoot% therefore all my PnP driver .inf files are being stored in different subdirectories all within directory C:\Windows. (Click image for full size)
    [IMG]

    Step 2. How to search through all the .inf files in directory C:\Windows
    • Download and open the file strings.zip. Unzip it. Put file strings.exe in directory C:\Windows\system32
    • AFTER you put strings.exe in the C:\windows\system32 directory, open an a Elevated commmand prompt window
    • Copy/paste the command below into the window. Ignore any findstr: line too long messages you might see. The command creates file micronas.txt on your desktop. Attach it to your next post
      Code:
      strings -a -s C:\Windows\*.inf | findstr /i /c:micronas > "%userprofile%\desktop\micronas.txt"
    Hopefully, i'll see what i'm looking for in this file! Else, we can do the registry next

    /* EDIT */
    Step3: One more step?
    Uggh. Windows! I see there's something a bit different for "unattended" installs. Using Vista advanced search, check Hidden files and folders option and search for wdma_usb.inf (the file we can see in your registry snapshot). But search your entire C: drive for this file!

    And/or maybe best of all do the command search below (tho will take a bit as it will search through all .inf files on your C drive. Take a bit of time at least would be thorough! Then also attach the additional file micronas2.txt
    Code:
    strings -a -s C:\*.inf | findstr /i /c:micronas > "%userprofile%\desktop\micronas2.txt"
  20. rduff Newcomer, in training Posts: 32

    Update

    Hi again
    Apologies for the delay in responding. I have attached the information you requested so hopefully you'll be able to make sense of it.
    Thanks once again for your help.