Commit Graph

492 Commits

Author SHA1 Message Date
Denis Kenzior c1eb40e979 phonesim: minor whitespace fix 2010-10-14 01:07:44 -05:00
Torgny Johansson 5085e299fd ofono.rules: Add additional MBM rules
Add Ericsson c3607w and HP f3607gw/f3307 devices to udev rules file
2010-10-13 08:53:39 -05:00
Denis Kenzior a6909a227f huawei: Fixup whitespace corruption 2010-10-13 05:04:46 -05:00
Marcel Holtmann 9bc187bd45 ifx: Disable modem UART for power saving
Send AT+XPOW=0,0,0 command when enabling modem to disable UART. This
is done for power saving.
2010-10-13 08:42:45 +03:00
Aki Niemi 9914b2059e Fix smart messaging D-Bus signatures 2010-10-11 16:00:54 +03:00
Aki Niemi 061f61398d isigen: Add dummy ops for enable/disable
Without these the core gets confused. These are actually no-ops, since
enabling and disabling aren't supported with a USB modem.
2010-10-11 15:43:24 +03:00
Pekka Pessi f0ba01543a udev: refactor add_isi
Gather OFONO_ISI_ADDRESS from same udev device node as OFONO_DRIVER.
2010-10-07 15:30:04 +03:00
Pekka Pessi f8f93c34a8 udev: do not use post-143 libudev features
There is no udev_device_get_property_value() in libudev version 143.
2010-10-07 15:30:01 +03:00
Marcel Holtmann 5101702583 huawei: Use modem interface only if NDIS support is not available 2010-10-05 16:50:09 +02:00
Marcel Holtmann acc1f1d6af huawei: Add support for enabling NDIS GPRS driver if supported 2010-10-05 16:38:23 +02:00
Marcel Holtmann 45a2077e67 udev: Track NDIS port of Huawei devices (if present) 2010-10-05 16:21:19 +02:00
Marcel Holtmann 29e09bf3b9 udev: Fix coding style 2010-10-01 16:44:26 +02:00
Pekka Pessi 951cf0eaef udev: Fix ISI address setting 2010-10-01 17:38:40 +03:00
Kai Vehmanen 618ac2516c n900: Enable audio settings atom 2010-10-01 17:11:25 +03:00
Marcel Holtmann 7a77b292e3 ifx: Remove support for OFONO_IFX_MODEL option
The Infineon modem model is now auto-detected, so there is no longer
any need to specify it in the udev configuration rules.
2010-10-01 15:18:06 +02:00
Marcel Holtmann 0aae76c7aa ifx: Enable audio settings atom support 2010-10-01 13:17:24 +02:00
Marcel Holtmann 004219660f udev: Include "hsi" in the subsystems to watch 2010-10-01 13:01:08 +02:00
Aki Niemi e8d88d48da n900: Fix link target status 2010-10-01 13:55:02 +03:00
Marcel Holtmann 31d3142256 ifx: Fix crash with XGENDATA result callback 2010-10-01 12:31:19 +02:00
Marcel Holtmann e9e901a5ee build: Remove no longer needed plugins/usbpnmodem.c 2010-10-01 09:27:44 +02:00
Marcel Holtmann 6ce4f46273 build: Rename smart_messaging.c to smart-messaging.c 2010-10-01 07:51:43 +02:00
Marcel Holtmann 88f1b3c85e build: Move example plugins to its own directory 2010-10-01 07:44:09 +02:00
Marcel Holtmann a73dd11a87 udev: Some minor coding style updates 2010-10-01 06:57:22 +02:00
Marcel Holtmann be99e80a24 isi: Remove not needed includes for oFono headers 2010-10-01 06:54:27 +02:00
Marcel Holtmann 0ff1a3cb79 isi: Private header files don't need circular inclusion protection 2010-10-01 06:52:38 +02:00
Marcel Holtmann 26210912d9 plugins: Mode fixups for copyrigh headers 2010-10-01 06:51:34 +02:00
Marcel Holtmann b246df78f1 isi: Fix up the copyright headers of modem plugins
It is important that the copyright headers are consistent throughout
the source code. While the copyright might be owned by different
people of companies, the header itself with its license information
should be identical.
2010-10-01 06:46:32 +02:00
Marcel Holtmann 7dbdf46215 ifx: Use XGENDATA for modem model detection
The XGENDATA result contains various strings that also contain the modem
model. Make this command mandatory for the modem bringup and after it
succeeded, check for the XMM6260 string to setup specific audio settings.

