AgeCommit message (Collapse)AuthorFilesLines
6 daysexamples: add modem watcher example in JSHEADmasterAleksander Morgado7-1/+149
6 daysexamples: add modem watcher example in pythonAleksander Morgado7-1/+180
14 daysport-probe: remove the 3s wait before opening a MBIM portBen Chan1-17/+6
The 3s wait before opening a MBIM port is not necessary for handling a delayed response to the MBIM OPEN messages. mbim_device_open() already retries the MBIM OPEN message when the MBIM device does not respond.
2014-04-02blacklist: All devices from Pololu Corporation except some possible future ↵David (Pololu)1-0/+6
products. We make many USB virtual COM port devices, none of which are modems. ModemManager's automatic attempts to access those devices can cause problems. That might change in the future, so we have left two potential future product IDs off of the blacklist.
2014-04-01novatel: read HDR signal qualityAleksander Morgado1-0/+2
(ttyUSB0): --> 'AT$NWRSSI<CR>' (ttyUSB0): <-- '<CR><LF><CR><CR><LF> HDR RSSI= 93<CR><LF><CR><LF><CR><LF>OK<CR><LF>
2014-03-25docs,libmm-glib: add methods to manage the MTU in the MMBearerIpConfigAleksander Morgado1-0/+2
2014-03-25bearer-mbim: update MTU in bearer IP config propertiesBen Chan1-0/+8
This patch modifies MMBearerMbim to update the MTU value in the bearer IPv4 and IPv6 config property when such information is available in the MBIM_CID_IP_CONFIGURATION response.
2014-03-25cli: print MTU in bearer IP config propertiesBen Chan1-36/+50
2014-03-25api: add MTU to bearer IP config propertiesBen Chan3-0/+60
This patch adds a 'mtu' value to the Ip4Config and Ip6Config property of a Bearer object, which indicates the value of the maximum transmission unit for the established connection when such information is available (e.g. via QMI_WDS_GET_RUNTIME_SETTINGS on a QMI modem or MBIM_CID_IP_CONFIGURATION on a MBIM modem).
2014-03-25bearer-mbim: fix a misleading commentBen Chan1-1/+1
2014-03-25introspection: fix typosBen Chan2-4/+4
2014-03-24blacklist: ignore empiriKit science lab controller deviceAleksander Morgado1-0/+3
2014-03-18port-serial: fix command context completion when clearing command queueBen Chan1-2/+1
This patch removes an extra invocation of g_simple_async_result_complete on the result associated with each command context in the command queue when mm_port_serial_close clears the queue. It also changes the code to complete the results in idle, which avoids a nested invocation of mm_port_serial_close. That could happen if the completion of the result calls mm_port_serial_close again (e.g. via at_command_context_free, at_sequence_context_free in mm-base-modem-at.c). The nested invocation of mm_port_serial_close could create undesirable effects (e.g. the assertion on open_count > 0 fails in case of a forced close).
2014-03-14broadband-modem,modem-helpers: improve +CGDCONT? error handlingBen Chan2-3/+13
This patch fixes the following crash, which happens when MMBroadbandBearer tries to parse the NULL response of a failed +CGDCONT? query. It also fixes a leak in parse_pdp_list where it fails to free the GError object return by mm_3gpp_parse_cgdcont_read_response. Thread 0 *CRASHED* ( SIGSEGV @ 0x00000000 ) 0x7feb15564c11 [ModemManager] - mm-modem-helpers.c:850 mm_3gpp_parse_cgdcont_read_response 0x7feb15518e51 [ModemManager] - mm-broadband-bearer.c:927 parse_pdp_list 0x7feb1551ada2 [ModemManager] - mm-base-modem-at.c:189 at_sequence_parse_response 0x7feb151d4b86 [] - gsimpleasyncresult.c:775 g_simple_async_result_complete 0x7feb1556e223 [ModemManager] - mm-port-serial-at.c:355 serial_command_ready 0x7feb151d4b86 [] - gsimpleasyncresult.c:775 g_simple_async_result_complete 0x7feb1556a834 [ModemManager] - mm-port-serial.c:141 command_context_complete_and_free 0x7feb1556bc26 [ModemManager] - mm-port-serial.c:734 port_serial_got_response 0x7feb1556c51a [ModemManager] - mm-port-serial.c:758 port_serial_timed_out 0x7feb1508cc33 [] - gmain.c:4026 g_timeout_dispatch 0x7feb1508c087 [] - gmain.c:2715 g_main_context_dispatch 0x7feb1508c437 [] - gmain.c:3290 g_main_context_iterate 0x7feb1508c891 [] - gmain.c:3484 g_main_loop_run 0x7feb1550ad16 [ModemManager] - main.c:154 main 0x7feb14a9e9c6 [] - libc-start.c:234 __libc_start_main 0x7feb1550a808 [ModemManager + 0x00023808
2014-03-09data: add iconAleksander Morgado1-0/+197
2014-03-07wavecom: avoid +COPS=0 if already in automatic registration modeAleksander Morgado1-4/+170
AT+COPS=0 in a FXT009 may end up making the device stuck in a weird state in which it only replies "+CME ERROR: 515" to every AT command. So try to avoid this command whenever possible.
2014-03-06broadband-modem-mbim: handle subscriber info updatesBen Chan1-6/+47
Subscriber information like MSISDNs / MDNs may not be readily available when MMIfaceModem queries for it during modem initialization. This patch modifies MMBroadbandModemMbim to subscribe to the MBIM_CID_SUBSCRIBER_READY_STATUS notification and update the 'OwnNumbers' property of the Modem interface when the information becomes available.
2014-03-06broadband-modem-mbim: update to use mbim_message_device_service_subscribe_listBen Chan1-5/+5
libmbim renames 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBER_LIST' to 'MBIM_CID_DEVICE_SERVICE_SUBSCRIBE_LIST' to be consistent with the MBIM specification. This patch updates MMBroadbandModemMbim accordingly.
2014-03-06build: require libmbim 1.8Aleksander Morgado1-1/+1
We're going to add support for some features only available in that version.
2014-03-06broadband-modem: fix hdr_subsys_state_info_readyBen Chan1-2/+4
hdr_subsys_state_info_ready() did not implement the GAsyncReadyCallback function signature, which led to a crash. This patch fixes hdr_subsys_state_info_ready() to properly extract the QCDM response from the GAsyncResult object.
2014-03-05license: add LGPLv2+ license in addition to the GPLv2+ oneAleksander Morgado3-1/+508
This is not a license change; the daemon and command line tool are still GPLv2+, and the libmm-glib library LGPLv2+. For reference, see libqmi bug:
2014-03-04port-mbim: increase timeout of device open operationBen Chan1-1/+1
A MBIM device typically delays its response to an 'Open' command when it has not completed the initialization process. This patch increases the timeout of the MBIM device open operation from 10s to 30s to handle situations where the device takes much longer to initialize.
2014-03-03cinterion: implement unlock retries loadingAleksander Morgado1-0/+120
2014-03-03cinterion: after SIM unlock, query SIM status until readyAleksander Morgado4-4/+213
2014-03-03iface-modem: allow setting power state to OFF when modem is in FAILED stateBen Chan1-4/+9
2014-02-28cinterion: request to force refresh access tech after current bands updateAleksander Morgado1-1/+4
2014-02-28cinterion: force band preference update to be applied immediatelyAleksander Morgado1-1/+4
2014-02-28cinterion: consolidate setting current bands in 2G and 3G devicesAleksander Morgado3-69/+46
2014-02-28cinterion: consolidate current bands loading for 2G and 3G devicesAleksander Morgado4-117/+92
2014-02-28cinterion: consolidate supported bands loading for 2G and 3G devicesAleksander Morgado4-45/+45
2014-02-28broadband-modem: allow querying current charsetAleksander Morgado2-0/+9
So that plugins can use it.
2014-02-28cinterion: add helper to build Cinterion band maskAleksander Morgado3-72/+78
2014-02-28cinterion: add helper to parse AT^SCFG="Radio/Band" response in 3G devicesAleksander Morgado4-60/+146
2014-02-28cinterion: use AT^SCFG=? to parse supported bands in 3G devicesAleksander Morgado6-28/+363
2014-02-28cinterion: request access tech update after allowed mode changeAleksander Morgado1-1/+4
2014-02-28iface-modem-3gpp: request access tech update after registration attemptAleksander Morgado1-0/+2
2014-02-28iface-modem: allow requesting the refresh of the access techAleksander Morgado2-5/+29
For periodic updates, we may want to request an explicit re-check at some point, instead of waiting for the next scheduled update.
2014-02-28cinterion: add support for HSUPA+HSDPA reported access techAleksander Morgado1-11/+16
2014-02-28cinterion: allow recovering automatic modeAleksander Morgado1-13/+21
When automatic mode (i.e. 2G+3G+none preferred) is selected, we need to explicitly request it by giving the AT+COPS write command with values (i.e. not just empty fields).
2014-02-28cinterion: cache operator id if manual selection attemptedAleksander Morgado1-1/+86
We'll need it afterwards for proper mode switching
2014-02-28cinterion: unsupported modes are already filtered outAleksander Morgado1-37/+8
So no need to try to handle error cases or fallbacks to support them.
2014-02-28cinterion: increase AT command timeout when changing modesAleksander Morgado1-1/+1
2014-02-27libmm-glib: deep-copy ports array in ensure_internal_ports() (bgo #724900)Dan Williams1-2/+11
ensure_internal_ports() didn't deep-copy the ports array, which meant that anything calling mm_modem_port_info_array_free() was freeing the internal memory owned by MMModem if it retrieved the array with mm_modem_get_ports().
2014-02-27broadband-modem-mbim: handle if unlock retries info is not availableBen Chan1-3/+7
By setting the 'RemainingAttempts' field of a MBIM_CID_PIN response to 0xffffffff, a MBIM modem indicates that it does not support the information on the number of remaining attempts for pin-related operations. This patch modifies MMBroadbandModemMbim to handle this case properly, instead of reporting a very large unlock retries count.
2014-02-26base-modem: if no AT primary given, try to use data portAleksander Morgado1-5/+11
The Cinterion PHS8 reports a single AT port to be used as data port, and no other port as primary. In this case, recover the tty as primary AT port, instead of failing with an error.
2014-02-20wavecom: implement power offAleksander Morgado1-0/+28
Powering off Wavecom devices is done via the AT^CPOF=1 command. These devices seem to not only power-off, but also power-cycle when this command is received, which means that the user needs to make sure to fully cut the power to the device when the SetPowerState() method replies.
2014-02-20cinterion: implement power offAleksander Morgado1-0/+154
Powering off Cinterion modems is done with the AT^SMSO command. Once this command is sent to the device, ModemManager still needs to wait to get an unsolicited ^SHUTDOWN message from the modem, which is when the shutdown is considered complete. Newer Cinterion devices, though, don't seem to follow this rule and just reply OK to AT^SMSO (i.e. no ^SHUTDOWN), but instead, they will remove the tty ports.
2014-02-20broadband-modem-qmi: implement full power offAleksander Morgado1-19/+32
The power off command will transition the device to the OFFLINE state. After this, the modem will not be able to go online again unless it is power-cycled, either externally (cut power and re-establish power) or through another transition to QMI_DMES_OPERATING_MODE_RESET (which ModemManager will not implement for this case).
2014-02-20cli: new '--set-power-state-off' commandAleksander Morgado1-0/+27
2014-02-20iface-modem: allow transitioning to the OFF power stateAleksander Morgado2-9/+86
There are systems in which the modem power source can be controlled externally, e.g. to switch it on or off. In these cases, it is sometimes advisable to be able to tell the modem to cleanly shut off completely before the power is cut. So, allow transitioning to the OFF power state if the modem supports it, even if afterwards the modem could be completely unreachable.