OPKG Update Error

...here's a frustrating one;

The Error

root@OpenWrt:~# opkg update
Downloading https://downloads.openwrt.org/releases/21.02.0/targets/mvebu/cortexa9/packages/Packages.gz
*** Failed to download the package list from https://downloads.openwrt.org/releases/21.02.0/targets/mvebu/cortexa9/packages/Packages.gz

Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz
*** Failed to download the package list from https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz

Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz
*** Failed to download the package list from https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz

Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz
*** Failed to download the package list from https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz

Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz
*** Failed to download the package list from https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz

Downloading https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz
*** Failed to download the package list from https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz

Collected errors:
 * opkg_download: Failed to download https://downloads.openwrt.org/releases/21.02.0/targets/mvebu/cortexa9/packages/Packages.gz, wget returned 5.
 * opkg_download: Failed to download https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/base/Packages.gz, wget returned 5.
 * opkg_download: Failed to download https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/luci/Packages.gz, wget returned 5.
 * opkg_download: Failed to download https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/packages/Packages.gz, wget returned 5.
 * opkg_download: Failed to download https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/routing/Packages.gz, wget returned 5.
 * opkg_download: Failed to download https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/telephony/Packages.gz, wget returned 5.

The Issue (AKA Problem)

What now? Well, the issue isn't with OPKG, it's with WGET (see the error at the end of the last couple of lines). Specifically the version of WGET built into BusyBox is the issue. Some mention that it might be a password issue, time issue, being behind a firewall issue, etc. The problem noted here deals with the WGET issue.

The Solution

Download these five items (this article is about the Linksys WRT AC Series of routers, so the proper packages are noted here, if your SoC / CPU architecture is different, download the appropriately compiled packages, start here: https://downloads.openwrt.org/releases/21.02.0/packages/ (21.02.0 is the current version as of the writing of this article)) from here: https://downloads.openwrt.org/releases/21.02.0/packages/arm_cortex-a9_vfpv3-d16/packages/with a web browser or another router with OpenWRT (opkg download WhatEverPackageName)

  • wget (under packages)
  • zlib (under base)
  • librt
  • libopenssl
  • libpcre

Now the trick is getting them on the router that needs the "fix". Below are some suggestions;

  • A USB Flash Drive. This can be an issue if one has a USB Flash Drive already plugged in and using the OpenWRT /overlay functionality. But wait, remember, that eSATA port also facilitates USB 2.0. Both of these solutions requires that the proper drivers be loaded to recognize a USB Flash drive. That's a whole new issue not addressed here.
  • WGET via an HTTP (not HTTPS) website. If one has an available web server, all of the packages can be downloaded to the web server (in a myriad of ways) and then accessed from the problematic router
  • SCP. This requires a server that responds to SSH / Secure Shell. Another issue not addressed here if it isn't available.
  • FTP, SAMBA, etc. Again, this requires some sort of server (HTTP, HTTPS, FTP, Windows File Sharing, etc.) to download the files from. Plus it also requires the proper software on the router in question to allow it to access those servers.
  • Floppy Disk with files on it. Well, if you've got a USB Floppy disk drive, it might work with OpenWRT out of the box. That solution wasn't tested.