Optimized build for IPQ40xx devices

I appreciate the help. I was able to restore the factory build, then reload OpenWRT. Now to get the monitoring figured out.

I hate to say this, but I am still having problems. I loaded notengobattery-linksys_mr9000-squashfs-factory.bin to my MR9000 router. I went in and set the router name and password then rebooted. Everything looked fine when I connected via ssh. I did the package update with the "--no-check-certificate" option. I verified that the USB drive was not attached then attached it. I went through the steps to add the flash drive then rebooted. When I connected via SSH, the router name was gone, the password was gone and the flash drive wasn't attached.

This is a copy of my ssh session:

 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 NoTengoBattery v3.0.0, r16279-5cc0535800
 -----------------------------------------------------
root@MikeTest:~# opkg update --no-check-certificate && opkg install kmod-usb-ehci kmod-usb-ohci luci-app-p910nd p910nd kmod-usb-printer kmod-usb-storage kmod-usb2 kmod-usb3 --force-reinstall --no-check-certificate
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_core
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/base/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_base
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_luci
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/luci/Packages.sig
Signature check passed.
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_notengobattery_feed
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_packages
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_routing
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/notengobattery_telephony
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/telephony/Packages.sig
Signature check passed.
Removing package kmod-usb-storage from root...
Removing package kmod-usb3 from root...
Installing kmod-usb-ehci (5.4.143-1) to root...
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/kmod-usb-ehci_5.4.143-1_arm_cortex-a7_neon-vfpv4.ipk
Installing kmod-usb-ohci (5.4.143-1) to root...
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/kmod-usb-ohci_5.4.143-1_arm_cortex-a7_neon-vfpv4.ipk
Installing luci-app-p910nd (git-20.108.38431-8f34e10) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/luci/luci-app-p910nd_git-20.108.38431-8f34e10_all.ipk
Installing p910nd (0.97-9) to root...
Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a7_neon-vfpv4/packages/p910nd_0.97-9_arm_cortex-a7_neon-vfpv4.ipk
Package p910nd (0.97-9) installed in root is up to date.
Installing kmod-usb-printer (5.4.143-1) to root...
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/kmod-usb-printer_5.4.143-1_arm_cortex-a7_neon-vfpv4.ipk
Installing kmod-usb-storage (5.4.143-1) to root...
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/kmod-usb-storage_5.4.143-1_arm_cortex-a7_neon-vfpv4.ipk
Installing kmod-usb2 (5.4.143-1) to root...
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/kmod-usb2_5.4.143-1_arm_cortex-a7_neon-vfpv4.ipk
Installing kmod-usb3 (5.4.143-1) to root...
Downloading https://downloads.notengobattery.com/projects/openwrt-v3.0.0/targets/ipq40xx/generic/packages/kmod-usb3_5.4.143-1_arm_cortex-a7_neon-vfpv4.ipk
Configuring kmod-usb-storage.
Configuring kmod-usb-printer.
Configuring kmod-usb-ohci.
Configuring p910nd.
Configuring kmod-usb-ehci.
Configuring kmod-usb2.
Configuring kmod-usb3.
Configuring luci-app-p910nd.
root@MikeTest:~# ls -al /dev/sd*
ls: /dev/sd*: No such file or directory
root@MikeTest:~# ls -al /dev/sd*
brw-------    1 root     root        8,   0 Oct 27 12:23 /dev/sda
brw-------    1 root     root        8,   1 Oct 27 12:23 /dev/sda1
root@MikeTest:~# block detect | uci import fstab
uci set fstab.@mount[0].enabled='1' && uci set fstab.@global[0].anon_mount='1' && uci commit fstab
/etc/init.d/fstab boot
block: No "mount.ubi" utility available
block: mounting /dev/mtdblock11 (ubi) as /mnt/mtdblock11 failed (2) - No such file or directory
block: No "mount.ubi" utility available
block: mounting /dev/mtdblock13 (ubi) as /mnt/mtdblock13 failed (2) - No such file or directory
block: No "mount.ubi" utility available
block: mounting /dev/mtdblock15 (ubi) as /mnt/mtdblock15 failed (2) - No such file or directory
root@MikeTest:~# mount
/dev/root on /rom type squashfs (ro,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,noatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime)
pstore on /sys/fs/pstore type pstore (rw,relatime)
/dev/ubi15_0 on /overlay type ubifs (rw,relatime,bulk_read,compr=zstd,assert=read-only,ubi=15,vol=0)
overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work)
tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600,ptmxmode=000)
debugfs on /sys/kernel/debug type debugfs (rw,noatime)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,noatime,mode=700)
/dev/ubi0_1 on /bootfs type ubifs (rw,relatime,bulk_read,compr=zstd,assert=read-only,ubi=0,vol=1)
/dev/sda1 on /mnt/sda1 type ext4 (rw,relatime)
root@MikeTest:~# reboot
root@MikeTest:~#
login as: root
  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 NoTengoBattery v3.0.0, r16279-5cc0535800
 -----------------------------------------------------
