Hostapd初始化失败

Hostapd

hostapd 是一个用户态用于AP和认证服务器的守护进程。它实现了IEEE 802.11相关的接入管理,IEEE 802.1X/WPA/WPA2/EAP 认证, RADIUS客户端,EAP服务器和RADIUS 认证服务器。

  1. hostapd配置文件

interface=ath16

bridge=br0

logger_syslog=-1

logger_syslog_level=2

logger_stdout=-1

logger_stdout_level=2

ctrl_interface=/var/run/hostapd

ctrl_interface_group=0

ssid=dlink

dtim_period=2

max_num_sta=255

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wme_enabled=0

ieee8021x=0

eapol_version=2

eapol_key_index_workaround=0

wpa=3

wpa_group_rekey=3600

wpa_pairwise=TKIP CCMP

wpa_key_mgmt=WPA-PSK

wpa_passphrase=12345678//

wpa_strict_rekey=0

其中需要注意的配置选项:当密码的长度小于64的时候,使用wpa_passphrase关键字,当密码的长度为64的时候,使用wpa_psk关键字。

Wpa_supplicant的配置文件:

ap_scan=1

network={

ssid="dlink"

scan_ssid=1

key_mgmt=WPA-PSK

psk="12345678"

proto=WPA RSN

pairwise=CCMP TKIP

group=CCMP TKIP

}

其中需要注意的配置选项:当密码的长度小于64的时候,使用psk=”123456”,当密码长度为64的时候,使用psk=………………………….(64位);

  2.hostapd使用时出错

在项目中出现过station连接AP连接不上,有时候稍微等久一点时间,station又能够连接上去了,最后发现问题在hostapd初始化的时候,函数:

int random_pool_ready(void)初始化hostapd的熵,初始化熵的时候,这个熵值是从/dev/random文件中读取出来的,从打印的信息中发现了错误:

"WPA: Not enough entropy in random pool "

"for secure operations - update keys later when "

"the first station connects");

熵:其实就是一串随机值。在hostapd中熵的值来源于/dev/random,系统打印出上面的错误,意思就是/dev/random里面读取的随机值不够hostapd所需要的。Hostapd中只需要从/dev/random里面读取20个字节就可以了,但是为什么会不够呢?这里需要说说/dev/random与/dev/urandom的区别。

random设备的random pool是从基于中断的IRQS里面取值,IRQS跟一些特殊的硬件绑定,基于这些硬件的interrupts将会提供给random设备。

/dev/urandom不受interrupts的限制,即使没有足够的interrupt它也能通过 random number generator产生足够的输出值。

说了两者的区别以后就会发现一个很明显的问题,就是random里面的值产生速度很慢,在hostapd起来的时候没有足够的值来做为熵的来源,而urandom产生的随机值就非常的快,没有什么限制,唯一区别:urandom比random更快速生成随机数,但是随机数的随机性稍微差一些,有些可能相同。

最后通过补全的方式来解决这个问题,先从random里面读取数据,如果发现不够,再从urandom里面读取。

Hostapd初始化失败,布布扣,bubuko.com

时间: 2024-08-05 21:32:26

Hostapd初始化失败的相关文章

一个WAS“初始化失败”的处置经验

昨晚9时许,收到项目现场的同事电话,说一个正在运行的WAS因为日志及DUMP文件过大造成磁盘空间不足,宕机了.在处理过程中删除了超大的DUMP文件,但是无法启动was了,没有任何有效的日志输出,was就停留在了"服务器已启动,但是初始化失败"的画面上. 最初怀疑是运行环境发生了变化,我反复让同事确认JDK版本,hosts文件以及was目录的属主信息.但始终未发现任何异常或者有价值的信息. 后来,让同事 将"/was61/IBM/WebSphere/AppServer/prof

Android ADT初始化失败

在android的官网上买下载android的adt完了,进行解压之后,开始点击 eclipse.exe,果然给了我一个惊喜,那就是 [ Failed to create the Java Virtual Machine. ],看到这个消息之后进行了 网上的查询,发现错误的根源是eclipse.ini这个文件的配置有问题,这个文件 在我下载下来之后没有动过,难道是JDK,我发现自己的机器上已经安装了JDK的 1.6.0_33觉得应该也不是,打开CMD敲入[java -version].[java

Android Studio调用百度地图为何总是初始化失败?

============问题描述============ Android Studio调用百度地图为何总是初始化失败? 只要一调用,就黑屏,然后程序自动关闭?请问是什么原因,libs我也加.jar文件了 ============解决方案1============ 怎么加?只是加个包?没写其他了? ============解决方案2============ 布局写了么.. ============解决方案3============ 运行在真机?还是模拟器? ============解决方案4===

[zz]VC2005-应用程序正常初始化失败-0xc0150002

最近几天被这个问题困惑了许久. 不禁感叹微软的东东真是越做越烂了,也终于明白了时隔12年大家仍然死守VC6的原因.. 用VC2005编译的程序,编译时没有任何错误,但是运行时就是提示"应用程序正常初始化失败"!! 查找了各方面资料,做了各种尝试,网上说什么的都有:有让安装vc2005 sp1补丁的:有让安装vcredist_x86.exe的; 有让把CRT库的dll直接拷贝到程序目录的; 有让清理注册表的;有让装.NetFramework新版本的;有让查manifest的; 结果我尝试

通达OA-今日学习 精灵报错提示初始化失败

群里有人碰到这样的问题,就是打开精灵就出现报错:应用程序正常初始化失败.出现了无法正常应用的情况. 群友回复方法为,安装以下两个文件:

iis7.5应用程序池模板永久性缓存初始化失败解决方法

错误: 针对应用程序池的模板永久性缓存初始化失败,这是由以下错误导致的: 无法为应用程序池创建磁盘缓存子目录.数据可能包含其他错误代码. 解决办法如下: 网上搜索的答案全都是修改3个目录的权限,给IIS_WPG组,但在Win2008下面压根就找不到这3个目录,更没有IIS_WPG这个用户组,因此此方法仅限2003操作系统使用,后经各种探索最终解决,但这样设置的安全性并未经过考验,欢迎知情人士指点. Win2008中解决此问题的方法依然是3个目录的权限: C:\inetpub\temp\appPo

针对应用程序池“xxxxxx”的模板永久性缓存初始化失败,解决方法

日志名称:          Application 来源:            Active Server Pages 日期:            2014-11-22 9:09:39 事件 ID:         5 任务 类别:          无 级别:            错误 关键字:           经典 用户:            暂缺 计算机:           WIN-LI7412B42323 描述: 错误: 针对应用程序池“xxxxxx”的模板永久性缓存初始

Visual Studio Xamarin提示Bonjour backend初始化失败

Visual Studio Xamarin提示Bonjour backend初始化失败 错误信息:The Bonjour backend failed to initialize, automatic Mac Build server discovery will not be available.这是由于Windows下的Bonjour服务没有开启,需要到服务管理中,开启该服务,即可.

MvcPager2.0 中分页初始化失败的问题

页面初始化时只有一页数据,或没数据时,出现分页控件初始化失败以及后续Ajax分页功能失效的问题, <div class="pagin"> <div class="message"> @{int totalItemCount = Model == null ? 20 : Model.TotalItemCount;} @{int currentPageIndex = Model == null ? 2 : Model.CurrentPageInd