Commit Graph

633 Commits (15ec24e1b4fe6db53ce62929b9b48dc48c7ebfff)

Author SHA1 Message Date
Ari Parkkila 79c54372f2 Cellular: Fix to delete PDP context on disconnect 2019-04-11 03:58:56 -07:00
Hasnain Virk 34fc828601 Flagging WEAK method implementation for default construction
CellularDevice::get_default_instance() is a weak method and is overriden
by either a default construction provided in the code or by application
at some stage. This method needs to be flagged otherwise using another
driver will be hindered by the default overriding of this driver.
2019-04-10 12:52:38 +03:00
Ari Parkkila e0f8b2116a Cellular: Fix CellularStateMachine timeout configurations 2019-04-09 22:02:38 -07:00
Cruz Monrreal 6dbc00dd8a
Merge pull request #10292 from hasnainvirk/ec2x_driver
Cellular: Basic driver for Quectel EC25/EC21
2019-04-09 11:06:51 -05:00
Cruz Monrreal cec5a85761
Merge pull request #10354 from hasnainvirk/compile_error_at_handler
Cellular: Using new rather than malloc in debug_print
2019-04-09 11:06:15 -05:00
Cruz Monrreal d1672d0200
Merge pull request #10341 from mirelachirica/check_urc_resp_stop_1
Cellular: Check for URC during AT response stop
2019-04-09 11:05:56 -05:00
Teppo Järvelin 8234f00506 Cellular: fix state machine to compile after master rebase
Fix automatic rebase error with cellulardevice.cpp
2019-04-09 14:00:59 +03:00
Teppo Järvelin 2470a3611c Cellular: new state machine state and better info from stm
Added new state (signal quality) and more information about progress
so application/driver can build recovery logic.
2019-04-09 13:44:45 +03:00
Hasnain Virk 9229aba87d Using new rather than malloc in debug_print
Using malloc will require us to add stdlib.h somewhere in the path for
the application. Maybe the CI apps are adding stdlib.h and that's why
the code would have worked. In a custom app, it can happen that the
header is not included. Using new avoids the need to add stdlib.h
anywhere and it is more in line with C++.
2019-04-09 12:25:59 +03:00
Mirela Chirica f100cd59c8 Cellular: Check for URC during AT response stop 2019-04-09 11:15:28 +03:00
Hasnain Virk 69efed266d Marking TX and RX pins for UARTSerial as NC
For default construction of the driver, it would be necessary to define
the pins. However as we don't know the correct pins, until/unless user
sets them up for us. So it makes sense to mark the pins as NC. It would
be easier to debug if the pins are set to NC if user forgot to set them
up.
2019-04-09 10:20:38 +03:00
Hasnain Virk 7ebfa90753 Adding pin polarity and changing the constructor
To make this driver more useful, we needed to do some changes. The
wirings for the modem can differ on the board so we also need to be
flexible in our approach.
It is now mandatory to provide the power pin and pin polarity in the
constructor alongwith the file handle. Reset pin is optional.
2019-04-08 17:32:52 +03:00
Hasnain Virk 57d9e27532 Tidying up the boiler plate code
A little tidying up was needed as there was some boiler plate code that
could be shoved into a corner and reused.
2019-04-08 17:32:52 +03:00
Hasnain Virk 24178bc374 AT+CGSN with EC2X does not take parameter
Standard 3GPP TS27.007 states that the AT+CGSN command can optionally
have type parameter that determines the output. However Quiectel EC2X
series doesn't accept parameters. We need to reflect that in the
cellular properties setup.
2019-04-08 17:32:52 +03:00
Hasnain Virk df7f8cdfcf CREG can handle lac/ci/lat
AT+CREG command can also provide information regarding lac/ci/lat etc so
we should set the mode correctly in cellular properties structure.
2019-04-08 17:32:52 +03:00
Hasnain Virk ab978bde6c Removing left over tracing
A test trace was left lurking around. Removed in this commit.
2019-04-08 17:32:52 +03:00
Hasnain Virk 04299e45a3 Basic driver for Quectel EC25/EC21
Provides basic power up / power down sequences for Quectel EC2X series
modems. Can be used in PPP mode. For using the on-board IP stack, we
will need to add and implement classes that provide context.