=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@Dallas:~#

Can someone please tell me what I am doing wrong?

Mike

Did you try block mount?
Also, you need to install the filesystem driver for your USB device if it is not installed alredy.


@pingec Yes, it is!
With a serial console, we can see any hidden error during the boot process and debug accordingly. Please contact me via PM.

I did read your post. The problem is this:
By default, the device will use the syscfg partition to store the config and the installed packages. This is needed because the default space for that purpose is the remaining of the system partition, which is so small that is pretty much useless.
When you override the fstab and reboot, you are telling the device to not use that partition, and therefore you "lost" your config. Is not lost, is just not accessible. I would recommend adding the partitions manually using LuCI.
Another solution is to re-do what you did now that you deleted the original fstab file, which is probably what you end up doing.
I sorry for the annoyance. I didn't think anyone would replace the fstab file instead of adding the entries as needed.

I figured out a workaround for the errors I was receiving. I now have OpenWRT running on my router, with the USB drive visible and working. Now I'm having difficulty setting up YAMon4. It might be due to certificate issues with this version of the software, but I'm not entirely certain. This issue is that one of the scripts is trying to do this wget http://usage-monitoring.com/current/YAMon4/Setup/gfmd4.0.php -O /tmp/yamonsetup.txt.

When this command runs I get this error

