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