Would you please show us how that card appears in dmesg, lsusb, lspci, ifconfig -a, ...?Zarhan wrote:how are you supposed to configure a wireless WAN connection to a laptop (in this case a Thinkpad with Sierra Wireless WAN card)?
Code: Select all
Bus 001 Device 007: ID 1199:9079 Sierra Wireless, Inc. Code: Select all
[ 1.617693] usbcore: registered new interface driver cdc_ncm
[ 1.617700] usbcore: registered new interface driver cdc_mbim
[ 1.621754] usbcore: registered new interface driver cdc_acm
[ 1.621755] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[ 1.621761] usbcore: registered new interface driver cdc_wdm
[ 5.056619] cdc_mbim 1-6:1.12: cdc-wdm0: USB WDM device
[ 5.056720] cdc_mbim 1-6:1.12 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-6, CDC MBIM, 3a:15:28:0b:c5:79
[ 5.405493] usbcore: registered new interface driver qcserial
[ 5.405499] usbserial: USB Serial support registered for Qualcomm USB modem

Code: Select all
config USB_NET_QMI_WWAN
tristate "QMI WWAN driver for Qualcomm MSM based 3G and LTE modems"
depends on USB_USBNET
select USB_WDM
help
Support WWAN LTE/3G devices based on Qualcomm Mobile Data Modem
(MDM) chipsets. Examples of such devices are
* Huawei E392/E398
This driver will only drive the ethernet part of the chips.
The devices require additional configuration to be usable.
Multiple management interfaces with linux drivers are
available:
* option: AT commands on /dev/ttyUSBx
* cdc-wdm: Qualcomm MSM Interface (QMI) protocol on /dev/cdc-wdmx
A modem manager with support for QMI is recommended.
To compile this driver as a module, choose M here: the
module will be called qmi_wwan.Code: Select all
* option: AT commands on /dev/ttyUSBx
Code: Select all
CONFIG_USB_SERIAL_OPTIONCode: Select all
preup() {
if [[ ${IFACE} == "wwan0" ]] ; then
rfkill_device=$(rfkill list | grep tpacpi_wwan_sw | awk 'BEGIN { FS = ":" } ; { print $1 }')
rfkill unblock ${rfkill_device}
mmcli -m 0 --simple-connect="apn=internet"
query=$(mbimcli -d /dev/cdc-wdm0 -p --query-ip-configuration)
squery=($query) #split into array elements
ipv4=$(echo ${squery[10]} | sed s/\'//g)
gwv4=$(echo ${squery[12]} | sed s/\'//g)
d1v4=$(echo ${squery[15]} | sed s/\'//g)
d2v4=$(echo ${squery[18]} | sed s/\'//g)
ipv6=$(echo ${squery[31]} | sed s/\'//g)
gwv6=$(echo ${squery[33]} | sed s/\'//g)
d1v6=$(echo ${squery[36]} | sed s/\'//g)
d2v6=$(echo ${squery[39]} | sed s/\'//g)
if [[ $2 == '' || $2 == '4' ]]; then
# ipv4
ip addr add $ipv4 dev wwan0
echo -e "nameserver $d1v4\nnameserver $d2v4" | resolvconf -a wwan0.lte
# activate device
ip link set wwan0 up
ip route add default via $gwv4 metric 50
elif [[ $2 == '6' ]]; then
# ipv6
ip addr add $ipv6 dev wwan0
echo -e "nameserver $d1v6\nnameserver $d2v6" | resolvconf -a wwan0.lte
# activate device
ip link set wwan0 up
ip route add default via $gwv6 metric 50
fi
fi
}
predown() {
if [[ ${IFACE} == "wwan0" ]] ; then
mmcli -m 0 --simple-disconnect
# deactivate device
ip link set wwan0 down
ip add flush dev wwan0
resolvconf -d wwan0.lte
mmcli -m 0 -d
rfkill_device=$(rfkill list | grep tpacpi_wwan_sw | awk 'BEGIN { FS = ":" } ; { print $1 }')
rfkill block ${rfkill_device}
fi
}