Qualcomm Gobi WWAN Card on Windows 7

<Update>

The latest 64-bit version of most vendor’s drivers now work fine without following these instructions or using GobiLoader. I updated my Thinkpad to Win7 Retail x64 using Lenovo System Update to install all the drivers and now my Gobi card works great even after a sleep/hibernate.

</Update>

I have been surprised by the extremely small number of compromises that I’ve had to make after installing Windows 7. One of the more painful for myself however is the problem with support for my laptop’s internal WWAN card which is based on the Qualcomm Gobi chipset. It looks like this chipset is used on some HP laptops as well as my Lenovo Thinkpad (W500) and my Boss’ X301 for both Verizon and/or AT&T. This chipset is new from Qualcomm and is supposedly a global radio supporting any provider on both CDMA and GSM by using a dynamic firmware capability.

During the time of the Windows 7 beta and now the recent RC1 there have been some rumblings from people that need this support to be able to use Windows 7 full-time. Reading through the posts and trying to get this to work I’ve found there to be two blocking issues getting this card to work, the first is getting the drivers to install on Windows 7, and the second is getting the dynamic firmware to load onto the card.

Installing the Drivers

The problem with installing the drivers is caused by a library that Qualcomm uses to support the installation called difxapi. The supporting DLL for this API is included in the installation package and it conflicts with the Windows 7 version, this conflict causes a custom action in the installation routine to fail and forces a rollback of the installation.

To fix the problem we need only to replace this DLL with the one from your Windows 7 installation. If you don’t have it already you need to download the driver installation package from your laptop manufacturer’s support site and extract it somewhere.

Starting from where you unarchived your package look for a directory similar to “\Driver\Source\Module Retargetable Folder\QCUSB-Lenovo\DriverPackage\Microsoft\DIFxAPI”. Now you just need to replace the difxapi.dll here with the one from “c:\windows\system32\”. If you are running 64-bit Windows then copy the DLL into the amd64 subdirectory, for 32-bit installations copy the DLL into the x86 directory, if you’re not sure you can safely copy it into both directories.

Once you replace this DLL the setup.exe under the “Driver” directory should now run successfully. Once the installation finishes verify that you have the “QCUSB-*” and “QDLService” directories under “c:\QUALCOMM”.

Loading the Firmware

I’ve somewhat mimicked two Linux programs and wrote a tool called GobiLoader for Windows 7 that is able to successfully load firmware onto the card for any of the supported wireless providers (see More About the Firmware for more info).

Download GobiLoader

Since the Qualcomm service is not able to load the firmware properly we will need to disable it so that it doesn’t conflict with GobiLoader. Bring up the “Services” control panel and in the list of services find the one labeled “Qualcomm Gobi Download Service”. Double click the service to bring up the properties, if it is running click the stop button; to disable the service change the “Startup type” drop down to “Manual” and click “OK”.

Before you use GobiLoader you will need to verify that the proper firmware files will be loaded. To find the proper firmware files you can take a look at the Qualcomm Download Service log file on your Vista installation. The log file is called “QDLService.txt” and can be found under the “C:\Users\All Users\QUALCOMM\QDLService” directory. Open the log file and verify the path to the firmware files that it is loading, you will see something like this:

05/06/2009 03:50:47.938     20 70 72 6F 74 6F 63 6F 6C 20 74 67 74 04 00 F0 
05/06/2009 03:50:47.938     CB 04 04 00 00 00 00 00 00 00 00 00 00 00 00 00 
05/06/2009 03:50:47.938     30 
05/06/2009 03:50:47.938 QDL sending image file: C:\QUALCOMM\QDLService\Packages\1\amss.mbn
05/06/2009 03:50:47.938 QDL protocol server request sent
05/06/2009 03:50:47.938   0002 [9 05/06/2009 03:50:47.938]
05/06/2009 03:50:47.938     25 05 68 48 4E 00 01 00 00 00 04 00 00 

