前段时间入手了FAST FWR162C,淘宝上找高手硬改了8M flash和64M DDR内存,自己回来折腾固件。在编译固件过程中,每次编译完登陆web管理,点击system都会报错,具体信息如下:

/usr/lib/lua/luci/dispatcher.lua:448: Failed to execute cbi dispatcher target for entry ‘/admin/system/admin’.

The called action terminated with an exception:

/usr/lib/lua/luci/cbi.lua:334: Unable to read UCI data: system

stack traceback:

    [C]: in function ‘assert’

    /usr/lib/lua/luci/dispatcher.lua:448: in function ‘dispatch’

    /usr/lib/lua/luci/dispatcher.lua:195: in function </usr/lib/lua/luci/dispatcher.lua:194>

网上查了半天,相关的资料内容很少,只有部分外国论坛上网友硕士luci的bug。仔细回想了一下,发现在修改openwrt部分个性化内容可能出错。我在编译前设定了openwrt的hostname为FAST FWR162C,但每次编译完刷固件,在web界面看到的确实FAST,没有后面的空格和FWR162C,于是猜想luci出问题是hostname中的空格作怪。telnet进入(luci出错无法设置初试密码,只能telnet进入)修改了/etc/config/system 中hostname为FAST_FWR162C。再进入web管理界面,问题解决。于是赶紧修改hostname之后重新编译一遍,形成最终版的固件。