Using a SIMCom SIM7600G-H on T-Mobile with an IoTDataWorks SIM

Using a SIMCom SIM7600G-H on T-Mobile with an IoTDataWorks SIM
SIMCom SIM7600G-H USB modem

Prerequisites

  1. IoTDataWorks Unlimited IoT SIM Card
  2. SIMCom SIM7600G-H modem (or similar)
  3. Windows PC
  4. Qualcomm QPST

The Problem: The modem will use the "Commercial-TMO" carrier config/MBN by default, which does not work with the IoTDataWorks SIM.

Symptoms of this include:

  1. Unable to connect to LTE at all
  2. Unable to use "m2mglobal" APN on 2G
    1. Any IP type with IPv4 will fail with error "pdn-ipv4-call-disallowed"
    2. Other IP types (e.g. IPv6-only) will fail with error "unknown-pdp"
  3. No internet access
    1. fast.t-mobile.com APN will connect with IPv6 but has no internet access

To fix this, we need to plug the modem into a Windows computer and use Qualcomm's QPST software to delete the "Commercial-TMO" MBN config.

  1. Install the SIMCom Windows USB drivers on your Windows computer
  2. Plug the modem into the computer
  3. Install the Qualcomm QPST software (make sure the installer you download is signed with a valid Qualcomm certificate)
  4. Open the "PDC" application and select the modem
  1. Click on the "Commercial-TMO" profile in the list, and then click the "Remove" button
  2. Right-click the "ROW_Gen_VoLTE" profile in the list, and click "SetSelectedConfig" > "Sub0"
  3. Click on the "ROW_Gen_VoLTE" profile in the list, and click the "Activate" button

The modem should now be able to connect to LTE data with the IoTDataWorks SIM. On Windows, the "Default APN" will have internet access.

T-Mobile LTE connected
Default APN activated and connected

This SIM unfortunately does not appear to support IPv6. Traffic is routed through a Chicago PoP, so latency will vary based on where you are located.

IPv4 obtained through the default APN
Egress IP

Setting up on Linux with ModemManager

  1. Enable the modem
    1. mmcli --modem <modem ID> --enable
  2. Set the initial bearer to a blank IPv4-only APN
    1. mmcli --modem <modem ID> --3gpp-set-initial-eps-bearer-settings="ip-type=ipv4"
  3. Create a IPv4 data bearer using the "m2mglobal" APN
    1. mmcli --modem <modem ID> --simple-connect="apn=m2mglobal,ip-type=ipv4"
  4. The bearer will be the latest bearer in the modem status page
    1. mmcli --modem <modem ID>
  5. IP information can be found in the bearer itself
    1. mmcli --modem <modem ID> --bearer <bearer ID>
Bearer list in the modem status page
Bearer IP information