Thursday, 11 August 2005

無線上网 之 FreeBSD

現在的电脑,沒有网絡是不行的。我家現在接的是512K的宽带。因為有NB的原故,索性設了無線网絡。ADSL modem + Router用的是D-Link DSL-G604T,給兩台Desktop配了最便宜的WIFI卡,D-Link DWL-G510(rev B),NB上帶有 Intel802.11a/b/g WLAN。

FreeBSD和CentOS的机子,用的是D-Link DWL-G510(rev B)。FreeBSD 5.4有Ath的驅動,但并不支持G510,只好用Ndis模塊加上G510附帶的Windows驅動。先將Windows驅動文件 (NetA3AB.inf和A3AB.sys)复制到/sys/modules/if_ndis目錄下。然后,
#/usr/sbin/ndiscvt -i NetA3AB.inf -s A3AB.sys -o ndis_driver_data.h
#make
#make install

編譯好的if_ndis模塊將被安裝到/boot/kernel里。編輯/boot/loader.conf文件,添加
ndis_load="YES"
if_ndis_load="YES"

以便在系統起動的時候,自動裝載Ndis模塊。

無線网絡的參數在/etc/rc.conf中設置,
defaultrouter="10.1.1.1"
hostname="server.onezstudio.com.au"
ifconfig_ndis0="inet 10.1.1.102 netmask 255.0.0.0 ssid OneZStudio channel 1 wepmode on wepkey xxxxxxxxxxxxx"

對于固定IP,/etc/hosts也要有相應的設置,
10.1.1.102 server.onezstudio.com.au server

對于動態IP,沒有第三行設置。在/usr/local/etc/rc.d下,建一個wireless.sh文件,內容如下:
#!/bin/sh

case "$1" in
start)
echo
echo "Starting the wireless network by DHCP..."

ifconfig ndis0 up

wicontrol -i ndis0 -n OneZStudio 2>/dev/null
wicontrol -i ndis0 -f 1 2>/dev/null
wicontrol -i ndis0 -e 1 2>/dev/null
wicontrol -i ndis0 -k xxxxxxxxxxxxx 2>/dev/null

ifconfig ndis0 ssid OneZStudio

dhclient ndis0 &
;;
stop)
ifconfig ndis0 down
/usr/bin/killall dhclient
;;
esac

exit 0

編輯好以后,要添加可執行屬性。這樣,系統在起動的時候,就可以自動獲取IP地址了。

据其他人的消息,現在Ndis的用法已有所變化,改用ndisgen命令產生驅動模塊,不必自己ndiscvt生成頭文件,再編譯if_ndis模塊了。我還沒試。應該會更方便些吧。

FreeBSD 5.4用G510無線网卡,不是特別的穩定。經常會看到link up、link down的系統消息出現。另外就是,系統起動的時候,需要花較長的時間去完成和Router的握手。期望即將到來的FreeBSD 6.0,其對Wifi的支持,能有所提高。

Wednesday, 10 August 2005

陽關道与獨木橋

在网上呆久了,各种各樣的貼子也看多了。很多問題的出現,常常是由于用戶沒有按照系統的要求去做而造成的。而一些熱心的介紹經驗的貼子,又經常獨辟蹊徑, 出些怪招來,可看而不能借鑒,反而誤導其他人。問題最多的是把不同系統下的方法,到處套用。其寔,各個系統的髮展,都有各自的特點。比如,FreeBSD 的Ports安裝,系統文件結构又和Linux有很大不同;RedHat用RPM;Debian用APT等等。各有各的方法和路數。學習Unix- Like系統,偶以為應該先從認識各自系統的特點開始,了解各自不同之處,沿着系統應有的路子走才行。切忌不求甚解和浮躁。

Follow the right way!

我的電腦

我家里現在一共有三台電腦。一台DELL PIII550E,已經有五年的厲史了,兩年前辦公室淘汰下來,自己配了個硬盤,一直到現在還能用。前兩年折滕的比較多,FreeBSD、Gentoo Linux和Windows。半年前,挂了個20G的硬盤,里面有CentOS。現在基本上給LD和小孩玩。

兩個月前,James送了一台準系統(AMD 2000),連帶買顯視器的money給我,我添了一台ViewSonic VG712S。這是我現在下班后的主要玩具,FreeBSD 5.4 + CentOS 4.1。折滕,再折滕。

一個半月前,因為寔在無法忍受辦公室里的Desktop,于是自己買了一台HP NX8200,Windows + Ubuntu 5.04。WSXGA+(1680x1050)的屏幕,用起來的感覺,真好。

Monday, 8 August 2005

如何寫?

基本上,涉及到哪个系统,就在哪个系统下写,要找什么参数,也比较方便一些。

Windows下,我只會用微軟拼音輸入漢字。在三个Unix-like系统下,我都安装了SCIM拼音输入法。SCIM,安装简单,使用也比较容易。SCIM從1.4版本開始,可以直接用拼音輸入繁体漢字。

FreeBSD中,ports安裝SCIM,
sudo portinstall chinese/scim-pinyin
sudo portinstall chinese/scim-tables
就行了。如果只要拼音輸入法,scim-pinyin就夠了;scim-tables包含了一些其它的輸入法,諸如二筆、五筆、自然碼等等。ports會自動將scim和scim-table-imengine一并安裝在系統中。在gnome-terminal中輸入命令scim -d,起動SCIM的守護模式,就完成了SCIM的安裝。注意,scim -d命令只需在安裝以后,運行一次。以后就再不需要。

我的桌面環境都是用的英文,通過上述過程,就可以輸入漢字了(ctrl+space)。如果切換到中文環境下,反而不能起動SCIM,還需進一步的設置。

CentOS下,先下載SCIM的RPM包。目前還沒有針對RHEL4的RPM包,我安裝的是針對Fedora 3的包,還算穩定。下載地址:http://fedoraproject.org/extras/3/i386/。對于中文輸入,共有五個RPM包,scim、scim-pinyin、scim-tables、scim-tables-zh,以及scim-tables-additional。

安裝以前,先停運iiim的service,以免引起沖突。依次安裝前面的RPM包,然后執行一次scim -d命令。這樣,就可以在英文環境下,輸入漢字了。

Ubuntu下的情況差不多,也是安裝一下SCIM包,再執行一下scim -d命令。

至于中文環境下的漢字輸入,我沒有需要,也就沒有try。

Saturday, 6 August 2005

busy? busy!

要做的事清真不少,想寫的東西也不少。自己都不知道,該從何開始。