This makes using ENV{OFONO_IFX_MODEL}="XMM6260" obsolete, but for now it
is still left as a possible option. It might be removed later.
2010-10-01 06:38:02 +02:00
Aki Niemi 99afae0393 smart_messaging: Remove interface on atom removal 2010-09-30 19:07:51 -05:00
Aki Niemi a7879d4e0c gisi: Remove route adding API 2010-09-30 11:25:48 +03:00
Aki Niemi f6966a3c5e Add udev support for ISI modems 2010-09-30 11:25:48 +03:00
Pekka Pessi 43e9d09a1c modemconf: set up isigen and n900
Allows basic configuration of phonet links.
2010-09-30 11:25:47 +03:00
Pekka Pessi 82894cf58f n900: modem driver plugin for Nokia N900
This patch adds a modem driver plugin for the Nokia N900 internal
modem. It controls the modem using the appropriate GPIO lines and thus
works without the Maemo userspace.

This plugin can run natively on the N900 with either Maemo or Meego
kernels. However, it conflicts with the Maemo userspace, for which
isigen should be used instead.
2010-09-30 11:25:47 +03:00
Pekka Pessi 0fc18e8176 isigen: generic modem driver plugin for ISI
The new isigen modem driver plugin replaces the generic parts in the
isimodem modem driver. This plugin works with recent Nokia modems in
PC suite mode over USB, as well as with the N900 modem using Maemo5
userspace.
2010-09-30 11:25:47 +03:00
Marcel Holtmann 190be6348c huawei: Add support for specific audio settings 2010-09-30 00:01:14 +09:00
Marcel Holtmann 461ef8ad97 huawei: Remove pointless vendor quirk 2010-09-29 23:59:50 +09:00
Marcel Holtmann 2f90ddff3c ifx: Request firmware details on modem init
The firmware details can be requested via AT+XGENDATA. So do this at
modem init to have these in the logs. Currently nothing is done with
this data, but eventually it can be used for modem specific settings
like the audio configuration.
2010-09-29 23:30:39 +09:00
Denis Kenzior ccb8b4fc21 smart_messaging: Add basic skeleton implementation 2010-09-28 23:38:37 -05:00
Denis Kenzior 801264fe03 smart_messaging: Add skeleton plugin 2010-09-28 22:51:47 -05:00
Marcel Holtmann 4d49d0879f ifx: Add support for audio configuration of modem
For the XMM6260 Infineon modem it is possible to use different audio
configuration depending on your platform. Currently the setup of
FULL_DUPLEX, BURSTMODE_48KHZ and BURSTMODE_96KHZ are supported. If
appropiate values for OFONO_IFX_MODEL and OFONO_IFX_AUDIO are set
in the udev rules file, then the audio configuration will be changed
when bringing up the modem.
2010-09-29 07:41:01 +09:00
Marcel Holtmann 5d1b9d5925 udev: Add support for setting IFX audio configuration
This adds three more extra configuration options for IFX specific
hardware setups. They are OFONO_IFX_MODEL, OFONO_IFX_AUDIO and also
OFONO_IFX_LOOPBACK.

An example usage would be like this:

ENV{OFONO_IFX_MODEL}="XMM6260", ENV{OFONO_IFX_AUDIO}="FULL_DUPLEX"

