| 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 | |