Driver constructor takes power and reset control pins along with the
FileHandle. A default construction is provided which can be chosen by
the application in its mbed_app.json. Otherwise the user is free to
construct as per demand.
2019-04-08 17:32:52 +03:00
Teppo Järvelin fe5f97895b Cellular: Fix deleting of state machine to correct class 2019-04-08 12:50:29 +03:00
Martin Kojtal 8cbcc55f88
Merge pull request #10121 from kivaisan/improve_at_trace
Cellular: Improve ATHandler AT debug traces
2019-04-03 09:00:30 +02:00
Martin Kojtal 82e6b2fba4
Merge pull request #10229 from u-blox/cellular_device_test
Cellular: Power ON Wait Increased for C030_U201
2019-04-02 09:32:06 +02:00
Kimmo Vaisanen aff3815790 Cellular: Improve ATHandler AT traces
Original AT traces had several issue:
- Can be overwritten by other traces (printf/mbed-trace)
- No way to know which direction message was going (TX or RX)
- <cr> and <ln> characters were not visible in trace
etc.

This commit addresses those issues using mbed-trace and showing separately
each filehandle write and read.
2019-04-01 11:40:04 +03:00
mudassar-ublox 3d960ac272 wait increased for all cases 2019-04-01 10:36:49 +05:00
Teppo Järvelin c6e5595cec Cellular: retry logic for CellularContext connect
State machine has retry logic until device is attached to network.
After this CellularContext does the context activation e.g. connect.
There was no retry logic for context activation. Added logic to
CellularContext level so it's available for at and (upcoming)ril layers.
2019-03-29 14:12:23 -05:00
Cruz Monrreal 4af3c38078
Merge pull request #10210 from jarvte/cellulardevice_from_context
Cellular: CellularContext must provide access to CellularDevice
2019-03-28 17:09:48 -05:00
mudassar-ublox 71e5a1d2e7 cellular_network_test compilation error removed 2019-03-26 18:04:42 +05:00
mudassar-ublox 0ed71541c5 power on wait increased for C030_U201 2019-03-26 17:06:05 +05:00
Teppo Järvelin b0ee22c96b Cellular: CellularContext must provide access to CellularDevice
When using NetworkInterface::get_default_instance() application gets handle
to CellularInterface which is actually CellularContext derived from CellularInterface.
Application needs also handle to CellularDevice to open other interfaces.
2019-03-26 07:29:11 +02:00
Martin Kojtal 1d8c3d4553
Merge pull request #10179 from u-blox/n2xx_provide_default
Cellular: C030_N2XX default interface
2019-03-22 06:33:24 +01:00
Martin Kojtal e7a4658256
Merge pull request #10180 from AriParkkila/fix-wise-1570
Fix SPIF speed for MTB_ADV_WISE_1570 and max packet size for BC95
2019-03-22 06:32:39 +01:00
Martin Kojtal 014a5ec487
Merge pull request #10172 from kivaisan/fix_plmn_iar_trace
Cellular: Fix plmn trace for IAR
2019-03-21 10:05:20 +01:00
Ari Parkkila bdd07b6a37 Cellular: Fix max packet size for BC95 driver 2019-03-21 01:11:28 -07:00
mudassar-ublox 2f37e371b4 C030_N2XX default interface 2019-03-21 11:57:32 +05:00
Martin Kojtal 839e977bee
Merge pull request #10138 from jarvte/athandler_filehandle_not_usable
Cellular: don't allow ATHandler read/write if filehandle not usable
2019-03-20 15:39:12 +01:00
Kimmo Vaisanen 06caa0ff14 Cellular: Fix plmn trace for IAR
IAR compiler does not seem to like printing null strings.
2019-03-20 14:39:07 +02:00
Martin Kojtal 23cd1aa083
Merge pull request #10140 from jarvte/astyle_fixes
Cellular: fix astyle for files that already in master
2019-03-20 13:24:23 +01:00
Martin Kojtal c6d3d8326e
Merge pull request #10005 from TeemuKultala/cellular_remove_device
cellular: remove last CELLULAR_DEVICE references
2019-03-20 13:18:23 +01:00
Teppo Järvelin de7520bd97 Cellular: fix astyle for files that already in master 2019-03-18 13:50:10 +02:00
Teppo Järvelin 174d95709c Cellular: don't allow ATHandler read/write if filehandle not usable
For example after going to ppp mode we must block at write and
read as filehandle is not usable.
2019-03-18 13:37:48 +02:00
Martin Kojtal 6b84b14ab6
Merge pull request #10081 from jarvte/move_call_CGEREP
Cellular: call AT+CGEREP after sim is ready
2019-03-18 11:26:41 +01:00
Teemu Kultala 614b014d05 cellular: remove last CELLULAR_DEVICE references 2019-03-18 10:07:30 +02:00
Martin Kojtal 964f5ad321
Merge pull request #10098 from ghseb/credentials-for-connection-profile
Cinterion Cellular: Setup connection profile with username and password
2019-03-18 08:13:32 +01:00
Martin Kojtal 4cf22b39d6
Merge pull request #10029 from AriParkkila/cellular-device_serial
Cellular: Remove compile dependency of UARTSerial
2019-03-18 08:12:27 +01:00
Teppo Järvelin dba3d42362 Cellular: call AT+CGEREP after sim is ready
Current implementation did call AT+CGEREP before sim was ready
and it was failing in most modems.
2019-03-18 08:10:09 +02:00
Cruz Monrreal 05f18fc7f6
Merge pull request #10100 from ghseb/support-ehs5-e
Cellular: Support Cinterion EHS5-E cellular module
2019-03-16 23:00:51 -05:00
Cruz Monrreal 6c4b4a5212
Merge pull request #10084 from mirelachirica/info_resp_issue_8829
Cellular: AT information response to return false on empty prefix
2019-03-16 22:59:24 -05:00
Cruz Monrreal dbb33ef423
Merge pull request #9801 from vmedcy/fix-eventqueue-h
Correctly include EventQueue.h
2019-03-16 22:52:40 -05:00
Martin Kojtal 759627ff12 Merge branch 'plmn_stm_fix2' of https://github.com/jarvte/mbed-os into rollup 2019-03-15 08:45:14 +00:00
Sebastian Stockhammer 744e648673 Disable dual stack mode for ehs5-e 2019-03-15 09:32:26 +01:00
Sebastian Stockhammer 6b7b36a3b4 Revert "Disable dual stack mode"
This reverts commit 8611474e6c.
2019-03-15 09:31:49 +01:00
Sebastian Stockhammer 8611474e6c Disable dual stack mode 2019-03-15 09:26:43 +01:00
Sebastian Stockhammer 2c3c14c52b Fix registration modes and disable CGSN with type 2019-03-15 09:00:56 +01:00
Sebastian Stockhammer febcea00f3 Support Cinterion EHS5-E cellular module 2019-03-14 13:50:10 +01:00
Martin Kojtal d5eb98e66a Merge branch 'cellular_BC95_leak_fix' of https://github.com/TeemuKultala/mbed-os into rollup 2019-03-14 11:37:10 +00:00
Martin Kojtal 4df969fc2c Merge branch 'tr-debug-cell' of https://github.com/sarahmarshy/mbed-os into rollup 2019-03-14 11:36:59 +00:00
Sebastian Stockhammer ee17c7c996 Setup connection profile with username and password 2019-03-14 12:03:12 +01:00
Martin Kojtal ab0bc65e0d
Merge pull request #9873 from wajahat-ublox/udnsrn_timeout
Corrected timeout for +UDNSRN command
2019-03-14 09:38:20 +01:00
Martin Kojtal cf76b74aad
Merge pull request #9837 from jarvte/drop_bg96_cgact_support
Cellular: CGACT not supported in coming firmware in BG96
2019-03-14 09:16:39 +01:00
Martin Kojtal 76fe7267e7
Merge pull request #9637 from u-blox/C030_N211_Cellular_Driver
Cellular: UBLOX_C030_N211 Cellular API's
2019-03-14 09:11:06 +01:00
Mirela Chirica d12de2a199 Cellular: AT information response to return false on empty prefix 2019-03-13 15:49:33 +02:00
Ari Parkkila 903a6f2e7e Cellular: Remove compile dependency of UARTSerial 2019-03-12 23:57:43 -07:00
Sarah Marsh ae45096ce6 Fix undefined tr_debug for QUECTEL_BG96 cellular feature 2019-03-08 11:22:11 -06:00
Teemu Kultala 71a1ed9c8e cellular: BC95 memory leak fix 2019-03-07 11:58:20 +02:00
mudassar-ublox f19a412a55 Applied suggested astyle fixes 2019-03-06 11:00:50 +05:00
Teppo Järvelin a830dbf47d Cellular: removed manual registering state.
Simplified state machine by removing manual registering state.
This was done as some modems did not have all the needed at commands
for checking the registered network. Some modem run out of memory as when
checking correct network there might be so many networks available.
Manual registration still works but it does not do any checks to which network
it's registered. Moved manual registering at command earlier in state machine so it forces
registering to a correct network. Internal refactor/fix, does not affect applications.
2019-03-05 13:17:25 +02:00
mudassar-ublox 578fb7ae2b updated api and removed Astyle issue 2019-03-04 16:47:15 +05:00
Teppo Järvelin 0905f01438 Cellular: Removed API get_connection_status() from CellularNetwork
This was left accidentally after refactoring.
It wasn't giving correct states after refactoring.
CellularContext::get_connection_status should be used instead.
2019-03-01 14:51:05 +02:00
Teppo Järvelin ec73c8a9c7 Cellular: fix connect-disconnect sequence called many times
Fix syncing back to at mode after ppp disconnect.
Fix AT_CellularContext flags and states to allow new connect after disconnect.
Fix that state machine is not reseted in disconnect is it's running (might be
running because of another context or new connect already started).
2019-03-01 14:47:41 +02:00
mudassar-ublox d34b0475a9 C030_N211 api's update and removed N2XX_CellularNetwork class 2019-02-28 14:20:55 +05:00
Teppo Järvelin 4077898de1 Cellular: fix issue where CGACT not supported in coming firmware in BG96. 2019-02-28 08:36:31 +02:00
Wajahat Abbas bafb145dfb Corrected timeout for +UDNSRN command 2019-02-27 13:44:36 +05:00
mudassar-ublox 6c347eafe5 C030_N211 cellular api refactoring 2019-02-26 17:28:01 +05:00
Cruz Monrreal 50af2c341c
Merge pull request #9752 from mirelachirica/add_comment_fix_warning
Add comment fix warning
2019-02-21 17:30:34 -06:00
Volodymyr Medvid b0a33273ff Correctly include EventQueue.h
There are two EventQueue.h in mbed-os codebase:
events/EventQueue.h
features/FEATURE_BLE/ble/pal/EventQueue.h