The actual supported values are not defined by the IFX modem
detection code. This is up to the modem plugin to change behavior
if needed.
2010-09-29 07:34:22 +09:00
Frank Gau 197757242e calypso: update power and reset path 2010-09-27 19:08:58 -05:00
Marcel Holtmann 815b3e592d huawei: Use specific voice call atom driver 2010-09-27 12:44:09 +09:00
Marcel Holtmann c201ffd197 huawei: Move voice call init to post_sim phase
Seems like that making emergency voice calls without SIM present is
not really possible. Move the voice call init to post_sim phase instead.
2010-09-27 00:05:52 +09:00
Marcel Holtmann 1b640f6a45 huawei: Remove voice call notifications from modem plugin 2010-09-27 00:03:36 +09:00
Marcel Holtmann 592f927495 ifx: Add warning for unknown SIM states 2010-09-26 17:09:25 +09:00
Marcel Holtmann f5eaf8a3fb ifx: Allow +XSIM notification to arrive during AT+XSIMSTATE=1
When not using none_prefix for matching the responses of AT+XSIMSTATE
call, it will consume all notifications. And this includes the initial
SIM state that the modem sends at that point. Without this notification
the SIM will never be marked as inserted.
2010-09-25 14:20:32 +09:00
Marcel Holtmann 1267247f5e ifx: Use internal mutliplexer if line discipline is not specified
If there is no line discipline specified for a kernel based multiplexer,
then fallback to the internal one.
2010-09-25 14:09:40 +09:00
Marcel Holtmann dcbceb249d ifx: Use multiplexer line discipline configuration option
Since the udev support allows to specify a line discipline number as
part of the modem configuration, use that one and report and error if
it has not been set.
2010-09-25 13:21:53 +09:00
Marcel Holtmann d0adc058c4 udev: Add support for setting IFX multiplexer line discipline
The IFX modem plugin uses a kernel based multiplexer. And to support
different line discipline numbers on different target platforms, allow
them to be specified as option:

KERNEL=="ttyIFX[0-9]*", ENV{OFONO_DRIVER}="ifx", ENV{OFONO_IFX_LDISC}="23"

The extra OFONO_IFX_LDISC option specifies to use line discipline 23
for the multiplexer setup. The number is just an example here and the
correct one will be different.
2010-09-25 13:12:36 +09:00
Marcel Holtmann 2a62e28659 ifx: Use SIM state notification for SIM insertion and removal
The +XSIM notifies us about missing or removed SIM. Use that for telling
the core if a SIM card is present or not. Besides that all other states
are treated as when a SIM card got inserted.
2010-09-25 11:49:00 +09:00
Marcel Holtmann 08f0ce6772 ifx: Add support for multiplexer setup
This supports a simple static multiplexer that is activated with setting
the line discipline 23 on the TTY. It is static, because the DLC numbers
are hardcoded.
2010-09-24 22:28:49 +09:00
Marcel Holtmann 12c846637d ifx: Add initial modem plugin implementation
This is a first attempt at the Infineon modem support. The support
is limited since it doesn't handle the setup of the multiplexer or
the different SIM states yet.
2010-09-24 18:32:06 +09:00
Marcel Holtmann 12bfc932f9 calypso: Fix debug for modem callbacks 2010-09-24 14:45:31 +09:00
Marcel Holtmann 69a6323633 calypsomodem: Use better debug strings for DLCs 2010-09-24 14:37:42 +09:00
Marcel Holtmann be1912fe9c Make debug handling with OFONO_AT_DEBUG a bit more consistent 2010-09-24 14:14:04 +09:00
Denis Kenzior 7e32ced1f3 example_history: Update to the new internal API 2010-09-21 08:44:48 -05:00
Kalle Valo 78842faa30 huawei: fix online logic
The recently introduced online support to huawei didn't work with my
Huawei E1552. The problem was that with command AT+CFUN=1;+CFUN=5
the modem didn't initialise the sim state properly.

To fix this I changed the logic so that CFUN=5 is called only after the sim
state has switched to a valid state. Now my Huawei E1552 works with connman
again.

PIN locked SIMs still won't work. The problem is that it takes some time for
the sim state to go to a valid state:

