Commit Graph
493 Commits
Author SHA1 Message Date
Dan Williams 74b1503c60 core: tear down all pending work when closing a port
Make sure all pending work, if any, is torn down when closing
the port, since it's closed, and is likely going to get unreffed
soon and we don't want anything running after the port is dead.
2011-04-18 17:39:59 -05:00
Dan Williams fca4d3aa37 gsm: return success if unlocked but doesn't allow subsequent CPIN commands
If the modem for some reason returns ERROR for a +CPIN when it's
unlocked, and subsequent PIN post-unlock pin checks return READY,
just treat the modem as unlocked don't return the +CPIN error.
2011-04-18 17:38:39 -05:00
Dan Williams 5dadfa4c21 Merge remote-tracking branch 'lanedo/plugin-wavecom' 2011-04-14 14:20:43 -05:00
Nathan Williams 487972c1ac gsm: implement basic SMS reception and PDU parsing 2011-04-14 14:07:31 -05:00
Aleksander Morgado 48c7dac009 serial: ensure response array is empty before setting cached reply 2011-04-14 13:34:02 -05:00
Nathan Williams d05c87e4c8 charset: change GSM unpack to take number of characters rather than octets
Change interface to take the number of GSM characters
rather than the number of octets, so that it is possible to
distinguish the 7-character and 8-character cases.
2011-04-14 13:30:15 -05:00
Dan Williams 0a06dd324d serial: ensure spew control can be changed after port is created
Since we don't allow properties to be passed into the serial port
create routines we don't want a construct-only property here.
2011-04-14 13:26:16 -05:00
Nathan Williams 1c3101fbaf serial: allow spew control to be turned off
It's only used during probing where some port types (Sierra CnS
and some Icera devices) may send streams of data that we can't
understand until we close the port.  It interferes with some SMS
operations, so turn it off for ports opened after probing.
2011-04-14 13:22:54 -05:00
Aleksander Morgado ade8c17f6a gsm: handle UMTS 2600 internal band 2011-04-11 10:04:27 +02:00
Aleksander Morgado 262edb96d5 wavecom: handle READY without OK in CPIN? reply 2011-04-11 10:04:27 +02:00
Dan Williams ed5aefb3cb serial: allow plugins to specify probe-time send_delay
Let modems we know don't suck use a zero send-delay at probe time,
which greatly reduces time required to probe AT-compatible ports.
2011-04-08 16:19:36 -05:00
Dan Williams 7d20acc566 gsm: make sure verbose error reporting is enabled before checking PIN
Otherwise we don't get the expected "Incorrect password" error if the
PIN is wrong, just a generic error.
2011-04-08 16:00:36 -05:00
Dan Williams 273f4203d4 serial: send entire command in one write if send_delay is 0 (chromium:13506)
Avoids additional USB latency and groups the whole command into one
USB packet.

BUG=chromium-os:13506
2011-04-08 15:42:28 -05:00
Nathan Williams dbf9e085d4 sms: don't try to destroy NULL hash tables 2011-04-07 17:48:03 -05:00
Aleksander Morgado 9435a937ce serial: allow user to provide custom regex for successful and error replies
New mm_serial_parser_v1_set_custom_regex() method.
2011-04-06 17:11:20 -05:00
Aleksander Morgado cc5fcd195a modem-base: allow NULL ports in get_card_info() if port_error given
So that cached values can be returned if querying while the port is connected.
2011-04-06 16:58:13 -05:00
Dan Williams 49150ca3a6 serial: don't let EAGAIN block sending commands until completion
If a port returns EAGAIN on write attempts, previously the code would
spin and attempt to resend the failed byte after send_delay
microseconds.  This resulted in up to 3 second hard blocks in
the serial code when sending to ports that don't respond.  While
in this blocking loop no other events or dbus commands could be
processed.

Instead, send each byte and reschedule sending the next byte in
send_delay microseconds, so that we can process other events in between
attempts to write to stupid ports.

