FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

ZBT Router Topics
User avatar
JamesO'Hara
Posts: 4
Joined: Tue Mar 13, 2018 11:00 am

Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

Post by JamesO'Hara » Wed Oct 24, 2018 3:37 pm

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.

User avatar
JimHelms
Site Admin
Posts: 771
Joined: Tue Dec 19, 2017 8:59 pm
Location: DFW Texas
Contact:

Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

Post by JimHelms » Wed Oct 24, 2018 3:46 pm

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.
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.

Please keep us updated on how it works out.

Twoods196
Posts: 7
Joined: Sat Jan 19, 2019 12:11 pm

Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

Post by Twoods196 » 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.

User avatar
JimHelms
Site Admin
Posts: 771
Joined: Tue Dec 19, 2017 8:59 pm
Location: DFW Texas
Contact:

Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

Post by JimHelms » Mon Feb 25, 2019 9:06 am

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.
For which router?

jameshilliard
Posts: 5
Joined: Wed Oct 03, 2018 1:33 pm

Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

Post by jameshilliard » 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
OpenWrt 18.06.4 r7808-ef686b7292 / LuCI openwrt-18.06 branch (git-19.170.32094-4d6d8bc)
(7.93 MiB) Downloaded 18 times
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
}
Embedded Linux firmware developer

peejhaymakots
Posts: 1
Joined: Thu Oct 10, 2019 5:21 am

Re: FIRMWARE FOR WE826 | WG3526 | WE3926 | WE1326 | WE1026

Post by peejhaymakots » Thu Oct 10, 2019 6:03 am

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
}
Hi James,

I just acquired my wg3526 and barely new on this kind of router. (so please bear with my noob questions :D) 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 :D) 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)

Post Reply
  • Similar Topics
    Replies
    Views
    Last post