also @ TechSpot: Leaked next generation iPhone casing photos validate multiple rumors

TechSpot

One of the USB... has malfunctioned

Discussion in 'Other Hardware' started by MartyXB, Mar 20, 2008.

Thread Status:
Not open for further replies.
  1. MartyXB Newcomer, in training

    Let us begin by saying that this is a standaloge GPS Navigator system, not a GPS receiver to be used with a PC bassed application.

    (1) Windows XP Pro Version 2002 SP2
    (2) Intel(R) 82801G (ICH7 Family) USB2 Enhanced Host Controller - 27CC
    (3) No doubt Magellan is partly to blame, but they are reputed to have one of the worst customer support. I am trying to work around untill they come out with a firmware upgrade.
    (4) The CD has no drivers, just a tiny rudimentary POI editing utility. On my daughter's Compaq, I did not install anything I just walked over with the GPS and connected it to the laptop and it was recognised and assigned a drive letter that I was able to browse with explorer.
    (5) The bluetooth connectivity is to allow the GPS unit to act like a bluetooth headset, again, not made for PC connectivity.
    (6) On my daughters laptop, bluetooth was installed at factory, so, I assume, the Darfon and WayTech drivers were not installed, I will have to check. Again, the bluetooth is a red herring here, XP simply incorrectly concluded that the bluetooth drivers were a better match to the hardware bassed on the device ID.
    (7)
    oem90.inf

    ;==============================================================================
    ; Flter2K.inf for Win2K
    ; Copyright (c) 2003 WayTech Inc.
    ;==============================================================================

    [Version]
    Signature = "$Windows NT$"
    Class=Bluetooth
    ClassGuid={e0cbf06c-cd8b-4647-bb8a-263b43f0f974}
    Provider = %Provider%
    DriverVer = 04/11/2007,1.00.02
    CatalogFile = N55832.cat


    [SourceDisksNames]
    99=%DiskName%,,

    [SourceDisksFiles]
    n558.sys = 99


    [DestinationDirs]
    DefaultDestDir = 10,system32\drivers
    CopyUSBFilter = 10,system32\drivers

    [ControlFlags]
    ExcludeFromSelect = *

    [Manufacturer]
    %Provider% = WayTechUSB

    [WayTechUSB]
    ...
    %DEVICENAME% = HidInstN558,USB\VID_045E&PID_ffff
    ...
    ; ---------------------------------------------------------
    [HidInstN558]
    Include = Bth.inf
    Needs = BthUsb.NT
    Copyfiles = CopyUSBFilter

    [CopyUSBFilter]
    n558.sys

    [HidInstN558.HW]
    AddReg = Filter.AddReg.HW
    Needs = BthUsb.NT.HW

    [Filter.AddReg.HW]
    HKR,,"LowerFilters",%REG_MULTI_SZ%,"n558"

    [HidInstN558.Services]
    needs = BthUsb.NT.Services
    AddService = n558,,BTUsbFltr_Service_Inst


    ; ---------------------------------------------------------
    [BTUsbFltr_Service_Inst]
    DisplayName = %SvcDispName%
    ServiceType = %SERVICE_KERNEL_DRIVER%
    StartType = %SERVICE_DEMAND_START%
    ErrorControl = %SERVICE_ERROR_IGNORE%
    ServiceBinary = %10%\System32\Drivers\n558.sys
    LoadOrderGroup = Extended Base

    ; ---------------------------------------------------------
    [Strings]
    Provider = "Darfon"
    DiskName = "Driver Disk"
    SvcDispName = "N558 Bluetooth USB Filter Driver"
    DEVICENAME = "Bluetooth Devices"
    BTWClassName="Bluetooth Devices"

    SPSVCINST_ASSOCSERVICE = 0x00000002
    SERVICE_KERNEL_DRIVER = 0x00000001
    SERVICE_DEMAND_START = 0x00000003
    SERVICE_ERROR_IGNORE = 0x00000000
    REG_MULTI_SZ = 0x00010000

    ---------------------------------------
    oem87.inf


    ;==============================================================================
    ; Flter2K.inf for Win2K
    ; Copyright (c) 2003 WayTech Inc.
    ;==============================================================================

    [Version]
    Signature = "$Windows NT$"
    Class=Bluetooth
    ClassGuid={e0cbf06c-cd8b-4647-bb8a-263b43f0f974}
    Provider = %Provider%
    DriverVer = 04/11/2007,1.00.02
    CatalogFile = N55832.cat


    [SourceDisksNames]
    99=%DiskName%,,

    [SourceDisksFiles]
    n558.sys = 99


    [DestinationDirs]
    DefaultDestDir = 10,system32\drivers
    CopyUSBFilter = 10,system32\drivers

    [ControlFlags]
    ExcludeFromSelect = *

    [Manufacturer]
    %Provider% = WayTechUSB

    [WayTechUSB]
    ...
    %DEVICENAME% = HidInstN558,USB\VID_045E&PID_ffff
    ...
    ; ---------------------------------------------------------
    [HidInstN558]
    Include = Bth.inf
    Needs = BthUsb.NT
    Copyfiles = CopyUSBFilter

    [CopyUSBFilter]
    n558.sys

    [HidInstN558.HW]
    AddReg = Filter.AddReg.HW
    Needs = BthUsb.NT.HW

    [Filter.AddReg.HW]
    HKR,,"LowerFilters",%REG_MULTI_SZ%,"n558"

    [HidInstN558.Services]
    needs = BthUsb.NT.Services
    AddService = n558,,BTUsbFltr_Service_Inst


    ; ---------------------------------------------------------
    [BTUsbFltr_Service_Inst]
    DisplayName = %SvcDispName%
    ServiceType = %SERVICE_KERNEL_DRIVER%
    StartType = %SERVICE_DEMAND_START%
    ErrorControl = %SERVICE_ERROR_IGNORE%
    ServiceBinary = %10%\System32\Drivers\n558.sys
    LoadOrderGroup = Extended Base

    ; ---------------------------------------------------------
    [Strings]
    Provider = "WayTech"
    DiskName = "Driver Disk"
    SvcDispName = "N558 Bluetooth USB Filter Driver"
    DEVICENAME = "Bluetooth Devices"
    BTWClassName="Bluetooth Devices"

    SPSVCINST_ASSOCSERVICE = 0x00000002
    SERVICE_KERNEL_DRIVER = 0x00000001
    SERVICE_DEMAND_START = 0x00000003
    SERVICE_ERROR_IGNORE = 0x00000000
    REG_MULTI_SZ = 0x00010000

    (8) As I said before, on my daughter's Compaq I did no install, just connected device to laptop.
  2. MartyXB Newcomer, in training

    I removed the offending line from the two "inf" files

    %DEVICENAME% = HidInstN558,USB\VID_045E&PID_ffff

    Then I connected the GPS to another USB port and got it to work. My current problem is that it still doesn't work in the origional USB port that gave me the problem. I even went so far as to delete any refrence that I can find from the registry.

    Anyway here are the relevant lines from setupapi.log for the now good USB setup.

    [2008/03/25 00:03:54 1288.3 Driver Install]
    #-019 Searching for hardware ID(s): usb\vid_045e&pid_ffff&rev_0000,usb\vid_045e&pid_ffff
    #-018 Searching for compatible ID(s): usb\class_08&subclass_06&prot_50,usb\class_08&subclass_06,usb\class_08
    #-198 Command line processed: C:\WINDOWS\system32\services.exe
    #I022 Found "USB\Class_08&SubClass_06&Prot_50" in C:\WINDOWS\inf\usbstor.inf; Device: "USB Mass Storage Device"; Driver: "USB Mass Storage Device"; Provider: "Microsoft"; Mfg: "Compatible USB storage device"; Section name: "USBSTOR_BULK".
    #I023 Actual install section: [USBSTOR_BULK.NT]. Rank: 0x00002000. Effective driver date: 07/01/2001.
    #-166 Device install function: DIF_SELECTBESTCOMPATDRV.
    #I063 Selected driver installs from section [USBSTOR_BULK] in "c:\windows\inf\usbstor.inf".
    #I320 Class GUID of device remains: {36FC9E60-C465-11CF-8056-444553540000}.
    #I060 Set selected driver.
    #I058 Selected best compatible driver.
    #-166 Device install function: DIF_INSTALLDEVICEFILES.
    #I124 Doing copy-only install of "USB\VID_045E&PID_FFFF\5&1DB09E5E&0&3".
    #-166 Device install function: DIF_REGISTER_COINSTALLERS.
    #I056 Coinstallers registered.
    #-166 Device install function: DIF_INSTALLINTERFACES.
    #-011 Installing section [USBSTOR_BULK.NT.Interfaces] from "c:\windows\inf\usbstor.inf".
    #I054 Interfaces installed.
    #-166 Device install function: DIF_INSTALLDEVICE.
    #I123 Doing full install of "USB\VID_045E&PID_FFFF\5&1DB09E5E&0&3".
    #I121 Device install of "USB\VID_045E&PID_FFFF\5&1DB09E5E&0&3" finished successfully.
  3. LookinAround TechSpot Chancellor

    • I agree per the quote i list above. See my post #8 (post # shown on the right side of the dark line which divides posts) I already read about (what I believe is) your Magellan nav device and it’s functions. But poor documentation or bad assumptions can happen, still need to confirm (to be 100% certain we’re in sync/talking about the same device) so please go back to my question in #8 to positively ID that what you own and refer to is in fact what I had found on Magellan’s website. Here’s the link to Magellan’s full product name for this thing, “Magellan Maesro 4250 GPS Navigation Device for North America”.)
    • Understand that you;ve mentioned 5 different computers so far (Avertec 2370 laptop, Dell Precision 390, HP Kayak, Compaq R3000Z, Compaq V2000Z) so will help if the computer you’re talking about is always mentioned by model (e.g. unless i missed it, didn’t know which of the 4 XP machines you listed XP version installed and USB 2.0 support. (tho that detail is lesser important at this time) Also, I think you mention your daughter;s Compaq but don’t know which Compaq that is of the two or if that's buried somewhere in a prior post i wouldn't recall)
    • I had already found Magellan’s 4250 user guide and saw its BT functions, but given (at first glance) some odd looking BT drivers, Magellan’s poor or not up-to-date documentation, the fact that Windows didn’t start supporting BT (if I recall off the top of my head) in Windows 2000 until SP4 and in XP until SP2, and suspicious of drivers that don’t look like they’re part of Windows which makes me wonder how they got there/what they were for if neither you nor Windows installed them…I thought it prudent to not just ignore them.
    • In fact, let me give you an update based on what I see from the oem.inf files you supplied. Those are actually USB Lower Filters that have been installed on your computers. USB Lower Filters are designed to monitor and/or modify I/O requests for a device or class of devices. Typically, such filters redefine hardware behavior to match expected specifications. In this case, it looks like Class = Bluetooth. Windows is correctly finding them because they’re specifying USB\VID_045E&PID_ffff. The questions as I see it are: Are these USB filters correct (and are more recent versions available)? Why were they installed in the first place and what devices are they trying to support and do you still need them? Trying to hack the oem files is trying to fix bits and pieces of a problem by tweaking file entries here and there and hoping you don’t fix one thing and break another. I think the next step is figuring out why those lower USB filters are there in the first place and determing what devices/drivers should be UNINSTALLED (and maybe reinstalled or just left uninstalled) to let have Windows do the clean up and get the right oem files in place. Am not telling you not to hack the oem files if you want but I’m no expert on drivers and .inf files to give you easy answers on a hack so can’t help there.
  4. LookinAround TechSpot Chancellor

    Actually, in followup to the last bullet in my last post...As i re-read my last post the bulb just went off.

    What you should be doing on your XP computers with this problem is to uninstall bluetooth and then reinstall bluetooth. (and try your Magellan again after the uninstall but before the reinstall.)

    Only questions to see all covered:
    - What bluetooth adapter is equipped on each computer?
    - Do you have any bluetooth devices (e.g. BT mouse and keyboard?) you use on each computers? (Create a list for each computer)

    /** Edit **/
    And if the problem still existed when BT uninstalled, I'd uninstall the USB controllers and tell Windows to scan for hardware changes. Windows will then reinstall the USB controllers.
  5. MartyXB Newcomer, in training

    First of all you are absolutely right, I do have the Magellan Maestro 4250 GPS. The documentation does indeed imply that the Enhanced POI should be installed on the SD card. Problem is that the software does have a transfer option, and when you invoke it it said that GPS was not connected, that started my quest to get the GPS to work with my computer. A Google search showed that some people had success and some didn't have sucess connecting.

    When one connects a USB memory stick to a typical computer one does not have these crazy issues with it not being recognised, the Magellan should also have the same behavior. It would if it gave a valid vendor and product ID. Problem is twofold, one on Magellan's side for the incorrect IDs and then those Bluetooth drivers for "servicing" those bogus IDs.

    I spoke to Magellan's tech support department and emailed them a link to this thread. They have issues and rumor has it that they will be comming out with a firmware fix. I wanted to make sure that they correct this issue as well..

    I threw at you guys my experiences with my various machines to (1) Show that it is not a faulty GPS unit (2) By having diverse behavior over varios OS and hardware platforms shows that there is a logical problem going on here, not fixed by magically removing batteries and unpluging unit. I am satisfied as to my analysys of the problem and am satisfied with my temporary solution. I am affraid to remove the inf files completely. I am firmly convinced that the INF files have no business serving the 045e/ffff device unless there is another badly behaved hardware bluetooth device that WayTech wanted to handle.

    I by the way, did try to remove my bluetooth drivers (Widcom) but the errant INF did not go away. As to how it got on my two (Avertec2370, Dell Precision 390) I don't know. They both have the MSI Bluetooth dongle. On both of my systems I use Bluetooth to synch via bluetooth with my Treo 650 (and with much less success my HTC Mogul - which is another story). On my daughter's Compaq R3000Z which has built in bluetooth, I use it to sync with Treo 650 and to connect with Microsoft wireless Bluetooth Keyboard/mouse.

    My youngest daughter has the Compag V2000Z, but I did nothing with it since it is at her school. Since it has built in Bluetooth, I would imagine connection with the 4250 would work (I of course would scan all her INF files for he bogus 0450e/fff support before I connect the 4250 to it.)

    Check this thread, you will see other people are having problems with the 4250 as well. http://www.poi-factory.com/node/9011
  6. LookinAround TechSpot Chancellor

    • Nothing is absolutely certain in the wonderful world of computers, but I think there’s a good shot that uninstalling/reinstalling devices will fix the root problem. (Some manual cleanup to remove oem files, etc. might still be needed. But manual cleanup is ok if done after Windows does it’s work (not all uninstallers, etc. clean up after themselves correctly. But you always give them first chance becasue if you try manual change/hack/removal first, find it doesn’t work, and THEN try Windows uninstalls… the uninstalls may now fail because they find things missing. And then you’re stuck in a state where manual is you’re only option so best hope you can manually do a full cleanup
    • I wouldn’t worry about removing oem files along the approach in my point above. It’s done all the time this way (i.e. doing uninstalls). Even so, nothing with computers is absolute. So the first step is always doing a full backup using a tool that can do file level recovery AND, should it be needed, it can recover your disk’s image (i.e. a snapshot of your disk as it was layed out at the time of the backup). My personal choice is Acronis True Image, $49.99 and can be ordered and downloaded from online with a 15day free trial before you need pay anything. (And if you go this route, be sure and create and burn an Acronis recovery CD as one of the first things you do – so you don’t find yourself sometime with a crashed machine and then thinking how to get to your backup data!?)
    • By the way, it’s not clear for me just where the fault lies. Magellan is almost certainly running Windows Embedded and the Windows TFAT file system on the disk. So seeing Microsoft’s vendor id does make sense. In fact……I curious to know and found a nav system from Becker which also provides Microsoft’s vendor id to the USB bus. I’m not yet sure about the product id. ffff is actually a “wildcard” and would cause a match for any of Microsoft’s product ids that appear on that USB bus. Also note, it’s not the product id that distinguishes bluetooth from Mass Storage et. al. It’s the additional information contained in the USB descriptor which is passed along as part of the message on the bus which state things like Class = Bluetooth or Mass Storage. I don’t know, but the problem may not be Magellan at all but instead are in the WayTech USBFilters. I don’t know a lot about them but will guess from some of the info I see in their oem files, the Filters are intended to affect Bluetooth devices and traffic on a shared USB bus. But they may have bugs in the causing them to affect things outside of those bounds as well.
    • An uninstall bluetooth process can involve more then just uninstalling the Widcomm driver. In the ways of windows, there are always “hidden” things you must know how to “unhide” before you can check to assure DeviceManager, as one example, has all bluetooth entries removed.
    • So, take whatever path seems best for you so long as you promise to post back and reveal the ultimate source of your problem when found (now I’m just damn curious)
  7. MartyXB Newcomer, in training

    My initial thought why some of the blame is on Magellan was because of the output from USBDeview. I don't know where and how it gets the Device Name, but what it displays is omnious.

    Device Name = Generic Mass Storage (PROTOTYPE--Remember to change idVendor)
  8. LookinAround TechSpot Chancellor

    Oh, i'm certainly not ruling out Magellan either. As you note, there's still plenty to raise suspicion about Magellan (i'll show you more below). But, i've also found the WayTech filters don't appear to have a perfect track record either. (When you talk to Magellan i wouldn't mention WayTech as sometimes tech support loves nothing easier then pointing the finger at someone else.)

    And as far as those messages you see in USBDeview, here's what i stumbled across on MSDN (Microsoft Developer's Network) under Windows Embedded Development Center when discussing USB drivers and registry settings.
    (below, where it says Copy Code, that's actually the label on a button somone can click to easily copy the code fragment MSDN provides)
    Code:
    The following registry keys show the default USB function mass storage client driver registry settings.
    
    [B]Copy Code[/B] 
    
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
       "DefaultClientDriver"=- ; erase previous default
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers]
       "DefaultClientDriver"="Mass_Storage_Class"
    
    [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class]
       "Dll"="usbmsfn.dll"
       "InterfaceSubClass"=dword:06 
       "InterfaceProtocol"=dword:50 
       "DeviceName"="DSK1:" 
       "FriendlyName"="Mass Storage"
       "idVendor"=dword:045E
       "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change idVendor)"
       "idProduct"=dword:FFFF
       "Product"="Generic Mass Storage (PROTOTYPE--Remember to change idVendor)"
       "bcdDevice"=dword:0
    So, yea, quite possible some developer at Magellan copied the sample code fragment from MSDN and then never bothered to update all the fields before the product was launched.
  9. LookinAround TechSpot Chancellor

    If you want to try, i'm thinking there may be a fairly easy method to try “another way to skin this cat”. I think will be good enough to disable the WayTech filter (and i have a tool that will make that task easy for you). You can use the tool to easily re-enable it as well if need be
    • Download Serviwin
    • It has 2 different views. One of your Windows services running and the other all your drivers. Click View -> Drivers for the drivers view.
    • Look for the WayTech filter (I’m guessing it will display n558 under Name) .
    • Look at its startup type. I’m guessing it’s either Manual or Automatic? (in either case remember the current value)
    • Click Actions -> Change Startup Type -> Disabled
    ·
    I think this should be sufficient so as not to be considered next time Windows installs for the Magellan USB. Reboot and try it out.

    if it's still being used might have to remove waytech's oem files as am not certain, off hand see what setuapi generates and what happens when testing it.

    If you still have problems with some usb ports not others it might be the modified oem files if u still have the originals? Or can get them regenerated..
Thread Status:
Not open for further replies.