| Home · All Classes · Annotated · Functions |
The implementation of the GSM specification varies between GSM modules, with most modules supporting proprietary commands for special features. Therefore it is likely that modifications will be needed to $QPEDIR/src/libraries/qtopiaphone.
To simplify matters, most of the module-specific code can be placed in a vendor-specific plug-in, located under $QPEDIR/src/plugins/phonevendors. The plug-in should inherit the QPhoneVendorAt class and override its methods to implement the vendor specifics.
Qtopia Phone will load every vendor plug-in that is installed and query each one to see which is capable of handling the GSM modem. A vendor plug-in will typically issue vendor-specific AT commands to determine if the modem is supported.
The QTOPIA_PHONE_VENDOR macro in custom.h can be used to force Qtopia Phone to load only that plug-in, ignoring any others that may be present in the system. For example, setting QTOPIA_PHONE_VENDOR to wavecom will instruct Qtopia Phone to load libwavecomvendor.so to provide vendor-specific AT commands.
The QTOPIA_PHONE_VENDOR value can also be set as an environment variable.
GSM 07.10 multiplexing is a common source of problems. During initial testing it can be disabled by setting the QTOPIA_PHONE_MUX environment variable to no. Qtopia Phone will still function, but you will be unable to make GPRS calls without multiplexing support.
If your modem does not support GSM 07.10 multiplexing, or you need to modify the GSM 07.10 parameters, it will be necessary to write a multiplexer plug-in, located under $QPEDIR/src/plugins/multiplexers.
The Writing a Multiplexer Plug-in tutorial describes how to write such a plug-in.
The QTOPIA_PHONE_VENDOR macro in custom.h is used to select the multiplexer plug-in. For example, setting QTOPIA_PHONE_VENDOR to wavecom will instruct Qtopia Phone to load libwavecommultiplex.so as its multiplexer implementation. The QTOPIA_PHONE_VENDOR environment variable can also be used for this purpose.
If QTOPIA_PHONE_VENDOR is not set, Qtopia Phone will attempt to use GSM 07.10 in the default Basic mode with a frame size of 31. If that attempt fails, it will fall back to non-multiplexing mode.
To support a GSM module the following sequence may be used as a guide:
For example: AT+CMUX=1,0,5 vs AT+CMUX=0,0,5
Most modern phones have an external serial interface, which is used to connect to a computer for the purposes of data calls, FAX transmissions, or synchronization with desktop applications.
The SerialProxy class assists with this process.
The phone.conf file needs to be placed under the etc/default directory on the vendor system.
Warning: Using a serial proxy is not possible when connecting Qtopia to:
In such a case ensure that Phone.conf file does not contain an entry for ExternalAccessDevice.
| Copyright © 2006 Trolltech | Trademarks | Qtopia 4.1.7 |