内容简介:fl2440制作无线路由器
- 20170510 初次成文
移植libnl
libnl
需要前置依赖 openssl
库, openssl
移植过程在上篇文章有介绍
wget https://coding.net/u/sfantree/p/self_use_OSS/git/raw/master/source/libnl-1.1.tar.gz tar zxvf libnl-1.1.tar.gz cd libnl-1.1 ./configure --prefix=`pwd`/_install CC= /opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc --host=arm-linux make CC=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux-gcc make install
接下来把 install
里面的 libnl.so
, libnl.so.1
, libnl.so.1.1
移动到开发板的 /lib
下
移植hostapd
编译
tar zxvf hostapd-0.8-snapshot.tar.gz cd hostapd-0.8-snapshot/cd hostapd/ cp defconfig .config
修改 .config
,注并添加相应字段
#CONFIG_DRIVER_HOSTAP=y CONFIG_DRIVER_NL80211=y
修改 Makefile
,追加以下字段
CROSS=/opt/buildroot-2012.08/arm920t/usr/bin/arm-linux- OPENSSL_PATH=/root/fl2440/3rdapp/openssl/openssl-1.0.0s/_install/ LIBNL_PATH=/root/fl2440/3rdapp/wifi/libnl-1.1/_install CC=$(CROSS)gcc CFLAGS += -I $(OPENSSL_PATH)/include CFLAGS += -I $(LIBNL_PATH)/include LIBS += -L $(LIBNL_PATH)/lib LIBS += -L $(OPENSSL_PATH)/lib LDFLAGS += -L $(LIBNL_PATH)/lib LDFLAGS += -L $(OPENSSL_PATH)/lib
make
过后会在 hostapd-1.0/hostapd
生成可执行文件 hostapd
,使用 readelf
查看 hostapd
前置依赖,前置依赖有 openssl
和 libnl
,将 hostapd
复制到开发板 /usr/bin
> arm-linux-readelf -d ./hostapd Dynamic section at offset 0x8700c contains 24 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [libnl.so.1] 0x00000001 (NEEDED) Shared library: [libssl.so.1.0.0] 0x00000001 (NEEDED) Shared library: [libcrypto.so.1.0.0] 0x00000001 (NEEDED) Shared library: [libc.so.0]
配置
开发板上新建 /etc/hostapd.conf
#开启AP的网卡 interface=wlan0 ssid=FL2440 #所需驱动 driver=nl80211 #频段 中国大陆1-13可选 channel=1 #802.11g 最大速率54Mbps hw_mode=g ignore_broadcast_ssid=0 wpa=1 auth_algs=1 # 启用加密 密码12345678 wpa_key_mgmt=WPA-PSK wpa_passphrase=12345678 wpa_pairwise=TKIP rsn_pairwise=CCMP
启动
解决随机数问题
mv /dev/random /dev/random.bak ln -s /dev/urandom /dev/random
守护进程启动
/usr/bin/hostapd -B /etc/hostapd.conf
成功开启热点会打印如下信息
> /usr/bin/hostapd -B /etc/hostapd.conf Configuration file: /etc/hostapd.conf Using interface wlan0 with hwaddr 00:a1:b0:40:6f:72 and ssid 'FL2440'
电脑手机都可以接收到 AP
信号,这时还没有给电脑的无线网卡分配 IP
,因此提示无网络访问权限
DHCP
为了使手机电脑连接上自动获取 IP
,需要启动 DHCP
服务器, busybox
已经集成了 udhcpd
示例配置文件在 examples/udhcp/udhcpd.conf
,我们在开发板上创建一个 /etc/udhcpd.conf
start 10.0.188.100 end 10.0.188.200 interface wlan0 opt dns 114.114.114.114 option subnet 255.255.255.0 opt router 10.0.188.1
启动
mkdir -p /var/lib/misc/ touch /var/lib/misc/udhcpd.leases udhcpd /etc/udhcpd.conf
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 饱受折磨的家用路由器 | 在研究的127个家用路由器中,没有一个路由器幸免
- 华为路由器BGP邻居详解
- 路由器里的广告秘密
- 自己动手DIY:编译路由器固件
- 小米路由器 3G 刷机及固件
- 通过 Selenium 登录路由器管理界面
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。