The number ’1′ in the firmware path (C:\QUALCOMM\QDLService\Packages\1\amss.mbn) in this case is the ID for the firmware that my Vista installation was successfully using. Your number may be different depending on who your wireless provider is (AT&T, Verizon, Sprint).

Remembering the firmware number go back to Windows 7 and under the same “C:\Users\All Users\QUALCOMM\QDLService” directory open the “Options.txt” and verify that it is pointing at the correct firmware. After I installed the Qualcomm drivers on Windows 7 it was pointing at the wrong firmware so I had to manually correct the path. GobiLoader reads this file to load the correct firmware, so be sure it is correct or your card will not work. GobiLoader also assumes that the “Options.txt” file is located at “C:\Users\All Users\QUALCOMM\QDLService”; and it relies on the registry to detect which COM port that the QDLoader device is listening on.

Once you have everything in order you can simply run GobiLoader.exe and watch for a successful upload. Once the upload has happened you should see your WWAN modem become available.

You will need to run GobiLoader after any time that you shutdown, sleep, or hibernate your laptop.

More About The Firmware

Glancing at the firmware files I noticed that they had an ELF header, and running ‘file’ on them evoked this: amss.mbn: ELF 32-bit LSB executable, ARM, version 1 (ARM), statically linked, stripped

It seems that the Qualcomm Gobi chipset runs embedded Linux on an ARM processor, and the firmware files are simply executable programs. When the firmware files are uploaded they are being copied into RAM and then run just like any other Linux program. Since these programs are in RAM they are lost every time the card gets power-cycled (including during sleep or hibernate) and the card reverts to a blank slate.

In its blank state the card’s built-in firmware exports a single USB serial port device — called HS-USB QDLoader — to the operating system, this port is used solely for the upload of the firmware files to the card. You can think of this built-in functionality as something like a bootloader.

I find this design rather ingenious, since the running firmware programs are simply Linux executables they’ve opened up the pool of capable developers considerably. Qualcomm should be able to be quite agile in fixing bugs and adding features since the developers can write user-mode programs, where most firmware is either bare metal or kernel-mode code. As the power of embedded processors grows I expect to see solutions like this become more common.

Once the firmware has been loaded, the QDLoader device goes away and the modem’s other ports attach to the system; these devices appear in the Windows device manager.

Gobi Devices After Firmware Load

Gobi Devices After Firmware Load

The laptop manufacturer’s driver package installs a Windows service called “Qualcomm Gobi Download Service”, its job it is to upload these firmware files to the card after every power-cycle. Thanks to Alexander, Sergey and Mathew I was able to work out how the Download Service actually interacts with the card.

The Future

I don’t know how responsive Qualcomm is, so I don’t know how quickly these issues will be resolved; I would hope that as the Windows 7 release looms near that they will be prioritizing support. If these problems are not fixed soon then I will probably package GobiLoader up into a service that watches for the QDLoader port to load the firmware on-demand.

I’m also working on a post describing the handshake protocol in detail based on what I was able to gather from other code, protocol traces, and trial-and-error. Hopefully this detailed information can be useful in making the Linux support more robust, which — for me — is useful when firing up my Ubuntu partition.

Update:
I’ve cleaned up the source code and you can grab it here if you’d like to take a look or modify it. GobiLoader Source

This entry was posted in Bleeding Edge, Technology. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

