5/04/2010

在eeebox b202, FreeBSD 8.0 release 安裝 wireless card driver

This is the process to setup eeebox's wireless driver on FreeBSD:
The eeebox's wireless chip is rt2860 made by the company - ralink.

method 1(WARNING: this method is NOT success in my trial):
convert windows driver for rt2860 to FreeBSD kernel module.

download windows version driver: rt2860.inf, rt2860.sys
put kernel module generated from ndisgen which is rt2860_sys.ko to /boot/modules
edit /boot/loader.conf add rt2860_sys_load="YES"

result -> fail -> the strange error message keep output to screen
"ndis0 if_input should not be called"

accidently find there are already a driver for rt2860 for FreeBSD 7.0 and 8.0 release
so I abandon method 1 and turn to method 2.

method 2 (SUCCESS): find the kernel module.
Surprisely, someone has write the rt2860/rt2870 driver for FreeBSD.
http://repo.or.cz/w/ralink_drivers/rt2860_fbsd8.git
use git clone links to download whole source code
make
cp rt2860.ko/ rt2860.ko.module to /boot/kernel
set rt2860_load="YES" in /boot/loader.conf
reboot system.

Loading rt2860.ko/rt2870.ko will create the hardware interface rt28600/rt28700 respectively but since version 8 of FreeBSD, these are not controlled directly for the usual settings but with a virtual interface that must created either manually like:

wlans_rt28600="wlan0"
ifconfig_wlan0="WPA DHCP"

network={
ssid="freebsdap" (ssid)
psk="freebsdmall" (password)
}
#/etc/rc.d/netif start # restart the network interface
SUCCEED!!

reference:
"FreeBSD wireless handbook" -
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-wireless.html

file path summary:
/boot/loader.conf -> setting which module to boot when starting the system.
/boot/defaults/loader.conf -> default modules to boot.
/boot/modules -> put the custom kernel modules .ko to here
/boot/kernels -> put your .ko .ko.symbols to here

沒有留言: