Matti Laakso [Sun, 20 Nov 2016 21:27:32 +0000 (23:27 +0200)]
wds: make APN optional
Some modem firmwares do not use the APN selected in the Start
Network command. Moreover, it is marked optional in the QMI
specification.
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Matti Laakso [Sun, 20 Nov 2016 21:27:31 +0000 (23:27 +0200)]
wds: add a separate --set-ip-family option
Change the current ip-family option to set the IP Family Preference
TLV in the Start Network command, and add a separate set-ip-family
option for the Set IP Family command. This is done to match how
the autoconnect and set-autoconnect options work.
Older modems don't support the Set IP Family command, and they
should use the IP Family Preference TLV. On the other hand, newer
modems, e.g., from Huawei, don't respect that TLV, and require the
use of the separate Set IP Family command.
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Matti Laakso [Sun, 20 Nov 2016 21:27:30 +0000 (23:27 +0200)]
wds: fix set-autoconnect help text
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Felix Fietkau [Fri, 4 Nov 2016 14:46:06 +0000 (15:46 +0100)]
uim: add missing extra data for UIM PIN verify request
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Fri, 4 Nov 2016 13:20:51 +0000 (14:20 +0100)]
add UIM verify pin commands
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Fri, 4 Nov 2016 13:09:15 +0000 (14:09 +0100)]
enable uim message functions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau [Fri, 4 Nov 2016 13:04:15 +0000 (14:04 +0100)]
data: update qmi-service-uim.json from libqmi git
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Bjørn Mork [Tue, 23 Aug 2016 12:31:05 +0000 (14:31 +0200)]
uqmi: fix big endian bugs in MBIM code
All MBIM integer fields are 32bit little endian. So we need to convert
then all on big endian systems.
Fixes: e69bf24b00d8 ("uqmi: add support for MBIM devices with QMI service")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Bjørn Mork [Sun, 21 Aug 2016 00:01:10 +0000 (02:01 +0200)]
dms: add "Set FCC Authentication" request
Many newer modems from Sierra Wireless includes a feature known as
"FCC Authentication". The basic idea is that the radio is kept in
low power mode until the driver has told the firmware that it is
OK to switch it on. This is done with a vendor specific QMI DMS
request with no input or output TLVs.
The "Set FCC Authentication" request is required for any modem with
the feature enabled. Which includes most newer Lenovo branded Sierra
Wireless modems based on Qualcomm chipsets, like for example the
EM7455.
Sample session with an EM7455 in MBIM mode and the FCC Authentication
feature enabled:
$ umbim -d /dev/cdc-wdm0 -n radio
hwradiostate: on
swradiostate: off
$ uqmi -m -d /dev/cdc-wdm0 --fcc-auth
$ umbim -d /dev/cdc-wdm0 -t 2 radio
hwradiostate: on
swradiostate: on
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Bjørn Mork [Sun, 21 Aug 2016 00:01:09 +0000 (02:01 +0200)]
uqmi: add support for MBIM devices with QMI service
Many Qualcomm based devices offer a QMI service when running in MBIM
mode. This is useful for a number of requests which have no MBIM
counterpart.
This implementation is very basic, simply wrapping the QMI requests
in an MBIM command. It is up to the user to make sure that the MBIM
command sequence is valid, using a mix of umbim and uqmi requests.
umbim must be used to send "OPEN" before uqmi can issue any MBIM
requests. Example:
1. use umbim to open the session, using the '-n' option:
$ umbim -d /dev/cdc-wdm0 -n caps
devicetype: 0003 - remote
cellularclass: 0001
voiceclass: 0001 - no-voice
simclass: 0002
dataclass: 003C
smscaps: 0003
controlcaps: 0001
maxsessions: 0008
deviceid: 0145820007xxxxx
firmwareinfo: SWI9X30C_02.08.02.00
hardwareinfo: EM7455
2. use uqmi to send an MBIM request, using the '-m' option:
$ uqmi -m -d /dev/cdc-wdm0 --get-serving-system
{
"registration": "registered",
"plmn_mcc": 242,
"plmn_mnc": 1,
"plmn_description": "TELENOR",
"roaming": false
}
3. use umbim to close the open session, using the '-t X' option:
$ umbim -d /dev/cdc-wdm0 -t 2 caps
devicetype: 0003 - remote
cellularclass: 0001
voiceclass: 0001 - no-voice
simclass: 0002
dataclass: 003C
smscaps: 0003
controlcaps: 0001
maxsessions: 0008
deviceid: 0145820007xxxxx
firmwareinfo: SWI9X30C_02.08.02.00
hardwareinfo: EM7455
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup, portability fixes]
Bachtin, Dmitri [Thu, 19 Nov 2015 12:31:02 +0000 (13:31 +0100)]
build: Support for out of source builds added
The scripts gen-{header,code,error-list}.pl were called with
source-local paths what disallowed out of source builds.
Updated CMakeLists.txt to call the scripts with ${CMAKE_SOURCE_DIR}
prefix.
Signed-off-by: Dmitri Bachtin <dbachtin@init-ka.de>
Bachtin, Dmitri [Fri, 20 Nov 2015 06:34:36 +0000 (07:34 +0100)]
build: added _library suffix to lib variables
It is a convention under CMake to suffix variables in the FIND_LIBRARY
calls with _LIBRARY. Added _library suffix to json, blobmsg_json and
ubox variables.
Bachtin, Dmitri [Fri, 20 Nov 2015 06:34:35 +0000 (07:34 +0100)]
uqmi: search for ubox, blobmsg_json and json include paths
CMake will search for include paths via FIND_PATH() of the following
libraries: libubox, blobmsg_json and json. This allows to build uqmi
when the dependencies are in non-standard locations by specifying
respective _include_dir variables.
Felix Fietkau [Sun, 22 Nov 2015 11:36:28 +0000 (12:36 +0100)]
wds: cast pdp_type enum to int to avoid clang considering the range check tautological
enum overflow behavior is undefined
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Sun, 22 Nov 2015 11:30:46 +0000 (12:30 +0100)]
wds: make ipv6 address endian swap more portable
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Bachtin, Dmitri [Wed, 9 Sep 2015 07:35:49 +0000 (09:35 +0200)]
uqmi: Added CMake option BUILD_STATIC for a static uqmi build
Signed-off-by: Dmitri Bachtin <dbachtin@init-ka.de>
Antti Seppälä [Sat, 8 Aug 2015 07:44:38 +0000 (07:44 +0000)]
uqmi: Add get-current-settings command-line switch
Adding --get-current-settings switch which can be used to query
ip-settings among some other useful data obtained from remote end when
connected.
This is mainly useful with modems which do not provide a dhcp server for
nameserver or ip-information (especially in ipv6 networks).
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Tested-by: Matti Laakso <malaakso@elisanet.fi>
Antti Seppälä [Sat, 8 Aug 2015 07:44:37 +0000 (07:44 +0000)]
uqmi: Add IP family selection command-line switch
This patch adds support for (optionally) specifying ip family via a
command- line switch. The switch sends respective "Set IP Family" WDS
message to qmi-device before actually connecting.
Using this switch allows connecting to ipv6 enabled networks or networks
with dual-stack support with the appropriate hardware (dongle and FW
with ipv6 support) and configuration (AT+CGDCONT reporting ipv6 or
ipv4v6 capability).
Help text:
--ip-family <family>: Set ip-family for the connection (ipv4, ipv6, unspecified)
Usage example for ipv6:
uqmi -d /dev/cdc-wdm0 --set-client-id wds,<cid> --start-network <apn> --ip-family ipv6
Dual-stack usage example:
uqmi -d /dev/cdc-wdm0 --get-client-id wds
uqmi -d /dev/cdc-wdm0 --set-client-id wds,<cid-1> --start-network <apn> --ip-family ipv4
uqmi -d /dev/cdc-wdm0 --get-client-id wds
uqmi -d /dev/cdc-wdm0 --set-client-id wds,<cid-2> --start-network <apn> --ip-family ipv6
Signed-off-by: Antti Seppälä <a.seppala@gmail.com>
Tested-by: Matti Laakso <malaakso@elisanet.fi>
Felix Fietkau [Tue, 12 May 2015 11:01:34 +0000 (13:01 +0200)]
add missing license headers (LGPL v2)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Mon, 13 Apr 2015 22:29:26 +0000 (00:29 +0200)]
Add command to get IMEI from the device
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Sławomir Demeszko [Fri, 16 Jan 2015 19:30:38 +0000 (20:30 +0100)]
Add command to specify preferred PLMN
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Thu, 8 Jan 2015 18:08:30 +0000 (19:08 +0100)]
Add command for listing device capabilities
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Thu, 8 Jan 2015 14:15:40 +0000 (15:15 +0100)]
Add missing option for getting tdma signal strength
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Thu, 18 Dec 2014 15:12:15 +0000 (16:12 +0100)]
Fix encoding phone number on sending sms
Return proper length of encoded phone number with odd count of digits,
without this patch number is encoded in memory but length returned
by function is not incremented and sms cannot be send.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Mon, 22 Dec 2014 18:47:34 +0000 (19:47 +0100)]
Making smsc number optional
If smsc number is not provided before sending sms then
operator's default stored on simcard will be used.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Mon, 22 Dec 2014 18:02:57 +0000 (19:02 +0100)]
Fix improper length of sms message stored in User Data Length field
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Mon, 22 Dec 2014 17:23:50 +0000 (18:23 +0100)]
Fix logical expression which is always true
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Wed, 17 Dec 2014 18:06:16 +0000 (19:06 +0100)]
Add mandatory field to Initiate Network Register
According to json data Action field in Initiate Network Register
is mandatory. I get "Missing argument" from qmi without it.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Wed, 17 Dec 2014 16:14:53 +0000 (17:14 +0100)]
Fix improper characters after reading Escape code for switching extension table in SMS
Escape code 0x1b is a prefix indicating that next character should be
represented from extension table, but it only applies to one character,
so switching it off is needed to read further characters correctly.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Wed, 17 Dec 2014 14:56:32 +0000 (15:56 +0100)]
Added commands to change PIN code
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Wed, 17 Dec 2014 12:35:33 +0000 (13:35 +0100)]
Added shared struct to allow the same option names for different functions
For example we can use one option --new-pin with commands unblock-pin
and with change-pin, without that we need to invent new name
for every new command.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Wed, 17 Dec 2014 12:35:32 +0000 (13:35 +0100)]
Added option for enabling and disabling protection of simcard by PIN
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Wed, 17 Dec 2014 13:34:48 +0000 (14:34 +0100)]
Add support for 16-bit reference number in concatenated SMS.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Mon, 8 Dec 2014 18:05:25 +0000 (19:05 +0100)]
Fix character "@" added at end of received messages
If 7 bit message encoded on 8 bit cells has one last bit occupying
whole byte it need to be padded with 7 zero bits. To not mistake
these last 7 bits with a character with code 0 (@) we need to check
length from User Data Length field and not rely on actual length
of received data. An example can be message "abcdefg" encoded
as "61 f1 98 5c 36 9f 01", it is decoded as "abcdefg@".
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Mon, 8 Dec 2014 12:27:34 +0000 (13:27 +0100)]
Added support for 8 bit and 16 bit encoded SMS messages
Message is presented as string of hexadecimal pairs in JSON output.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Mon, 8 Dec 2014 12:27:33 +0000 (13:27 +0100)]
Separation of decoding User Data Header from decoding 7 bit message
It is preparation for supporting 8 bit and 16 bit encoding. Moving out
this code from decode_7bit_field() allows to reuse it in caller
function where other than 7 bit decoding will take place.
Signed-off-by: SÅ‚awomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Tue, 2 Dec 2014 15:26:36 +0000 (15:26 +0000)]
Add --delete-message for deleting SMS messages
Signed-off-by: Sławomir Demeszko <s.demeszko@wireless-instruments.com>
Sławomir Demeszko [Thu, 27 Nov 2014 14:00:12 +0000 (14:00 +0000)]
SEGFAULT on reading Unicode sms messages
Added complementary blobmsg_close_table() before returning from function
on error.
Felix Fietkau [Tue, 25 Nov 2014 20:22:16 +0000 (21:22 +0100)]
add wda commands for setting/getting wireless data mode
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Tue, 25 Nov 2014 20:11:50 +0000 (21:11 +0100)]
suppress enum conversion warnings
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Wed, 19 Nov 2014 16:30:11 +0000 (17:30 +0100)]
fix indentation
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Sławomir Demeszko [Tue, 18 Nov 2014 15:07:32 +0000 (15:07 +0000)]
Fix improper part number in multipart SMS text messages
Received multipart SMS messages has part number always one too high.
Sławomir Demeszko [Tue, 18 Nov 2014 15:02:00 +0000 (15:02 +0000)]
Add command --get-msisdn for getting phone number
Uwe Wojak [Thu, 30 Oct 2014 09:17:51 +0000 (10:17 +0100)]
Added command "--get-iccid" to read the SIM serial number.
Uwe Wojak [Mon, 7 Jul 2014 13:57:53 +0000 (15:57 +0200)]
Added commands to unblock blocked PINs.
Added commands "--unblock-pin1" and "--unblock-pin2" and
parameters "--puk" and "--new-pin".
Felix Fietkau [Thu, 2 Oct 2014 12:08:31 +0000 (14:08 +0200)]
add a command for setting the interface data format
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 2 Oct 2014 10:43:18 +0000 (12:43 +0200)]
fix aliasing error for parsing message float data
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 2 Oct 2014 09:59:03 +0000 (11:59 +0200)]
add a command for changing the autoconnect setting
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 2 Oct 2014 09:46:04 +0000 (11:46 +0200)]
silence a compiler warning about adding an int to a string
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 2 Oct 2014 09:44:49 +0000 (11:44 +0200)]
make argument to get_pin_status int instead of enum to prevent invalid optimization
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 2 Oct 2014 09:42:15 +0000 (11:42 +0200)]
move a variable declaration to the right place
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Thu, 2 Oct 2014 09:39:55 +0000 (11:39 +0200)]
fix tautological check
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Felix Fietkau [Wed, 1 Oct 2014 18:25:13 +0000 (20:25 +0200)]
sync with libqmi-glib
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Matti Laakso [Tue, 27 May 2014 19:12:14 +0000 (21:12 +0200)]
Fix printing of service versions
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Matti Laakso [Tue, 27 May 2014 19:12:13 +0000 (21:12 +0200)]
Add --stop-network
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Matti Laakso [Tue, 27 May 2014 19:12:12 +0000 (21:12 +0200)]
Fix autoconnect
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Matti Laakso [Tue, 27 May 2014 19:12:11 +0000 (21:12 +0200)]
Minor fixes to command line help
Signed-off-by: Matti Laakso <malaakso@elisanet.fi>
Felix Fietkau [Sun, 23 Jun 2013 23:01:08 +0000 (01:01 +0200)]
add --set-device-operating-mode
Felix Fietkau [Sun, 23 Jun 2013 22:44:27 +0000 (00:44 +0200)]
add --reset-dms
Felix Fietkau [Mon, 10 Jun 2013 17:15:53 +0000 (19:15 +0200)]
add autoconnect option for --start-network
Felix Fietkau [Mon, 10 Jun 2013 15:20:04 +0000 (17:20 +0200)]
make size related int variables unsigned
Felix Fietkau [Mon, 10 Jun 2013 15:09:10 +0000 (17:09 +0200)]
unify multiple set_system_selection commands into one message, add --set-network-roaming
Felix Fietkau [Mon, 10 Jun 2013 15:08:26 +0000 (17:08 +0200)]
make uqmi_add_error return QMI_CMD_EXIT
Felix Fietkau [Sun, 9 Jun 2013 18:31:20 +0000 (20:31 +0200)]
fix releasing client ids after explicit set
Felix Fietkau [Sun, 9 Jun 2013 18:25:05 +0000 (20:25 +0200)]
add wds reset command
Felix Fietkau [Sun, 9 Jun 2013 18:23:25 +0000 (20:23 +0200)]
fix command type for get_packet_service_status
Felix Fietkau [Sat, 8 Jun 2013 23:01:13 +0000 (01:01 +0200)]
implement --get-data-status
Felix Fietkau [Sat, 8 Jun 2013 23:00:27 +0000 (01:00 +0200)]
rename send to _send to avoid conflict with system headers
Felix Fietkau [Sat, 8 Jun 2013 22:56:35 +0000 (00:56 +0200)]
codegen: work around firmware bug, only accept the first found tlv
Felix Fietkau [Sat, 8 Jun 2013 21:42:49 +0000 (23:42 +0200)]
add --network-scan
Felix Fietkau [Sat, 8 Jun 2013 21:42:05 +0000 (23:42 +0200)]
fix generated code for allocating arrays
Felix Fietkau [Sat, 8 Jun 2013 20:59:51 +0000 (22:59 +0200)]
add an option for printing output as a single line
Felix Fietkau [Sat, 8 Jun 2013 20:55:51 +0000 (22:55 +0200)]
allow commands to return individual json elements instead of just json objects
Felix Fietkau [Sat, 8 Jun 2013 20:34:17 +0000 (22:34 +0200)]
format output as json
Felix Fietkau [Sat, 8 Jun 2013 17:18:09 +0000 (19:18 +0200)]
nas: add --set-network-preference
Felix Fietkau [Tue, 5 Mar 2013 13:34:37 +0000 (14:34 +0100)]
keep the client id if user-specified
Felix Fietkau [Sun, 3 Mar 2013 13:36:44 +0000 (14:36 +0100)]
disable unused libraries
Felix Fietkau [Sun, 3 Mar 2013 13:36:22 +0000 (14:36 +0100)]
fix helptext for verify pin
Felix Fietkau [Sun, 3 Mar 2013 13:16:23 +0000 (14:16 +0100)]
fix 7bit character conversion
Felix Fietkau [Wed, 20 Feb 2013 01:09:03 +0000 (02:09 +0100)]
add an option for releasing client ids
Felix Fietkau [Tue, 19 Feb 2013 03:01:58 +0000 (04:01 +0100)]
fix 7-bit encoding
Felix Fietkau [Tue, 19 Feb 2013 02:53:35 +0000 (03:53 +0100)]
fix charset decoding of 7-bit gsm data
Felix Fietkau [Tue, 19 Feb 2013 02:00:11 +0000 (03:00 +0100)]
get rid of unused variables
Felix Fietkau [Tue, 19 Feb 2013 01:48:53 +0000 (02:48 +0100)]
add support for sending sms
Felix Fietkau [Mon, 18 Feb 2013 22:57:37 +0000 (23:57 +0100)]
add detection for the class field in the TP-DCS octet
Felix Fietkau [Mon, 18 Feb 2013 22:47:07 +0000 (23:47 +0100)]
clean up / fix sms user data header parsing
Felix Fietkau [Mon, 18 Feb 2013 22:21:12 +0000 (23:21 +0100)]
code cleanup, add support for parsing 7-bit ascii addresses
Felix Fietkau [Mon, 18 Feb 2013 21:09:44 +0000 (22:09 +0100)]
add a command for showing raw sms data
Felix Fietkau [Mon, 18 Feb 2013 04:16:27 +0000 (05:16 +0100)]
add sms read access
Felix Fietkau [Mon, 18 Feb 2013 01:43:12 +0000 (02:43 +0100)]
add a command to get the imsi
Felix Fietkau [Sun, 17 Feb 2013 22:37:45 +0000 (23:37 +0100)]
detect comments with no whitespace after //
Felix Fietkau [Sun, 17 Feb 2013 22:35:36 +0000 (23:35 +0100)]
filter out comments in json files before pushing them through the JSON module
Felix Fietkau [Sun, 17 Feb 2013 21:52:24 +0000 (22:52 +0100)]
add --get-serving-system
Felix Fietkau [Sun, 17 Feb 2013 21:36:48 +0000 (22:36 +0100)]
show type in the --get-signal-info command
Felix Fietkau [Sun, 17 Feb 2013 18:37:23 +0000 (19:37 +0100)]
implement the start network command
Felix Fietkau [Sun, 17 Feb 2013 18:16:55 +0000 (19:16 +0100)]
rework status handling, use a blob_buf as storage
Felix Fietkau [Sun, 17 Feb 2013 17:56:23 +0000 (18:56 +0100)]
add a function to get a string for a qmi error code
Felix Fietkau [Sun, 17 Feb 2013 17:52:19 +0000 (18:52 +0100)]
suppress error callbacks if requested
Felix Fietkau [Sun, 17 Feb 2013 16:45:59 +0000 (17:45 +0100)]
add error handler header file and generated source code
Felix Fietkau [Sun, 17 Feb 2013 15:25:32 +0000 (16:25 +0100)]
add --network-register