Cara Setting Protocol QMI Cellular Openwrt

Radenku.com – Kebanyakan modem 4G/5G keluaran terbaru umumnya mendukung beberapa protokol seperti MBIM dan QMI. Untuk QMI merupakan protokol eksklusif ada di modem dengan chipset Qualcomm. Di Openwrt cara menghubungkan modem Qualcomm QMI yaitu menggunakan QMI Cellular.

Contoh modem yang menggunakan QMI CellularSeperti

Default Openwrt belum menyertakan package untuk modem QMI cellular, berikut cara install dan setting QMI cellular penwrt

1. Install Package QMI Cellular Openwrt

Untuk menggunakan QMI Cellular openwrt, install package QMI dan serial port AT yang dibutuhkan

opkg update
opkg install kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi \
qmi-utils luci-proto-qmi kmod-usb-serial kmod-usb-serial-option usbutils \
kmod-usb-serial-wwan kmod-usb-serial-qualcomm kmod-usb-acm usb-modeswitch
qmi-cellular-openwrt

Setelah semua package terinstall, reboot router terlebih dahulu.

2. Setting Interface QMI Cellular Openwrt

Setalah package QMI Cellular openwrt terinstall, pasang modem dan cek menggunakan usbutils, pastikan terdetek dan driver qmi_wwan terpasang.

Contoh dibawah aku menggunakan modem Hp lt4220 (telit ln940 mode qmi).

lsusb && lsusb -t
root@OpenWrt:~# lsusb && lsusb -t
Bus 001 Device 003: ID 1bc7:1900 Telit Telit LN940 Mobile Broadband
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.154 ehci_hcd EHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.154 xhci-hcd xHCI Host Controller
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 1: Dev 3, If 0, Class=, Driver=option, 480M
    |__ Port 1: Dev 3, If 1, Class=, Driver=qmi_wwan, 480M
    |__ Port 1: Dev 3, If 2, Class=, Driver=option, 480M
    |__ Port 1: Dev 3, If 3, Class=, Driver=option, 480M
    |__ Port 1: Dev 3, If 4, Class=, Driver=option, 480M

Setelah dipastikan driver qmi_wwan sudah terpasang. Tinggal kita setting interface nya.

Masuk ke LuCI menu Network > Interfaces. Buat interface baru, disini contohnya aku namai qmi dan pilih protocol QMI Cellular

setting qmi cellular openwrt 1 | Radenku

Modem device pilih /dev/cdc-wdm0, APN sesuaikan dengan operator kalian.

PDP Type pilih IPv4, karena opsel di Indonesia masih belum menggunakan IPv6, jadi jika dipilih IPv4/IPv6 kadang modem tidak mau terhubung.

setting qmi cellular openwrt 2 | Radenku

Di tab Firewall Settings pilih WAN, lalu save & apply.

setting qmi cellular openwrt 3 | Radenku

Selain menggunakan LuCI, bisa juga membuat interface melalui file /etc/config/network tambahkan seperti ini

config interface 'qmi'
	option proto 'qmi'
	option device '/dev/cdc-wdm0'
	option apn 'internet'
	option auth 'none'
	option pdptype 'ipv4'
setting qmi cellular openwrt 4 | Radenku

Jika modem terhubung, maka interface tadi akan mendapatkan IP address.

3. Troubleshoot

Modem Hp Lt4220 tidak konek

Di beberapa modem seperti Hp lt4220, Dell Dw5821e & SIMCom tidak bisa terhubung dengan QMI Celluler ketika di restart interface. Untuk modem tersebut harus menambahkan script di qmi.sh di /lib/netifd/proto/qmi.sh.

Bisa diedit langsung di terminal melalui nano atau vim bisa juga melalui WinSCP di Windows.

Edit file /lib/netifd/proto/qmi.sh dan cari script berikut, ada di baris sekitar 80an

	while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do
		[ -e "$device" ] || return 1

Dan tambahkan script baru diatasnya.

uqmi -s -d "$ device" --get-pin-status &
sleep 3
killall uqmi || echo "UQMI works fine!"

