我有分寸

整了个 hostapd 搭的 AP

gnawux b43bcm4318hostapdipw2100linuxmac80211nl80211ubuntuwifi拆机

唉,现在居民楼里无线环境太复杂,缺乏规划,干扰源太多,在一个屋子里的低干扰频点到别的屋子里可能就状况很差了,即使在不到70平米的家里都是如此,只好找来老笔记本,用 hostapd 搭了一个 AP,弥补覆盖的不足……

本来没想写的,不过还是记记吧,省得荒废了 blog,其实内容不值一提,都是很简单的设置,网上资料很多,这里就是日记一下哈,不算教程。

先是找来了弃之不用很久的老笔记本——04年的华硕 M2Ne,一代迅驰平台配二代迅驰的CPU(Dophin内核),这个不知道还有多少同学对它有印象啊,呵呵

gnawux@case:~$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 13
model name  : Intel(R) Pentium(R) M processor 1.50GHz
stepping    : 6
microcode   : 0x17
cpu MHz     : 600.000
cache size  : 2048 KB
fdiv_bug    : no
hlt_bug     : no
f00f_bug    : no
coma_bug    : no
fpu     : yes
fpu_exception   : yes
cpuid level : 2
wp      : yes
flags       : fpu vme de pse tsc msr mce cx8 apic mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe up bts est tm2
bogomips    : 1199.98
clflush size    : 64
cache_alignment : 64
address sizes   : 32 bits physical, 32 bits virtual
power management:

嗯,拿来之后看了看手头的东西,装了个 Ubuntu 12.04,本来想装 Debian Sid 的,没想到 Unetbootin 做的 Debian USB 启动盘,居然没 boot,Ubuntu 倒是 boot 了,当然,不是同一个 U 盘,不知道是盘的事还是镜像的事,嗯,无所谓了。装起来之后,果断起不来 hostapd,果不出我所料,Intel IPW2100 网卡是进不了 AP mode 的,3945 以后的使用 mac80211 的才可以。

嗯,这里插一句,我凭印象说了,不一定对啊。大约在早几年,那会我还没毕业,天天折腾 Linux,知道最早的 ipw 无线网卡的 mac 层驱动是 softmac,后来移植到的 mac80211,这倒不是说后者是 hardmac 哈,实际上都是软件实现 MAC 层,嗯,这是网络第二层的一个子层,不是水果家的东西哈。softmac 写得比较乱,而 mac80211 是一次重构,而且更彻底的把控制挪到软件层来做了,对AP模式之类的模式也支持的更好。

嗯,大概就是上面的意思,不是很准确,不要拿去引用就好。还好哥翻箱倒柜找到了一块当年二手收的 BCM4318 (bg 双模的,比 ipw2100 强),嗯,当年收来给 linux 玩没问题,不过这个本后来给老婆装 windows 了,居然 windows 一起来只认 intel 的无线网卡,只好换回去,我这次找到这块 BCM4318 的时候,在一个破箱子里,用破纸包着……唉,苦了你苦守寒窑这么多年啊,终于又要发挥余热了。

BCM43xx 无线网卡目前的驱动模块是 b43,需要 broadcom 家的 firmware,可以用这两个包,自动安装:

ii  b43-fwcutter                     1:015-9                                  Utility for extracting Broadcom 43xx firmware
ii  firmware-b43-installer           1:015-9                                  Installer package for firmware for the b43 driver

和大部分略新的无线网卡驱动一样,b43 也是使用 mac80211 的,这东东对 hostapd 来说,用 nl80211 驱动就可以了,嗯,拆机换网卡,给几张照片哈:

[caption id="attachment_710" align="aligncenter" width="300" caption="打开电源面板,卸下键盘,下面的电路板就是插在 minipci 口上的无线网卡"][/caption]

嗯,在这篇平淡无奇的blog里面,拆机照片也算是个特色吧,呵呵,miniPCI 口边上有卡子,一按,卡会自动翘起来,然后一拔就下来了,装的时候,插进去一按就行了,和笔记本内存很类似。来两张二次出山(二手的,应该是三次出山了)的BCM4318的照片:

 

嗯,注意正面(左边那张)的右上角,有两个天线插口,写着main 和 aux 呢,忘了插天线可不行哈。嗯,再来两张刚刚结束半退休,正式退休的 Intel Pro Wireless 2100 (ipw2100) 的照片哈:

  

嗯,好了,图片到此为止,下面给一个配置,先是 hostapd 的,包自己 apt 装就行了,配置文件这么写就可以:

gnawux@case:~$ cat /etc/hostapd/hostapd.conf
interface=wlan0
bridge=br0
driver=nl80211
ssid=confusion
channel=11
hw_mode=g
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=jumpover

嗯,这是一个使用 wlan0 做 AP,接入到网桥(br0)(直接桥到以太网,通过以太网那边的路由器分配地址啥的),占用11号频点,802.11g,WPA2认证,SSID是confusion,密码是 jumpover 的配置,当然,我实际的密码肯定不是这个了,嘿嘿。其实呢,我觉得自己做 DHCP,然后配 NAT 路由,甚至是选择缺省翻墙都是可以的,我这次懒得配了,留给下次了,桥着最省事,只要再配好,让 eth0 也在桥里就行了。

嗯,网桥直接配到 /etc/network/interfaces 里就行,这是 Debian 系的配法,嗯,RH 和 SuSE 之类的自己研究哈,Debian/Ubuntu 的就这么简单:

gnawux@case:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto br0
iface br0 inet dhcp
    bridge_ports eth0

嗯,关于桥的就是后三行。呃,好了,到此为止,我现在就是接在这个 AP 上写的 Blog,信号满格,哈哈。

这个周末好充实啊 —— 冲击钻+电锤在墙上打洞,换无线网卡DIY AP,刷手机 ROM 玩应用写 Blog,去公司写程序外加带儿子学英语…… 嗯,期待下个周末哈

gnawux
me!#$!@#$@#$wangxu!@#$%^&*()_me