Archive for Mac OS X

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 !



Comments (9)

Qualcomm Gobi firmware uploader for Mac OS X

If you have a built-in Qualcomm Gobi mobile broadband device in your notebook/netbook then you are in the right place.

How to:

1. Download the firmware up-loader if your laptop is Toshiba Satellite M505-s4945. Otherwise you can Download source code of the firmware up-loader. Then change the device ID and vendor ID in the source code and build your own firmware up-loader.

2. Create a directory ‘USBNotificationExample’ in ‘/Library/Application Support/’ or ‘/Library/Application Support/’

3. Copy firmware image files that is appropriate for your mobile operator (amss.mbn and apps.mbn) in that directory. You will get those image files if you have installed WWAN Connection Manager in windows.

4. Run the application downloaded. This will upload the firmware image files to the device.

5. Install the modem device driver that I have patched for Qualcomm Gobi.


Comments (5)

Qualcomm Gobi Mobile Broadband device Driver for Mac OS X

Please check my latest blog post for device driver

After two weeks of restless work I could manage to develop Mac OS X device driver and firmware loader for vendor specific usb device (Qualcomm Gobi Mobile Broadband device).

qcserial USB driver for linux directed me to the right direction. First of all, I was trying to upload firmware to the USB device after making some changes to SimpleUSBNotification example shipped with XCode. I had to port the codes of for Mac OS X.

Though I could upload the firmware after few days of work the device were not working as I expected. Because, the device and all its interfaces (class, subclass, protocol) were defined as vendor-specific. As a result none of the existing usb modem driver were recognizing it.

Then I was planning to develop a driver for this. My target was to expose a vendor-specific USB Interface (Interface #2) of the Composite USB device to be exposed as a port under /dev/tty.* using the driver and then use that port to connect dial-up internet.

Then I found a usb modem driver called AirPrime. I have been trying to modify this driver so that the modified source codes work for my usb device. And finally the success came to me. I could load the driver during boot which do recognize my usb device after uploading the firmware and then I can connect internet without any problem

Please let me know if you want me to upload the modified source codes. Thanks for your time.

Comments (6)

Activate/Unlock Qualcomm Gobi Mobile Broadband device

I was lucky enough to activate Qualcomm Gobi Mobile Broadband device built-in with Toshiba Satellite M505-S4945. It is now working with GSM network (GrameenPhone/Aktel/Warid) in Bangladesh. I could not test it with CDMA network available here. Loading appropriate firmware should work, I hope.

Please follow the steps below.
1. Load Gobi Firmware onto the device using Toshiba WWAN Connection Manager on Toshiba Mobile Broadband Device.

2. Execute AT+CFUN=1 AT command on the device (****Please do this at your own risk****). I used minicom to connect to the device and execute AT command in Linux environment. Please use similar applications available in Windows platform.

3. The command above will unlock the device. Now configure WWAN Connection Manager for your network and enjoy.

The way I made it work:
1. Uninstall Qualcomm Gobi Download Service.
2. Install Ubuntu 9.10 in virtualbox 3.1.4.
3. Installed qcserial, the device driver for Qualcomm Gobi. Please check this. FYI, I added the following text to the driver code.
{USB_DEVICE(0x0930, 0x130D)}, /* Toshiba Gobi QDL device */
{USB_DEVICE(0x0930, 0x130E)}, /* Toshiba Gobi Modem device */

4. Load Gobi Firmware. You can load any firmware. Check this to load firmware. Please note that the blue light will be turned off automatically once the firmware is loaded.
5. Install and use minicom to execute “AT+CFUN=1” AT command to activate the device. If the device is activated the blue light will be turned on again.
6. Once the device is activated re-install 3g drivers and utility software uninstalled earlier in your Windows platform and enjoy.

I am now experiencing Gobi in Windows Vista Home Premium.

Comments (3)