作者 主題: [分享]想讓你的Linux變成Wireless AP嗎  (閱讀 12301 次)

0 會員 與 1 訪客 正在閱讀本文。

fanrien

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
[分享]想讓你的Linux變成Wireless AP嗎
« 於: 2004-01-14 23:11 »
前陣子去同學家
發現他用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/snapshot/tars/prism54-cvs-latest.tar.bz2

   a. Linux Kernel 2.4 -> http://ftp.nsysu.edu.tw/Linux/Kernel/linux/kernel/v2.4/linux-2.4.24.tar.gz
      patch 2.4 -> http://www.prism54.org/pub/linux/snapshot/kernel/v2.4/patch-2.4-prism54-cvs-latest.bz2

   b. Linux Kernel 2.6 -> http://ftp.nsysu.edu.tw/Linux/Kernel/linux/kernel/v2.6/linux-2.6.1.tar.gz
      patch 2.6 -> http://www.prism54.org/pub/linux/snapshot/kernel/v2.6/patch-2.6-prism54-cvs-latest.bz2

   (a或b選擇一種下載,看你想用2.4還是2.6囉)

   c. hotplug(unstable) -> http://linux.csie.nctu.edu.tw/debian/pool/main/h/hotplug/hotplug_0.0.20031013-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心得啊"
不免俗套的
我真的也是第一次啊..寫的不好請不要幹譙我啊!!!!!!

violent

  • 懷疑的國中生
  • **
  • 文章數: 45
    • 檢視個人資料
[分享]想讓你的Linux變成Wireless AP嗎
« 回覆 #1 於: 2005-08-27 17:56 »
請問大家...有沒有用過哪一款的802.11G USB介面網路卡 是可以在Linux下使用滴?~ 也就是說有For Linux的?~ 可以推薦幾款嗎?~

allnewlinux

  • 俺是博士!
  • *****
  • 文章數: 1455
    • 檢視個人資料
[分享]想讓你的Linux變成Wireless AP嗎
« 回覆 #2 於: 2005-08-28 18:15 »
www.planex.com.tw or www.corega.com.tw or www.dlinktw.com.tw....

太多了...你可以上這些有賣自有品牌的無線網卡的廠商的網站去看看..

尤其是人家已經放在網站上提供donwload的driver和readme...

這樣不是就可以找到適合你的Linux的USB無線網卡了..........

violent

  • 懷疑的國中生
  • **
  • 文章數: 45
    • 檢視個人資料
[分享]想讓你的Linux變成Wireless AP嗎
« 回覆 #3 於: 2005-08-28 19:07 »
謝謝~
但是他們好像只支援WIN  不過PLANEX GW-US11SA 有For Linux

cmwang

  • 活潑的大學生
  • ***
  • 文章數: 322
    • 檢視個人資料
[分享]想讓你的Linux變成Wireless AP嗎
« 回覆 #4 於: 2005-08-29 09:07 »
引述: "violent"
請問大家...有沒有用過哪一款的802.11G USB介面網路卡 是可以在Linux下使用滴?~ 也就是說有For Linux的?~ 可以推薦幾款嗎?~


鵝只知道Vigor的530TX(??....BTW,不是Dxxxk的530TX  )是Prism54 based,有可能搞的起來(Prism54 USB有expermental driver可玩,或許也能當hostap用),不過鵝還沒試完就脫手了,主要是信號不是很好的關係---只有內建的隱藏式天線,不像別的USB wireless NIC通常都會有可調整的天線 :) ....BTW,Zyxel的USB wireless NIC也有linux driver可用(不知是pure source code或semi source code+binary code),您可以先load下來研究研究 :P  :P ....
不要,不要,我不要這種顏色的帽子 ;D ;D....