This doesn't hugely decrease the amount of time that probing
requires, since we still need to probe all ports of the device
before exporting the modem to D-Bus, but it does let MM find
responsive ports much more quickly, and ensures that MM doesn't
block any D-Bus requests.
2011-04-06 13:00:55 -05:00
Aleksander Morgado e520c2d448 generic-gsm: make flow control setup command a property 2011-04-04 21:46:51 -05:00
Jason Glasgow 2dbca0baf8 core: make modem StateChanged signal consistent with API documentation
The new and old state arguments were flipped.
2011-03-31 15:29:12 -05:00
Dan Williams 35b3e348e6 samsung: drop PORT_TYPE_ECM
Isn't really needed since it's just the same as any other net
device port type.
2011-03-27 15:23:44 -05:00
Jun Woo Lee 4ad0c01be0 modemmanager: Add support for Samsung Y3300 modem
BUG=chrome-os-partner:2394
TEST=gmerge modemmanager, watch logs, see detected as Samsung modem, connect to AT&T network

Review URL: http://codereview.chromium.org/6614026
Patch from Jun Woo Lee <jw86.lee@samsung.com>.

Change-Id: I913628ff4a1cd16c8180e3c808644b0134e69e31
2011-03-11 21:50:05 -06:00
Dan Williams 0c4b94458a gsm: fix for parsing malformed Gobi CREG response
From an HP un2400;

