Age | Commit message (Collapse) | Author | Files | Lines |
|
Huawei modem closes the modem port after PPP disconnect. So the channel
of gatchat is NULL in ppp_disconnect. In such case, we resume the chat
and it causes huawei_disconnect() get called and the gprs context is
removed later.
Before removing this gprs context, we should reply the pending DBus
message to the client.
|
|
|
|
|
|
|
|
|
|
Handlers are called when looping over the unsolicited responses hash,
registering or unregistering modifies that hash and confuses glib.
|
|
|
|
|
|
{NetworkRegistration} [/hso0] LocationAreaCode = 34591
{NetworkRegistration} [/hso0] CellId = 5903759
{NetworkRegistration} [/hso0] Strength = 32
{NetworkRegistration} [/hso0] Strength = 22
{PrimaryDataContext} [/hso0/primarycontext1] Settings =
dbus.Dictionary({}, signature=dbus.Signature('sv'), variant_level=1)
{PrimaryDataContext} [/hso0/primarycontext1] Active = 0
{DataConnectionManager} [/hso0] Attached = 0
{NetworkRegistration} [/hso0] Status = searching
{NetworkRegistration} [/hso0] Technology = umts <--- Oops
{NetworkOperator} [/hso0/operator/26201] Status = available
{NetworkRegistration} [/hso0] Name =
{NetworkRegistration} [/hso0] Status = registered
{NetworkRegistration} [/hso0] LocationAreaCode = 35342
{NetworkRegistration} [/hso0] CellId = 5903759
{NetworkRegistration} [/hso0] Technology = edge
|
|
MBM does not advertise support for CNMA, yet only supports CDS style
notifications which do not need to be acknowledged.
|
|
|
|
Wait for *EPEV unsolicited response after PIN entered, otherwise the
next AT+CPIN? query still returns the old value for a fraction of a
second and ofono gets stuck until the next PIN entry attempt.
|
|
Some callbacks in call-meter were assuming that a modem follows 27.007
and actually returns a string. Some modems don't return a string that
is properly formatted (e.g. in quotes). The strtol was thus accessing
uninitialized memory and crashing ofono.
|
|
|
|
Option modem use OCTI and OUWCTI commands
for reporting the cell capability.
|
|
|
|
The AT+CRSM=192 commands are failing on HSO devices and thus it might
be needed to return its details from a predefined database. Start with
testing this for reading the network code length.
|
|
There is a race condition from udev / kernel when a USB dongle is
removed. Sometimes all ports are removed first (and the io channels for
those ports are signaled as hupped) while other times the udev remove
event fires first.
If the latter happens, then gprs_context remove is called with a
potentially live ppp object. This patch shuts it down cleanly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Just before sending a CMGR for +CMTI notification, use need to
optionally send a CPMS to select the proper storage. This should be
done in a separate function for potential re-use by CDSI
|
|
|
|
|
|
|
|
|
|
Apparently some modems are extra stupid:
AT+CPUC?\r
\r\n+CPUC: \r\nOK\r\n
So if we fail to parse the response, return an error
|
|
|
|
|
|
This patch is meant to do two things:
- Some modems, like the Novatel, report bogus operator information when
not registered, as opposed to simply returning empty strings. In this
case we're a little bit more explicit about checking the returned
mcc/mnc string
- If we determine that the mcc/mnc string is bogus, we don't schedule
the alphanumeric cops query and return early.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The Option firmware is so funny. It has a typo in the AT command :)
|
|
|
|
|
|
The Novatel based devices with Qualcomm chips seems to have various
problems. First they advertise CNMI mode 2, but don't support it. And
second they don't support CNMA acknowledgement with a PDU. So fall back
to acks without PDU.
|
|
|
|
|
|
Ofono either crashed or busy looped with my Huawei E1552 3G modem when I
tried to deactivate GPRS context. The reason was that gcd->chat was
unreferenced already in setup_ppp() but the chat was still accessed
later in at_gprs_deactivate_primary().
To fix the problem, change the logic instead to suspend chat session
for PPP and resume when PPP has disconnected. Now it doesn't crash
anymore.
Deactivation still doesn't work properly with Huawei E1552, and most
probably with other Huawei modems, because the modem hangs up the chat
line after PPP deactivation. This needs to be fixed separately. The
workaround is to reboot the modem, for example physically unplug and plug
it in again.
|