In my experience, neither opkg’s command line interface, nor Luci’s web interface will allow you perform all available upgrades, all in one go.
They make you do each one, one at a time. Maybe for safety reasons?
If you accept the risks involved and want to save some time like I did, make yourself a script:
#!/bin/sh
opkg update
upgradables=$(opkg list-upgradable | awk '{print $1}') || exit 0
[ -z "$upgradables" ] && echo "No packages to upgrade." && exit 0
echo "Upgrade: $upgradables"; read -p "Enter y/n: " r
[ "$r" = "y" ] && opkg upgrade $upgradables
This is genuinely quite useful, and it also is a very good bash scripting example that I wanted to share.
Save it, chmod +x, rock and roll.
Probably should keep a copy on your workstation too, because unless you put it somewhere on the router that’ll survive reboots it may get lost during one.