By accident, `mbed compile` generates includes.txt with the correct
order of include search paths. This is not the case for the CMake
exporter: targets with FEATURE_BLE enables fail to compile with errors:

mbed-os/features/cellular/framework/AT/ATHandler.h:99:60: error:
'events' has not been declared

Update all places to always include either "events/EventQueue.h"
or "ble/pal/EventQueue.h": to always find the correct header.
2019-02-21 17:59:05 +02:00
Martin Kojtal dbd92c746b
Merge pull request #9387 from tymoteuszblochmobica/Sockets
Multihoming initial release
2019-02-21 13:50:03 +01:00
mudassar-ublox da797ef946 C030_N211 cellular api 2019-02-21 14:44:20 +05:00
Martin Kojtal 5ada4bf9af
Merge pull request #9746 from blind-owl/retire_cellularbase_class
Cellular: retire CellularBase class
2019-02-20 15:30:43 +01:00
Tymoteusz Bloch 641189c357 Multihoming change parameter orded in gethostbyname 2019-02-20 14:37:33 +02:00
Cruz Monrreal 2234dac127
Merge pull request #9751 from AriParkkila/athandler-set_at_timeout
Cellular: Fix ATHandler set/restore_at_timeout with mutex lock
2019-02-19 15:29:38 -06:00
Cruz Monrreal e3bc37b4de
Merge pull request #9655 from mirelachirica/nonip_doxygen_updates
Cellular: Non-IP doxygen updates
2019-02-19 15:29:14 -06:00
Tymoteusz Bloch 49141376ee Multihoming initial release
Added Multihoming feature to LWIP (ability to use more than one network interfaces) for increasing networking reliability.
This involves:

    LWIP interface
    LWIP IP routing
    DNS storage
    Sockets (bind to interface name possibility)
    possibility to add non default network interface
    cellular middleware modifications if cellular connection is used
