上网方式:/etc/config/network的proto字段(static,dhcp,pppoe等),一种上网方式对应着一个进程----->ps后若发现无此进程则说明有问题。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
IE浏览器核心(是一个多脚本语言和html语言的虚拟机):html语言、jsp及php脚本的虚拟机,html、jsp、php可直接在IE中得到执行。
1.uhttpd服务器:uhttpd.conf文件中可配置网页文件的目录(如/www目录)
2.IE浏览器中输入ip地址192.68.1.20后浏览器会发送如下报文到uhttpd服务器:
GET /index.html HTTP/1.1
Host: 127.0.0.1:8848
User-Agent: Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.8.0.1) Gecko/20060313 Fedora/1.5.0.1-9 Firefox/1.5.0.1 pango-text
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: xxxx,xxxxxxx
Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
3.uhttpd服务器监听某个端口,收到上述报文后解析url并获取是file请求还是cgi请求:
------>/index.html是file请求故直接将index.html文件回复给IE浏览器---->经过content延时后浏览器再次发送URL为URL=/cgi-bin/luci的报文
/www/index.html:
4.uhttpd服务器解析报文的url,获知该请求为cgi请求(让第三方cgi程序处理的请求),便会执行www/cig-bin/luci程序(所请求资源的路径为“/”)
----->该程序将处理所请求资源的路径“/”----->在dispatcher.lua中定义了所请求资源的路径(如openwrt默认为/xx/sysauth.html),其中xx在feeds/luci
/modules/admin_full/luasrc/controller/index.lua中如下定义
function index()
local root = node()
if not root.target then
root.target = alias("web")
root.index = true
end
local page = node("web")//创建web节点
page.target = firstchild()//将web节点设置为第一个节点,在dispatch.lua中指定第一个页面为sysauth.htm(luci.template.render("web/sysauth", {duser=default, fuser=user}))
page.title = _("")
page.order = 10
page.sysauth = "admin"//登录默认用户名为admin
page.mediaurlbase = "/xxx/web"//图片及脚本所在目录
mtk7620无线方案:rootfs/lib/wifi/rt2860v2.sh脚本中的各函数读取rootfs/etc/Wireless/RT2860/RT2860.dat中的无线配置参数(SSID,信道加密方式等)。
其中
rt2860v2.sh和RT2860.dat都是原厂SDK提供用于配置wifi的。
reltek8192u方案:加载8192u.ko后,安装hostapd(/bin目录下的hostapd和hostapd_cli)----->ifconfig wlan0 up ifconfig wlan0 192.168.1.2----->
./hostapd rtl_hostapd.conf -B即可出现wifi信号(即进入ap模式),其中
rtl_hostapd.conf为原厂提供的已配置好的hostapd的配置文件。
在openwrt下自带hostapd,其配置文件使用openwrt的/etc/config/wireless(
该配置文件package\kernel\mac80211\files\lib\mac80211.sh自动生成,若没生成则因该package未安装,翻看本package的makefile知需在menuconfig/kernel modules/wireless drivers中选中kmod-mac802.11)
-------->
编译后的8192u.ko放在/lib/modules/3.3.8下无法自动加载,需在/etc/module.d中新建文件,文件内容为驱动模块名称(8192u)/etc/modules-boot.d中的所有文件为部分指向/etc/module.d中的软连接。
阅读(971) | 评论(0) | 转发(0) |