fl2440制作无线路由器

栏目: 服务器 · 发布时间: 7年前

内容简介: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.solibnl.so.1libnl.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 前置依赖,前置依赖有 openssllibnl ,将 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 ,因此提示无网络访问权限

fl2440制作无线路由器

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Perl语言编程

Perl语言编程

[美] Larry Wall、Tom Christiansen、Jon Orwant / 何伟平 / 中国电力出版社 / 2001-12 / 129.00元

这不仅仅是一本关于Perl的书籍,更是一本独一无二的开发者自己介绍该语言及其文化的书籍。Larry Wall是Perl的开发者,他就这种语言的未来发展方向提出了自己的看法。Tom Christiansen是最早的几个拥护者之一,也是少数几个在错综复杂的中游刃有余的人之一。Jon Orwant是《Perl Journal》的主编,该杂志把Perl社区组合成了一个共同的论坛,以进行Perl新的开发。一起来看看 《Perl语言编程》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具