Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:netgear:lbr20 [2024/09/25 14:51] – Create a NETGEAR ORBI LBR20 wiki device page. s2s2toh:netgear:lbr20 [2024/11/24 20:34] – [OEM easy installation] tiny change to formatting/layout s2s2
Line 31: Line 31:
   * You will get a warning that the version you are trying to flash is older. Just click 'Yes' and proceed.   * You will get a warning that the version you are trying to flash is older. Just click 'Yes' and proceed.
   * Settings in the NVRAM (the settings for the Netgear/Voxel configuration you are currently running) do not get reset.    * Settings in the NVRAM (the settings for the Netgear/Voxel configuration you are currently running) do not get reset. 
-  If you flash back to Netgear/Voxel, the LBR20 will start with the settings you had before you flashed Openwrt. +     * If you flash back to Netgear/Voxel, the LBR20 will start with the settings you had before you flashed Openwrt. 
-  This is convenient, because if you have a little difficulty with Openwrt or need to test something out, the N/V firmware will still have your previous settings.+     * This is convenient, because if you have a little difficulty with Openwrt or need to test something out, the N/V firmware will still have your previous settings.
  
 ==== OEM installation using the TFTP method ==== ==== OEM installation using the TFTP method ====
Line 57: Line 57:
  
 ===== Specific Configuration & Gotchas ===== ===== Specific Configuration & Gotchas =====
-Quectel modems in general have an industry reputation for having poor quality firmware and hardware design flaws. If you run into frustrating issues, it is not Openwrt, but rather hardware/software bugs in the Quectel modem.+Quectel modems in general have an earned reputation for having firmware stability issues and design flaws. If you run into frustrating issues specifically with regards to the cell connection/modem, it is not likely to be Openwrt. ''The modem runs its own closed-source firmware''like a router within a router, and unless it'in QMI mode (''AT+QCFG="usbnet",0''), which is the default [where the IP assignment from the cell provider is directly assigned to the wwan interface] the modem also does its own routing inside the modem, which means you will get a double-NAT situation [if you use MBIM and NDIS instead]: 
  
-  * DO NOT, under any circumstances, tell the tower LED lights (referred to as 'backlights' in the LED Configuration page in Luci) to blink in coordination with wwan0 (cell modem) receive/transmit. That causes some kind of hardware signal interference, which will cause a crash of your connection. If you notice, the Netgear and Voxel firmware do not use the tower light for that indicator, and at least in the Voxel firmware (which is a more open version of the stock Netgear firmware), that light is completely off when the LBR20 is connected and running properly.+  * **DO NOT**, under any circumstances, tell the ORBI LBR20 tower LED lights (referred to as 'backlights' in the LED Configuration page in Luci) to blink in coordination with wwan0 (cell modem) receive/transmit. That causes some kind of hardware signal interference, which will cause a crash of your cellular connection/modem. If you notice, the Netgear and Voxel firmware do not use the tower light for that indicator, and in those, that light is completely off when the LBR20 is connected and running properly. A solid LED when the link status is ''ON'', such as a purple light by using both the red and blue LEDs, does not interfere.
  
