summaryrefslogtreecommitdiff
path: root/src/gsmd
Commit message (Collapse)AuthorAgeFilesLines
* [gsmd] Adding timeout scheme, and merge gta01 wakeup scheme as machine ↵tick2007-11-1611-156/+267
| | | | | | plug-in with timeout. (L. Sean) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3430 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: cleaning some dummy codes (Tick)tick2007-11-123-428/+0
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3394 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: return some meaningful value from set_baudrate (Andrew & Tick)tick2007-11-121-7/+10
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3392 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: Adding hang up control(Andrew & Tick)tick2007-11-121-4/+3
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3391 99fdad57-331a-0410-800a-d7fa5415bdb3
* keeping track of current registration state internally in gsmd. Without this ↵tick2007-11-122-9/+26
| | | | | | the"gsmd->dev_state.registered" variable had bogus values. (Andrew) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3390 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: Adding IMSI support (Jim Rayner)tick2007-10-311-0/+25
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3309 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: Mainly for working around the bug of GTA01 HW with moko3, but it can ↵tick2007-10-311-0/+74
| | | | | | also solve the start up timing issue. (Tick) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3308 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: Fix the bug 928, that user cannot hang up call/cancel_atcmd until a ↵tick2007-10-312-35/+83
| | | | | | call is connected.(Andrzej Zaborowski) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3307 99fdad57-331a-0410-800a-d7fa5415bdb3
* formal version generation for gsmd-version.h considering releasejserv2007-10-251-2/+7
| | | | | | | version or not (svn repository). git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3275 99fdad57-331a-0410-800a-d7fa5415bdb3
* Patch to enable CPHS ( Common PCN Handset Specification),tick2007-10-251-2/+41
| | | | | | | and retrieve the voicemail number from SIM card for TI vendor.(Erin Yueh) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3268 99fdad57-331a-0410-800a-d7fa5415bdb3
* handle CME and CMS errors (Erin Yueh)tick2007-10-252-76/+103
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3267 99fdad57-331a-0410-800a-d7fa5415bdb3
* Adding decoder TP-DCS, and it's based on 3GPP TS23.038 Clause 4. (Erin Yueh)tick2007-10-251-0/+100
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3265 99fdad57-331a-0410-800a-d7fa5415bdb3
* Get a correct message index value on reading a SMS (Erin Yueh)tick2007-10-251-0/+6
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3264 99fdad57-331a-0410-800a-d7fa5415bdb3
* Improvement for find and read phonebooks in gsmd.jserv2007-10-171-22/+166
| | | | | | | | | | | | From: Sean Chiang <sean_chiang@openmoko.com> Subject: [PATCH] Improvement for find and read phonebooks in gsmd This patch is an improvement for find and read phonebooks. After clients make a request to find / read phonebooks, then clients should make a request to retrieve all the records. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3202 99fdad57-331a-0410-800a-d7fa5415bdb3
* Added 'Ask Status report' option in shell.jserv2007-10-171-1/+2
| | | | | | | | | | | From: Andrzej Zaborowski <balrogg@gmail.com> I also moved the .ask_ds field from struct gsmd_sms into struct gsmd_sms_submit because it seemed more logical being a property of SMS-SUBMIT PDU. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3201 99fdad57-331a-0410-800a-d7fa5415bdb3
* SMS status reportjserv2007-10-171-11/+43
| | | | | | | | | | | | | | | From: Erin Yueh <erin_yueh@openmoko.com> Subject: [PATCH] SMS status report I made a patch for SMS status report. It can change SMS-Submit messages and ask for a status report. When the destination address receives our message, the service center will send a SMS-STATUS-REPORT to us. We can tell what messages we sent by TP-MR (message reference number) value and can know the sending result by TP-ST (Status) value from status report messages. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@3200 99fdad57-331a-0410-800a-d7fa5415bdb3
* fix mlbuf handling (Phillip Zabel)laforge2007-08-232-5/+9
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2806 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: make it slightly more forgiving:mickey2007-08-191-9/+4
| | | | | | | | 1.) remove early-alive trigger 2.) don't use AT as initial command since TI firmware errors out git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2744 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd: also allow ERROR as answer for the alive timer.mickey2007-08-191-2/+5
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2742 99fdad57-331a-0410-800a-d7fa5415bdb3
* Change copyrigt to OpenMoko and contributorslaforge2007-08-171-1/+1
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2738 99fdad57-331a-0410-800a-d7fa5415bdb3
* Add a flag to allow LFCR as a valid linebreak. (Alex Osborne)laforge2007-08-172-6/+19
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2736 99fdad57-331a-0410-800a-d7fa5415bdb3
* Change alive check and first commands to bare "AT"laforge2007-08-171-2/+2
| | | | | | | | | The BCM2132 responds ERROR to ATV and ATE when it is in the radio off mode (AT+CFUN=0). This causes the alive check and first command to both fail so this changes them both to just bare AT. (Alex Osborne) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2735 99fdad57-331a-0410-800a-d7fa5415bdb3
* Add Broadcom BCM2132 vendor plugin (Alex Osborne)laforge2007-08-173-1/+119
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2734 99fdad57-331a-0410-800a-d7fa5415bdb3
* Add retrieving phone's own subscriber number. (Andrzej Zaborowski)laforge2007-08-171-0/+49
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2733 99fdad57-331a-0410-800a-d7fa5415bdb3
* mlbuf in gsmd struct (Andrzej Zaborowski)laforge2007-08-171-26/+27
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2732 99fdad57-331a-0410-800a-d7fa5415bdb3
* Ignore [WCDMA] messages in HTC Universal.laforge2007-08-171-1/+8
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2731 99fdad57-331a-0410-800a-d7fa5415bdb3
* HTC TI modem sequence fixlet.laforge2007-08-171-3/+6
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2730 99fdad57-331a-0410-800a-d7fa5415bdb3
* Wait for the AT Interpreter Ready message.laforge2007-08-171-1/+10
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2729 99fdad57-331a-0410-800a-d7fa5415bdb3
* Use vendor specific ext_chars.laforge2007-08-174-2/+5
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2728 99fdad57-331a-0410-800a-d7fa5415bdb3
* Implement GSMD version printout (Matt Mets <matt.mets@cibomahto.com>)laforge2007-08-172-1/+14
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2727 99fdad57-331a-0410-800a-d7fa5415bdb3
* SIM Phonebook access implementation.laforge2007-08-171-46/+124
| | | | | | | | | | | | | | | | | | | This patch adds primitive-but-working support for SIM phonebook access, including phonebook memory storage and entry read/write/delete. Also, libgsmd-tools shell is modified to perform listing actions. API changes: lgsm_pb_read_entryies -> lgsm_pb_read_entries lgsm_pb_list_storage (new): List of supported phonebook memory storage. lgsm_pb_set_storage (new); Select phonebook memory storage. lgsmd_pb_del_entry -> lgsm_pb_del_entry lgsmd_pb_write_entry -> lgsm_pb_write_entry git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2726 99fdad57-331a-0410-800a-d7fa5415bdb3
* From: Andrzej Zaborowski <balrog@zabor.org>laforge2007-08-171-3/+91
| | | | | | | | | | | | | | | | Date: Tue, 31 Jul 2007 22:26:36 +0200 Subject: [PATCH] Operations on the preferred operators list. This makes use of the AT+CPOL variants to add / delete / list entries in the preferred operators list on the SIM. There's some inconsistency, similarly as with operator selection, in that we return operator names in long alphanumeric format but we take only operators in numeric format as parameters. Either the client will have to convert between the formats or we should always use for example the long alphanumeric format, or maybe do something else. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2725 99fdad57-331a-0410-800a-d7fa5415bdb3
* From: Andrzej Zaborowski <balrog@zabor.org> ↵laforge2007-08-172-28/+43
| | | | | | | | | | | | | Date: Fri, 27 Jul 2007 19:39:15 +0200 Subject: [PATCH] Cell Broadcast message decoding and presentation in libgsmd-tool. This time Cell Broadcast is tested to work, I should have made tests earlier. Now I'm correctly getting a CB message with the human readable name of the city and district when I'm connecting. In the previous patches the CB PDU was not being decoded at all. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2723 99fdad57-331a-0410-800a-d7fa5415bdb3
* From: Andrzej Zaborowski <balrog@zabor.org>laforge2007-08-174-38/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Date: Fri, 27 Jul 2007 14:29:44 +0200 Subject: [PATCH] Multiline unsolicited responses parsing. +CMT, +CBM and +CDS responses two lines long in PDU mode and the parser has problem with them. As it was mentioned earlier there's no way for the parser to know if a new line is part of the most recent command response or unsolicited response, or a completely new unsolicited response, without looking at the contents of the first line. My idea is that the parser for the particular response decides if the response is too short, and returns -EAGAIN in which case the AT parser will append the following line to the response and resubmit it to the response parser. The disadvantage is that the generic parser gets one more special case to remember about, but it works quite well, hopefully there are no more cases where we will need to modify the parser. (We may need to use a separate multiline buffer (like the current mlbuf variable) to account for situations when a multiline unsolicited response comes in the middle of receiving a different response, which is also possible. Also, mlbuf should probably be moved into the parser state struct instead of being a global). This patch also moves initialisation of SMS options to after we are registered to the network, so that we don't get errors from the modem. Perhaps we want to have a dynamic list of callbacks to call on succesfull registration. Among other changes also prevents setting dev_state.on if the radio powering-on fails. --- include/gsmd/event.h | 8 +++++ include/gsmd/sms.h | 1 + src/gsmd/atcmd.c | 26 +++++++++++++++++ src/gsmd/sms_cb.c | 73 ++++++++++++++++++++++++------------------------ src/gsmd/unsolicited.c | 8 +++++ src/gsmd/usock.c | 21 ++++++++++++-- src/util/event.c | 10 +++---- 7 files changed, 103 insertions(+), 44 deletions(-) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2722 99fdad57-331a-0410-800a-d7fa5415bdb3
* From: Andrzej Zaborowski <balrog@zabor.org>laforge2007-08-173-60/+504
| | | | | | | | | | | | | | | | | Date: Thu, 26 Jul 2007 16:00:52 +0200 Subject: [PATCH] Cell Broadcast messages enabling/disabling and notifications. This adds GSMD_CB_SUBSCRIBE and GSMD_CB_UNSIBSCRIBE commands handling and proper handling of th +CMTI, +CMT, +CBMI, +CBM, +CDSI, +CDS unsolicited codes. It's also an overhaul of sms_cb.c which I first though stood for sms *callbacks* :) rather than "cell broadcast" so all SMS and CB related code now sits in this file. The Neo1973 modem doesn't seem to support storing CB messages and delivery status messages into memory, so the default is now set to output them directly to TE when they're enabled. None of the CB code is tested on real CBs, but I think it's a good start. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2721 99fdad57-331a-0410-800a-d7fa5415bdb3
* From: Andrzej Zaborowski <balrog@zabor.org>laforge2007-08-172-101/+102
| | | | | | | | | | | | | | | | | | | | | | | Date: Thu, 26 Jul 2007 00:32:38 +0200 Subject: [PATCH] SMSC and Preferred Storage operations. This adds setting and retrieval of SMS storage stats (memory type, used entries, all entries), and of the default service centre (SMSC) number for outgoing messages. The operation of setting a new SMSC number is untested because my SIM doesn't seem to allow this (that or I did something wrong). New "libgmsd-tool -m shell" commands for testing are also added. Other changes in this patch: * The third, optional, parameter to +CMGL: is a string, not an integer as I wrongly assumed earlier, this is now corrected. * Rename libgsmd API functions starting with lgsmd_.. to lgsm_.. for consistency with all other identifiers. * Move lgsm_send_simple() to libgsmd.c and add a prototype in lgsm_internals.h, this eliminates some compile-time warnings. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2720 99fdad57-331a-0410-800a-d7fa5415bdb3
* Operator Selection (Andrzej Zaborowski)laforge2007-08-161-25/+103
| | | | | | | | | | | | | | | | | | | | | | | | This adds gsmd/libgsmd/libgmsd-tool commands to: * query available operators, * register to given operator, * register automatically (like gsmd did until now), * deregister, * get current operator name, * query signal quality, * query current connection state (a bit hacky, but it's the only way I found to satisfy the synchronous prototype in misc.h). The operator cache is not used as it wouldn't give any benefit here. Retrieving the list of present operators takes very long but there doesn't seem to exist any way around it and all other phones I used also take that long. The libgmsd call for registration to an automatically chosen operator now takes a parameter of a different type so all libgsmd clients need to be updated (this patch updates libgsmd-tool already, but not libmokogsmd which is not a part of gsmd project). git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2713 99fdad57-331a-0410-800a-d7fa5415bdb3
* Dynamic registration of unsolicited responses (Andrzej Zaborowski)laforge2007-08-163-31/+51
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2712 99fdad57-331a-0410-800a-d7fa5415bdb3
* From 5b7c50fd08b8f76f761958c8a8243e6c23118fa3 Mon Sep 17 00:00:00 2001laforge2007-08-165-31/+180
| | | | | | | | | | | | | | | | | | | | | From: Andrzej Zaborowski <balrog@zabor.org> Date: Thu, 12 Jul 2007 14:26:46 +0200 Subject: [PATCH] Incoming SMS events This is a proposed patch to emit a gsmd event when a new SMS arrives, also modifies libgsmd-tool to display the notification. It makes sms_cb.c compile but only really implements the bits necessary to make it build and for the notifications to work. I chose AT+CNMI mode 1 (i.e. store messages in memory and report the location through +CMTI, rather than print the message right away through +CMT) because the parser doesn't support multiline unsolicited responses - in fact it can't support those because in a situation when a normal command is executing and an unsolicited response comes in (which is the case when sending a message to yourself) it is impossible for the parser to distinguish whether the line after the unsolicited response is part of that response or part of the command's response. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2711 99fdad57-331a-0410-800a-d7fa5415bdb3
* From 294d27e78680d497da22e3a8ad679f50d1ba29e5 Mon Sep 17 00:00:00 2001laforge2007-08-164-84/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | From: Andrzej Zaborowski <balrog@zabor.org> Date: Wed, 11 Jul 2007 16:11:10 +0200 Subject: [PATCH] SMS support in gsmd and in libgsmd. This adds the proper support for sms related calls in libgsmd and their implementation in gsmd. I assumed that conversion between data coding schemes is to be done on the client side because the {packing,unpacking}* calls were exported. TEXT mode support is non-functional, but the code only has to be filled in the right places to make it work, if it is ever needed. I had been lucky to be able to test with the different kinds of messages with exotic formats because I just got a bunch of network messages today (urging to top-up the credit). I tried to not modify the libgsmd api, although I would prefer to have a totally different api, possibly with synchronous calls that just return the result of an operation, for a exmaple a whole list of messages, rather than the client waiting for an unknown number of events each with one message. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2710 99fdad57-331a-0410-800a-d7fa5415bdb3
* From: Andrzej Zaborowski <balrog@zabor.org>laforge2007-08-164-55/+86
| | | | | | | | | | | | | | | | | | | | | Date: Wed, 11 Jul 2007 16:03:16 +0200 Subject: [PATCH] Multiline commands support. Miscellaneous bugs. This adds support for commands like +CMGS and +CMGW that span mroe than one line and the lines can't be sent to modem as separate commands because every next line has to wait for a "> " prompt from modem before writing (otherwise beginnings of the lines get eaten). This patch also corrects a number of miscellaneous glitches that I have hit. I can split them each out if needed, but they are all quite obvious. The cms_error variable is introduced because there are CME and possibly other errors with the same codes, which resulted in that when I was sending a message and got error 42 ("congestion") on sending, openmoko-dialer asked for PIN because CMS event 42 happens to be PIN inquiry. The change in libgsmd-tool fixes the issue described by Philipp Zabel on the list, with usock locking up. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2709 99fdad57-331a-0410-800a-d7fa5415bdb3
* * Add missing parameter to writealphaone2007-08-101-1/+1
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2686 99fdad57-331a-0410-800a-d7fa5415bdb3
* gsmd.c: Send \r before draining tty so the modem discards any garbage thatalphaone2007-08-101-0/+3
| | | | | | | was sent before. git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2685 99fdad57-331a-0410-800a-d7fa5415bdb3
* Add '2nd try' of the multiline parser:laforge2007-07-311-20/+50
| | | | | | | | | | | | | | Every extended response causes a flush of the previous mlbuf and starts collecting new response lines. Also, final_cb is now really only reached for final responses and the code for case 'A' won't overwrite the command buffer with the response anymore. I throw in '\n' as a separator for multi-line responses, and the callback is called for each response this way. (Philipp Zabel) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2581 99fdad57-331a-0410-800a-d7fa5415bdb3
* in some cases the Qualcomm chip in the HTC Universal switches to V0 modelaforge2007-07-312-2/+7
| | | | | | | | | behind our backs. We need support for "0" instead of "OK" in the synchronous initial command and in the alive check. Note that this nearly duplicates the "OK" check in atcmd.c. (Philip Zabel) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2580 99fdad57-331a-0410-800a-d7fa5415bdb3
* don't power off the phone at gsmd startup.laforge2007-07-311-2/+0
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2579 99fdad57-331a-0410-800a-d7fa5415bdb3
* the latest gsmd sends the alive detector's ATE0 to the GSM modem, evenlaforge2007-07-312-3/+5
| | | | | | | | | if interpreter_ready == 0. The attached patch sees to it that if interpreter_ready is zero, gsmd_alive_start is only called once the "AT-Command Interpreter ready" message was seen. (Philipp Zabel) git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2578 99fdad57-331a-0410-800a-d7fa5415bdb3
* Use ATH instead of ATH0 for QC compatibility (Philipp Zabel)laforge2007-07-311-1/+2
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2577 99fdad57-331a-0410-800a-d7fa5415bdb3
* Add higher baudrates: 230k, 460k, 921k (Alex Osborne)laforge2007-07-311-0/+3
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2576 99fdad57-331a-0410-800a-d7fa5415bdb3
* * add GTA02 machine type definition for gsmdlaforge2007-06-181-0/+1
| | | | git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2294 99fdad57-331a-0410-800a-d7fa5415bdb3
personal git repositories of Harald Welte. Your mileage may vary