AppleUSBCDCACM driver patched for Qualcomm Gobi mobile broadband device

Please NOTE: Download and Install Firmware Uploader first.

After successful installation of Mac OS X 10.6.7 in my Toshiba M505-s4945 I was trying to compile AirPrime USB modem device driver that I modified earlier for Mac OS X 10.5.x installation. I could compile, install and load this driver successfully. But this would cause my built-in Toshiba mobile broadband device (Qualcomm Gobi) to hang. Since then, I was trying to find out any workaround and/or possible solution to this problem.

At first I tried to modify Info.plist of AppleUSBCDCACMData.kext to match my device and load. Though the device were matched and the KEXT were trying to start the USB device but it failed. Then I downloaded the source codes of AppleUSBCDC device driver dig more and was trying to figure out the problem.

Finally, I could come up with a patch where I just had to bypassed a snippet of code of AppleUSBCDCACMData driver. In that section of code the driver just checks or cross verifies the device Class, SubClass and Protocol.

You can dowload or view the diff/patch file, apply the patch and compile based on your version of AppleUSBCDC driver.

Installation instruction:
1. Download the KEXT file from the following location if you are on Mac OS X 10.6.7.


2. Modify devide id (idProduct) in Info.plist of this KEXT. This id should match your modem device id that you see after uploading the firmware. My device id is 4878 (0x130e) after uploading the firmware. You can download the firmware up-loader that I have developed if you do not have it already.

3. Replace existing AppleUSBCDCACMData.kext in S/L/E/IOUSBFamily.kext/Contents/PlugIns/.

4. Repair permissions for AppleUSBCDCACMData.kext.

5. Restart (not mandatory I guess).

Enjoy !



  1. […] 31, 2010 at 4:36 pm · Filed under Driver, Mac OS X Please check my latest blog post for device […]

  2. […] 31, 2010 at 4:36 pm · Filed under Driver, Mac OS X Please check my latest blog post for device […]

  3. Daniel Costa said


    I managed to install correctly the divers and the firmware loader for my Gobi 1000 card. A new nome interface showed up in Network Settings, but i Was wondering how I can be shire that it worked? (For example how can I see if the card registered to the telco’s network or the signal strengh? )
    Also, how can I automatically load the firmware in the Gobi Modem in the system startup?

    Thans and great work!

    • FYI, I have no idea how to check signal strength. But I would suggest you to configure dial-up info (number and apn) and try to connect. You should be connected to the mobile network if everything is OK.

      And I did not try to investigate how we can load firmware during system startup.

      Let us know if you could connect or not.

      • Daniel Costa said

        Hi Rubel.

        I managed to test the modem. I Couldn’t connect to the internet but i could issue some AT commands. The modem that I have (a Gobi 1000 interface) is locked to ATT only sim cards and I live at Brazil.

        But I think is the sim wasn’t locked, it would function correctly.

        Thanks for the tutorial!

      • I could use my local network using this device. I did many things while trying to register to GPRS service. But I am not sure which helped. You may try this:

        1. First of all check the response of AT+CREG? command which shows you the current network registration status. The device should be registered to home network.
        2. Manually set the network operator using +COPS AT command. Do this even if CREG shows you that you are connected to home network. First switch to manual mode and then again set to automatic mode.
        3. You may use AT+CGREG command to check if it is registered to GPRS network.

        Note: Please make sure that you have sufficient balance before you try to register GPRS network.

  4. Blake said

    Hi Rubel,

    Your blog is very helpful for me, and I can load the AppleCDCACMData.kext right now.

    I see there are cu.usbmodemfd133 and tty.usbmodemfd133 under /dev folder after I load the AppleCDCACMData.kext.

    I can use the minicom to issue AT-command in Linux when I load the GobiSerial driver but Zterm will show “### Device busy opening port” after I load the AppleCDCACMData.kext.

    Do you have any idea about why I cannot use Zterm to issue AT-command or how can I check the problem?

    Thanks for your sharing.

    • Hi, I am sorry to say that I have no idea why this happens. Bye the way, I could not use the driver in mac os x lion. But it works only in mac os snow leopard.

      • Blake.Chen said

        Hi Rubel,

        I try another MAC OS 10.6.8 and I still cannot get the Zterm work.

        I am wondering what tool you are using to issue AT-command?

        Thanks for your reply.

RSS feed for comments on this post · TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: