2010年2月27日 星期六

在CentOS中使用SMC 2835W無線網卡(PCMCIA)

繼透過手機3G行動上網後, 忽然想到當初買這一台IBM R40時有多買一張PCMCIA介面的無線網卡(型號是SMC2835W), 雖然在家裏沒有無線AP可以使用, 但是還是試裝了一下, 天曉得會不會在哪一天在家裡用無線AP. 一開始到『鳥哥的Linux私房菜』去找如何設定無線網路,但是鳥哥講解的是透過USB介面的無線網卡的設定, 所以經過一些網路上文章的說明, 終於設定了這張網卡!

電腦: IBM R40 2681-BV1
OS: CentOS 2.6.18
無線網卡: SMC 2835W Cardbus Wireless Card (PCMCIA介面)

安裝這張PCMCIA的無線網卡主要是依照『How to install a SMC2835W V2 Wireless CardBus Adapter under Debian GNU/Linux』這個網站的說明來安裝的:

1. 必須先安裝 prism54 這個 module.

上面的網站指出只要 Linux Kernel 版本是在2.6.5以上的話, prism54 已經內建在 kernel 裡了, 所以這部份我就不需要安裝了. 若沒有安裝的話可以下『#yum install prism54』來安裝.

2. 必須安裝 hotplug 與 wireless-tools 這兩個 packages.


同樣的, hotplug 與 wireless-tools 已經是內見了, 若沒有的話可以執行『#yum install hotplug wireless-tools』來安裝. (似乎無法透過 yum 來找到 hotplug, 不過沒關係, 還好是已經內建了)


3. 下載 SMC 2835W 的 Driver 回來安裝.

可上SMC的網站下載 2835W V1 的 Driver (DR_2835W_v1.zip) 回來, 並將他解壓縮後的包含的 Driver 目錄裡的 smc2835w.arm 改名為 isl3890 並複製到 /lib/firmware 裡:

#mkdir 2835w
#unzip DR_2835W_v1.zip -d 2835w
#cd 2835w/Driver
#cp smc2835w.arm /lib/firmware/isl3890

這時 SMC 2835W 的驅動程式應該已經安裝好,執行下列指令應該會出現 firmware 已經就緒:
#ifconfig eth1 up (注意,我的 SMC2835W 無線網卡是用到 eth1)
#dmesg | tail
eth1: resetting device...
eth1: uploading firmware...
eth1: firmware version: 1.0.3.0
eth1: firmware upload complete
eth1: interface reset complete
eth1: no IPv6 routers present

4. 將模組與網卡的代號寫入 /etc/modprobe.conf 中

#joe /etc/modprobe.conf

將『alias eth1 prism54』加入到 modprobe.conf 中, 需注意的是, 由於 SMC2835W 這張卡是透過 prism54 這個模組來驅動, 所以是將 eth1 設別名到 prism54.

5. 利用 iwlist 偵測 AP, 並手動啟動

  5.1 先確定已經啟動網卡:

  #ifconfig eth1 up

  5.2 使用 iwlist 來搜尋無線 AP

  #iwlist eth1 scanning

  會出現 AP 的列表, 必須注意的是哪個 AP 的 ESSID
  例如在鳥哥的例子裡是『ESSID:"BLW-VBIRD"』

  
  5.3 使用手動的方式來啟動無線網卡的連線

  #iwconfig eth1 essid "BLW-VBIRD" key "12345678901234567890123456" 

  5.4 檢視是否連線

  #iwconfig eth1

  
  需注意 Bit Rate 的值 (Bit Rate:11Mb/s), 被設定為11Mb/s了, 但我這張卡是支援到54Mb/s, 所以可以依照鳥哥教的方式設定一下網路卡設定檔來改善 (如下面的步驟6).


6. 設定網路卡設定檔 (ifcfg-ethn)

因為我的無線網卡使用的代號是 eth1,所以也是需要在 /etc/sysconfig/network-scripts 設定好相對應的 ifcfg-eth1 這個檔案才行 (可參考 /etc/sysconfig/network-scripts/ifup-wireless 的說明來設定):

#joe /etc/sysconfig/network-script/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=no
TYPE=wireless
ESSID=BLW-VBIRD
MODE=Managed
RATE=54M     
KEY=12345678901234567890123456

說明如下:
DEVICE: 使用哪一個網卡, 在此是eth1
BOOTPROTO: 無線網路多是採用DHCP
ONBOOT: 是否要一開機就啟動無線網卡, 在此是不要, 因為這張卡不是內建的, 所以設定為no
TYPE: 因為是無線網路, 所以是wireless
ESSID: 無線AP的SSID, 這裡例如是抓到BLW-VBIRD
MODE: 設為Managed
RATE: 依據無線網卡的規格頻寬來設定, 我這張卡是54Mb/s, 所以設定為54M
KEY: 依據使用的AP的KEY填入

Refernece:
1. How to install a SMC2835W V2 Wireless CardBus Adapter under Debian GNU/Linux
2. 鳥哥的Linux私房菜-[連上Internet]-[3. 無線網路--以筆記型電腦為例]

2010年2月16日 星期二

在CentOS中Mount NTFS檔案系統格式的USB隨身硬碟

OS: CentOS 5.4 (2.6.18-164.el5)

由於CentOS預設並沒有支援NTFS格式的filesystem,所以若插入一顆NTFS格式的USB隨身硬碟,在CentOS中是無法打開的,並且會出現一個錯誤對話框說無法mount這個device。這是前面所提到因為預設並不支援NTFS的關係。因此,所以要讓CentOS可以讀寫NTFS的USB隨身碟,基本上會有兩個方法,第一是安裝CentOS 5.x版的NTFS驅動程式,第二是安裝ntfs-3g這個套件。

方法一:安裝CentOS 5.x版的NTFS驅動程式

可上驅動程式下載頁面下載與Kernel版本相符的驅動程式回來安裝,但是缺點是若因為更新Kernel造成版本不符,可能需要再一次下載對應的驅動程式回來安裝。

方法二:安裝ntfs-3g套件

1. 首先,安裝ntfs-3g之前必須確認有安裝rpmforge

2. 若要安裝ntfs-3g,則執行
#yum install fuse fuse-ntfs-3g

3. 建立一個mount point
#mkdir /mnt/win

4. 編輯/etc/fstab內容
若是read-only:
/dev/sda1       /mnt/win   ntfs-3g  ro,umask=0222,defaults 0 0
若是read-write: 
/dev/sda1       /mnt/win   ntfs-3g  rw,umask=0000,defaults 0 0

4. 將USB隨身碟mount進來#mount /mnt/win

reference:
1. http://linux.vbird.org/linux_basic/0230filesystem.php#mount 
2. http://wiki.centos.org/TipsAndTricks/NTFS

在CentOS中使用3G行動上網

我的使用環境:
OS: CentOS 5.4
手機: SonyEricsson K600i
3G: 中華電信3G行動上網計時型

開始設定:
1. 先不接手機(modem)

2. 移除 usb_storage 模組
打開系統工具中的『終端機』程式執行以下instructions
$ su
# /sbin/modprobe -r usb_storage

3. 編輯 wvdial.conf 檔案,編寫撥接的設定
# joe /etc/wvdial.conf (我是用joe來編輯比較直覺方便,也可以用vi)
檔案內容如下: (藍色字部份是可自行調整的部份,紅色字部份是hinet的3G上網的設定)

[SonyEricsson-K600i]

Baud = 460800
Dial Command = ATDT
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet"
Phone = *99#
Username = username
Password = password
Stupid Mode = 1
Auto DNS = 1
New PPPD = yes
[Dialer 3g]
Inherits = SonyEricsson-K600i
SetVolume = 0
Init4 = ATM0
FlowControl = CRTSCTS
Modem = /dev/ttyACM0
Modem Type = Analog Modem

4. 編輯resolv.conf編輯nameserver
# joe /etc/resolv.conf (我是用joe來編輯比較直覺方便,也可以用vi)
內容如下:
nameserver 168.95.1.1
nameserver 168.95.192.1

5. 將手機以 USB 方式連接到電腦

6. 撥號連線
# wvdial 3g (依照/etc/wvdial.conf裡的[Dialer]名稱為何,我是設名稱為為3g)

要開啟連線要在su權限下撥接,若要結束連線可按Ctrl+C來結束連線

Reference: http://tw.myblog.yahoo.com/aloha-tw/article?mid=1143&prev=1146&next=1142

2008年9月27日 星期六

獻出了第一次

從很久以前就想過是不是應該要趕上潮流也來建一個自己的blog呢? 
不過,總是以自己很忙的藉口來塘塞自己,
這似乎變成了我的習慣動作了!
好吧!今天就下定決心要留下我的第一次....
(應該不會想歪是什麼吧,哈!)

其實,說到blog,我一直以來都有個疑問,
就是我們這些從事IT研發或研究的人,
有多少人去開發了這樣的系統架構之後,自己會上去用的?
其實這就跟一般開發軟體一樣,軟體公司開發了一套系統後,
他們是否真正是作自己喜歡也是自己想要的系統出來?
還是只是看上了某些"點",覺得有賺頭就一頭栽進去開發,
但是實際上作出來的系統,都是為了別人而作!
這幾年來,我也一直思考,我是不是畢業後要走軟體研發的路,
因為這似乎一定會是一條不歸路阿。

其實可以這麼說,我對於Apache或是SourceForge這種Open Source組織越來越感到興趣。
原因無他,我覺得開發軟體,不一定要以賺錢為目的。
曾幾何時,我希望自己開發的軟體是自己喜歡的,是可以幫助其他人的,
但是我不想要以利用這個軟體來賺錢作為開發軟體的訴求。
硬體與軟體是不是會走向免費之路,其實這是一個爭論不休的議題。
我自己的看法是,我希望未來的軟體都是免費的,
應該是要走向一種可以被隨意免費取得並使用的路。
但是會有這麼一天嗎?
我希望會,因為最近一直再想,畢業後乾脆去開飲料店,雞排店或是民宿,
把寫軟體當作是興趣!
說不定我會寫出影響整個世界的一個軟體出來。(又在作夢了,哈)
畢竟,作一件事如果是以輕鬆又感興趣的心態去作,
通常效率與結果都是好的,只是我們要不要去作而已。