Kira-kira hasilnya seperti ini, save lalu restart interfacenya.

echo "Waiting for SIM initialization"
local uninitialized_timeout=0
	uqmi -s -d "$ device" --get-pin-status &
	sleep 3
	killall uqmi || echo "UQMI works fine!"
while uqmi -s -d "$device" --get-pin-status | grep '"UIM uninitialized"' > /dev/null; do
	[ -e "$device" ] || return 1
qmi-cellular-openwrt-lt4220

Driver qmi_wwan tidak terdetek

Contoh kasus ini ditemui di modem Bolt Bl100. Module modem Bolt Bl100 menggunakan chipset Qualcomm, akan tetapi di kernel linux belum terdaftar, sehingga ketika di cek menggunakan usbutils driver kmod-usb-net-qmi-wwan tidak dikenali. Seperti ini

root@OpenWrt:~# lsusb && lsusb -t
Bus 001 Device 004: ID 05c6:9026 Android Android
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.154 ehci_hcd EHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.154 xhci-hcd xHCI Host Controller
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 1: Dev 4, If 0, Class=, Driver=, 480M
    |__ Port 1: Dev 4, If 1, Class=, Driver=, 480M
    |__ Port 1: Dev 4, If 2, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 3, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 4, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 5, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 6, Class=, Driver=, 480M

Untuk mengatasi ini yaitu mendaftarkan vid:pid Bolt bl100 ke qmi_wwan. Ketik perintah dibawah di terminal.

echo "05c6 9026" > /sys/bus/usb/drivers/qmi_wwan/new_id

Maka ketika di cek lagi menggunakan usbutils akan terdetek qmi_wwan nya. Tinggal dihubungkan seperti cara diatas.

root@OpenWrt:~# lsusb && lsusb -t
Bus 001 Device 004: ID 05c6:9026 Android Android
Bus 001 Device 001: ID 1d6b:0002 Linux 5.4.154 ehci_hcd EHCI Host Controller
Bus 003 Device 001: ID 1d6b:0002 Linux 5.4.154 xhci-hcd xHCI Host Controller
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ohci-platform/1p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-platform/1p, 480M
    |__ Port 1: Dev 4, If 0, Class=, Driver=, 480M
    |__ Port 1: Dev 4, If 1, Class=, Driver=, 480M
    |__ Port 1: Dev 4, If 2, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 3, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 4, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 5, Class=, Driver=cdc_acm, 480M
    |__ Port 1: Dev 4, If 6, Class=, Driver=qmi_wwan, 480M

Untuk script diatas akan hilang ketika router reboot, sehingga qmi_wwan akan hilang. Jadi lebih baik ditambahkan ke rc.local agar tidak ketik perintah lagi setiap router reboot.

bolt-bl100-qmi-wwan-openwrt

15 pemikiran pada “Cara Setting Protocol QMI Cellular Openwrt”

  1. untuk bl100 dengan begitu berarti module LTEnya aktif yah om ?

    adakah firmware yang sudah LTEnya aktif untuk BL100 om ?

    trims

    Balas
  2. Untuk modul lte bl100 yg udah unlocked apakah bisa menggunaka sim operator lain?
    Dan kira2 harua set parameter di mana untuk mengaktifkan frekuensi b1, b3, dll..
    Mohon bantuannya om.

    Balas
  3. Om, mau nanya ya Modul LTE BL100 kalau dipasang ke PCIe to USB kenapa tidak bisa internetan ya om? Padahal udah terdetek Modem 9026.

    Balas
  4. I don’t find this line:

    while uqmi -s -d “$device” –get-pin-status | grep ‘”UIM uninitialized”‘ > /dev/null; do
    [ -e “$device” ] || return 1

    I find:

    if [ -n “$(echo $init_res | grep ‘”UIM uninitialized”‘ > /dev/null)” ]; then
    [ -e “$device” ] || return 1
    echo “SIM not initialized”
    proto_notify_error “$interface” SIM_NOT_INITIALIZED
    proto_block_restart “$interface”
    return 1
    fi

    Balas

Tinggalkan komentar