2019-02-19 17:39:46 +02:00
Mirela Chirica c75e4a87ee Cellular: Remove compiling warning 2019-02-19 12:23:55 +02:00
Mirela Chirica 9ddb843cc8 Cellular: Added explanatory comment for AT cellular stack's socket_open routine 2019-02-19 10:18:08 +02:00
Ari Parkkila d48adcce2c Cellular: Fix ATHandler set/restore_at_timeout with mutex lock 2019-02-19 00:16:45 -08:00
Ari Parkkila 605a42d38f Cellular: Fix Gemalto/Cinterion socket open defer 2019-02-18 06:24:42 -08:00
Jari Poyhonen 90c9a85397 Cellular: retire CellularBase class
It was decided to retire CellularBase class which served as a pure
virtual interface class from which Cellular network stack
implementations would get inherited. However, the current view is that
we may be the only user of it so we could retire CellularBase.
2019-02-18 11:50:43 +02:00
Mirela Chirica 57a93bbd0a Cellular: Non-IP doxygen updates 2019-02-18 09:53:59 +02:00
Ari Parkkila cdc28b5baf Cellular: Fix CellularDevice mutex unlock 2019-02-17 23:53:53 -08:00
Ari Parkkila 50a276ead8 Cellular: Fix Quectel BG96 driver RTS/CTS setup 2019-02-17 23:53:11 -08:00
Ari Parkkila 9329430871 Cellular: Fix Quectel M26 drivers 2019-02-17 23:52:08 -08:00
Ari Parkkila 3bcf51385e Cellular: Handling of TCP endpoint closed 2019-02-17 23:51:08 -08:00
Ari Parkkila 5aaf42c418 Cellular: ATHandler debugging relieved 2019-02-17 23:49:01 -08:00
Cruz Monrreal fdd2a9402a
Merge pull request #9728 from AriParkkila/at-handler-clear-sigio
Cellular: Fix sigio to be released in ATHandler destructor
2019-02-15 12:41:44 -06:00
Cruz Monrreal 7f248970ec
Merge pull request #9660 from blind-owl/clean_cellular_trace
Cellular: clean sensitive information from trace
2019-02-15 12:28:25 -06:00
Ari Parkkila 0c697f4421 Cellular: Fix sigio to be released in ATHandler destructor 2019-02-15 05:07:36 -08:00
Cruz Monrreal 67abaf5fa7
Merge pull request #9706 from jarvte/fix_powering_onboard_modems
Cellular: fix onboard modems powering failure.
2019-02-14 20:26:51 -06:00
Teppo Järvelin e4018bd9bb Cellular: fix onboard modems powering failure
Don't call soft power on if device was already powered.
Some modems need to wait before sending anything to modem after soft powering.
2019-02-14 12:39:37 +02:00
Jari Poyhonen b6a0892e86 Cellular: clean sensitive information from trace
Information removed from the cellular subsystem trace log:
* SIM pin
* APN username and password

Added get_debug() to ATHandler.h to get the current trace state in order
to support suspend/resume of trace output.
2019-02-14 09:22:54 +02:00
Cruz Monrreal e310458a88
Merge pull request #9692 from naveenkaje/fix_ublox_celluar_warning
target: UBLOX: Fix build warning in UBLOX_AT_CellularNetwork.cpp
2019-02-13 17:12:51 -06:00
Naveen Kaje 02e42fef3e target: UBLOX: Fix build warning in UBLOX_AT_CellularNetwork.cpp
Fix this build warning seen when building with ARMCC

Compile [ 13.7%]: UBLOX_AT_CellularNetwork.cpp
[Warning] UBLOX_AT_CellularNetwork.cpp@65,0:  #111-D: statement is unreachable
2019-02-12 15:50:23 -06:00
Neil MacMullen f29c5b22a1 Keep style linter happy 2019-02-12 14:37:07 +00:00