USB150 upgrade problem and solution

I just received my new GL-USB150. I am very impressed with it! Unfortunately though, I quickly encountered a problem upon upgrading it.

The web ui said I was running 2.something (i think 2.25?) and said that version 3.0 was available. I naturally clicked upgrade! After the upgrade, the webserver never came back online.

Fortunately the nice people at GL-iNet allow users root access via SSH! After some investigation, i determined that lighttpd was unable to start. Starting it with the -D option showed this error:

root@GL-USB150:~# /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf -D
2018-01-27 12:53:46: (log.c.194) server started
2018-01-27 12:53:46: (mod_fastcgi.c.1102) the fastcgi-backend /www/cgi-bin/download_file failed to start:
2018-01-27 12:53:46: (mod_fastcgi.c.1106) child exited with status 2 /www/cgi-bin/download_file
2018-01-27 12:53:46: (mod_fastcgi.c.1109) If you’re trying to run your app as a FastCGI backend, make sure you’re using the FastCGI-enabled version.\nIf this is PHP on Gentoo, add ‘fastcgi’ to the USE flags.
2018-01-27 12:53:46: (mod_fastcgi.c.1396) [ERROR]: spawning fcgi failed.
2018-01-27 12:53:46: (server.c.1025) Configuration of plugins failed. Going down.

Further investigation revealed that the the overlay filesystem from before the upgrade contained an old version of the config file, so the 3.0 upgrade’s version in /rom was being masked:

— overlay/upper/etc/lighttpd/lighttpd.conf 2017-06-06 03:16:48.000000000 +0000
+++ rom/etc/lighttpd/lighttpd.conf 2017-07-07 11:42:25.000000000 +0000
@@ -1,5 +1,5 @@

version must be the same as /etc/glconfig

-# version=2.25
+# version=3.0
server.modules = (

@@ -29,26 +29,6 @@

server.upload-dirs = ( “/tmp” )

-fastcgi.server = (

  • “/cgi-bin/download_file” => (
  • “download_file.handler” => (
  • “socket” => “download_file.socket”,
  • “check-local” => “disable”,
  • “bin-path” => “/www/cgi-bin/download_file”,
  • “max-procs” => 1,
  • “allow-x-send-file” => “enable”
  • )
  • ),
    -# “/html” => (
    -# “html.handler” => (
    -# “socket” => “/tmp/html.socket”,
    -# “check-local” => “disable”,
    -# “bin-path” => “/www/html”,
    -# “max-procs” => 1,
    -# “allow-x-send-file” => “enable”
    -# )
    -# )

CGI module

#cgi.assign = ( “.pl” => “/usr/bin/perl”, “.cgi” => “/usr/bin/perl” )
$HTTP[“url”] =~ “^/cgi-bin/” {

The solution then, which worked for me and hopefully will be helpful to others who upgrade their GL-USB150 to version 3.0 and find that they cannot access its web interface, is to ssh to the device (ssh root@ using the password set before the upgrade, and then run this command:
cp /rom/etc/lighttpd/lighttpd.conf /etc/lighttpd/

Then you can start the webserver with /etc/init.d/lighttpd restart (or just restart the device and it will come up).

Thanks to GL-iNet for making this awesome device!

ps: Although I am quite impressed by the stock firmware, I expect I’ll probably switch to running LEDE on it soon enough, if for no other reason because I think they have a 4.4 kernel instead of the 3.18.27 kernel GL-iNet is shipping :slight_smile:

the stock firmware should be 3.0

I will check this. This should not happen.

I actually made a backup of the 6 mtdblock devices before I applied the 3.0 upgrade. I’d be happy to send that to you somehow if you’re interested in figuring out what was on it when I bought it.

I have checked with production team and I know the problem now.

I just received my gl-usb150 and I enjoyed a lot but unfortunately I made the update to version 3. On the firmware are there is not my old firmware 2.26. There is a way to get this version?
Also what I would like to have available all the VPN servers directly from the GL-INET interface also in the same location should be the great feature that it is implemented in 6416 SSH Proxy. I really bought this router for SSH proxy to protect my data connection.
Until this feature, SSH Proxy will be integrated in the firmware there is a way to install the package? Thank you in advance.


Here is a print screen of the feature that I talked in above post

There is few people use the ssh proxy tunnel so we removed it. Also it was not possible to use password than using ssh key.

Why you want to go back to 2.26?

1 Like

Yes, I wan the old version, for me it seems more stabile. I want to test more the old version because I made the software update after 2 days.

Regarding the SSH tunel,even then there are a few people who are using this feature it should be nice to have the possibility to install this function as installable package administrated in LuCi.

Yes. Unfortunately it doesn’t have a luci interface.

It has.
or try

I mean ssh proxy doesn’t have luci interface.

I own a GL-300m . It also does not have sshtunnel interface.
It would be great to have this so i could direct all my computer traffic to my ssh server at home.

Please consider to re insert it in to firmware with password option.

Thank you.