Category Archives: SMS

How to Solve USR-TCP Cannot Detect MOBITEK S80 Modem on LAN

  1. Use “Advance IP Scanner”

    to scan for a free IP address on LAN. The free IP address will be assigned to MOBITEK S80 Modem later.
  2. Disconnect MOBITEK S80 Modem from LAN.
  3. Directly connect MOBITEK S80 Modem with laptop/PC through LAN port/cable.
  4. Run “USR-TCP”,

    Assign a new IP address that does not belong to any device in “Advanced IP Scanner” (step 1) to the MOBITEK S80 Modem . As well as configure the “Default Gateway”, “Subnet Mask”, etc.
  5. Disconnect MOBITEK S80 Modem from laptop/PC.
  6. Re-connect MOBITEK S80 Modem to LAN through router/switch.
  7. Run “USR-TCP” to detect MOBITEK S80 Modem.
  8. If  “USR-TCP” still cannot detect MOBITEK S80 Modem  then use web browser, enter the IP address of MOBITEK S80 Modem into the address bar. If a web administration page is displayed then the connection is successfully established.

    Web Administration Page of MOBITEK S80 Modem

  9. Use “USR-VCOM”

    to add a COM port that links the COM port with the IP address of S80.
  10. Use “Hyper Terminal”, connect via COM port, run “hyper terminal test”. If test is passed then S80 is working on the LAN.

UCanAccess Driver Locks MS Access Database of SMS Engine — Basic Edition

Problem: SMS stuck in the “oubox” table and cannot be send out by SMS Engine — Basic Edition v. 5 and SMS Engine — Basic Edition v. 6.

Solution: Java application should use ODBC instead of UCanAccess to connect to “SMSEngine5.mdb” (version 5) or “SMSEngineVBNET.mdb” (version 6). Somehow, UCanAccess locks the records inserted into “outbox” table, preventing SMS Engine from retrieving those records and preventing SMS being send out.

 

TROUBLE SHOOTING #1: JDBC:UCanAccess

  • DB Tool: DBeaver
  • Driver: UCanAccess
    UCanAccess-01
  • JDBC URL: jdbc:ucanaccess://C:\Program Files\MOBITEK\SMS Engine – Basic Edition\Database\SMSEngine5.mdb
  • Result:
    • All records inserted into “SMSEngine5.mdb” using DBeaver were stuck in “Outbox” table even after the DBeaver has been closed.
      UCanAccess-02
    • All SMS are stuck in “Outbox” table (SentStatus = P) after the SMS Engine has been restarted.
    • After restarting the SMS Engine a few times, all SMS finally can send out.

 

TROUBLE SHOOTING #2: JDBC:ODBC

  • DB Tool: DBeaver
  • Driver: ODBC
    UCanAccess-03
  • JDBC URL: jdbc:odbc:SMSEngine5
  • Result:
    • All SMS inserted into “SMSEngine5.mdb” can be send out without any problem while DBeaver is still running.
      UCanAccess-04
    • Note: the delivery status depends on the TELCO response — may be late or no status at all.

How to Connect to MS Access Database using JDBC:ODBC Connection

  1. Depending on whether your Java application is 32-bit or 64-bit, choose the correct ODBC Data Source Administrator (64bit or 32 bit) to create the Data Source Name. Otherwise, the connection cannot be established.
      • If your Java application is 64-bit then use ODBC Data Source Administrator 64-bit
      • If your Java application is 32-bit then use ODBC Data Source Administrator 32-bit
  2. Open ODBC Data Source Administrator (make sure the correct version is used).
  3. Select “System DSN” tab. Click “Add”.
    JDBC-01
  4. In this example, we are connecting to MS Access database, in “Create New Data Source”, select “Microsoft Access Driver (*.mdb, *.accdb)” in the list. Click “Finish”.
    JDBC-02
  5. In “ODBC Microsoft Access Setup”, enter any “Data Source Name”. This name will be used in DBeaver later. So remember it. After that click “Select…” button.
    JDBC-03
  6. Now you have to locate your MS Access file. In this example we use “SMSEngine5.mdb”. Click “OK”.
    JDBC-04
  7. Example of the Data Source Name created.
    JDBC-05
  8. Open DBeaver (or any other database management tool). Click on “Database -> New Database Connection”
    JDBC-06
  9. In “Connect to database”, select “ODBC” in the list. Click “Next”
    JDBC-07
  10. Insert “Database/Schema” name the same like you created earlier in ODBC Data Source Administrator. Click “Test Connection” to test the ODBC connection.
    JDBC-08
  11. If everything is setup right, you will get the below message. Click “Finish”
    JDBC-09

How to Solve “ERROR [HYT00][Microsoft][ODBC SQL Server Driver]Query timeout expired”

PROBLEM: ERROR [HYT00][Microsoft][ODBC SQL Server Driver]Query timeout expired

POSSIBLE CAUSE: Database too large, too many records in tables

