benhuan

test-modem-fix.sh

Jun 22nd, 2026
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.49 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # This script is Quectel-specific (AT+QCFG="usbnet" commands) and must only run
  4. # against that modem model. Detect it by the presence of its USB by-id path and
  5. # bail out early — before touching ModemManager — for any other modem.
  6. MODEM_PORT="${1:-/dev/serial/by-id/usb-Android_Android_0000-if03-port0}"
  7.  
  8. if [ ! -e "$MODEM_PORT" ]; then
  9.     echo "Modem not found at $MODEM_PORT" >&2
  10.     echo "This script only supports the Quectel modem; aborting." >&2
  11.     exit 1
  12. fi
  13.  
  14. # Stop ModemManager service
  15. echo "Stopping ModemManager..."
  16. sudo systemctl stop ModemManager
  17.  
  18. # Disable ModemManager to prevent auto-restart
  19. echo "Disabling ModemManager..."
  20. sudo systemctl disable ModemManager
  21.  
  22. echo "Connecting to modem on $MODEM_PORT..."
  23.  
  24. # Send AT commands via file descriptor
  25. exec 3<>"$MODEM_PORT"
  26.  
  27. send_at() {
  28.     echo ">>> $1"
  29.     printf '%s\r' "$1" >&3
  30.     timeout 3 cat <&3 &
  31.     sleep 2
  32.     kill $! 2>/dev/null
  33.     wait $! 2>/dev/null
  34.     echo
  35. }
  36.  
  37. send_at 'AT+QCFG="usbnet"'
  38. send_at 'AT+QCFG="usbnet",3'
  39. send_at 'AT+QCFG="usbnet"'
  40. send_at 'AT+CFUN=1,1'
  41.  
  42. exec 3>&-
  43.  
  44. # Prompt user to restart router
  45. echo ""
  46. echo "================================"
  47. echo "Manual Steps Required:"
  48. echo "1. Power off the Xnergy router"
  49. echo "================================"
  50. read -p "Press Enter after completing the above steps..."
  51.  
  52. # Re-enable ModemManager
  53. echo "Enabling ModemManager..."
  54. sudo systemctl enable ModemManager
  55.  
  56. sleep 1
  57.  
  58. echo "Done"
  59. # Restart device
  60. # echo "Restarting..."
  61. # sudo shutdown -r now
  62.  
Advertisement
Add Comment
Please, Sign In to add comment