102 Comments

  1. Grant
    Posted May 7, 2009 at 1:41 pm | Permalink

    Is there any chance you could post the source?

  2. James
    Posted May 7, 2009 at 11:28 pm | Permalink

    I have an hp laptop with a gobi chipset. I install the HP WWAN driver and have gone through all the steps in you post. I get the follwoing error when running the “gobiloader.exe”
    Error: Could not divine the com port from the registry, are you sure you have a Gobi card installed. Make sure that the “Qualcomm HS-USB QDLoader 9201″ port isshowing in device manager under “Ports (COM & LPT)”?

    When I check device manager I see the follwoing listed under “Ports (COM & LPT”

    “Qualcomm HS-USB QDLoader” (without the 9201)

    Can you include this device name in your exe?

  3. landmark
    Posted May 8, 2009 at 4:42 am | Permalink

    Thank you VERY much for your efforts. As well as I think that it is a shame that Qualcomm (btw, “Qual” is the german word for agony, torment, torture) does effectively NOTHING for its customers, I do welcome your help and findings.

    I will try out your GobiLoader as soon as possible on a freshly installed Win 7 b7100 x64 german. I’ll drop a note how it went.

  4. landmark
    Posted May 8, 2009 at 12:15 pm | Permalink

    I found out something very interesting: It seems that the GobiLoader isn’t needed anymore.

    After a fresh, clean installation of Win 7 RC (build 7100) x64 german and installing all available updates online (from which none seems to be related to GOBI), this is what I did:

    1) Downloaded sp42773.exe, sp42869.exe and sp42877.exe.
    2) Unpacked sp42869.exe and injected %SystemRoot%\system32\difxapi.dll into .\sp42869\QCUSBDriver\Source\Module Retargetable Folder\QCUSB-HP\DriverPackage\Microsoft\DIFxAPI\amd64 replacing the existing one (please note that I’m running x64 here).
    3) Installed sp42773.exe as an administrator, rebooted.
    4) Installed sp42869 by executing .\sp42869\setup.exe as an administrator. This is where the magic begins: A few seconds after the installation completes, the firmware gets uploaded into the card. No more problems with that at all.
    5) Installed sp42877.exe as an administrator. The connection manager launches, prompts me for my UTMS cards PIN, searches my carrier and displays me its signal strength. Everything’s perfect, until…

    … until I try to establish a connection. After hitting the connect button, nothing visible happens. However, the event log of the Connection Manager application notes two errors:

    1) “HPCM [Exception]: function _THPWMServices_RequiresActivation, err=Das System kann den angegebenen Pfad nicht finden./x0d/x0a” (the german part translates as “the system can’t find the denoted path”) and

    2) “HPCM [Exception]: function _THPWMServices_RunActivation, err=Das System kann den angegebenen Pfad nicht finden./x0d/x0a”.

    So – still no luck, but I feel that the new error is far less severe than the one regarding the firmware not uploaded. Maybe there’s a way to get completely rid of the HP Connection Manager and to use Windows internal functionality instead?

    Anyway, thanks again for sharing your findings – replacing difxapi.dll was and is the crucial advice.

    (My apologies in advance for any spelling or grammar mistakes – English isn’t my mother tongue)

  5. Posted May 8, 2009 at 7:24 pm | Permalink

    Grant, I will probably release the source code. There is nothing extremely special about it that needs to be secret, but I’ll want to get it cleaned up before I put it up.

  6. Posted May 8, 2009 at 8:30 pm | Permalink

    James,

    GobiLoader looks for the correct COM port by looking at a registry key under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\VID_05C6&PID_9201\. It detects the card by the VendorID(VID) and ProductID(PID) that the USB device reports. On my Thinkpad the VID and PID for the QDLoader port are 05C6 and 9201 respectively.

    To find the VID/PID open up your device manager and double-click on the “Qualcomm HS-USB QDLoader” device, under the “Details” tab choose “Hardware Ids” from the “Property” drop-down list. Post the values that you see in the value box beneath that and I can add it to GobiLoader.

  7. Posted May 8, 2009 at 8:35 pm | Permalink

    landmark,

    One thing that I noticed is that when my card needed to be activated I had to load the firmware before the activation, and then after the activation as well.

    Open up your device manager, expand “Ports(COM & LPT)” and “Network Adapters”, and just watch it while you try to connect. When I did that I saw the modem ports go away and the QDLoader port came back, at that point I had to hurry and load the firmware again before the connection manager activation timed out.

    It seems like the activation purges the firmware from the card; the Qualcomm loader is supposed to watch for that to happen and automatically reload the firmware, which it may not be doing.

  8. James
    Posted May 9, 2009 at 4:36 am | Permalink

    Thanks for getting back to me, the following values are listed:

    USB\VID_03F0&PID_201D&REV_0001
    USB\VID_03F0&PID_201D

    Your assistnace is appreciated as this is the only issue stopping me from using win7 RC full time.

  9. Grant
    Posted May 9, 2009 at 9:56 am | Permalink

    josh :
    Grant, I will probably release the source code. There is nothing extremely special about it that needs to be secret, but I’ll want to get it cleaned up before I put it up.

    I downloaded your binary and it was just hanging for me. With an assist from Reflector I copied your source and added some log messages. It was hanging when it tried to open the SerialPort instance. I dinked on my configuration until I could terminal into COMn, once that was cleared it executed without a hitch. I’m connecting repeatably on my Lenovo T400 with the cdma image for VZW.

    I’ll email you a link to the code when I was done with it offline.

    Also, kudos on a good writeup–it was the first place I’d gone where how this was all working was clearly explained. Thanks for all your work on this, I wouldn’t be able to switch over to Win7 full-time without it.

  10. Posted May 9, 2009 at 9:37 pm | Permalink

    James :

    Thanks for getting back to me, the following values are listed:

    USB\VID_03F0&PID_201D&REV_0001
    USB\VID_03F0&PID_201D

    Your assistnace is appreciated as this is the only issue stopping me from using win7 RC full time.

    James,

    I’ve updated the code to support your card, grab it and give it a try now. Let me know how it goes.

  11. Posted May 9, 2009 at 9:41 pm | Permalink

    Grant,

    Thanks for the feedback, I’ve cleaned up the code and attached it to the post. I took your advice and added some additional logging.

    I’m embarrassed! You saw my ugly POC code (yes it was all in Main and the static Program class). I like to practice patterns on little projects like this, so you can see the now totally-over-architected code in the download.

  12. Rezaul Kabir
    Posted May 10, 2009 at 7:02 am | Permalink

    Here is a Reply for landmark, for his Post – May 8th, 2009 at 12:15:

    1. After doing what you have done,
    2. Download verizon Wireless Access Manager from http://www.vzam.net/
    3. Install
    4. I have a HP un2400 and it works without any trouble.

  13. Rezaul Kabir
    Posted May 10, 2009 at 7:11 am | Permalink

    Rezaul Kabir :Here is a Reply for landmark, for his Post – May 8th, 2009 at 12:15:
    1. After doing what you have done,2. Download verizon Wireless Access Manager from http://www.vzam.net/3. Install4. I have a HP un2400 and it works without any trouble.

    Optionally Vodafone Mobile Connect also works!

  14. Posted May 10, 2009 at 7:43 am | Permalink

    Yes, this is exactly what I’ve been doing as well. Lenovo’s Access Connections is a bloated piece of software that takes over all of your connections, WWAN, WiFi, and Ethernet. I prefer the native WiFi management tools in Windows, especially now with the changes they’ve made in Win7.

  15. Oleg C
    Posted May 10, 2009 at 8:19 am | Permalink

    Josh, it looks like the link to the binary (gobiloader.zip) is broken. The source link works. I will try to compile the code and see how it goes. Thanks for your work!

  16. Steve123
    Posted May 10, 2009 at 10:42 am | Permalink

    Hi, the “Download GobiLoader” link seems to be pointing to a blank page. :) Can you fix it please? :)

  17. Steve123
    Posted May 10, 2009 at 2:00 pm | Permalink

    All right, I downloaded visual studio and built from the source code. Works perfectly, many thanks! :)

  18. Posted May 10, 2009 at 2:51 pm | Permalink

    Sorry guys, when I did the update I reuploaded it to my server with the wrong case, it should work now.

  19. Nev
    Posted May 10, 2009 at 7:54 pm | Permalink

    Looks like your source is from Visual Studio 2008, I only have 2005 Pro. Got a compiled .EXE? Otherwise I’ll download an eval of 2008 and do a build.

    Thx.

  20. Posted May 10, 2009 at 11:20 pm | Permalink

    Yes, the link to the binary is about half way down the post, or you can get it here: GobiLoader binaries

  21. James
    Posted May 10, 2009 at 11:53 pm | Permalink

    It’s working!!! Great work

    Thx

  22. itGrl
    Posted May 11, 2009 at 3:43 am | Permalink

    Hi,
    I also experienced the error that James reported on my Acer Aspire One A150x, a device sold in Europe using the Gobi-card.
    Replacing the dll before driver installation was the same issue on the Acer and after the failure of your loader I reactivated the Qualcomm-service, but I choosed automatic _delayed_ start.
    After that the Qualcomm loader did his work on system-startup and after system-standby/hibernate.

    But very thanks for your work, without this research I would have gone crazy, shame on Qualcomm^^.

    mjs

  23. Posted May 11, 2009 at 9:03 am | Permalink

    itGrl :
    … I reactivated the Qualcomm-service, but I choosed automatic _delayed_ start.
    After that the Qualcomm loader did his work on system-startup and after system-standby/hibernate…

    Interesting, landmark seems to have had similar success; unfortunately, for me, even waiting to start the service manually once I log in doesn’t work. The loader succeeds with the first file but freezes up on the second.

    This success could be related to the wireless provider, or perhaps the laptop manufacturer; I’m on Verizon, and you’re on T-Mobile, I’ve got a Lenovo while landmark has an HP and you’re using an Acer.

  24. James
    Posted May 12, 2009 at 7:16 am | Permalink

    Sir-

    Excellent post which has allowed me to load the drivers for my W500 / Gobi card for Verizon; however, as my Windows 7 install is clean (my Vista install died) I have two problems for which I could use your assistance:
    * I do not know the exact firware to use as I do not have a Vista log file to review – from your post I believe you use Verizon and that was firmware 1
    * I do not have a directory named “C:\Users\All Users\QUALCOMM\QDLService” nor a file “Options.txt”; can the GobiLoader program be pointed to an alternate location AND can you post a sample “Options.txt” file?

    Thanks so much fo rthis very helpful post.

    James

  25. Posted May 12, 2009 at 9:02 am | Permalink

    James,

    Do you have the driver software for the card installed, and have you run the QDLoader service at least once? The options.txt file is simply the full path to the amms.mbn and apps.mbn firmware files each on their own line.

    I am using Verizon and the firmware that works for me is #1.

  26. Steve123
    Posted May 12, 2009 at 9:15 am | Permalink

    A theoretical question: Qualcomm GOBI card supports GPS functionality (at least the Lenovo branded version supports it), but this feature is not enabled in HP un2400. Is it possible to enable this feature by uploading a different firmware?

  27. James
    Posted May 12, 2009 at 9:29 am | Permalink

    Sir-

    I have the driver software for the card installed (after applying your first fix for the dll) and have an entry in my Services which I disabled.

    I ran the QDLoader file in the C:\QUALCOMM\QDLService directory, but all I get is a quick cmd prompt with no output (I did try setting compatibility to Vista SP1 with the same results).

    I still have no “C:\Users\All Users\QUALCOMM\QDLService” directory; actually, I have no C:\Users\All Users” directory either.

    Should I just go ahead and create the “C:\Users\All Users\QUALCOMM\QDLService” directory?

    Thanks for the help…much appreciated.

    James

  28. Posted May 12, 2009 at 9:35 am | Permalink

    James,

    The “AllUsers” directory is hidden, you may need to enable visibility of hidden and system files in your folder settings. You can also just copy that whole path and paste it into the address bar at the top of the Windows Explorer window.

    If you still can’t find the folder try going to the services control panel and manually start the “Qualcomm Gobi Download Service” once and then stop it, it may actually create the folder the first time it runs.

  29. James
    Posted May 12, 2009 at 9:48 am | Permalink

    Sir-

    I get the dumbass of the day award for missing the hidden folder thing…took a bit of digging to find where to set that relative to my old XP habits.

    So now I have the drivers loaded, the GobiLoader reports success…I have another newbie type question…how do I actually launch the connection? I installed the IBM Access Connections software but the “Mobile Broadband” radio button remains greyed out.

    Thanks again.

    -James

  30. Posted May 12, 2009 at 9:57 am | Permalink

    James,

    Personally I just use VZAccessManager from http://www.vzam.net/

    For me, access connections doesn’t add a lot of value.

    If you don’t see the device showing up you can take a look in device manager and be sure that the QDLoader port has disappeared, you should instead see 2 or 3 other Qualcomm ports.

  31. Posted May 12, 2009 at 10:05 am | Permalink

    Steve123,

    I’m not sure about the GPS functionality on the HP. Even if we were able to get the drivers to load and recognize the GPS hardware I believe that the antenna needs to be specially designed for GPS reception.

    As far as getting the firmware to work, I can only speculate… but I would guess that if the hardware is the same you could easily copy the firmware files out of the Lenovo installer and try loading them. Since they are only resident in the RAM of the card a simple power cycle would clear out the card.

    You can get the Lenovo firmware that I’m using here: http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-69999

  32. James
    Posted May 12, 2009 at 10:47 am | Permalink

    You da’ man…all working great with VZAccessManager.

    Note, I had to use the trick in the comments about reloading the firmware during activation.

    Questions:

    * Do we need to use VZAccessManager or is there some facility for 3G cards built into Windows 7 (I thought I had read a press release to that effect somewhere).

    * When I was using the Lenovo Access Connections, occasionally when the card would fail to load if I told it to load the “Verizon – International” profile (which would fail) then reload the “Verizon” profile, I could get the 3G service working again without a reboot; any thought on how we could do the same on Windows 7?

    Please let me know how I can send you a couple bucks for your excellent information.

    Thanks.

    James

  33. itGrl
    Posted May 13, 2009 at 12:56 am | Permalink

    The Acer version of the Gobi-driver is very flexible, I bougt the device from a T-Mobile customer and now using it with O2 via their connection-manager.
    I had over 200 accesses last day to my german mini-translation of your article, seems everyone wants to switch to Win7. Estimating about a million devices given away by T_Mobile für 1€ and a 24month umts-contract, I think Qualcomm will soon be ‘forced’ to fix their software.

  34. LenovoOwner
    Posted May 13, 2009 at 9:07 am | Permalink

    I followed the instructions and the driver update part went through just fine. However, when I try to update the firmware by running GobiLoader, it starts, but never finishes – see output below. What could I be doing wrong?

    GobiLoader for Windows 7
    ——————————-

    Opening connection to card
    Sending InitialMessage
    Sending FirmwarePreludeMessage
    Sending SendFirmwareFileMessage
    Sending firmware file to card.

    ===================
    These are the contents of my options.txt:
    C:\QUALCOMM\QDLService\Packages\1\amss.mbn
    C:\QUALCOMM\QDLService\Packages\1\apps.mbn

    Thank you for your help!!

  35. Posted May 13, 2009 at 9:30 am | Permalink

    LenovoOwner,

    I don’t know if it is Lenovo’s power management drivers or the Gobi drivers themselves, but I’ve had issues uploading the firmware after sleeping my Thinkpad. When it stalls like that the only way that I’ve found to get it to work is to just do a fresh reboot.

    I also have some issues where after I’ve loaded the firmware and sleep my laptop that it will bluescreen, the BugCheck Code points to a problem with one of the drivers/devices not responding to power management events properly.

  36. James
    Posted May 13, 2009 at 2:21 pm | Permalink

    The Gobi drivers are definitely not handling power management events properly. In Vista I was getting many failed suspend events where I would have to hard shutdown because the screen would go off, but the machine would never suspend.

    It appears to be more reliable when you use the wireless slider to turn off the radio’s prior to suspend.

    With respect to the loading for firmware not working properly after sleeping the Thinkpad, this is exactly what used to get fixed in Vista if you selected the “Verizon – International” entry…it would fail…then you would select “Verizon” and it would work properly. Is there a way to simulate the same by trying to reload a different firmware perhaps?

    Thanks.

  37. Steve123
    Posted May 15, 2009 at 3:40 am | Permalink

    Hi, it works after fresh reboot for me was well, after sleep/hibernate, it hangs at “Sending firmware file to card.” The COM port somehow stucks, so the laptop cannot be suspended and hangs shutdown, so a forced restart is needed. But it’s still better than nothing, the factory drivers don’t work even after fresh boot.

    GobiLoader for Windows 7
    —————————————

    Found comport COM8 in registry at VID_03F0&PID_201D
    Opening connection to card
    Sending InitialMessage
    <> { 7E 02 51 43 4F 4D 20 68 69 67 68 20 73 70 65 65 64 20 70 72 6F 74 6F 63 6F
    6C 20 74 67 74 04 00 F0 CB 04 04 00 00 00 00 00 00 00 00 00 00 00 00 00 30 64 7A
    7E }
    Sending FirmwarePreludeMessage
    <> { 7E 26 00 00 01 00 00 00 04 52 65 7E }
    Sending SendFirmwareFileMessage
    << { 27 00 00 00 00 00 00 D8 55 91 00 C3 EA }
    Sending firmware file to card.

  38. Grant
    Posted May 16, 2009 at 12:10 pm | Permalink

    I had the same issues as James with Vista and power mgmt + sleep/shutdown. Really annoying. Seems to be less of an issue on Win7, I am able to reload the images or use the card after sleep now. Sometimes, if I forget to close down the VZAM application before hand, I need to shut it down, re-run the loader and then relaunch VZAM to get things working. There are a couple of times where only a full restart could save me though. Either way, totally workable for now. I did add some code to automatically exit the loader after 5 seconds.

    http://dl.getdropbox.com/u/42638/Program.cs

  39. Jim
    Posted May 16, 2009 at 11:38 pm | Permalink

    Great information, thanks a lot. Below are the steps that got it working on my Lenovo T500 with a Verizon Qualcomm card and a clean install of Window 7 x64:

    1. Download WWAN drivers from here:
    http://www-307.ibm.com/pc/support/site.wss/MIGR-69999.html

    2. Run 7xwc21ww.exe which extracts the drivers to C:\Drivers\WIN\WWANQL\.

    3. Download GobiLoader as described above and extract it to your Desktop.

    4. Download VZAccess Manager (http://www.vzam.net/) but don’t install it yet.

    5. Copy difxapi.dll from C:\Windows\system32 as described above.

    6. Run C:\Drivers\WIN\WWANQL\Driver\Setup.exe

    7. Run C:\Drivers\WIN\WWANQL\Firmware\Setup.exe

    8. Go to services and stop and disable the “Qualcomm Gobi Download Service.”

    9. Go to Control Panel, Folder Options, View tab, and check “Show hidden files, folders” and uncheck “Hide protected operating system files.”

    10. Open the file C:\Users\All Users\QUALCOMM\QDLService\Options.txt. Change the number in both lines to a 1, and save the file.

    11. Open the Network Connections window (Network and Sharing Center  Change adapter settings) and keep an eye on it.

    12. Go to the GobiLoader folder on your desktop and run GobiLoader.exe. A command window appears and shows the firmware being loaded. Press any key to close the window.

    13. You’ll notice that a new network connection appears in the Network Connections window.

    14. Install VZAccess Manager and choose internal device. During initialization, you’ll notice that the new Network Connection disappears. Quickly re-run GobiLoader.exe.

    15. Initialization should complete and you should be able to connect.

    As mentioned above, GobiLoader needs to be run each time after a fresh boot. Hope this helps.

  40. QC
    Posted May 18, 2009 at 6:43 am | Permalink

    My x301 keeps getting stuck on the “Sending Firmware to Card” now all the time.

    I thought I was almost there. The last thing that was happening was that I had VZAccess telling me that the card wasn’t activated. I went into device manager to grab the ESN out of the details there so I could move service from a USB card to this card. I got it, and attempted to do that but got an error.

    Since then, no matter how many times I restart the machine, sleep it, etc. I get this error from gobi loader.

    If I start VZAccess now it tells me the WWAN deivce is turned off.

    Interestingly enough, if I try to hit fn-F5 to bring up the wireless radio on/off applet, it doesn’t come up.

    Any thoughts?

  41. Posted May 18, 2009 at 9:39 am | Permalink

    QC,

    To flush the firmware out of the card you need to turn your laptop off, not just reboot, or sleep.

    Josh

  42. QC
    Posted May 18, 2009 at 10:44 am | Permalink

    I’ve shut it totally down with no luck.

    I have a battery in the DVD bay – perhaps I need to completely remove that too.

  43. QC
    Posted May 18, 2009 at 2:16 pm | Permalink

    OK – so that did it – if anyone else has a DVD bay battery – unless that is removed too – the machine never really loses all power.

  44. Stefan
    Posted May 26, 2009 at 10:28 am | Permalink

    Dear Josh,

    thank you very much in advance to put the following ports to GOBILoader.

    Ports on a VAIO Z31 are:
    USB\VID_05C60&PID_9221&REV_0001
    USB\VID_05C60&PID_9221

    Again, thank you very much.
    Contact me, when you are in Germany.
    I would like to spend a couple of beers.

    Cheers,
    Stefan

    05C6 and 9221

  45. Dan Diephouse
    Posted May 26, 2009 at 11:30 am | Permalink

    Wow, you rock! What a lifesaver! So impressed.

  46. Posted May 26, 2009 at 3:44 pm | Permalink

    Stefan,

    I’ve updated the program to support your device.

    Since this is the second time I’ve had to add a device id to the code I’ve moved the device ids into the configuration file. If anyone needs support for another device id you can just open the GobiLoader.exe.config and add a new device line. After you add the device id to the configuration file it should be able to detect your Qualcomm loader port.

    Josh

  47. Peter
    Posted May 27, 2009 at 3:25 am | Permalink

    Hey,

    I’ve got the following error back:

    GobiLoader for Windows 7
    —————————————

    !Boom: An error occurred creating the configuration section handler for gobiLoad
    er: Could not load type ‘GobiLoader.Config.GobiLoaderConfigurationSection’ from
    assembly ‘GobiLoader’. (C:\!!!SOVI\Docs\gobiloader\GobiLoader.exe.Config line 18
    )
    Press the any key to continue…

    What i1m doing wrong? I have an HP 6930p.

    Thanks,
    Peter

  48. Posted May 28, 2009 at 11:11 pm | Permalink

    Peter,

    Sorry about that, small typo in the configuration file. I’ve fixed it and updated the code and binary downloads.

  49. Matthias
    Posted May 29, 2009 at 3:10 am | Permalink

    Hey,
    on hp 2730p i gobiloader isn’t working as supposed to be. after fresh installation of driver / connection manager, gobiloader is working fine (iniatalizing card). But after reboot / sleep, gobi loader stops at sending firmware to card.
    Upload Service is set to manual start. / Windows 7 RC 7100

    Any hints whats wrong ?

    Thanks.

    Matthias

  50. Posted May 29, 2009 at 8:45 am | Permalink

    Matthias,

    Yes, unfortunately it seems that there is an issue with the power management of the card. When this happens the only way to get the firmware to load properly is to do a power cycle (turn the notebook completely off and then back on). I have this exact problem, and it is a bit frustrating, but the problem is in the innards of the driver and not something I can get at to diagnose.

11 Trackbacks

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>