Custom image no router page

I've just uploaded OpenWrt image at my router that i built.

console is working, but somehow i cannot access to LuCi Page.

OpenWrt's default GW address is, so i typed that and still i cannot.
i thought that's wrong so i typed uci show network and got following results at my console.

root@OpenWrt:/# uci show network
network.@switch_vlan[0].ports='1 2 3 4 6t'
network.@switch_vlan[1].ports='0 6t'

Yes, is correct.

So i check my ip address at my PC, using ipconfig command.
DHCP, is my address.

Still, i cannot access to the page, so i manually set my ip address to

still no.

it always shows ERR_CONNECTION_REFUSED message at my browser.

Here's something strange.
but when i use the image from the OpenWrt page for this router, i can access it.
i didn't changed anything at my OpenWrt SDK. just set HW(uses 7620, etc)

i have no idea what's wrong.

Can somebody help?

what image was installed, on which device ?


Both images are OpenWrt 23.05, at Zyxel Keenetic Onmi II

When you built an image did you add Luci?

just 30 minutes before i uploaded this thing.
and yes, i added Luci

Googling this error, looks like a typical situation where this happens is after doing sysupgrade while preserving the settings. If that's the case here then your way forward is either

a) solve the issue with your current installation - check out this post btw


b) flash again without keeping the settings

When using your built image what's the output of the following commands:

opkg list luci*
opkg list uhttpd*
cat /etc/config/uhttpd

Here it is.

root@OpenWrt:/# opkg list luci*
root@OpenWrt:/# opkg list uhttpd*
uhttpd - 2023-06-25-34a8a74d-1
uhttpd-mod-lua - 2023-06-25-34a8a74d-1
root@OpenWrt:/# cat /etc/config/uhttpd
# Server configuration
config uhttpd main

        # HTTP listen addresses, multiple allowed
        list listen_http
        list listen_http        [::]:80

        # HTTPS listen addresses, multiple allowed
        list listen_https
        list listen_https       [::]:443

        # Redirect HTTP requests to HTTPS if possible
        option redirect_https   0

        # Server document root
        option home             /www

        # Reject requests from RFC1918 IP addresses
        # directed to the servers public IP(s).
        # This is a DNS rebinding countermeasure.
        option rfc1918_filter 1

        # Maximum number of concurrent requests.
        # If this number is exceeded, further requests are
        # queued until the number of running requests drops
        # below the limit again.
        option max_requests 3

        # Maximum number of concurrent connections.
        # If this number is exceeded, further TCP connection
        # attempts are queued until the number of active
        # connections drops below the limit again.
        option max_connections 100

        # Certificate and private key for HTTPS.
        # If no listen_https addresses are given,
        # the key options are ignored.
        option cert             /etc/uhttpd.crt
        option key              /etc/uhttpd.key

        # CGI url prefix, will be searched in docroot.
        # Default is /cgi-bin
        option cgi_prefix       /cgi-bin

        # List of extension->interpreter mappings.
        # Files with an associated interpreter can
        # be called outside of the CGI prefix and do
        # not need to be executable.
#       list interpreter        ".php=/usr/bin/php-cgi"
#       list interpreter        ".cgi=/usr/bin/perl"

        # List of prefix->Lua handler mappings.
        # Any request to an URL beneath the prefix
        # will be dispatched to the associated Lua
        # handler script. Lua support is disabled when
        # no handler mappings are specified. Lua prefix
        # matches have precedence over the CGI prefix.
        list lua_prefix         "/cgi-bin/luci=/usr/lib/lua/luci/sgi/uhttpd.lua"

        # List of prefix->ucode handler mappings.
        # Any request to an URL beneath the prefix
        # will be dispatched to the associated ucode
        # handler script. Ucode support is disabled when
        # no handler mappings are specified. Ucode prefix
        # matches have precedence over the CGI prefix.
#       list ucode_prefix               "/ucode/example=/usr/share/example.uc"

        # Specify the ubus-rpc prefix and socket path.
#       option ubus_prefix      /ubus
#       option ubus_socket      /var/run/ubus/ubus.sock

        # CGI/Lua timeout, if the called script does not
        # write data within the given amount of seconds,
        # the server will terminate the request with
        # 504 Gateway Timeout response.
        option script_timeout   60

        # Network timeout, if the current connection is
        # blocked for the specified amount of seconds,
        # the server will terminate the associated
        # request process.
        option network_timeout  30

        # HTTP Keep-Alive, specifies the timeout for persistent
        # HTTP/1.1 connections. Setting this to 0 will disable
        # persistent HTTP connections.
        option http_keepalive   20

        # TCP Keep-Alive, send periodic keep-alive probes
        # over established connections to detect dead peers.
        # The value is given in seconds to specify the
        # interval between subsequent probes.
        # Setting this to 0 will disable TCP keep-alive.
        option tcp_keepalive    1

        # Basic auth realm, defaults to local hostname
#       option realm    OpenWrt

        # Configuration file in busybox httpd format
#       option config   /etc/httpd.conf

        # Do not follow symlinks that point outside of the
        # home directory.
#       option no_symlinks      0

        # Do not produce directory listings but send 403
        # instead if a client requests an url pointing to
        # a directory without any index file.
#       option no_dirlists      0

        # Do not authenticate any ubus-rpc requests against
        # the ubus session/access procedure.
        # This is dangerous and should be always left off
        # except for development and debug purposes!
#       option no_ubusauth      0

        # For this instance of uhttpd use the listed httpauth
        # sections to require Basic auth to the specified
        # resources.
#       list httpauth prefix_user

# Defaults for automatic certificate and key generation
config cert defaults

        # Validity time
        option days             730

        # key type: rsa or ec
        option key_type         ec

        # RSA key size
        option bits             2048

        # EC curve name
        # Curve names vary between px5g-{wolfssl,mbedtls} and openssl
        # P-256 or P-384 are guaranteed to work
        option ec_curve         P-256

        # Location
        option country          ZZ
        option state            Somewhere
        option location         Unknown

        # Common name
        option commonname       'OpenWrt'

# config httpauth prefix_user
#       option prefix /protected/url/path
#       option username user
#       option password 'plaintext_or_md5_or_$p$user_for_system_user'

Stange that why i can't see nothing except for that uhttpd
there's definitely something i missed, but i'm not sure where i missed it

this command produces no results on my router as well, despite having a working luci and lots of packages installed. not sure what's the correct way to query opkg but this is guaranteed to work:
opkg list | grep ^luci

Guys, sorry. I'll make it clear.

that connection refusing error, that does not have uhttpd.
Now, i have it and it's just showing like

modified: Thu, 01 Jan 1970 00:00:11 GMT
directory - 0.00 kbyte

sorry for confusion

root@OpenWrt:/# opkg list | grep ^luci

not at all. so i guess i did something wrong at make menuconfig
still have no idea what's wrong at there

definitely sounds like the image was not configured correctly. Unfortunately, i can't direct you here as it's been a few years since i last built a custom image for openwrt.

Ok, i was stupid.

There were no LuCI at all at my SDK.
i've compared it with my other SDK which has LuCI.

At feeds.conf.default file,
src-git luci should not be commented,

./scripts/feeds update -a
./scripts/feeds install -a

Then LuCI appears and i checked it.

i was just confused.


great, but you might want to chage the thread's topic, since the issue wasn't the access.


This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.