SOLUTION: Create an index for “outbox” table:-

  1. Stop the SMS Engine service of MobiGATE
  2. Using SQL Management Studio, go to “indexes” of “dbo.outbox”, right-clickm select “New Index…”
  3. For “index name”, enter “To solve query timeout”
  4. Select “Nonclustered”
  5. Click “Add” to add 2 columns “datetime_queued” and “sent_status” (refer to red boxes below):
  6. Click “OK” button and a new index will be created:
  7. Start the SMS Engine service of MobiGATE
  8. Observe in log if this eror message still appear “ERROR [HYT00][Microsoft][ODBC SQL Server Driver]Query timeout expired
  9. If it appears again, please fill-in the table below:
    QUESTIONS ANSWERS (provide screen shot if available) REMARK
    Date of index created (as shown above)
    Take a screen capture of the SQL Management Studio showing:

    1. the new index
    2. the columns in the new index
    Date of the error message “ERROR [HYT00][Microsoft][ODBC SQL Server Driver]Query timeout expired” first appear
    Total number of records in “outbox” table when the error first appears
    Please send us:

    • the log file of the date when the error appear
    • “config.xml” file

Renaming “Sierra Wireless” in COM Ports

Objective: to use AT command to rename “Sierra Wireless” to “MOBITEK” so that all the 4 COM ports will display “MOBITEK”

 

Result: after using the “AT+WUSB” to change name to “MOBITEK”, the 4 COM ports in device manager still show  as “Sierra Wireless” .

 

In addition, there is no AT command to remove the other 3 COM ports, “CNS”, ‘DM” & “NMEA”

USB Drivers of FX30 and MOBITEK S80 Have Conflict — Bad_pool_caller

Problem: the USB Drivers for both FX30 and MOBITEK S80 cannot be installed in the same machine. Otherwise the below blue screen error will appear when trying to connect MOBITEK S80 3G Modem to the PC/machine.

 

Solutions: there are 3 solutions to choose:

  1. reboot Windows into “last known good configuration” (source: https://support.microsoft.com/en-my/help/4026863/windows-fix-error-0xc2-badpoolcaller);
  2. run system restore to restore Windows to the a date before FX30 USB driver was installed; or
  3. uninstall FX30 USB driver.

Test Result of MOBITEK SMS Engine — Enterprise Edition with TLS 1.2

Conclusion: MOBITEK SMS Engine — Enterprise Edition starting from version 5.8 until 8.x supports TLS 1.2 .

 

TEST DATE SMS ENGINE VERSION TLS 1.2 SSL 2.0 OS MS SQL SERVER ODBC DRIVER 64-BIT ODBC DRIVER 32-BIT .NET FRAMEWORK TEST RESULT
2020-05-14 8.3 Enabled Disabled by default Windows Server 2012 64 bit MS SQL Server 2017 Express ODBC Driver 13 for SQL Server v. 2017.140.1000.169 ODBC Driver 13 for SQL Server v. 2017.140.1000.169 4.7.2 16:50:30 SMS Engine Enterprise Edition service (8.3.0) started
16:50:35 Modem ID 8 : initialized
2020-05-20 7.1 Enabled Disabled by default Windows Server 2012 64 bit MS SQL Server 2017 Express ODBC Driver 13 for SQL Server v. 2017.140.1000.169 ODBC Driver 13 for SQL Server v. 2017.140.1000.169 4.7.2 09:47:04 SMS Engine Enterprise Edition service (7.1.0) started
09:47:09 Modem ID 8 : initialized
2020-05-20 8.3 Enabled Disabled by default Windows Server 2012 64 bit MS SQL Server 2017 Express ODBC Driver 13 for SQL Server v. 2017.140.1000.169 ODBC Driver 13 for SQL Server v. 2017.140.1000.169 4.7.2 10:29:17 SMS Engine Enterprise Edition service (8.3.0) started
10:29:22 Modem ID 8 : initialized
10:31:39 SMS Engine Enterprise Edition service (8.3.0) stopped
2020-05-21 5.8 Enabled Disabled by adding  DWORD: “Enabled” with value 0
in registry
Windows Server 2012 64 bit MS SQL Server 2017 Express ODBC Driver 13 for SQL Server v. 2017.140.1000.169 ODBC Driver 13 for SQL Server v. 2017.140.1000.169 4.6 16:10:25 SMS Engine Enterprise Edition service (version 5.8.1) started
16:10:29 Modem ID 8 : initialized
16:10:49 SMS Engine Enterprise Edition service (version 5.8.1) stopped

 

ERROR [HY000] [MySQL][ODBC 5.1 Driver]Host ‘175.xxx.xxx.xx’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’

Problem: when using MOBITEK SMS Engine — Enterprise Edition v. 7.1 with MySQL database server in remote server (Exabytes), this error will appear after 2 days.

MOBITEK® SMS Engine — Enterprise Edition

 

SMS Engine was started on 23-Aug-2019, non-stop, until these error messages were received on 25-Aug-2019, Sunday, 1:41 am

01:42:21 ERROR [08S01] [MySQL][ODBC 5.1 Driver]Lost connection to MySQL server at 'reading initial communication packet', system error: 0
01:42:25 ERROR [HY000] [MySQL][ODBC 5.1 Driver]Host '175.xxx.xxx.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
01:42:28 ERROR [HY000] [MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '72.xx.xxx.xx' (10055)
ERROR [HY000] [MySQL][ODBC 5.1 Driver]Can't connect to MySQL server on '72.18.132.28' (10055)

 

Trouble Shooting: The SMS Engine does not hold the database connection. It always close it after every execution of database query otherwise the engine would have failed long time ago.  Any other applications connecting to this database ? This error can also happen when there are too many connections issued to the database. Default concurrent connection for mysql is 151.

 

Conclusion: MOBITEK SMS Engine — Enterprise Edition only uses 1 database connection.