| | 1 | = GW16162 Telit CMB100 Cellular Modem |
| | 2 | |
| | 3 | [[PageOutline]] |
| | 4 | |
| | 5 | The Gateworks GW16162 is a M.2 form factor modem that uses the Telit CMB100 module. |
| | 6 | * Review the CMB100 module [https://www.telit.com/wp-content/uploads/2025/04/TC_CMB100_Product_Brief.pdf here] |
| | 7 | * Review the GW16162 product page and ordering options [https://www.gateworks.com/products/mini-pcie-expansion-cards/gw16162-cellular-modem-m2-card/ here] |
| | 8 | |
| | 9 | This is M.2 Cellular Modem that Gateworks sells with a variety of different Telit CMB100 modules. |
| | 10 | |
| | 11 | * GW16162-1-A - LTE CAT4 |
| | 12 | * GW16162-2-A - 5G NR RedCap |
| | 13 | * GW16162-3-A - LTE CATM1/NB2 |
| | 14 | * GW16162-4-A - CAT1 BIS |
| | 15 | |
| | 16 | == Antenna |
| | 17 | |
| | 18 | The following antenna was used for all certifications. Other antennas can be used if they meet the same requirements: Atel-Cab T-AT305, antenna gain all bands 2.14dBi. See info here: [https://www.atel-antennas.eu/wp-content/uploads/2017/01/T-AT305.pdf Link] |
| | 19 | |
| | 20 | == Certifications |
| | 21 | |
| | 22 | * Verizon Certifications |
| | 23 | * CATM1: [https://opendevelopment.verizonwireless.com/device-showcase/device/31073 Link] |
| | 24 | * CAT4: [https://opendevelopment.verizonwireless.com/device-showcase/device/31072 Link] |
| | 25 | |
| | 26 | * ATT Certifications |
| | 27 | * CATM1/CAT4: [https://trac.gateworks.com/attachment/wiki/wireless/modem/ATT_Approval.pdf Link] |
| | 28 | |
| | 29 | More information on certification requirements including antenna guidelines can be found in the CMB100 Hardware Users Guide which is available through the Telit Download Zone (account required): [https://www.telit.com/cmb100-download-zone/ Link] |
| | 30 | |
| | 31 | == Drivers |
| | 32 | |
| | 33 | All drivers should already be included on Gateworks default Ubuntu builds on Gateworks SBCs. |
| | 34 | |
| | 35 | Drivers: |
| | 36 | * option (at commands), cdc_ether (wwan) |
| | 37 | |
| | 38 | == Modes |
| | 39 | |
| | 40 | The modem can be configured to be in different modes. Mode 0 states in a manual that it cannot be used for data traffic. |
| | 41 | |
| | 42 | Mode 3 works with data traffic and can be changed with AT commands to /dev/ttyUSB1: |
| | 43 | {{{ |
| | 44 | AT#USBCFG=3 |
| | 45 | AT#REBOOT |
| | 46 | }}} |
| | 47 | |
| | 48 | Another modem configuration that may need to be looked at is called FWAUTOSIM, which is automatic carrier switching by SIM. For this example, FWAUTOSIM was 0, meaning no automatic switching. |
| | 49 | |
| | 50 | == Software / Getting Started |
| | 51 | |
| | 52 | lsusb should show: (may change depending on variant) |
| | 53 | {{{ |
| | 54 | ID 1bc7:110b Telit Wireless Solutions Telit ME910 |
| | 55 | }}} |
| | 56 | |
| | 57 | Verify the modem is detected with the lsusb command. Then use modem manager to bring the modem up with the following example: |
| | 58 | {{{ |
| | 59 | mmcli -m 0 # Look for a large output of information about the modem |
| | 60 | mmcli -m 0 --enable |
| | 61 | mmcli --modem 0 --simple-connect="apn=hologram" #replace hologram with actual APN for SIM used |
| | 62 | dhclient wwan0 |
| | 63 | }}} |
| | 64 | |
| | 65 | A fully connected modem shown below with mmcli -m 0 as an example: |
| | 66 | {{{ |
| | 67 | root@noble-venice:~# mmcli -m 0 |
| | 68 | -------------------------------- |
| | 69 | General | path: /org/freedesktop/ModemManager1/Modem/0 |
| | 70 | | device id: 0808c95a84d6f32e2b0d9cxxxb1172028c28460 |
| | 71 | -------------------------------- |
| | 72 | Hardware | manufacturer: Telit |
| | 73 | | model: ME910G1-WW |
| | 74 | | firmware revision: 37.00.417-P0C.410001 |
| | 75 | | supported: gsm-umts, lte |
| | 76 | | current: gsm-umts, lte |
| | 77 | | equipment id: xx7219xxxxx780 |
| | 78 | -------------------------------- |
| | 79 | System | device: /sys/devices/platform/soc@0/32c00000.bus/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.1 |
| | 80 | | physdev: /sys/devices/platform/soc@0/32c00000.bus/32e50000.usb/ci_hdrc.1/usb1/1-1/1-1.1 |
| | 81 | | drivers: option, cdc_ether |
| | 82 | | plugin: telit |
| | 83 | | primary port: ttyUSB2 |
| | 84 | | ports: ttyUSB1 (at), ttyUSB2 (at), wwan0 (net) |
| | 85 | -------------------------------- |
| | 86 | Status | unlock retries: sim-pin (3), sim-puk (10), sim-pin2 (3), sim-puk2 (10) |
| | 87 | | state: connected |
| | 88 | | power state: on |
| | 89 | | access tech: lte-cat-m |
| | 90 | | signal quality: 100% (recent) |
| | 91 | -------------------------------- |
| | 92 | Modes | supported: allowed: 2g; preferred: none |
| | 93 | | allowed: 4g; preferred: none |
| | 94 | | allowed: 2g, 4g; preferred: none |
| | 95 | | current: allowed: 2g, 4g; preferred: none |
| | 96 | -------------------------------- |
| | 97 | Bands | supported: egsm, dcs, pcs, g850, eutran-1, eutran-2, eutran-3, |
| | 98 | | eutran-4, eutran-5, eutran-8, eutran-12, eutran-13, eutran-18, |
| | 99 | | eutran-19, eutran-20, eutran-25, eutran-26, eutran-27, eutran-28 |
| | 100 | | current: egsm, dcs, pcs, g850, eutran-1, eutran-2, eutran-3, |
| | 101 | | eutran-4, eutran-5, eutran-8, eutran-12, eutran-13, eutran-18, |
| | 102 | | eutran-19, eutran-20, eutran-25, eutran-26, eutran-27, eutran-28 |
| | 103 | -------------------------------- |
| | 104 | IP | supported: ipv4, ipv6, ipv4v6, non-ip |
| | 105 | -------------------------------- |
| | 106 | 3GPP | imei: 357219xxxxxx80 |
| | 107 | | operator id: 310410 |
| | 108 | | operator name: AT&T |
| | 109 | | registration: roaming |
| | 110 | | packet service state: attached |
| | 111 | -------------------------------- |
| | 112 | 3GPP EPS | ue mode of operation: csps-2 |
| | 113 | -------------------------------- |
| | 114 | SIM | primary sim path: /org/freedesktop/ModemManager1/SIM/0 |
| | 115 | -------------------------------- |
| | 116 | Bearer | paths: /org/freedesktop/ModemManager1/Bearer/0 |
| | 117 | |
| | 118 | root@jammy-venice:~# mmcli -m 0 -b 0 |
| | 119 | ------------------------------------ |
| | 120 | General | path: /org/freedesktop/ModemManager1/Bearer/0 |
| | 121 | | type: default |
| | 122 | ------------------------------------ |
| | 123 | Status | connected: yes |
| | 124 | | suspended: no |
| | 125 | | multiplexed: no |
| | 126 | | interface: wwan0 |
| | 127 | | ip timeout: 20 |
| | 128 | ------------------------------------ |
| | 129 | Properties | apn: hologram |
| | 130 | | roaming: allowed |
| | 131 | ------------------------------------ |
| | 132 | IPv4 configuration | method: static |
| | 133 | | address: 100.77.130.8 |
| | 134 | | prefix: 28 |
| | 135 | | gateway: 100.77.130.9 |
| | 136 | | dns: 8.8.8.8, 8.8.4.4 |
| | 137 | | mtu: 1430 |
| | 138 | ------------------------------------ |
| | 139 | Statistics | start date: 2025-05-16T16:30:05Z |
| | 140 | | duration: 210 |
| | 141 | | bytes rx: 746 |
| | 142 | | bytes tx: 588 |
| | 143 | | attempts: 1 |
| | 144 | | total-duration: 210 |
| | 145 | | total-bytes rx: 746 |
| | 146 | | total-bytes tx: 588 |
| | 147 | root@jammy-venice:~# |
| | 148 | |
| | 149 | |
| | 150 | }}} |
| | 151 | |
| | 152 | If the DHCP dhclient command doesn't auto-populate wwan0, it may be required to manually configure the IP address and routing of wwan0, an example is below: |
| | 153 | {{{ |
| | 154 | ifconfig wwan0 100.77.130.8/28 |
| | 155 | route add default gw 100.77.130.9 wwan0 |
| | 156 | echo "nameserver 8.8.8.8" > /etc/resolv.conf |
| | 157 | root@jammy-venice:~# route -n |
| | 158 | Kernel IP routing table |
| | 159 | Destination Gateway Genmask Flags Metric Ref Use Iface |
| | 160 | 0.0.0.0 100.77.130.9 0.0.0.0 UG 0 0 0 wwan0 |
| | 161 | 100.77.130.0 0.0.0.0 255.255.255.240 U 0 0 0 wwan0 |
| | 162 | }}} |
| | 163 | |