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

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

查看所有标签

猜你喜欢:

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

深入理解计算机系统

深入理解计算机系统

Randal E.Bryant、David O'Hallaron / 龚奕利、雷迎春 / 中国电力出版社 / 2004-5-1 / 85.00元

从程序员的视角,看计算机系统! 本书适用于那些想要写出更快、更可靠程序的程序员。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有......一起来看看 《深入理解计算机系统》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具