FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
Forum rules
Use the SEARCH function for related topics PRIOR to posting a new topic on the same subject.
Use the SEARCH function for related topics PRIOR to posting a new topic on the same subject.
FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
I just flashed a dev build from ofmodemsandmen and they mention doing some builds for The Wireless Haven. Not sure if this is the best place to post this but this is a link to the dev builds.
UPDATE 03-08-2019: Our latest WiFiX 2019 version of GoldenOrb contains an internal ping script that runs in the background that resets/reboots the modem upon loss of internet. As always when upgrading a router's firmware, be certain to UNCHECK the box to Save Settings.
All GoldenOrb 2019 stock firmware builds.
The OEM firmware for the WE826 and the WG3526 | WE1326 can be downloaded from HERE
UPDATE 03-08-2019: Our latest WiFiX 2019 version of GoldenOrb contains an internal ping script that runs in the background that resets/reboots the modem upon loss of internet. As always when upgrading a router's firmware, be certain to UNCHECK the box to Save Settings.
All GoldenOrb 2019 stock firmware builds.
The OEM firmware for the WE826 and the WG3526 | WE1326 can be downloaded from HERE
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
If I tried this firmware, and I wanted to return back to the current golden orb, how would I do that? When I go to the firmware flashing option, it returns an error about not being a correct image format.
Thank you
Curdean
Thank you
Curdean
- JimHelms
- Site Admin
- Posts: 1366
- Joined: Tue Dec 19, 2017 8:59 pm
- Location: DFW Texas
- Has thanked: 79 times
- Been thanked: 199 times
- Contact:
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
If you are down grading from a newer kernel you can use the boot loader mode.curdean wrote: Fri Jul 20, 2018 11:43 am If I tried this firmware, and I wanted to return back to the current golden orb, how would I do that?
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
thank you.JimHelms wrote: Fri Jul 20, 2018 11:53 am If you are down grading from a newer kernel you can use the boot loader mode.
-
- Posts: 8
- Joined: Wed Jul 11, 2018 12:47 am
- Has thanked: 0
- Been thanked: 0
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
So I recently bought a WG3526-P with the MC7455 LTE modem and needed to update the firmware on the MC7455 but it seems these firmware builds don't have the correct firmware update tools compiled in for some reason, I was able to update it using these firmware files successfully after compiling my own custom OpenWRT firmware with the modemmanager packages.
These are the commands I used to update it:
FYI the SWI9X30C_02.30.01.01.cwe firmware update file is too large to fit on the onboard flash so I had to put it on a SD card(see this guide for mounting the SD card).
Is there any reason why these tools aren't built into the WiFiX firmware already? I couldn't find another way to update the MC7455 without taking the card out of the router and putting it in an adapter(which I don't have) and connecting to a normal computer to do the update.
By the way where can I find the source code for the WiFiX firmware, it's different from the GoldenOrb firmware source I assume?
These are the commands I used to update it:
Code: Select all
qmicli -d /dev/cdc-wdm0 --dms-set-firmware-preference="02.30.01.01,002.045_000,GENERIC"
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=offline
qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=reset
qmi-firmware-update --update-qdl -t /dev/ttyUSB0 SWI9X30C_02.30.01.01.cwe SWI9X30C_02.30.01.01_GENERIC_002.045_000.nvu
Is there any reason why these tools aren't built into the WiFiX firmware already? I couldn't find another way to update the MC7455 without taking the card out of the router and putting it in an adapter(which I don't have) and connecting to a normal computer to do the update.
By the way where can I find the source code for the WiFiX firmware, it's different from the GoldenOrb firmware source I assume?
- JimHelms
- Site Admin
- Posts: 1366
- Joined: Tue Dec 19, 2017 8:59 pm
- Location: DFW Texas
- Has thanked: 79 times
- Been thanked: 199 times
- Contact:
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
Yes, this would be a great tool to have compiled into the GoldenOrb firmware.jameshilliard wrote: Wed Oct 10, 2018 4:36 pm So I recently bought a WG3526-P with the MC7455 LTE modem and needed to update the firmware on the MC7455 but it seems these firmware builds don't have the correct firmware update tools compiled in for some reason
There is no specific reason. I generally use a USB to Mini PCI-E adapter to update the firmware or the Sierra Wireless AirVantage platform.Is there any reason why these tools aren't built into the WiFiX firmware already? I couldn't find another way to update the MC7455 without taking the card out of the router and putting it in an adapter(which I don't have) and connecting to a normal computer to do the update.
GoldenOrb/ROOter has been around for a good while, but only in the past year has it implemented the drivers and support for the line of Sierra Wireless (and other Mini PCI-e and M.2) modems. The firmware update addition is well worth exploring.
The WiFiX uses a newer kernel that the stable release of GoldenOrb, but it uses the same ROOter packages with a small amount of customization.
By the way where can I find the source code for the WiFiX firmware, it's different from the GoldenOrb firmware source I assume?
You may try THIS which is fairly new. Or, you might want to visit the Whirlpool forum and ask about the latest source code.
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
I'll attach my build to this post in case anyone needs it, it's essentially stock OpenWRT master with the modemmanager package feed added. I also compiled in the necessary packages for mounting and formatting the SD card. I'm able to flash back and forth between it and the The Wireless Haven GoldenOrb/ROOter builds using the normal webif sysupgrade.JimHelms wrote: Wed Oct 10, 2018 5:41 pm Yes, this would be a great tool to have compiled into the GoldenOrb firmware.
I wonder if modemmanager conflicts with the GoldenOrb/ROOter customizations, it seems to use the mmcli tool for configuration of the LTE modem instead of raw AT commands like GoldenOrb/ROOter. Using raw AT commands seems a bit sketchy to me and I suspect it may be the source of reliability issues.JimHelms wrote: Wed Oct 10, 2018 5:41 pm There is no specific reason. I generally use a USB to Mini PCI-E adapter to update the firmware or the Sierra Wireless AirVantage platform.
GoldenOrb/ROOter has been around for a good while, but only in the past year has it implemented the drivers and support for the line of Sierra Wireless (and other Mini PCI-e and M.2) modems. The firmware update addition is well worth exploring.
I did a github search and think I found it here.
You do not have the required permissions to view the files attached to this post.
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
I managed to get my WG3526-P to connect to sprint using my custom OpenWRT build(I'm attaching an updated version where I removed a package that could potentially conflict with modemmanager), I had to manually configure a number of the settings.
I set these AT commands, I'm not entirely sure if these are all necessary or if there's a way to do this without using the AT command interface(modemmanager is designed to be used without having to use manual AT commands), the command syntax is a little different from normal, you must escape quotes otherwise you will get errors and you should not put "AT" at the start like normal as mmcli automatically adds it to the start of the command:
The mmcli AT command interface only works when you run modemmanager in debug mode, to do this edit the file /etc/init.d/modemmanager and change to and reboot or restart the modemmanager service.
You'll need to add an entry like this for modemmanager in /etc/config/network, make sure the "option device" line matches what you see in "mmcli -m 0" under System->device, note that the -m flag selects the modem(usually you only have one), you can get a list of your modems using "mmcli -L":
You'll also need to add the "broadband"(or whatever you name the interface in /etc/config/network) interface to the wan zone in /etc/config/firewall otherwise only the router itself will have internet access and not any LAN clients:
Once I got this working it appears to be more reliable at reconnecting and maintaining a connection compared to other firmware builds probably since modemmanager automatically handles a lot of things instead of a bunch of shell scripts doing AT commands like GoldenOrb/ROOter uses.
I set these AT commands, I'm not entirely sure if these are all necessary or if there's a way to do this without using the AT command interface(modemmanager is designed to be used without having to use manual AT commands), the command syntax is a little different from normal, you must escape quotes otherwise you will get errors and you should not put "AT" at the start like normal as mmcli automatically adds it to the start of the command:
Code: Select all
mmcli -m 0 --command=!entercnd=\"A710\"
mmcli -m 0 --command=!usbcomp = 1,1,1009
mmcli -m 0 --command=!selrat=06
mmcli -m 0 --command=!custom=\"IPV6ENABLE\",1
mmcli -m 0 --command=!reset
Code: Select all
procd_set_param command /usr/sbin/ModemManager
Code: Select all
procd_set_param command /usr/sbin/ModemManager --debug
You'll need to add an entry like this for modemmanager in /etc/config/network, make sure the "option device" line matches what you see in "mmcli -m 0" under System->device, note that the -m flag selects the modem(usually you only have one), you can get a list of your modems using "mmcli -L":
Code: Select all
config interface 'broadband'
option device '/sys/devices/platform/1e1c0000.xhci/usb1/1-2'
option proto 'modemmanager'
option apn 'n.ispsn'
Code: Select all
config zone
option name 'wan'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
option network 'wan wan6 broadband'
You do not have the required permissions to view the files attached to this post.
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
I found that the bearer can sometimes get stuck in a disconnected state, you can run this script as a cronjob every minute to fix it:
Code: Select all
#!/bin/sh
# save dog.sh in /root/dog.sh.
# You can use winscp with scp protocol to do this.
# Using ssh set executation permission and replace the crontab:
# chmod +x /root/dog.sh
# echo "* * * * * /root/dog.sh" | crontab -
modemmanager_get_field() {
local text=$1
local inblock=$2
local infield=$3
local fieldindex=${4:-0}
[ -z "${text}" ] || [ -z "${infield}" ] || [ -z "${inblock}" ] && return
# Sample output:
#
# /org/freedesktop/ModemManager1/Modem/0 (device id '391a4fbdb14113ecdd101a23c927ab1e82c51a8e')
# -------------------------
# Hardware | manufacturer: 'QUALCOMM INCORPORATED'
# | model: '8'
# | revision: '8200C-FACPASZQ-30350 1 [Dec 15 2011 15:00:00]'
# | supported: 'gsm-umts'
# | current: 'gsm-umts'
# | equipment id: '863745010845895'
# -------------------------
# System | device: '/sys/devices/pci0000:00/0000:00:16.0/usb1/1-1/1-1.3'
# | drivers: 'option, qmi_wwan'
# | plugin: 'Generic'
# | primary port: 'cdc-wdm0'
# | ports: 'ttyUSB0 (qcdm), ttyUSB2 (at), cdc-wdm0 (qmi), wwan0 (net)'
# -------------------------
# Numbers | own : 'unknown'
# -------------------------
# Status | lock: 'sim-pin2'
# | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)'
# | state: 'registered'
# | power state: 'on'
# | access tech: 'umts'
# | signal quality: '54' (recent)
# -------------------------
# Modes | supported: 'allowed: 2g; preferred: none
# | allowed: 3g; preferred: none
# | allowed: 2g, 3g; preferred: none
# | allowed: 2g, 3g; preferred: 2g
# | allowed: 2g, 3g; preferred: 3g'
# | current: 'allowed: any; preferred: none'
# -------------------------
# Bands | supported: 'unknown'
# | current: 'unknown'
# -------------------------
# IP | supported: 'ipv4, ipv6, ipv4v6'
# -------------------------
# 3GPP | imei: '863745010845895'
# | enabled locks: 'none'
# | operator id: '21401'
# | operator name: 'vodafone ES'
# | subscription: 'unknown'
# | registration: 'home'
# -------------------------
# SIM | path: '/org/freedesktop/ModemManager1/SIM/0'
#
# -------------------------
# Bearers | paths: 'none'
# Iterate block by block
echo ${text} | awk '{
split($0,array,"-------------------------")
for(i in array) {
print array[i];
}
}' | while read -r line ; do
# Look for a matching block title
local block=$(echo ${line} | awk -F '\|' '{print $1}')
block="$(echo -e "${block}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
[ "${block}" = "${inblock}" ] && {
# Iterate field by field
echo ${line} | awk '{
split($0,array,"|")
for(i in array) {
print array[i];
}
}' | while read -r subline ; do
local field=$(echo ${subline} | awk -F ':' '{print $1}')
field="$(echo -e "${field}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
[ "${field}" = "${infield}" ] && {
local realindex=$(expr 2 \* ${fieldindex} + 2)
local value=$(echo ${subline} | awk -F "'" "{print \$${realindex}}")
echo "$value"
return 0
}
done
}
done
# Not found
return 2
}
modemmanager_list_bearers() {
/usr/bin/mmcli --modem $1 --list-bearers | grep "/org/freedesktop/ModemManager1/Bearer/" 2>/dev/null
}
modemmanager_get_bearer() {
local device="$1"
local bearers n_bearers
bearers=$(modemmanager_list_bearers "${device}")
n_bearers=$(echo "${bearers}" | wc -l)
[ ${n_bearers} -eq 1 ] || return
echo $bearers
}
# Load connected bearer information
device="0"
bearerpath=$(modemmanager_get_bearer "${device}")
bearerstatus=$(/usr/bin/mmcli --bearer "${bearerpath}")
# Load network interface and method information
beareriface=$(modemmanager_get_field "${bearerstatus}" "Status" "interface")
bearermethod=$(modemmanager_get_field "${bearerstatus}" "IPv4 configuration" "method")
echo "connection setup required in interface ${beareriface}: ${bearermethod}"
if [ $bearermethod = "unknown" ]; then
echo "connection reset required in interface ${beareriface}: ${bearermethod}"
ifup broadband
fi
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
James
Just letting you know that your image and config files (network, firewall, modem manager) work with a reset MC7455 and do not require a mode adjust (QMI mode fully working).
Going to run this to see if i'm still getting disconnects etc. before trying a firmware upgrade.
Just letting you know that your image and config files (network, firewall, modem manager) work with a reset MC7455 and do not require a mode adjust (QMI mode fully working).
Going to run this to see if i'm still getting disconnects etc. before trying a firmware upgrade.
- JimHelms
- Site Admin
- Posts: 1366
- Joined: Tue Dec 19, 2017 8:59 pm
- Location: DFW Texas
- Has thanked: 79 times
- Been thanked: 199 times
- Contact:
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
Nice, I almost installed it myself on a unit to test...and have added it to list of things I would sure like to do.JamesO'Hara wrote: Wed Oct 24, 2018 3:37 pm
Going to run this to see if i'm still getting disconnects etc. before trying a firmware upgrade.
Please keep us updated on how it works out.
- JimHelms
- Site Admin
- Posts: 1366
- Joined: Tue Dec 19, 2017 8:59 pm
- Location: DFW Texas
- Has thanked: 79 times
- Been thanked: 199 times
- Contact:
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
For which router?Twoods196 wrote: Mon Feb 25, 2019 8:14 am Any updates on this firmware? As it would be nice to have modemmanager but seems no responses since October.
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
Here's a new build for the WG3526 with updated OpenWRT and modemmanager, seems a little more reliable.
The previous cronjob doesn't work with this version, this new one should:
The previous cronjob doesn't work with this version, this new one should:
Code: Select all
#!/bin/sh
# save dog.sh in /root/dog.sh.
# You can use winscp with scp protocol to do this.
# Using ssh set executation permission and replace the crontab:
# chmod +x /root/dog.sh
# echo "* * * * * /root/dog.sh" | crontab -
# This method expects as first argument a list of key-value pairs, as returned by mmcli --output-keyvalue
# The second argument must be exactly the name of the field to read
#
# Sample output:
# $ mmcli -m 0 -K
# modem.dbus-path : /org/freedesktop/ModemManager1/Modem/0
# modem.generic.device-identifier : ed6eff2e3e0f90463da1c2a755b2acacd1335752
# modem.generic.manufacturer : Dell Inc.
# modem.generic.model : DW5821e Snapdragon X20 LTE
# modem.generic.revision : T77W968.F1.0.0.4.0.GC.009\n026
# modem.generic.carrier-configuration : GCF
# modem.generic.carrier-configuration-revision : 08E00009
# modem.generic.hardware-revision : DW5821e Snapdragon X20 LTE
# ....
modemmanager_get_field() {
local list=$1
local field=$2
local value=""
[ -z "${list}" ] || [ -z "${field}" ] && return
# there is always at least a whitespace after each key, and we use that as part of the
# key matching we do (e.g. to avoid getting 'modem.generic.state-failed-reason' as a result
# when grepping for 'modem.generic.state'.
value=$(echo "${list}" | grep "${field} " | awk -F ':' '{print $2}' | awk '{$1=$1};1')
# not found?
[ -n "${value}" ] || return 2
# only print value if set
[ "${value}" != "--" ] && echo "${value}"
return 0
}
# Load connected bearer information
device="0"
modemstatus=$(/usr/bin/mmcli --modem="${device}" --output-keyvalue)
bearerpath=$(modemmanager_get_field "${modemstatus}" "modem.generic.bearers.value\[1\]")
bearerstatus=$(/usr/bin/mmcli --bearer "${bearerpath}" --output-keyvalue)
# Load network interface and method information
beareriface=$(modemmanager_get_field "${bearerstatus}" "bearer.status.interface")
[ -n "${beareriface}" ] || {
echo "couldn't load bearer interface, resetting connection"
ifup broadband
exit 0
}
bearermethod=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.method")
[ -n "${bearermethod}" ] || {
echo "couldn't load bearer method, resetting connection"
ifup broadband
exit 0
}
You do not have the required permissions to view the files attached to this post.
-
- Posts: 1
- Joined: Thu Oct 10, 2019 5:21 am
- Has thanked: 0
- Been thanked: 0
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
Hi James,jameshilliard wrote: Fri Sep 06, 2019 12:22 pm Here's a new build for the WG3526 with updated OpenWRT and modemmanager, seems a little more reliable.
openwrt-ramips-mt7621-zbt-wg3526-16M-squashfs-sysupgrade.bin.zip
The previous cronjob doesn't work with this version, this new one should:Code: Select all
#!/bin/sh # save dog.sh in /root/dog.sh. # You can use winscp with scp protocol to do this. # Using ssh set executation permission and replace the crontab: # chmod +x /root/dog.sh # echo "* * * * * /root/dog.sh" | crontab - # This method expects as first argument a list of key-value pairs, as returned by mmcli --output-keyvalue # The second argument must be exactly the name of the field to read # # Sample output: # $ mmcli -m 0 -K # modem.dbus-path : /org/freedesktop/ModemManager1/Modem/0 # modem.generic.device-identifier : ed6eff2e3e0f90463da1c2a755b2acacd1335752 # modem.generic.manufacturer : Dell Inc. # modem.generic.model : DW5821e Snapdragon X20 LTE # modem.generic.revision : T77W968.F1.0.0.4.0.GC.009\n026 # modem.generic.carrier-configuration : GCF # modem.generic.carrier-configuration-revision : 08E00009 # modem.generic.hardware-revision : DW5821e Snapdragon X20 LTE # .... modemmanager_get_field() { local list=$1 local field=$2 local value="" [ -z "${list}" ] || [ -z "${field}" ] && return # there is always at least a whitespace after each key, and we use that as part of the # key matching we do (e.g. to avoid getting 'modem.generic.state-failed-reason' as a result # when grepping for 'modem.generic.state'. value=$(echo "${list}" | grep "${field} " | awk -F ':' '{print $2}' | awk '{$1=$1};1') # not found? [ -n "${value}" ] || return 2 # only print value if set [ "${value}" != "--" ] && echo "${value}" return 0 } # Load connected bearer information device="0" modemstatus=$(/usr/bin/mmcli --modem="${device}" --output-keyvalue) bearerpath=$(modemmanager_get_field "${modemstatus}" "modem.generic.bearers.value\[1\]") bearerstatus=$(/usr/bin/mmcli --bearer "${bearerpath}" --output-keyvalue) # Load network interface and method information beareriface=$(modemmanager_get_field "${bearerstatus}" "bearer.status.interface") [ -n "${beareriface}" ] || { echo "couldn't load bearer interface, resetting connection" ifup broadband exit 0 } bearermethod=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.method") [ -n "${bearermethod}" ] || { echo "couldn't load bearer method, resetting connection" ifup broadband exit 0 }
I just acquired my wg3526 and barely new on this kind of router. (so please bear with my noob questions ) I'm planning to buy DW5821e and insert it to my wg3526, I don't need any special configuration and I just need to make the carrier aggregation (and the internet ofcourse ) works since all rules/etc is terminated on my pfsense multiWAN setup.
So all I have to do is to use the file that you have attached here and the modem should work right? or do I have to change anything. Thanks! (btw the active lte bands in my location are B1, B3, B5, B28, B40 and B42)
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
Well you need to configure the network interface(config at /etc/config/network) as well.peejhaymakots wrote: Thu Oct 10, 2019 6:03 am Hi James,
I just acquired my wg3526 and barely new on this kind of router. (so please bear with my noob questions ) I'm planning to buy DW5821e and insert it to my wg3526, I don't need any special configuration and I just need to make the carrier aggregation (and the internet ofcourse ) works since all rules/etc is terminated on my pfsense multiWAN setup.
So all I have to do is to use the file that you have attached here and the modem should work right? or do I have to change anything. Thanks! (btw the active lte bands in my location are B1, B3, B5, B28, B40 and B42)
This is what I added for sprint:
Code: Select all
config interface 'broadband'
option device '/sys/devices/platform/1e1c0000.xhci/usb1/1-2'
option proto 'modemmanager'
option apn 'r.ispsn'
Code: Select all
#!/bin/sh
# save dog.sh in /root/dog.sh.
# You can use winscp with scp protocol to do this.
# Using ssh set executation permission and replace the crontab:
# chmod +x /root/dog.sh
# echo "* * * * * /root/dog.sh" | crontab -
# This method expects as first argument a list of key-value pairs, as returned by mmcli --output-keyvalue
# The second argument must be exactly the name of the field to read
#
# Sample output:
# $ mmcli -m 0 -K
# modem.dbus-path : /org/freedesktop/ModemManager1/Modem/0
# modem.generic.device-identifier : ed6eff2e3e0f90463da1c2a755b2acacd1335752
# modem.generic.manufacturer : Dell Inc.
# modem.generic.model : DW5821e Snapdragon X20 LTE
# modem.generic.revision : T77W968.F1.0.0.4.0.GC.009\n026
# modem.generic.carrier-configuration : GCF
# modem.generic.carrier-configuration-revision : 08E00009
# modem.generic.hardware-revision : DW5821e Snapdragon X20 LTE
# ....
modemmanager_get_field() {
local list=$1
local field=$2
local value=""
[ -z "${list}" ] || [ -z "${field}" ] && return
# there is always at least a whitespace after each key, and we use that as part of the
# key matching we do (e.g. to avoid getting 'modem.generic.state-failed-reason' as a result
# when grepping for 'modem.generic.state'.
value=$(echo "${list}" | grep "${field} " | awk -F ':' '{print $2}' | awk '{$1=$1};1')
# not found?
[ -n "${value}" ] || return 2
# only print value if set
[ "${value}" != "--" ] && echo "${value}"
return 0
}
# Load connected bearer information
devices=$(/usr/bin/mmcli -L --output-keyvalue)
device=$(modemmanager_get_field "${devices}" "modem-list.value\[1\]")
[ -n "${device}" ] || {
echo "couldn't load device interface, resetting connection"
ifup broadband
exit 0
}
modemstatus=$(/usr/bin/mmcli --modem="${device}" --output-keyvalue)
enabledstatus=$(modemmanager_get_field "${modemstatus}" "modem.generic.state")
if [ "${enabledstatus}" = disabled ]; then
echo "modem is disabled, enabling"
/usr/bin/mmcli --modem="${device}" --enable
exit 0
fi
bearerpath=$(modemmanager_get_field "${modemstatus}" "modem.generic.bearers.value\[1\]")
bearerstatus=$(/usr/bin/mmcli --bearer "${bearerpath}" --output-keyvalue)
# Load network interface and method information
beareriface=$(modemmanager_get_field "${bearerstatus}" "bearer.status.interface")
[ -n "${beareriface}" ] || {
echo "couldn't load bearer interface, resetting modemmanager"
/etc/init.d/modemmanager restart
exit 0
}
bearermethod=$(modemmanager_get_field "${bearerstatus}" "bearer.ipv4-config.method")
[ -n "${bearermethod}" ] || {
echo "couldn't load bearer method, resetting connection"
ifup broadband
exit 0
}
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
i have a wg3526 and i want to use a vpn to tunnel all my traffic. i get one l2tp vpn setup with the stock firmware but would like something with more speed. with no vpn i get about 80 mbps and with the l2tp i get about 25 mpbs. i would like to utilize the full speed of the connection. will another protocol be faster like going to openvpn? and if so how can i get another firmware to flash to the device. everything i tried does not flash.
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
-
- Posts: 8
- Joined: Wed Oct 03, 2018 1:33 pm
- Has thanked: 0
- Been thanked: 5 times
Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026
I updated the builds to the latest OpenWRT release candidate with some additional packages like modemmanager and USB/filesystem support needed for mounting external storage(required for modem firmware updates since modem firmware is too big to fit into ram/flash).
ModemManager's OpenWRT integration seems to be significantly improved, the reset script isn't needed anymore looks like.
ModemManager's OpenWRT integration seems to be significantly improved, the reset script isn't needed anymore looks like.
You do not have the required permissions to view the files attached to this post.