`Downloading 'http://usage-monitoring.com/current/YAMon4/Setup/gfmd4.0.php'
Connecting to 66.96.149.32:80
Redirected to /current/YAMon4/Setup/gfmd4.0.php on usage-monitoring.com
Connection error: Invalid SSL certificate'

I know about the issues this build has with certificates. I'm aware of the --no-check-certificate option but the wget is used frequently in the installation process and it would be extremely difficult to manually add that option to the scripts everytime it is needed. I've dug around a lot and learned about setting Wgetrc defaults. I've set "check_certificate = off" but I continue to get certificate errors with every wget statement in the scripts. Would I be better off running a different version of your build that doesn't have the certificate issue? If so, what version would that be? Is there a different solution to the problem? Sorry for the constant questions, but this really is a learning process for me. I've got about 30 browser tabs open right now with relevant information regarding all of these issues.

I understand and for sure OpenWrt needs a lot of work.

The problem with the certificates is not my fault, nor OpenWrt's fault. The certificates expired making a lot of embedded devices stop working.

From the date those expired and backwards, all OpenWrt builds (mine or not) will suffer from this problem. Installing older versions won't help at all. The certificates need an update but OpenWrt hasn't issued the new packages.

I was waiting for them to do it, but it's taking a while. A new builds with the updated certificates is needed. If anyone know or has a link to a solution for this, I can build and release the new software (mostly because I don't know what to look for to update them myself).

You can try this and let us know if it works. If that's the case, I can issue a new build with the fix applied:

(hint: wget instead of uclient-fetch)

Thanks so much for your help. I think I have everything up and running now. These are the steps that I followed:

Thanks, it was pretty easy after all:

Edit /etc/opkg/distfeeds.conf changing the URLs from https to http
opkg install libopenssl
opkg install openssl-util
opkg --force-depends remove libustream-wolfssl20201210
opkg install libustream-openssl20201210
Edit /etc/opkg/distfeeds.conf changing the URLs back to https
opkg update now works
service uhttpd restart

Again, thanks for all your help. Now that I have a workaround, hopefully, it will do everything that I want it to do now.

Mike

@NoTengoBattery Is your site up? Only I'm can't connect and download files?

 $ wget https://downloads.notengobattery.com/projects/openwrt-v3.0.0/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz
--2021-10-31 00:57:05--  https://downloads.notengobattery.com/projects/openwrt-v3.0.0/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz
Resolving downloads.notengobattery.com (downloads.notengobattery.com)... 3.20.183.177
Connecting to downloads.notengobattery.com (downloads.notengobattery.com)|3.20.183.177|:443... failed: Connection timed out.
Retrying.

--2021-10-31 00:59:16--  (try: 2)  https://downloads.notengobattery.com/projects/openwrt-v3.0.0/packages/arm_cortex-a7_neon-vfpv4/notengobattery_feed/Packages.gz
Connecting to downloads.notengobattery.com (downloads.notengobattery.com)|3.20.183.177|:443... 

Oh yeah :sweat:
It seems I depleted the free AWS tier earlier this time

Hopefully it will be soon online on its own. Otherwise let me know so I take action...

1 Like

Greetings! I started to use your firmware V3.0 on my old Linksys EA6350V3 recently. I am just testing and playing around to try to learn things about networking. When I tried to change the setting of unbound, I have no idea which unbound.conf I should be tackling with. I checked the contents of the files /etc/unbound/unbound.conf, /var/lib/unbound/unbound.conf, /etc/config/unbound. All those files do not seem to agree with each other. Please help! Thank you!

I'm guessing this is still based on swconfig with the hard coded vlan driver?

I have tested working DSA from the satura fork and added support for the wallystech DR4029 routerboard in my repo I'm wondering would you look at merging DSA and the DR4029 support in this to your repo ? or if i can create a pull request?

professor-jonny/pj_openwrt: This repository is designed to support the wallystech DR40x9 Routerboard with DSA in mind. (github.com)

@hkfreeman
That highly depends on your config. With the default configuration, everything is configured from UCI and therefore from the LuCI UI. The file inside /var is the generated configuration. You should not modify it since it's generated automatically.

The file that you can edit in LuCI has "advanced" configuration for the server and the zones. Those files are imported on top of the LuCI config, since not every config is exposed to the LuCI web interface.


@professor_jonny
Thanks, professor. We can start by creating the pull request. Just make this clear for me:
Are we doing this to "early adopt" DSA?

Yes I have stitched ipq40x9 DSA driver to the wallystech dr4029 router board in my fork im wondering if you could add it into your fork as i would like to try the memory compression.

This is my router board:
PRODUCTS_Wallys Communications (Suzhou ) Co., LTD (wallystech.com)

DSA is still in development but after my testing it seems to operate on my board without issue.

sartura/openwrt at ipq40xx-dsa (github.com)

DR4029 support (pre DSA support): ipq40xx: add Wallys DR40x9 support · professor-jonny/pj_openwrt@c0696f6 (github.com)

This is the updated DTS for DSA support for the DR4029:

update config and dts · professor-jonny/pj_openwrt@09993df (github.com)

if you could add DSA and my target I can test your fork on my device for you.

Hi,

Just to report that the 3.0.0 stable release works very fine for me with the Fritz!box 4040 (currently only as a dump AP, didn't take time to play with vlans).
Just a example after a 15GB file transfert :

The Fritz antennaes are certainly not the best ones so the client placement on the room can make a big difference in speed, but this build works really fine on it.

That is the first time I can really have a decent Wifi speed with a OpenWrt FW (read: no huge speed loss versus the manufacturer firmware, it is perhaps even better now)

Thanks a lot for this great build !

1 Like

For sure. Please send the code on GitHub. I'll start with your target and progressively add more.

New problem. I have version 3.0.0 of the firmware running on my Linksys MR9000 router. I have been running in in a test environment for a couple of days and thought everything was working well, so I went live with it. Now I am noticing that a couple of devices are not connecting properly to the router. Some of them are Teckin S10 Smart Plugs. (IOT devices for turning things on and off.) They operate at 2.4Ghz and must connect that way for them to work. This is what I am seeing in the system logs:

Sat Nov  6 21:34:42 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:42 2021 daemon.info hostapd: wlan1: STA 68:57:2d:8b:af:60 IEEE 802.11: authenticated
Sat Nov  6 21:34:42 2021 daemon.info hostapd: wlan1: STA 68:57:2d:8b:af:60 IEEE 802.11: associated (aid 1)
Sat Nov  6 21:34:42 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH 68:57:2d:8b:af:60
Sat Nov  6 21:34:43 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:43 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH 68:57:2d:8b:af:60
Sat Nov  6 21:34:44 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:44 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH 68:57:2d:8b:af:60
Sat Nov  6 21:34:45 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH 68:57:2d:8b:af:60
Sat Nov  6 21:34:46 2021 daemon.info hostapd: wlan1: STA c8:2e:47:5f:f1:b0 IEEE 802.11: authenticated
Sat Nov  6 21:34:46 2021 daemon.info hostapd: wlan1: STA c8:2e:47:5f:f1:b0 IEEE 802.11: associated (aid 10)
Sat Nov  6 21:34:46 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:47 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:48 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:49 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:51 2021 daemon.info hostapd: wlan1: STA c8:2e:47:5f:f1:b0 IEEE 802.11: authenticated
Sat Nov  6 21:34:51 2021 daemon.info hostapd: wlan1: STA c8:2e:47:5f:f1:b0 IEEE 802.11: associated (aid 10)
Sat Nov  6 21:34:51 2021 daemon.notice hostapd: wlan1: AP-STA-POSSIBLE-PSK-MISMATCH c8:2e:47:5f:f1:b0
Sat Nov  6 21:34:51 2021 daemon.info hostapd: wlan1: STA 68:57:2d:8b:af:60 IEEE 802.11: deauthenticated due to local deauth request

These statements just keep repeating as the device attempts to connect. This is how my wireless looks. I'm not sure what the deal is with Radio0 but maybe it has something to do with it.

The 4th entry is configured like this. I am assuming that is what I need to support the legacy device, but it doesn't seem to work.

This is all relatively new to me. Hopefully, someone can point me in the right direction to get these devices connected.

Mike

Try to switch to WPA2 for the encryption. I had to do that because several of my devices had the same issue.

I gave 3.0 a try last night on my linksys ea6350v3 and was quite impressed with the VLAN fixes and the UI, in general. However, I found that after a couple of reboots (from reconfiguring/applying changes) that the router resets completely and I lose my config. Any suggestions on a fix?

1 Like

I cant create a pull request across your fork openwrt-custom only to your openwrt fork that is not read only, i believe you have todo it from your end.

I think it is cause you created a fork then clone it locally and pushed it back under a new name.

github does not allow you to create multiple forks under the same repo.

@hipyskipy
Did you note how many reboots are needed to cause the problem? Because if it's 3, then I probably know why. Also, do you have OpenWrt on both partitions?


@professor_jonny
I understand. Well, a fork is a GitHub thing. Technically you can have a tracking repo that effectively works the same but GitHub can't know that is a fork. Please send me your repo's URI and I'll check out. Or a diff from the fork point, that would work as well.

1 Like