GMR: D1020-SUUAASFA-4352  1  [Apr 14 2008 18:00:00]
GMM: 88
2011-03-11 21:36:55 -06:00
Thomas Bechtold b3b1d5309a core: allow plugins to handle custom init responses 2011-03-11 20:25:22 -06:00
Michael Biebl 871097327b logging: use glong for secs and usecs 2011-02-25 18:21:52 -06:00
Dan Williams f340ce86cd cdma: ensure the ActivationStateChanged signal exists
It's part of the D-Bus API, so it needs to be implemented somewhere
even if it's not used yet.
2011-02-25 12:26:30 -06:00
Dan Williams 7707117862 log: fix spacing so messages line up 2011-02-25 11:18:55 -06:00
Tom Bechtold 92e4127c7d core: allow platform devices without a VID/PID
Since platform devices don't usually have them.
2011-02-10 12:07:54 -06:00
Dan Williams 00b6cce4df api: fix up StateChanged duplicate reason code
And add new reason codes to the C headers.
2011-01-24 14:36:24 -06:00
Dan Williams 245b893e98 logging: make gcc 4.4.3 happy about ignored unused results 2011-01-24 14:13:28 -06:00
Dan Williams 98ec26283a logging: shut up compiler warnings about unused result from write(2)
We actually don't care about the result here.  But we do in other
places, so we want to keep the warning in general.
2011-01-24 14:05:07 -06:00
Dan Williams 12f1b351e8 rules: blacklist some unlikely USB serial dongles (rh #544121) 2011-01-24 12:39:13 -06:00
Dan Williams d909c4876b core: minor code cleanups 2011-01-24 00:09:55 -06:00
Dan Williams 3ee40ddbce core: add logging when ports get removed 2011-01-24 00:05:20 -06:00
Dan Williams 44c11adadc core: add mm_port_subsys_to_name() 2011-01-24 00:05:08 -06:00
Dan Williams 476cc44bc1 gsm: enable unsolicited codes on secondary ports too (bgo #637140)
We want to enable unsolicited responses on secondary ports too,
so that if the modem only sends unsolicited responses on the ports
on which they were enabled, that we can get resposnes off the
secondary port when the primary port is connected.  But we can't
always trust devices to actually send them on the secondary port,
so we enable the unsolicited responses on both the primary and
secondary ports just in case.
2011-01-23 23:36:52 -06:00
Dan Williams 6f08206ac8 core: enable timestamps with legacy --debug option 2011-01-23 23:21:58 -06:00
Dan Williams 16039244bb core: rework logging
Make it more flexible, add logging to a file, and absolute and
relative timestamps.
2011-01-23 20:51:48 -06:00
Guido Günther d44ae44558 gsm: wire up USSD Respond function (bgo #638038) 2011-01-14 12:25:05 -06:00
Dan Williams d908389aff core: add modem reset/power-cycle command
Based on a patch by Elly Jones from Google.
2011-01-14 12:17:02 -06:00
Michał Sroczyński f4d4569cdd gsm: correctly parse Samsung S8500 Wave CREG response
(testcases by dcbw)
2011-01-11 13:42:54 -06:00
Dan Williams 794353ebcc cdma: update reg state to HOME based on SPERI response
If the SPERI response indicates the home network, then set
CDMA registration to HOME if it was REGISTERED (which is
less specific).
2011-01-05 11:15:11 -06:00
Dan Williams 6c56db07fc cdma: fix segfault by handling MEID property
Also, MEID->Meid to follow standard D-Bus property semantics.
2011-01-04 17:21:41 -06:00
Dan Williams b0cd9288c2 cdma: fix CDMA registration state retrieval on single AT port devices
If the device only has one AT port that's being used for data and
thus we can't do more specific registration checking in MMGenericCdma
using AT commands, but generic registration checking was successful,
just use the less specific state.

Previously, an error would be returned when no AT port was available
even though less specific QCDM registration checking worked.  That
was just stupid.
2011-01-04 14:06:03 -06:00
Dan Williams ceb5cc29d6 core: signal property changes for IpMethod
If the modem's IP Method changes after construction because the
modem's full capabilities were only discovered after it was created,
make sure the change notification gets emitted.
2011-01-01 17:47:40 -06:00
Dan Williams a502fd2b19 gsm: add access technology support for HSPA+ 2011-01-01 11:55:41 -06:00
Dan Williams 292c98029d test: fix CIND test index checking
CIND indexes returned from helper are 1-based, not 0-based, because
that makes it easier to match against the modem's unsolicited CIND
message.
2010-12-21 11:54:47 -06:00
Elly Jones eb90498efd Add CDMA Activate and ActivateManual methods.
BUG=6885
TEST=built modemmanager and cromo

Change-Id: Ib73a093b13da05948a2f1da8f051fe7c55682584

Review URL: http://codereview.chromium.org/3517013
(cherry picked from commit f447c8e1a0062500e1171e031cf4c8fef76ffd59)

Conflicts:

	src/mm-modem-cdma.c
2010-12-20 15:19:45 -05:00
Elly Jones 48169926f4 Don't probe virtual devices before they exist
Prevent ModemManager from probing virtual devices before their
associated files exist in /dev tree.

Contributed by Nasser Grainawi <nasser@codeaurora.org>

Review URL: http://codereview.chromium.org/2118005
(cherry picked from commit 617660e3572a7b79ed83f9fc0fda89b7efcb2d4d)

Conflicts:

	src/mm-plugin-base.c

Change-Id: Ie5e8b98fb6b6c69e294175523ef99c934092433b
2010-12-20 12:41:03 -05:00
Elly Jones 245818de33 Install xml files so they can be used by cromo (chromeos modem manager)
Amended: Install the files under their proper DBus names.

Review URL: http://codereview.chromium.org/1618004
(cherry picked from commit 89f7f05f1294485fa8b44cfdd3c9b0d924d45ac1)

Conflicts:

	Makefile.am

Change-Id: I65b2b0c1b5e579bb5b1d5d5b390c3be2ae49543c
2010-12-20 12:23:41 -05:00
Elly Jones d32eeec9ea Update from Qualcomm to support smd devices in Modem Manager
Review URL: http://codereview.chromium.org/661471
(cherry picked from commit 8475eb44b7ea41afa823919b017a39d82b07a5a2)

Conflicts:

	src/mm-plugin-base.c

Change-Id: I825886cad62a27acb39dfe74da7028d83adf692a
2010-12-20 11:05:49 -05:00