轉貼自:[分享]想讓你的Linux變成Wireless AP嗎
內容如下:
=======================================
前陣子去同學家
發現他用pcmcia無線網卡 + pcmcia PCI轉接卡當作AP來用
我想真是好神奇啊
後來聽他說
想做AP要用有Prism系列的晶片才行
我就去買了一個用Prism Frisbee晶片(802.11g)的網路卡
才知道我同學用的是Prism2的晶片(802.11b)
所以我只好自己想辦法驅動它(因為我同學滿懂Linux的,這樣就沒得問啦)
之後就找到了一個網站
http://prism54.org
還在研發階段
很短的時間內就會有新版的修正出現
那我二話不說就開始研究怎麼使用啦
不過過程中也是滿辛苦的啦
因為它的說明是跳著寫的
弄好久才成功
現在...終於成功了
所以我想分享一下安裝的過程
好讓也想玩的人省下時間
安裝環境:
Pentium 166 MMX , 128 MB RAM , Maxim WL-5400G 無線網路卡 ,
Buffalo PCMCIA -> PCI 轉接卡 , Debian Linux
以下是安裝過程(寫的不好請見諒):
1. 下載需要程式
firmware -> http://www.prism54.org/firmware/isl3890
driver -> http://www.prism54.org/pub/linux/snapsh ... st.tar.bz2
a. Linux Kernel 2.4 -> http://ftp.nsysu.edu.tw/Linux/Kernel/li ... .24.tar.gz
patch 2.4 -> http://www.prism54.org/pub/linux/snapsh ... latest.bz2
b. Linux Kernel 2.6 -> http://ftp.nsysu.edu.tw/Linux/Kernel/li ... 6.1.tar.gz
patch 2.6 -> http://www.prism54.org/pub/linux/snapsh ... latest.bz2
(a或b選擇一種下載,看你想用2.4還是2.6囉)
c. hotplug(unstable) -> http://linux.csie.nctu.edu.tw/debian/po ... -2_all.deb
wireless-tools -> 用apt-get 安裝吧
pcmcia-cs -> 也用apt-get 安裝囉
(c項的三個package請先安裝吧)
2.將firmware(大概是一種韌體驅動程式吧,請知道的人說一下唷)移動到/usr/lib/hotplug/firmware/ 目錄下
mkdir -p /usr/lib/hotplug/firmware
cd /usr/lib/hotplug/firmware
mv isl3890 /usr/lib/hotplug/firmware
3.解開剛剛所下載的Kernel(2.4 or 2.6) (通常的路徑是 /usr/src/linux-2.x.x 下)
4.patch核心(版本不要弄錯了)
5.編譯核心 make menuconfig (如果不行,請用aptitude安裝curse的東西<這我也不是很清楚>)
底下是原始網站的說明,看看哪些項目一定要編譯起來吧(編譯成核心或模組皆可)
其他的項目就請自己選擇吧
v2.6:
CONFIG_EXPERIMENTAL: y
CONFIG_CLEAN_COMPILE: n
CONFIG_STANDALONE: n
Code maturity level options --->
Prompt for development and/or incomplete code/drivers
Select only drivers expected to compile cleanly
Select only drivers that don't need
compile-time external firmware
CONFIG_PCMCIA && CONFIG_CARDBUS
Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
PCMCIA/CardBus support --->
PCMCIA/CardBus support (m or y)
CardBus yenta-compatible bridge support (m or y)
你必須掛載 sysfs :
mkdir /sys
Add "none /sys sysfs defaults 0 0" to /etc/fstab
mount /sys
-----------------------------------------------------------
v2.4
CONFIG_EXPERIMENTAL: y
Code maturity level options --->
Prompt for development and/or incomplete code/drivers
CONFIG_FW_LOADER: m/y (either one will work)
Library routines --->
Hotplug firmware loading support (EXPERIMENTAL)
CONFIG_PCMCIA && CONFIG_CARDBUS
General setup --->
PCMCIA/CardBus support --->
PCMCIA/CardBus support (m or y)
[*] CardBus support (Important!)
6.編譯核心
詳情請參考http://www.study-area.net/linux/system/linux_kernel.htm
7.確定編譯好了嗎??先重開機試試看吧(記得要用新核心喔)!!
8.確定firmware_class模組有沒有編好吧!!
modprobe firmware_class
(正常載入啥都不會顯示,可以用lsmod看看有沒有載入正確喔)
ksyms -a | egrep "request_firmware|release_firmware|register_firmware"
(如果有東西顯示,就代表第一步成功啦!)
9.安裝prism54驅動程式
解壓縮 prism54-cvs-latest.tar.bz2
進入解壓縮後的目錄
make KDIR=/usr/src/linux-2.x.x clean modules install
然後試試看 modprobe prism54
lsmod 結果有沒有prism54以及firmware_class兩個模組
像這樣:
Module Size Used by Not tainted
prism54 34084 1
firmware_class 3500 0 [prism54]
10.最好重開一下機...
開好後,lsmod看看裡面應該沒有firmware_class及prism54吧
很好
接下來請輸入
modprobe firmware_class
modprobe prism54
ifconfig eth1 up
iwconfig eth1 essid "Fnet" mode Master
(如果你只有這張無線網路卡,那就是eth0啦,我是因為我還有一張Etherner的網路卡他才會變成eth1)
(指令使用詳情請查閱man iwconfig)(Master為AP模式)
11.應該好囉!!
PS:錯誤檢查
1.cat /proc/sys/kernel/hotplug 的顯示結果是不是 /sbin/hotplug
2./sbin/hotplug 這個檔案存在嗎? (hotplug package沒裝??)
3./sbin/hotplug 如果存在,請執行他(不加任何參數),看看有沒有firmware這個項目
執行結果:
Usage: /etc/hotplug.d/default/default.hotplug AgentName [AgentArguments]
AgentName values on this system: dasd firmware ieee1394 input net pci scsi tape usb
4.你有沒有將isl3890這個檔案放到 /usr/lib/hotplug/firmware/ 目錄下??
5.如果是 2.6.x 的核心你必須要掛載 sysfs
6.有問題的話請盡量看看prism54.org的網站說明囉!!有其他的問題我可能也不能幫你解決了...
可能會用到的其他工具:
rcconf
aptitude
常常看到發表文章的同好們說:"我是第一次po心得啊"
不免俗套的
我真的也是第一次啊..寫的不好請不要幹譙我啊!!!!!!