Skip to content

MNDL-27/zte-mf833t-sms-fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

ZTE MF833T – SMS UI Stuck “Waiting…” (Solution)

A simple fix for ZTE MF833T USB modem users experiencing SMS web interface freeze ("Waiting...") when inbox is full. Directly delete SMS using the browser console to restore normal operation.


Problem

On Grameenphone/Robi-branded ZTE MF833T LTE USB modems, the SMS web interface gets stuck on “Waiting…” at around 100/100 device messages.

  • The web UI fails to load.
  • "Delete" doesn’t work (UI/JavaScript hangs parsing SMS entries).

Cause

  • The device backend stores hundreds of OTP or spam messages, but the UI only lists 100 and then freezes.
  • JSON from the modem may contain invalid control characters, breaking parsing and making deletion impossible via the normal web UI.

Solution: Delete SMS via Browser Console

Steps

  1. Login to your modem (usually http://192.168.0.1/)

  2. Go to the SMS page

  3. Press F12 to open Developer Tools

  4. Click the Console tab

  5. Paste this code block and press Enter:

    (async () => {
      const res = await fetch('/goform/goform_get_cmd_process?isTest=false&cmd=sms_data_total&page=0&data_per_page=9999&mem_store=1&tags=10&order_by=order+by+id+desc');
      const txt = await res.text();
      const ids = [...txt.matchAll(/"id"\s*:\s*"?(\d+)"?/g)].map(m => m[1]);
      console.log('Total IDs:', ids.length);
    
      const chunk = (arr, size) => {
        let out = [];
        for (let i = 0; i < arr.length; i += size) out.push(arr.slice(i, i + size));
        return out;
      };
    
      const chunks = chunk(ids, 20);
    
      for (let i = 0; i < chunks.length; i++) {
        const idList = chunks[i].join(';') + ';';
        console.log(`Deleting chunk ${i+1}/${chunks.length}`, idList);
    
        const del = await fetch('/goform/goform_set_cmd_process', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
          },
          body: 'isTest=false&goformId=DELETE_SMS&msg_id=' + encodeURIComponent(idList) + '&notCallback=true'
        });
    
        const t = await del.text();
        console.log('Result:', t);
    
        await new Promise(r => setTimeout(r, 300));
      }
    
      console.log('Device delete done. Reload page.');
    })();
  6. After it finishes, refresh the SMS page.
    The “Waiting…” message should disappear and SMS count drop.


Optional: Also Clear SIM Storage

Replace mem_store=1 with mem_store=2 in the fetch URL to clear SIM card SMS storage.
Run the same script again:

const res = await fetch('/goform/goform_get_cmd_process?isTest=false&cmd=sms_data_total&page=0&data_per_page=9999&mem_store=2&tags=10&order_by=order+by+id+desc');
// Continue as before...

Notes

  • Works on ZTE MF833T, MF833U, and similar ZTE hostless LTE modems
  • Tested on Grameenphone and Robi branded variants
  • Uses your existing login/session (no password required in script)
  • If SMS count keeps climbing, enable auto-delete or periodically run the cleanup

Why This Works

  • The modem’s API exposes DELETE_SMS even if the UI is frozen
  • Batching 20 message IDs at a time avoids connection resets from large requests

Tip: You can add screenshots of the “Waiting…” UI and browser console in use for clarity.


Feel free to copy/paste, adapt, and share!

Releases

No releases published

Packages

No packages published