Sep 20 15:01:57 dell-m520 ofonod[12451]: Pcui:< \r\n+CPIN: READY\r\n\r\nOK\r\n
[...]
Sep 20 15:02:00 dell-m520 ofonod[12451]: huawei: invalid sim state in post online (0)
[...]
Sep 20 15:02:01 dell-m520 ofonod[12451]: Pcui:< \r\n^SIMST:1\r\n

I don't know why it takes so long to get a valid state.

There is also another issue, in "cold start" case the phonebook
initialisation fails:

Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:> AT+CPBS=?\r
Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:< \r\n+CME ERROR: SIM busy\r\n

But in "warm start" it seems to work:

Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:> AT+CPBS=?\r
Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:< \r\n+CPBS: ("SM","EN","ON")\r\n\r\nOK\r\n

I consider this as a minor issue and didn't investigate it at all.
2010-09-21 02:08:45 +09:00
Kalle Valo 940eaffa72 huawei: poll sim state
On my Huawei E1552 when I plug in the modem (ie. cold start) with PIN locked
SIM, the sim state is 255 (HUAWEI_SIM_STATE_NOT_EXISTENT). As the modem
doesn't send ^SIMST notifications, poll the sim state until it's ready.

In theory it might be possible to do this better, for example follow
^BOOT notifications or something, but it's unknown what parameter we
should check for.
2010-09-21 02:08:24 +09:00
Yang Gu 5d569e2ee6 hso: Enable phonebook atom 2010-09-19 20:38:13 +09:00
Marcel Holtmann df807d6d0a ifx: Add skeleton for Infineon modem plugin 2010-09-18 22:13:53 +09:00
Marcel Holtmann 3443a7a177 udev: Add support for IFX device detection
The IFX device detection is pretty static, but instead of using
a static configuration file it is important to know when the device
node is actually present. For this udev is perfect. Adding a simple
udev rule is all that it takes:

KERNEL=="ttyIFX[0-9]*", ENV{OFONO_DRIVER}="ifx"