-  * The A05 modem firmware runs better and is more stable than the A06. If you have a used Orbi20it may already have the LTE Modem firmware 'upgrade' A06. Downgrade A05 first using the firmware from Netgear's support pagebefore flashing OpenwrtSymptoms of running A06, include reconnecting several times a dayinstead of a solid connectionIf you do not have a wan watchdog script running in cron (Scheduled Tasks), the 4G LTE connection will just 'die', and you will have no internet.+  * NETGEAR provided only 2 firmware revisions for the LBR20 (NA models)that could only be flashed through the stock firmware; an A05, and A06 01.002. Both have issues causing disconnects, or the modem to become unresponsivesometimes requiring a rebootThe latest (05/2024) firmware, A06 01.008seems very stable [A12 for EG18-EA (EU) models]but is only available on the [[https://forums.quectel.com/|Quectel Support Forum]]. See also [[https://forums.quectel.com/t/latest-eg18napar01xxxm4g-firmware/39727/2|EG18NAPAR01xxxM4G Firmware Request]]; Quectel staff will email modem firmware to you on request - they do not at present have a download site. It can take a week for them to response. It may be faster to register to the forum and email another member who has already received it!
  
 +  * If you run the stock A05/A06, and do not have a wan watchdog script running in cron (Scheduled Tasks) to try to compensate for the issues, the 4G LTE connection will just 'die', and you will have no internet.
 +
 +  * **Qfirehose Quectel Modem Upgrade-Flashing Procedure**: Once you have acquired [[https://forums.quectel.com/t/firmware-for-eg18-ea/23995/56|the ''qfirehose'' binary]], put it in /root and mark it as executable. Unzip the Quectel-provided firmware to your computer, and upload the contents [//update// folder, //contents.xml//, and //md5.txt//] to the /tmp folder. There isn't enough user-storage space partitioned on the Orbi LBR20 to put it in /root. Disable your wan-watchdog.sh script. From a terminal (laptop) with a wired connection to the router, run 'qfirehose -f /tmp'. Allow the flash procedure to finish to 100% and confirm completion:<code>
 +      * [083.292]: Upgrade module successfully.</code>
 +      * The modem (not the entire router) will reboot 10 seconds later, and reconnect to the cell provider.
 +      * Using ''picocom /dev/ttyUSB2'', send the modem an ''AT+QGMR'', to display the current firmware revision.\\
 +        * The latest A06 01.008 modem firmware, does not display a 01.008 revision code after the ...A06M4G response.
 +        * The Netgear-provided A05 firmware, also does not display a revision code after the A05M4G response.
 +        * The ''/dev/ttyUSB2'' may disappear after flashing, and be replaced with /dev/ttyUSB3 (0,1,2&3 -> 0,1,3&4). That is a temporary artifact of flashing the modem. You might try ''/dev/ttyUSB3'', or reboot the ORBI LBR20, and the assignments will revert to 0,1,2&3.
 ==== QMI / wwan0 / 4G LTE Monitoring Script ==== ==== QMI / wwan0 / 4G LTE Monitoring Script ====
 Here is a wan_watchdog.sh script that tests the connection, and if it receives no response from several well-known DNS providers, it will: Here is a wan_watchdog.sh script that tests the connection, and if it receives no response from several well-known DNS providers, it will:
Line 72: Line 81:
  
   * You will need to add the packages 'socat' and 'fping'.   * You will need to add the packages 'socat' and 'fping'.
-  * Save this as 'wan-watchdog.sh' in your /root/+  * Save this as 'wan-watchdog.sh' in your /root/. Make it executable (''chmod +x wan-watchdog.sh'')
   * Add <code> */4 * * * * /root/wan-watchdog.sh </code> in your Scheduled Tasks.   * Add <code> */4 * * * * /root/wan-watchdog.sh </code> in your Scheduled Tasks.
  
 <code> <code>
 #!/bin/sh #!/bin/sh
 + 
 TRIES="0" TRIES="0"
-while [[ "${TRIES}" -lt ]]+while [[ "${TRIES}" -lt ]]
 do do
  echo $TRIES  echo $TRIES
  echo "Attempting to ping a variety of well-known ipv4 and ipv6 addresses..."  echo "Attempting to ping a variety of well-known ipv4 and ipv6 addresses..."
- # ONE failure will not fail fping. All of them failing, will.+ # ONE site failure will not fail fping. All of them failing, will.
  if fping --alive 1.1.1.1 9.9.9.9 8.8.8.8 2001:4860:4860::8888 2620:fe::fe | grep -q .  if fping --alive 1.1.1.1 9.9.9.9 8.8.8.8 2001:4860:4860::8888 2620:fe::fe | grep -q .
-# if fping --alive blablahblah | grep -q . # this will intentionally make the script fail, when we are testing the rest of the script.+# if fping --alive blablahblah | grep -q . # this will intentionally make the script fail, when we are testing.
  then  then
- echo "SUCCESS: DO NOT RESET WWAN. EXIT IMMEDIATELY" # Positive reply from one (1) of the fping destinations - therefore internet is working, do nothing.+ echo "SUCCESS: DO NOT RESET WWAN. EXIT IMMEDIATELY" # Positive reply from one (1) of the fping destinations - do nothing.
  exit 0  exit 0
  fi  fi
Line 93: Line 103:
 done done
  
-echo "PING FAILED CONSECUTIVE TIMES. RESETTING WWAN CELL CONNECTION" +echo "PING FAILED CONSECUTIVE TIMES. RESETTING WWAN CELL CONNECTION" 
-# Tell the modem to turn off without actually disconnecting the tty serial communication interface: +# There are a variety of ways to restart the Quectel/4G interface. 
-echo AT+CFUN=0 | socat - /dev/ttyUSB2,crnl +# The original script used hub-ctrl to turn-off, then turn-on, the USB hub. 
-sleep 5 +# However, devices like the Orbi LBR20 with a EM18-xx 4G chip, don't use a 
-tell the modem to turn on +# USB bus. Older devices like the GL-X750, do (through a mini-pci-e slot).  
-echo AT+CFUN=1 | socat - /dev/ttyUSB2,crnl +# Restart hub: (GL-X750/EC25-AF) 
-sleep 5 +# hub-ctrl -b 001 -d 002 -P 2 -p 0 
-restart the network interface +# More general use: EG18xx EC25xx etc: 
-ifup qmippp # this is where you change 'qmippp' to whatever your upstream cell interface is called in Luci+ifup qmippp # restarts the interface 
-date >> /root/wan_reset_log.txt # if there is a failure, write a log. This will be persistent between reboots. Verify you have the space (it doesn't take much but over a very long time, it could..)+sleep 15 # give the modem time to reconnect 
 +# Alternative method (older modem firmware, ymmv) 
 +# Tell the modem to turn off without actually disconnecting the tty serial  
 +communication interface: 
 +echo AT+CFUN=0 | socat - /dev/ttyUSB2,crnl # This does wear the storage on the modem. 
 +sleep 3 
 +Tell the modem to turn on 
 +echo AT+CFUN=1 | socat - /dev/ttyUSB2,crnl 
 +sleep 7 
 +echo "Restarted QMIPPP" >> /root/wan_reset_log.txt Make a record in the log
 +date >> /root/wan_reset_log.txt # Write the date. This will be persistent between reboots. Verify you have the space.
 # sleep 2 # pause before bringing the hub back up # sleep 2 # pause before bringing the hub back up
 +# hub-ctrl -b 001 -d 002 -P 2 -p 1
 +# Test if the previous steps worked. If yes, exit. If no, reboot.
 +# The following network restart may work for you, but usually the modem itself is crashed and so the LBR20 requires a reboot.
 +# if fping --alive 1.1.1.1 9.9.9.9 8.8.8.8 2001:4860:4860::8888 2620:fe::fe | grep -q .
 +# then
 +# echo "SUCCESS: 'ifup qmippp' worked, no need for network restart." >> /root/wan_reset_log.txt
 +# echo "SUCCESS: 'ifup qmippp' worked, no need for network restart."
 +# exit 0
 +# fi
 +# echo "FAILURE: 'ifup qmippp' did not work by itself, the modem is unresponsive. Restarting network..."
 +# sleep 5
 +# /etc/init.d/network restart
 +# sleep 25
 + if fping --alive 1.1.1.1 9.9.9.9 8.8.8.8 2001:4860:4860::8888 2620:fe::fe | grep -q .
 + then
 + echo "SUCCESS: Quectel modem wwan restart worked, no need for reboot" >> /root/wan_reset_log.txt
 + echo "SUCCESS: Quectel modem wwan restart worked, no need for reboot"
 + exit 0
 + fi
 + echo "FAILURE: reboot required" >> /root/wan_reset_log.txt
 + echo "FAILURE: reboot required"
 + sleep 5
 + reboot
 </code> </code>
 ==== Network interfaces ==== ==== Network interfaces ====
  • Last modified: 2024/11/26 17:58
  • by s2s2