Archive for Driver

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.

a. AppleUSBCDCACMData.kext_x64.zip
b. AppleUSBCDCACMData.kext_x86.zip

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 !

.

Advertisements

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)