With this rule for every TTY with the kernel name like ttyIFX0, a new
modem will be added and the IFX modem plugin driver requested for it.
2010-09-18 22:08:41 +09:00
Jeevaka Badrappan 0d809cd636 phonesim: set character set to GSM 2010-09-15 13:56:59 -05:00
Pekka Pessi ebb9b3e952 zte: implement Online property 2010-09-09 01:28:39 +02:00
Pekka Pessi 8a7e919578 mbm: implement Online property 2010-09-09 01:24:34 +02:00
Pekka Pessi de4d998e37 ste: implement Online property 2010-09-09 01:24:03 +02:00
Pekka Pessi aac914f656 novatel: implement Online property 2010-09-09 01:21:25 +02:00
Pekka Pessi 6ce4fb3689 hso: implement Online property 2010-09-09 01:19:37 +02:00
Pekka Pessi 9cbff5e19a huawei: implement Online property
Huawei uses +CFUN=5 for offline
2010-09-09 01:16:33 +02:00
Pekka Pessi e28adba8ad atgen: implement Online property 2010-09-09 01:15:10 +02:00
Marcel Holtmann ad5fb5ddda huawei: Decode voice call notifications 2010-09-05 21:54:55 +02:00
Marcel Holtmann 92916affea huawei: Decode voice channel settings 2010-09-05 20:50:30 +02:00
Marcel Holtmann ba532ae192 huawei: Check for voice call support 2010-09-04 23:43:59 +02:00
Marcel Holtmann bafc89a858 udev: Check for valid USB serial numbers 2010-09-04 22:51:38 +02:00
Denis Kenzior bb3df7a66d phonesim: Move the stk atom to post_sim state 2010-09-02 10:45:01 -05:00
Pekka Pessi bbe4cf9f9d mbm: D5530 gets bogus +GCAP, not +CGAP 2010-08-30 11:28:19 -05:00
Marcel Holtmann 58830cb025 udev: Add rule for ZTE MF110 modem 2010-08-28 08:19:02 +02:00
Pekka Pessi 72bc1c7780 mbm: add quirks for Dell D5530
Dell D5530 is an OEM version of F3507g. It has an annoying habit of
announcing itself to world with its own name. Another problem is some weird
+CGAP messages at the same time. It also crashes upon processing received
CBS messages.
2010-08-25 12:18:23 -05:00
Marcel Holtmann a5bb510787 novatel: Use Qualcomm specific quirk for SIM handling 2010-08-23 22:54:34 +02:00
João Paulo Rechi Vita 8ca72b9706 hfp: fix typo 2010-08-23 20:15:28 +02:00
Marcel Holtmann c2cf902d03 huawei: Query AT^U2DIAG and AT^GETPORTMODE settings
Just to make the values show up in the AT command debug logs, query them
when enabling the device.
2010-08-23 17:43:20 +02:00
Pekka Pessi 51a1bae8c7 mbm: fix initial polling for sim
There seems to be no specific error codes returned when SIM is missing.
Poll at least 5 times upon an error and give up after that.
2010-08-23 16:31:36 +02:00
Marcel Holtmann 0488550b55 nokia: Add GPRS handling 2010-08-20 21:27:13 +02:00
Marcel Holtmann a466443f55 zte: Add GPRS handling 2010-08-20 21:19:40 +02:00
Marcel Holtmann e3372f0b04 mbm: Remove registration and bearer specific notifications 2010-08-20 16:51:24 +02:00
Marcel Holtmann 9cdc303574 mbm: Enable notifications for packet switched bearer changes 2010-08-20 16:24:12 +02:00
Marcel Holtmann 132041004b mbm: Enable CFUN and EREG notifications 2010-08-20 15:45:17 +02:00
Marcel Holtmann 3251e7e234 mbm: Fix naming of MBM driver for GPRS context handling 2010-08-20 14:12:01 +02:00
Marcel Holtmann f1e8114f2a mbm: Use proper MBM quirks 2010-08-20 14:09:55 +02:00
Marcel Holtmann 607b21e7e3 ste: Use MBM quirk for network registration 2010-08-20 14:08:12 +02:00
Marcel Holtmann 26213aa1cc ste: Use MBM quirk instead of a STE specific one 2010-08-20 14:07:19 +02:00
Zhenhua Zhang 2084fffed0 udev: Add check for serial before string operation
'serial' could be NULL in some case. So it need to add check before
doing string operation.
2010-08-20 10:20:39 +02:00
Marcel Holtmann 12af4601bd nokia: Add initial plugin for Nokia Datacard support 2010-08-20 03:05:18 +02:00
Marcel Holtmann d05ea32ac2 udev: Add detection for Nokia data cards 2010-08-20 02:20:37 +02:00
Denis Kenzior 7be74dabe2 zte: Use QUALCOMM_MSM quirk for sim driver 2010-08-19 18:20:29 -05:00
Denis Kenzior 56aab76f41 huawei: Use QUALCOMM_MSM quirk for sim driver 2010-08-19 18:20:29 -05:00
Marcel Holtmann 86b58a7e43 hso: Use Qualcomm specific USSD quirk 2010-08-19 21:59:11 +02:00
Marcel Holtmann d0fdaa7f72 huawei: Add support for switching USSD mode
Some newer Huawei modems have support for ^USSDMODE command which seems
to be default to 1. In that mode the text USSD is not working. Switching
it to 0 and text USSD works just fine. Assumption is that with this command
the modem switches between text and PDU mode for USSD. Currently it is
unclear on how the PDU mode is suppose to work all. So default to text mode
if this command is supported.
2010-08-19 21:01:21 +02:00
Andrzej Zaborowski 01cb20f32d calypso: Subscribe to %SIMREM and %SIMINS
These notifications should be emitted on SIM removal and insertion.
These notifications don't work very well though, on the hardware this
has been tested on, the modem never issued %SIMINS, and %SIMREM was
emitted only in some specific circumenstances.
2010-08-18 00:29:37 -05:00
Sjur Brændeland e1cd53476a stemodem: Add polling for SIM ready status
Interim solution until support for SIM 'ready' notification is supported.
2010-08-17 14:57:31 +02:00