Radenku.com – Modem HP lt4220 merupakan wwan card lte dari laptop HP elitebook. Modem ini mendukung Carrier Aggregation hingga 3CA sehingga banyak di cari dan digunakan sebagai modem router.
Karena awalnya modem lt4220 didesain untuk jalan di windows maka agar bisa dipakai di router, terutama openwrt yang berbasis linux maka membutuhkan setting terlebih dahulu.
Karena untuk jalan di windows maka defaultnya modem ini berjalan di protokol MBIM tanpa ada serial port. Untuk berjalan di router perlu dibuka serial portnya agar modem HP Lt4220 bisa dikontrol menggunakan AT Comand selain itu bisa diubah ke QMI.
Tetapi terkadang jika di hubungkan di ke laptop lagi, windows driver menjadi error dan tidak terbaca. Terutama pada di setmode 0 maka port AT tidak ada, dengan adanya post ini semoga membantu kalian agar modem HP lt4220 bisa keluar dari setmode 0 dan bisa akses port AT Command.
HP lt4220 Customer & Setmode
Module Hp lt4220 ini merupakan rebrand dari merek Foxconn T77w676. Selain brand HP, Foxconn T77w676 ini juga di rebrand dengan merek Telit Ln940. Karena itu di modem ini bisa juga berganti vendor id dari HP Lt4220 menjadi Telit Ln940 dan sebaliknya.
Untuk mengubahnya menggunakan AT Command, cek command AT^CUSTOMER?
untuk mengecek ada di vendor apa saat ini.
Selain mengganti vendor, modem ini juga bisa diganti protokolnya MBIM, QMI. Untuk mengecek modenya dengan command AT^SETMODE?
, untuk lebih jelasnya seperti di tabel di bawah ini
CUSTOMER | SETMODE | vid:pid | Interface |
---|---|---|---|
AT^CUSTOMER=1 | AT^SETMODE=0 | 03f0:0857 | MBIM |
(HP Lt4220) | AT^SETMODE=1 | 03f0:0a57 | MBIM + Serial port |
AT^SETMODE=2 | 03f0:0857 | QMI + Serial port | |
AT^CUSTOMER=2 | AT^SETMODE=0 | 1bc7:1900 | MBIM |
(Telit Ln940) | AT^SETMODE=1 | 1bc7:1901 | MBIM + Serial port |
AT^SETMODE=2 | 1bc7:1900 | QMI + Serial port |
Mungkin dari tabel itu kelihatan tidak ada masalah, karena tinggal ganti mode antara Telit atau HP, protokol MBIM atau QMI. Jika modem ketika ada di setmode 0 interface hanya MBIM tanpa serial port.
Untuk mengakses AT Command hanya bisa di Windows AT over MBIM, tidak bisa melalui putty dan sebagainya. Yang menjadi masalah itu ketika driver windows tidak terinstall dengan benar, menjadikan modem tidak terdetek dan tidak bisa digunakan.
Dan ketika dipasang di openwrt pun hanya terdetek cdc_ether
bukan cdc_mbim
maupun qmi_wwan
tanpa serial port option
, sehingga tidak bisa masuk ke AT Command dan tidak bisa dikoneksikan.
Sering banget aku lihat di grup mengalami kasus ini, seperti mengubah customer atau setmode. Terutama ketika mengubah customer otomatis modem akan masuk ke setmode 0, misalnya sekarang ada di vendor HP (customer 1) setmode 2 ketika kita ubah ke telit customer 2 akan masuk ke telit setmode 0 (tidak langsung setmode 2).
Jika di windows sudah stuck, driver tidak bisa juga ke install maka kita bisa mengakses port serialnya dengan mengubah komposisi USB modemnya. Untungnya di Setmode 0 mempunyai 3 configuration
- QMI + Port
- CDC Ether
- MBIM
Bisa di cek di linux/openwrt menggunakan command
cat /sys/kernel/debug/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 5 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 3 P: Vendor=03f0 ProdID=0857 Rev= 3.10 S: Manufacturer=Qualcomm S: Product=Snapdragon(TM) X12 LTE-A S: SerialNumber=0123456789ABCDEF C: #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver= E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver= E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=32ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver= E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver= E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms C:* #Ifs= 2 Cfg#= 2 Atr=a0 MxPwr=500mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether E: Ad=82(I) Atr=03(Int.) MxPS= 16 Ivl=32ms I:* If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms C: #Ifs= 2 Cfg#= 3 Atr=a0 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 I: If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver= E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver= I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver= E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Diatas yaitu ada 3 config, dan yang sekarang sedang aktif yaitu di cfgs# 2, yaitu yang bertanda “*”. Agar bisa mengakses port AT kita perlu mengubah ke config 1. Untuk switch ke config 1 sebenarnya mudah menggunakan usb-modeswitch di linux menggunakan perintah
sudo usb_modeswitch -v 03f0 -p 0857 -u 1
Tetapi ketika menggunakan openwrt, usb-modeswitchnya berbeda, tidak bisa menggunakan cara itu. Sudah aku coba dari mengedit file /etc/usb-mode.json
tetapi masih belum berhasil juga. Untungnya ketemu cara lainnya tanpa menggunakan usb-modeswitch berikut tutorialnya.
Pertama pastikan router openwrt sudah terinstall package yang dibutuhkan, jika belum maka install package berikut terlebih dahulu
opkg update
opkg install kmod-usb-serial-option kmod-usb-net-qmi-wwan kmod-usb-net-cdc-mbim \ usbutils minicom picocom kmod-usb-net-cdc-ether
HP Lt4220 Setmode 0
Ketika HP lt4220 ada di setmode 0 vid:pid 03f0:0857 cek menggunakan usbutils, maka akan terdetek seperti ini, tidak ada interface serial option, hanya cdc_ether
.
lsusb && lsusb -t
root@OpenWrt:~# lsusb && lsusb -t Bus 001 Device 005: ID 03f0:0857 Qualcomm Snapdragon(TM) X12 LTE-A 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 5, If 0, Class=, Driver=cdc_ether, 480M |__ Port 1: Dev 5, If 1, Class=, Driver=cdc_ether, 480M
Ini berarti kita ada di cfgs# 2, kita perlu switch ke cfgs# 1, pertama cek terlebih dahulu lokasi device HP lt4220 menggunakan Vid 03f0
grep 03f0 /sys/bus/usb/devices/*/idVendor
root@OpenWrt:~# grep 03f0 /sys/bus/usb/devices/*/idVendor /sys/bus/usb/devices/1-1/idVendor:03f0
Dari situ kita ketahui lokasinya ada di /sys/bus/usb/devices/1-1/
, nilai 1-1 bisa saja berbeda, tinggal sesuaikan saja. Nah untuk switch ke cfgs# 1 menggunakan perintah
echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue
Setelah itu cek menggunakan usbutils lagi makan HP lt4220 sudah berubah
root@OpenWrt:~# lsusb && lsusb -t Bus 001 Device 005: ID 03f0:0857 Qualcomm Snapdragon(TM) X12 LTE-A 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 5, If 0, Class=, Driver=, 480M |__ Port 1: Dev 5, If 1, Class=, Driver=, 480M |__ Port 1: Dev 5, If 2, Class=, Driver=, 480M |__ Port 1: Dev 5, If 3, Class=, Driver=, 480M
Akan tetapi driver yang seharusnya option masih blank, makanya kita perlu binding serial optionnya
echo "03f0 0857" > /sys/bus/usb-serial/drivers/option1/new_id
Cek lagi menggunakan usbutils, maka sudah ada driver option
root@OpenWrt:~# lsusb && lsusb -t Bus 001 Device 005: ID 03f0:0857 Qualcomm Snapdragon(TM) X12 LTE-A 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 5, If 0, Class=, Driver=option, 480M |__ Port 1: Dev 5, If 1, Class=, Driver=option, 480M |__ Port 1: Dev 5, If 2, Class=, Driver=option, 480M |__ Port 1: Dev 5, If 3, Class=, Driver=option, 480M
Sekarang kita sudah bisa akses port AT command HP lt4220 dan mengubah customer atau setmode menggunakan minicom atau picocom.
minicom -D /dev/ttyUSB2
Telit Ln940 Setmode 0
Ketika ada di telit setmode 0 vid:pid 1bc7:1900 di cek menggunakan usbutils, maka seperti ini. Terdapat driver option akan tetapi tidak terdapat interface /dev/ttyUSB*
, sehingga kita perlu juga switch ke cfgs# 1
root@OpenWrt:~# lsusb && lsusb -t Bus 001 Device 008: 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 8, If 0, Class=, Driver=option, 480M |__ Port 1: Dev 8, If 1, Class=, Driver=, 480M
Sama seperti sebelumnya cek terlebih dahulu lokasi device Telit ln940 menggunakan Vid 1bc7
grep 1bc7 /sys/bus/usb/devices/*/idVendor
root@OpenWrt:~# grep 1bc7 /sys/bus/usb/devices/*/idVendor /sys/bus/usb/devices/1-1/idVendor:1bc7
Setelah didapat ada di /sys/bus/usb/devices/1-1/
, nilai 1-1 bisa saja berbeda, tinggal sesuaikan saja. Nah untuk switch ke cfgs# 1 menggunakan perintah
echo 1 > /sys/bus/usb/devices/1-1/bConfigurationValue
root@OpenWrt:~# lsusb && lsusb -t Bus 001 Device 002: 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 2, If 0, Class=, Driver=option, 480M |__ Port 1: Dev 2, If 1, Class=, Driver=qmi_wwan, 480M |__ Port 1: Dev 2, If 2, Class=, Driver=option, 480M |__ Port 1: Dev 2, If 3, Class=, Driver=option, 480M
Berbeda dengan HP lt4220 setmode 0 yang tidak terdetek driver qmi maupun option, di mode telit ln940 driver qmi_wwan
dan option
sudah terpasang dengan benar, tinggal akses port AT menggunakan minicom atau picocom.
minicom -D /dev/ttyUSB2
Demikian cara mengakses port AT Command modem HP lt4220 di Setmode 0, semoga tulisan ini membantu kalian yang modemnya stuck di setmode 0.
sekedar berbagi mbah, utk commant “sudo usb_modeswitch -v 03f0 -p 0857 -u 1” tidak jalan di openwrt, tapi bisa menggunakan command “usbmode -v 03f0 -p 0857 -u 1” (tanpa tanda petik). Semoga sedikit membantu.
terima kasih!