網頁

2009年11月7日 星期六

APTOS Design LAB 的 ADA-U21W

這幾天鴨子在物色他的喇叭,恰巧在 crazymike 看到APTOS Design LABADA-U21W放送,於是就手滑不小心跟進了。

當中的小插曲是:最近勸拜成功,林大哥看到我幫家弟買得小黑 T400 PU9 品像不錯價格誘人,就也叫我幫他處理一台來。並且連自取也不用了,直接貨到付款寄到指定地點。然後又很剛好得我在 crazymike 填的送貨地點是同一個,又非常碰巧的,crazymike 跟 T400 賣家都是用相同的宅配,所以到貨的那天早上,先是接了宅配的電話

宅配:「請問是林先生嗎,這裡未您送貨到付款,款項為 XXXXX ,請問您在指定的送貨地點嗎?」
我:「(睡臉惺忪)哦,有,送過去就好了。」

然後起身打給林大哥,請他去收貨,轉頭繼續睡。過沒多久,林大哥打回來:「喂,黑咧頭家美賣捏~瓦嘎咩電鬧歌頌哇冷ㄟ啦吧~金夙昔捏~(那個老闆不錯哦,跟他買電腦還寄了兩組喇吧來哦,很不錯哦)」。瞬時之間從床上笑到床下,因為那是我等了好幾天的 ADA-U21W 阿。

這組東西其實很有趣,他是走 USB 介面直接吃 USB Audio Device 然後把聲音播放到喇叭上,然後由主要的機身扮演著 USB DAC + Amplifier ,推動兩個被動式音箱且「不需外接電源」。會引起我興趣的地方其實是因為現在我的位置上只有耳機,但我不太喜歡耳機聽過久,雖然有 5021 掛在牆上,但是一般時間又不好意思開泰大聲,需要一組用來放音樂用的。尤其是,最好是能獨力只播音樂,其他的系統、城市音效都可以不要播放。這樣看來,獨立的USB Audio Device 剛好符合規格呢!

當一切就緒的時候,將 usb 插上電腦,看到他跳出偵測裝置,成功安裝標準驅動,一切安好。但是打開音樂播放器卻無法播放,臉綠了一半。最近不會運氣這麼好吧,連這都中大獎阿?還好我有兩組,在拿另一個來試,還是一樣。不會吧,又是 Windows 7 64bit 的錯嗎?還好我還有 32 bit版,測了,還是不會動,都可以看到裝置卻沒聲音。所幸在把旁邊的 windows xp 拿來測,咦,一切正常?生氣了,在拿出 ubuntu 測,也一切 OK?

真是奇怪, USB Audio Device 是走標準的東西沒道理其他會動獨缺 Win7 壞事吧。於是搞了一個下午,也換了 ASIO driver ,硬上有的沒的驅動,都不會動,但是看著 XP 卻播的虎虎生風。搞到最後發現解法了。

如果你也是 ADA-U21W ,或是 Biforst 的 Bu20360 的產品,在 Windows 7 下遇到有裝置沒聲音的話可以試試看這個解法:

sound-1
到控制台開啟「聲音」

sound-1

在 USB Audio Device 選內容,切到增強功能,勾選「停用所有增強」

然後就過著幸福快樂的生活吧。

Related Info Here.

2009年9月10日 星期四

pf.conf + pppoe 造成錯誤而無法載入 pf rule 的解法

如果遇到 PF + PPPOE 一起混著用的時候,又有 Lan connection ,有時候會開起來後 pf rule 完全沒被載入。這問題的起因就是,當 pf 先載入的時候 PPPOE client 還沒有把 daemon 跑起來,除了不知道 gateway 的 IP 外有可能連 Interface 都還沒出現。如果是 Interface 還沒出現的話,只要把該 interface (通常 pppoe 會是 tun0) 用括號包起來,像是:
ext_if_fttb="tun0"
nat on $ext_if_fttb inet from $internal_net to {!$internal_net,!$sparq_net} -> ($ext_if_fttb)

這樣 pf 就不會檢查 $ext_if_fttb 是不是存在,而如果有用到 PPPOE 的 gateway 的話則可以換成:
gw_if_fttb="(tun0:peer)"

這樣就不用每次重開完之後還要手動進去 pfctl -f /etc/pf.conf 了。

2009年9月4日 星期五

2008年11月26日 星期三

莫名其妙被婊

在 FreeBSD 7.1 PRELEASE 底下做比較複雜的網路環境,結果要讓 rsync + ssh 從其他網路跑進來撈備份的時候遇見很奇怪的問題:

明明就是通的,但是卻是慢到非常的誇張,比原先的線路還離譜。本來以為是 pf 擋到不該擋的,叫出 tcpdump 來看半天發現沒錯;又想說是不是走錯路,交叉測了很久也看不出啥端倪。最後比對正常跟有問題的 tcpdump 也看不出啥鬼。結果在對照[正常]組時發現:

02:52:39.274108 IP bad-len 0
02:52:39.304782 IP bad-len 0
02:52:39.334036 IP bad-len 0
02:52:39.335331 IP bad-len 0

這種東西,好奇 google 一下發現這篇,結果發現我也中大獎 -_-||

sysctl net.inet.tcp.tso=0

從此過著幸福快樂的日子......!@#$%^& .......

2008年6月30日 星期一

*NEVER* remove coreutils

不小心為了解決 gentoo 下的 block 問題而 remove 了 coreutils 浪費很多時間 -_-像這種東西應該要提示使用者萬萬不能 remove 的阿…倒數完了就 remove 沒啥太大作用吧 (翻桌)
所以稍微 note 一下, 別再不小心幹掉 coreutils 了 :~

NOTE: 如果不小心發生一樣的慘狀,就去 package server 撈 binary 回來救吧

  1. wget coreutil-X.XX-rN.tbz2 from http://tinderbox.dev.gentoo.org/default-linux/

  2. cp coreutil-X.XX-rN.tbz2 /usr/portage/packages/All
    (HINT: 如果沒這目錄的話應該可以用 $PKGDIR 來指定)

  3. emerge -K coreutils

  4. emerge --unmerge mktemp

  5. emerge system


UPDATE: 剛看到 *這裡* 也有一樣的討論串...

2008年6月11日 星期三

mu-wordpress

由於不想維護太多份的 wordpress code (之前手上有四份左右),很久之前就想要換成 mu-wordpress 。但是以前怎麼找都找不到 wordpress.com 那邊用的 nightly build 的 subversion repo 又懶得自己從 tarball import ,所以就一直找藉口沒動。直到暑假某次無意中終於發現了神秘的位置,才又想起這件事。

題外話:打到這裡 FireFox BonEcho 2.0 nightly build 0930 連續當了兩次,當我正在懊惱我還沒裝 AutoSave Plugin 時,發現竟然大部分已經被存成草稿,只漏了一句,不過馬上又當了一次。(不過 Firefox 2 真的速度快很多!)wordpress 真是太酷了。

事實上之前已經有敢死隊衝過 mu-wordpress 了,可是後來跑一跑之後這位胸毛男說,mu-wordpress 的資料表那樣建太機車了,看他不爽,於是就又跳槽去 lyceum ,所以害我很猶豫是要跟隨胸毛男的 技術支援,還是跟 mu-wordpress 就好。 反正到最後也不知道怎麼搞的,我就去 svn co 下了 mu-wordpress ,然後玩到現在。事實上,mu-wordpress 已經把大部分的工作都做的很懶人,以前還需要自己去動 wp-config.php ,現在根本就全部都在 web 上面點一點之後就可以動了,並且目錄權限不對他也會幫你檢查,然後很貼心的告訴你指令該怎麼打。既然胸毛男之前也寫過「wordpress 多人板安裝手札」其實這裡大概也不需要介紹,反正都是很直覺的點一點填一填。我是選用 sub-domain 的方式,原因有機會以後再說,所以對應的 DNS 以及 WEB Server 都需要做些對應的設定。

例如在 BIND 當中的話可以直接用 WILDCARD record 來設定:
* CNAME blog

然後在對應的 APACHE 上面也要有對應的 VHOST 設定:
<VirtualHost *:80>

ServerAdmin admin@domain.tld
DocumentRoot /path/to/mu-wordpress
ServerName blog.domain.tld
ServerAlias *.domain.tld
ErrorLog /path/to/logs/httpd-error.log
CustomLog /path/to/logs/httpd-access.log combined

<Directory />
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>

<Directory “/path/to/mu-wordpress”>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

# RedirectMatch 301 (*) http://xxx.domain.tld$1
LogLevel debug

</VirtualHost>

然 後接下來就可以直接從 SiteAdmin panel 開始 add user/add blog 了。因為我要轉的 blog 其實並不多且版本差異沒很大(最舊的也有 WP1.6) ,所以我直接用 export/import 的方式解決。如果沒有跟在 SVN 後面當白老鼠的,可能還沒有 import/export 功能怎麼辦?沒關係,有好心人幫我們做成了 「WordPress-to-WordPress Import Plugin」,不過如果你版本真的太舊,裝了 plugin 也不行的話,那看是先升級一下,或是直接從 DATABASE 裡面轉換囉。

值 得一提的是,一開始我 export 的檔案很大,大概快 5MB ,我還沾沾自喜說,哇,我真會寫,寫這麼多喔。後來 import一直死在奇怪的地方,才把 XML 打開看,才發現原來他會連 SK2 擋下來的 SPAM (只要還沒刪掉)一起 EXPORT ,於是如果先去 SK2 清一下然後再 EXPORT ,就只剩下 880kb 。在轉換過程中大至上順利,除了一開始又發生 table 的 charset 沒弄對的問題(看來還是得在 ports.conf 裡面強制把 mysql 預設成 UTF-8,我以為 5.x 預設就已經是了沒想到還跳回去 LATIN1),另外還有 cdst 上面那淫魔荒廢已久的 blog 一整個早就爛了,查一下才發現是「MySQL 5.0.15 亂碼」這篇提到的問題,處理一下也很順利完成。

最 後比較麻煩的部份是之前放在 uploads 目錄底下的檔案,雖然可以直接 cp 一份過來(丟到 wp-content/blogs.dir/ID裡面),不過網頁路徑要對應換成相對的「/files/2006/…」,一開始 inport 的時候沒發現,不然就在 xml 檔案裡面全部掃一次再匯入就好了。

至於以前很擔心的 plugin / theme倒是沒遇到很大的問題, K2 可以正常的使用,除了需要改一下下面這檔案以外:
Index: app/includes/info.php
===================================================================
— app/includes/info.php (revision 192)
+++ app/includes/info.php (working copy)
@@ -115,16 +115,17 @@
$posts_per = 1;
}

- if (strpos($wp_version, ‘2.1′) === false) {
+ if (strpos($wp_version, ‘2.1′) === false && strpos($wp_version, ‘mu’) ===false) {
$search = ‘/FROM\s+?(.*)\s+?GROUP BY/siU’; // Wordpress 2.0.x
} else {
$search = ‘/FROM\s+?(.*)\s+?ORDER BY/siU’; // Wordpress 2.1
}

另外,SK2 好像也正常,雖然說現在還沒看到 spam 進來 XD,剩下的就見招拆招囉。

喔 還有,我又惡搞了本來兩個很好看的 theme ,現在被我搞得不三不四噁心八啦,但是我還是不禁要念,為什麼可以這麼機車,同樣的語法在 IE 跟 Firefox 看的感覺就不一樣!一整個暴走之後只好祭出 try and error 大法亂調,所以現在就產生出這個很奇怪的東西出來啦。(沒辦法,原來的雖然好看但是我一整個完全無法接受 fixed width 的東西,所以又浪費了半天在搞 CSS)。

最後,因為暫時沒空去看 mu-wordpress 的 code ,所以我先把 blog.cookys.org 送 redirect 到這裡來了,還請多加包涵。

UPDATED: 剛剛晃了一下 Lyceum 官方網站 ,忽然瞭解為啥胸毛男的 pagerank 忽然變這麼高了。原來 Whatup 為 Lyceum 貢獻這麼多了,那沒去投靠免費技術支援好像是個錯誤的決定? XD。

2007年5月9日 星期三

could not listen on UDP socket: permission denied



自從家裡的老 server 爆炸,然後應爹娘要求儘速處理,於是展開移山倒海 shift 大法,把比較省電且輕巧的小白 (AM2 X2 3800+) 給帶回去暫時先把網路搶通後就沒空理他,今天上去一看發現 message 一直出現:
May 9 04:19:11 soul named[960]: could not listen on UDP socket: permission denied
May 9 04:19:11 soul named[960]: creating IPv4 interface tun0 failed; interface ignored
May 9 05:19:11 soul named[960]: could not listen on UDP socket: permission denied
May 9 05:19:11 soul named[960]: creating IPv4 interface tun0 failed; interface ignored
May 9 06:19:11 soul named[960]: could not listen on UDP socket: permission denied
May 9 06:19:11 soul named[960]: creating IPv4 interface tun0 failed; interface ignored
May 9 07:19:11 soul named[960]: could not listen on UDP socket: permission denied
May 9 07:19:11 soul named[960]: creating IPv4 interface tun0 failed; interface ignored
May 9 08:19:11 soul named[960]: could not listen on UDP socket: permission denied
May 9 08:19:11 soul named[960]: creating IPv4 interface tun0 failed; interface ignored
May 9 09:19:11 soul named[960]: could not listen on UDP socket: permission denied

詢問了 google 大神之後發現大概是 這麼一回事 ,所以就乖乖的照著 mac_portacl(4) 去把 kernel configuration 的 options MAC 加進去,然後到 /boot/loader.conf 加入 mac_portacl_load=”YES” 接著照著 handbook 的 example 依樣畫葫蘆塞進 sysctl security.mac.portacl.rules=uid:53:udp:53,uid:53:tcp:53 然後重新啟動囉。



2006年12月6日 星期三

wordpress-mu sitemap plugin



抓取「Google Sitemap Generator 3 Beta」丟到 plugin 目錄,然後作些 dirty hack:
<blockquote>
<pre style="text-align: left">--- /home/admin/cookys/work/sitemap.php Thu Nov 16 22:26:58 2006
--- /home/admin/cookys/work/sitemap.php Thu Nov 16 22:26:58 2006
+++ sitemap.php Wed Dec 6 20:37:50 2006
@@ -865,6 +865,7 @@

[sourcecode language='php']
//the get_home_path function in our own...
$home = get_settings('home');
$home_path="";
+/*
if ( $home != '' && $home != get_settings('siteurl') ) {
$home_path = parse_url($home);
$home_path = $home_path['path'];
@@ -873,8 +874,10 @@
} else {
$home_path = ABSPATH;
}
+*/
$res = $home_path;
}
+ $res =ABSPATH.UPLOADS; //str_replace('/files','',ABSPATH.UPLOADS); // cookys dirty hack for wp-mu
return $res;
}

@@ -1313,7 +1316,7 @@
if(!$forceAuto && $this->GetOption("b_location_mode")=="manual") {
return $this->GetOption("b_fileurl_manual");
} else {
- return trailingslashit(get_bloginfo('siteurl')). $this->GetOption("b_filename");
+ return trailingslashit(get_bloginfo('siteurl')).'files/'. $this->GetOption("b_filename");
}
}

@@ -2705,4 +2708,4 @@
#endregion
}

-?>
No newline at end of file
+?>
[/sourcecode]
然後把 .htaccess 補上一條
<pre>RewriteRule ^sitemap.xml /wp-content/blogs.php?file=sitemap.xml [L]</pre>
搞定收工。


2006年10月12日 星期四

Wordpress Category

之前為了讓 categories 能夠用中文顯示出來,必須參考 zonble 的「Wordpress 中文分類名稱」 裡面自己 patch 才有。而在 muwp 不適合這樣子直接改的狀況,就得自己想辦法看是寫 plugin 或是更動程式碼。因為如果是一般直接取名就取成中文,會發現當他變成網址的時候會被加工過,然後變成一堆由 % 所組成的奇怪符號,而無法辨識。這問題其實在 permalink 的時候也會出現,因為我們的 title 通常也都由中文組成,被加工過後也就看不懂。所幸 wordpress 有提供 customize 的選項,所以通常都會把他設定成:
/%year%/%monthnum%/%day%/%post_id%/

讓 原本的 title 變成數字,就比較不會那麼醜。不過在 category 上面就沒有這絕招可以放,因此呢得稍微想點辦法。無意間發現其實他在 table 裡面有一個欄位叫做 nicename ,應該是拿來作這檔事用的,只是沒有選項可以填阿?本來已經自己刻好程式來塞,才發現根本是多此一舉。因為呢,其實只要建立的時候先以英文的名稱建立,然 後進去 category 的管理選項裡面用修改的方式改成中文,就會發現他顯示的時候會用 nicename,也就是 rename過的中文名稱顯示,而實際上的 link 卻還是原來的英文名稱,真是太美妙啦。

不過呢,這些隱藏秘技,還真是一整個令人無法捉摸阿,如果沒去研究 source code 應該也很難曉得這些設計吧。

只是現在還有個問題,這邊怎麼玩都玩不出來,不知道為什麼我這邊的 category 都不會用樹狀的方式排列,永遠都是平平的一排,如果有有空的好心人恰巧路過,麻煩指點一下吧。先謝過了!

為了部落,噢不,為了PR!

這次回家過中秋,看到某粉紅會會長(CPU 他妹)一直在宣傳他們家工會台灣排行多少,然後整天黏著筆電,就想到前一陣子這附近在瘋的時候 BBS 上三兩篇文章就會看到「為了部落!」,其實還蠻有意思的。好,最近垃圾新聞看多了,學會很多廢話的技巧,其實我只是要說,我又把網址換回來了。

因為之前換成 muwp ,沒有力氣去看看到底該怎麼改,然後再加上胸毛男提到的我們都被神秘人物加進「部落格觀察」的名單之中,然後我又手賤把另外一個 DN 給加了進去,於是就 Duplicated 了 XD。再加上前一陣子Google 更新 pagerank ,RW 上這幾隻比較熟的除了胸毛男放大絕招,衝到五了之外,其他也都爬到三或四。為了這難得(以前的暴走不算的話),不好棄 PageRANK 於不顧啊!

於是,為了 PR ,所以所幸研究一下怎樣換回來吧 XD ,長期放 302 redirect 也不是啥方法。

於 是乎進去把 muwp 的架構稍微晃了一下,發現其實他原先是有設計 multi-sites ,可是對我而言不合用啊。因為我只有這個 blog.cookys.org 要拿出來,而並不是提供兩個 dns wildcard 變成兩個 site 給人申請(而且雖然說有寫,可是其實是寫一半吧 XD)。然後本來要從那個地方改程式,結果剛開始改,看到他送 database 的 query 的時候就覺得其實好像可以惡搞。反正他是送進來之後由 php 抓 _SERVER[”REQUEST_URI”] 來分辨,然後填進去查 database 裡面有沒有 match 的 record ,有的話拿出 blog_id 當成 index 繼續後面的動作,所以那我只要偷偷進 database 裡面亂改搞不好就可以了。沒想到果真如此,而且其實 MUWP 本身就在 Site Admin 裡邊的 blog 那個 tab 裡, Editing 選項中可以直接改。把對應的 Url、Siteurl、Home、FileUpload URL 給改一改後就可以正常過去了。

不 過就當功能正常很高興的時候發現,疑,怎麼沒辦法 Login 了。他會變成一直不斷的 Redirect_to ,我原本以為是 Browser 錯亂,結果清掉所有 cookies 後發現,根本就不會新增 cookies 進來啊,難怪會不斷 redirect 。請教了 Whatup 大師之後,他說可能是因為 domain 不同 ,發的 cookies 被 browser deny 了。測了一下,果真如此。所以就用骯髒的方式 patch 一下:
Index: wp-settings.php
===================================================================
— wp-settings.php (revision 802)
+++ wp-settings.php (working copy)
@@ -244,8 +244,9 @@
if ( !defined(’SITECOOKIEPATH’) )
define(’SITECOOKIEPATH’, $current_site->path );
if ( !defined(’COOKIE_DOMAIN’) )
- define(’COOKIE_DOMAIN’, ‘.’ . $current_site->domain);
-
+ if( strstr($_SERVER[’REQUEST_URI’],$current_site->domain) )
+ define(’COOKIE_DOMAIN’, ‘.’ . $current_site->domain);
+ else define(’COOKIE_DOMAIN’, ‘.’ . $_SERVER[’HTTP_HOST’]);
require (ABSPATH . WPINC . ‘/vars.php’);

if ( get_option(’active_plugins’) ) {

然後就可以過著幸福快樂的生活。可是其實並沒有,我這邊在 K2 的 SideBarModule 顯示那頁,又出現很詭異的問題,該顯示的東西跑不出來。本來以為是我移站的後遺症,後來才發現是因為我上了「歷史的今天」的 plugin ,然後在貼 code 的時候多按了一下 enter (鴨子說這個我很久以前也有發生過,其實我好像還有印象),所以多了一個空白行,就爛在很莫名其妙的地方。

不過總算,看起來順利的弄好了。順便還附帶送了新的 301 ,因為偉大的百度蜘蛛,來砍站的時候是用舊的網址(我一直沒發現舊網址原來照日期的話中間還會跑出一個 ‘date’ ,然後 CPU 就被吃滿,於是就順手送了 301 :
RedirectMatch 301 ^date/(.*) /$1

load 瞬間就輕下來了,百度的蜘蛛真的是超級無敵暴力。

題外話,跟大頭還有把妹揚出去吃飯走回實驗室的路上,我喃喃自語說,我還真是無聊,為了 PR 搞真久(那時還沒搞定),實在很沒意義。然後就出現了以下的對話:
大頭:不會啊,還好吧,反正你又沒啥事。
餅乾:哪還好,這樣很廢耶,都沒做到什麼。
大頭:沒差吧,放假又不用做啥。
餅乾:要啊,還很多程式還沒寫啊。
大頭:哎呀那不重要啦,如果說有更重要的事等你那就算了。
餅乾:最好是不重要啦,寫不出來不能畢業 ….~!@#$ …
把妹揚:(沉默~露出標準招牌呆滯笑容)
大頭:(打斷餅乾的話)唉優拜託,寫程式哪有啥重要的 ….
餅乾:(最好是資訊系寫程式不重要,正想反擊)很重要好嗎,不然 …
大頭:(繼續插話)不信你問把妹揚,把妹比較重要,最好是你能寫程式一輩子啦,把妹比較讚啦!
餅乾:(無言ing…)最好是你把妹把一輩子,靠把妹就能吃飯。
大頭:(露出輕蔑的表情)哎喲你不懂,啦你問把妹揚,把一個妹可以陪你一輩子,啊寫程式幹麻,又不能寫一輩子,快去把妹別寫程式啦。
餅乾:(…..)
把妹揚:(臉上露出欣然同意的表情)中肯!
餅乾:(ㄍㄢˋ)……

最好是這樣子吼,聯合起來,一整個無法反擊。

2006年10月3日 星期二

mu-wordpress 以及 virtual host 的三兩事

上一篇當 中提到剛做完轉換的動作,所以現在想到就會去對那可惡的 css 修修補補(改不好總是很討厭,雖然知道明明就是 ie 的問題)。現在目前遇到的問題跟以前一樣,如果用 ie 開的話,當你的 100% 超過 100% 的時候他並不會自動縮成 100% ,反而是直接繼續加下去(詳細情形可以比較一下用 ie/firefox 去開一下這篇 ,會發現我的 theme 只要解析度比較小的狀況下,ie 會被暴走的圖給撐大,然後把右邊的 sidebar 擠到下面去),色小外說他看到「max-width in Internet Explorer」這篇當中有提到透過 js 去算然後塞 fixed width ,可是我實在很懶惰,不想為了 IE 把事情弄的這麼複雜,以後貼圖的時候注意一下就好了,或是用 lightbox plugin 可能也是一個方法。

在 昨天晚上喀完某篇 42 pages 的 paper 之後就一整個呈現腦死狀態,幾乎完全不能思考,於是早早就去睡,沒想到才睡不到七小時就自然醒過來。本想繼續賴床,卻睡沒十分鐘就又醒了,起來東摸西摸, 沒想到竟然發現並且解決了幾個小問題。現在的 CSS 在 ie 底下應該正常不少了,不過難免還是會有意外,還是推薦大家去用 Firefox,尤其是 Firefox 2.0 RC1 真 的是快到很明顯。另外無意間跳到 screen 正在 tail -f httpd_error.log 的裝,看到不少 redirect error 的問題,才想到其實我可以透過送 301/302 的方式來暫時解決路徑不對的問題,於是去把 blog.cookys.org 的 vhost整個送 302 過來(不用 301 是因為「希望」有一天能夠再改回去)然後寫一行
RedirectMatch 301 ^/wp-content/uploads/(.*) /files/$1

暫 時把路徑作處理,才不會看到一堆叉叉。(不過我現在才發現,wordpress 在文中用上傳方式插入的圖片,竟然是直接寫死的用絕對位址,那只要搬家換名稱就一定一整個爆炸阿!應該要把他給改一下。)然後我又發現,在 httpd_access.log 的檔案中,由於我是直接設定成 wildcard virtualhost ,所以大家的 access log 都會在同一個檔案,那樣根本就看不出來是 access 哪個站阿,這樣要作 awstat 也有困難。還好 google 馬上告訴我們答案,在這邊有提到可以透過 LogFormat 來更動格式,當然 awstat 的設定也要一併修改。於是依樣畫葫蘆一下:
CustomLog /home/websites/iecs.us/wildcard.iecs.us/logs/httpd-access.log vhost_wildcard_combined
LogFormat “%{Host}i %h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" vhost_wildcard_combined

就可以看到了。

意 外發現要報告的 paper 竟然長達 42 pages ,然後意外的發現 paper 描述要解決的問題跟我們一樣但是卻用了老王說他需要的方法。意外早起的早上,意外修好了一寫小蟲,意外的在 heather 的 tutorial hour看到正妹,意外的抓阿漂去上西班牙文,意外的收到牛盃背的電腦同時發現原來他女朋友是西班牙系。充滿意外的生活,其實也挺愜意。

2006年5月28日 星期日

pf + smp + nogaint network stack = ?

剛剛看到大神這篇「升級到 6.1-RELEASE」裡面喊說因為腳踏車鎖(Giant lock)太多,所以就把 root server 衝到 6.1 了,真的是勇敢的長輩 XD。不過我是看到 GIANT LOCK 才想到我忘了說我遇到的狀況,所以才趕快來紀錄一下。

話說我家美人機到了之後總是會亂 panic 及亂七八糟的事情,在這一篇有稍微提到我後來換 ipnat 之後改善很多,不過偶爾還是會從網路上消失。後來大概在五月中的時候, 看到 mailing list 有人疑似有類似的情形,環境也是 smp ,後來過了不久某篇裡面談到:

This is very similar to the UID/GID filtering problem. What appears to
be happening is on the inbound path, we pickup the pfil lock and attempt
to pickup the inp info lock, while on the outbound path, we hold the inp
info lock across ip_output which will try to pickup the pfil lock.

This problem is the result of a layering violation, in reality the
firewall should not be picking up layer 4 related locks. Myself and a
few others have been discussing this problem for quite some time now,
and hopefully it won't be long before we can come up with a solution
that will make everyone happy.

For now, you should be able to set debug.mpsafenet to 0 which will
re-enable Giant in the network stack, in theory preventing the deadlock.

debug.mpsafenet=0

in your loader.conf

Let me know if this helps


 於是乎,測試了一下,把腳踏車鎖關掉,開機會看到:「WARNING: MPSAFE network stack disabled, expect reduced performance.」
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 6.1-STABLE #3: Wed May 17 22:41:10 CST 2006
    cookys@ddbeauty.iecs.us:/usr/obj/usr/src/sys/DDBEAUTY
WARNING: MPSAFE network stack disabled, expect reduced performance.
ACPI APIC Table: <GBT    AWRDACPI>
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) D  CPU 2.66GHz (3340.93-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0xf47  Stepping = 7

 然後「感覺上」pf 好像反應比 ipnat 好,不過可能是錯覺 XD。雖然說腳踏車鎖一次就會綁一大堆,不過在會亂 dead lock 的狀況下也只能先打開撐著,看什麼時候他們解決 XD。至少跑到現在,兩個禮拜多都沒消失了,除了前一個禮拜被學校裝笑為把她 halt 等停電以外 :p

這時候該高呼,"捷安特鎖"我愛你嗎?(我沒有打廣告喔 @_@) 

2006年5月10日 星期三

eaccelerator + php5

剛剛在弄 mediawiki 才發現原來我家的 eaccelerator 根本一直都沒跑阿,花了一些時間看到底問題出在哪裡,發現原來是被擺到了。再安裝厚的提示訊息寫著:
*****************************************************************************

You have installed the eaccelerator package.

Edit %%LOCALBASE%%/etc/php.ini and add:

zend_extension="%%PREFIX%%/lib/php/%%PHP_EXT_DIR%%/eaccelerator.so"

Then create the cache directory:

mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator

*****************************************************************************

但是實際上如果去 /usr/local/etc/php.ini 設 zend_extension 事實上他會不理你。所以還是得設到 /usr/local/etc/php/extensions.ini 裡面去:
extension=eaccelerator.so 

本來是直接 copy/paste 他的路徑,結果 php -v 下去就又被 ooxx 。所以現在看起來,是真的有跑了:
PHP 5.1.4 (cli) (built: May  9 2006 10:48:26)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
    with eAccelerator v0.9.5-beta2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

被 ports 的 hint message 擺道,很無言的阿!

PS. 前幾天  FreeBSD 的 php 好像地震了一下:
20060506:
  AFFECTS: users of PHP
  AUTHOR: ale@FreeBSD.org

  The old PHP slave ports (phpN-cli, phpN-cgi and mod_phpN) were removed
  in favour of unified PHP ports that allow building any combination of
  PHP SAPIs (cli, cgi and apache module).
  The PHP CGI binary was renamed to php-cgi, so you should update
  the path in your script. To simplify the update process, *only* for
  this release a 'php' compatibility symlink to php-cgi will be created
  if you don't select the CLI SAPI.
  Before the upgrade you *should* run 'make config' in lang/php4 or
  lang/php5 to configure the SAPIs you want to install.
  As a consequence the default binary packages include the CLI and the
  FastCGI SAPIs.
 

所以順手把他重新 make 了一次,進 php 打 make config 勾一勾然後 portupgrade -f 'php*' 下去就搞定了 :p

mediawiki + mysql5.1 beta

剛剛在裝 mediawiki ,本來理論上 make install clean 就能搞定的東西裝了好久。我還笑著跟把妹揚說,搞不好他那裡下去打 make install clean 會直接 ok 也說不定。(把妹楊最近被惡魔化了,雖然他本來就是壞人,不過被惡魔化倒應該是頭一遭。他lab裡的機器現在是 FreeBSD 6 喔!嘿嘿)。原因是因為之前手賤然後現在就遇到很多神秘的問題。

這篇有 提過因為 mysql5.1.7 beta吃了一點小苦頭,而這個問題也同樣發生在 mediawiki 的 CREATE TABLE 的 sql 檔上面。一開始是一度懷疑是不是因為我自己白目去抓 mediawiki 的 svn (自以為以後升級比較方便,可是從 FCU 抓那邊真的是他 X 的慢...)所以爛掉,後來從 ports 裝也是相同的情形,可是現在 mysql 上面又跑幾個東西再上面了,要再 downgrade 其實也可說是頗麻煩,於是就很任命的開始找。一開始看到 Syntax error 大概有個底,照上次經驗把 TYPE 清光光大概就會動。不過後來就很莫名其妙了。

一開始發生 index key 不能 > 1000 bytes 的情形,可是怎麼看都莫名其妙,後來 google 到說原來 utf8 會比較機車,於是就開始 try and error 慢慢調整。之後遇到
A database error has occurred Query: SET NAMES utf8

然後卡關卡好久後才發現原來是因為我一開始就在 my.cnf 設了
init_connect = 'SET NAMES UTF8;'

然後 mediawiki 又自己做了一次,所以不知道該算是誰的錯?解法是把 include/Database.php Line 310 那附近的 $this->query( 'SET NAMES utf8' ); 給幹掉,然後就天下大平了。

如果有需要的可以拿我亂改的 sql 檔蓋到 /maintenance/mysql5/ 底下的 tables.sql,不過爆炸不負責就是。這裡下載

2006年5月8日 星期一

apache22 + MPM=worker 遇到神秘問題

我家美人愛鬧脾氣,從取進門來之後總是沒安份過。到現在還是會動不動就 *panic* 一下。上次追了半天甚至還換了硬碟後來發現,原來是 PF 在搗蛋,只要有開 pf 幾乎是沒一下子就沒不理人了。而且還是沒有 panic 掉,只是就直接 hang 住不知道是怎樣。後來換回很久沒用的 IPFilter + ipnat (好像從 PF port 進 base ,印象中是 5.x 之後我就 switch 過去了...那年代的 ipnat 好像還沒有 rc 好吃)。

於是呢,把 pf 那幾行 mark 掉之後加上
ipnat_enable="YES" # Start ipnat function
ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat

原本想說可以就此過著幸福快樂的生活,他確實也安分了幾天,不過在開暗黑大會的時候據說某把妹揚按了 wiki 的編輯,這台主機就又失連了。衝回來看才發現又 tcp6 啥小的 panic 了 XD。想說搞不好是踩到 7-current 的地雷了,那閒閒沒事來 downgrade 好了。於是就 cvs 成 RELENG_6 的 tag 衝到 6.1-RC(理論上就是現在的 RC2 iso),不過一開 pf 還是馬上就 say 沙要那那。真是一整個獄卒,那想說好吧來升一下 ports ,明明我就才裝沒多久為啥 apache22 的版本能差那麼多。某把妹楊都已經跑到 2.2.2 了我還在很後面,明明還裝不到一個月版號就跳了兩跳阿。

在 make 的時候才發現,咦,怎麼 top 只看到一顆 cpu ,哇哩咧,忘了編 SMP 進去。(沒辦法阿,以前的機器都沒有 SMP 的阿阿阿阿阿)。於是又很苦的重新弄了一次 kernel ,想說好不容易可以休息了吧,要偶爾當一下我也不能阻止他了。
但是好死不死,最後很手賤的 delete-old-libs ,然後似乎就有東西爆炸了 -_-。 php 就得重編,然後一連串的 recursion。到最後實在是不行,就丟給 portupgrade 去攪,弄了半天 apache 還是不肯乖乖起來。於是乎我看到 httpd-error.log 出現一大堆神秘的錯誤訊息:
Fatal error 'kse_exit() failed for system scope thread' at line 1215 in file /usr/src/lib/libpthread/thread/thr_kern.c (errno = 22)
Fatal error 'kse_exit() failed for system scope thread' at line 1215 in file /usr/src/lib/libpthread/thread/thr_kern.c (errno = 22)
Fatal error 'kse_exit() failed for system scope thread' at line 1215 in file /usr/src/lib/libpthread/thread/thr_kern.c (errno = 22)

於是就跑去看 thr_kren 可是看不出所以然來...google 半天也沒相關的資訊,不知道是 keyword 給錯還是怎樣。忽然靈機一動,想說看看是不是哪些 lib 掛了,於是看了一下 ldd:
ddbeauty# ldd /usr/local/sbin/httpd
/usr/local/sbin/httpd:
libm.so.4 => /lib/libm.so.4 (0x800688000)
libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x8007a3000)
libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x8008ba000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x8009dc000)
libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x800bcc000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x800cf2000)
libpthread.so.2 => /usr/lib/libpthread.so.2 (0x800e0b000)
libc.so.6 => /lib/libc.so.6 (0x800f35000)
libpthread.so.2 => /lib/libpthread.so.2 (0x80112d000)

看不出所以然來阿,跟其他台比較明明是一樣的:
cdst# ldd /usr/local/sbin/httpd
/usr/local/sbin/httpd:
libm.so.4 => /lib/libm.so.4 (0x280ca000)
libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x280e0000)
libexpat.so.5 => /usr/local/lib/libexpat.so.5 (0x280f5000)
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28113000)
libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x28201000)
libcrypt.so.3 => /lib/libcrypt.so.3 (0x28224000)
libpthread.so.2 => /usr/lib/libpthread.so.2 (0x2823d000)
libc.so.6 => /lib/libc.so.6 (0x28264000)

於是一籌莫展的情況下就開始惡搞,想到說 libpthread 反正是 user level thread 其實根本沒啥用,那來把他丟給 libthr 玩玩好了,於是就去改 /etc/libmap.conf (這檔案竟然沒 example ,還好我不知道哪看來記得有 man libmap.conf 好抄..)於是加了:
[/usr/local/sbin/httpd]
libpthread.so.2 libthr.so.2

於是美人與阿啪器過著幸福快樂的日子。 一整個神秘。

PS. 是在 apache-worker-2.2.2 Version 2.2 of Apache web server with worker MPM. 遇到的
UPDATE: 這篇草稿忘了發,沒想到才過兩天就上了 6.1-RELEASE 的 tag 了,我要不要重編咧?

2006年4月20日 星期四

Install FreeBSD6 on X41 tablet (2)

人總是很懶惰的動物,反正灌好了嗎,反正能夠 dual-boot ,那就繼續用 Windows 吧 XD。反正都付錢買 license 了嘛 XD。

喂喂喂喂,不是這樣說的吧?好啦,上個禮拜實在爆炸到一個不行,於是很生氣的就把小黑上的 FreeBSD 開起來亂裝了。

一開始呢,先把他 cvsup 到 7-current ,然後就可以把 cvsup 淘汰掉,很歡樂的用 csup :

改 make.conf
SUP= /usr/bin/csup
SUPFLAGS= -L 2

然後這裡發現有很討厭的事情,就是在 NAT 後面 fetch 似乎不會自動走 passive ftp 去抓東西,於是找了一下理論上應該是在 make.conf 加上 FETCH_CMD=fetch -U -A -p ( -p Use passive FTP.) ,不過看起來還是很神秘的不理我,於是就直接 bind 一個外面的 ip 給他 :p 。

然後升級了完了之後就開始裝桌面吧,當然,習慣性的用 KDE 。 而且這次很生氣所以不是編 kde3-lite 而是直接編 kde XD。
cd /usr/ports/x11/kde3 ; make install clean

這邊因為耍笨忘了開 BATCH=yes ,然後再加上 FCU 網路狂斷,再加上可憐的小黑,他的硬碟是 1.8" 然後只有 4200RPM (具不可靠測速指出,max transfer rate 大概只有 20MB ... seek time 更是 ~!@#$%^... orz),所以這裡花了我兩天多,雖然忘了開 time 下去量 XD,更好笑的是,之前嘲笑鴨子說怎麼會耍笨到 /usr 割太小然後 diskfull ,結果這次也發生再我身上 orz 。還好 unix-like 的系統下的偉哉 ln 很好用 :p 。

裝完之後當然要再自己 localhost 顯示畫面啊,不然怎麼搞? 所以就得乖乖的裝 X Server :
cd /usr/ports/x11/xorg ; make install clean

然後自動生出設定檔:
Xorg -configure

把生出來的設定檔拷到「他該去的地方」,該去的地方可以 man xorg.conf 看最後面。
cp /root/xorg.conf.new /usr/X11R6/etc/X11/xorg.conf

然後抄某處的 setting 讓小紅點 scroll 功能能用(就是按中賤然後動小紅點就變成滾輪,然後本來的貼上中鍵變成左右鍵一起按)
#TrackPoint Scroll
Option "EmulateWheel" "on"
Option "EmulateWheelButton" "2"

接下來裝中文環境(其實我一直覺得英文的 look-and-feel 真的好看很多,所以搞不好可以看英文然後裝中文字型就好?)
cd /usr/ports/chinese/zh-auto-tw-l10n ; make install clean
cd /usr/ports/chinese/zh_TW-kde-i18n ; make install clean
cd /usr/ports/chinese/zh_TW-koffice-i18n ; make install clean
cd /usr/ports/chinese/fireflyttf ; make install clean

然後進「控制中心」,把字型改成 firefly 辛苦畫的字體「AR PL New Sung」,我是直接把所有都改成這個,然後大小除了視窗標題是 11 以外其他都 12 ,然後固定字寬的暫時用 Monospace 12 ,看起來還不至於太糟。
x41_kde_screenshot4.png
AA 的話我是有開,由於是 LCD 也有設 sub-pixel hinting ,可以參考 statue 的 FreeBSD 中文 Howto (zh-tut) 當中的 fireflyttf ,然後把 .xinitrc 跟 .cshrc 偷出來稍微改一下之後,就可以打 startx 進去玩耍啦!

如果想用用中文輸入法的話,我這邊是裝 oxim ,一樣是 firefly 前輩最近在維護的輸入法,似乎是從 xcin 2.5pre2 改的 :p ,而且用了新酷音,在 freebsd 下的話裝法很簡單:
cd /usr/ports/chinese/oxim ; make install clean

就幫你搞定了 :),然後只要在 .xinitrc 加上
export XMODIFIERS='@im=oxim'
export GTK_IM_MODULE=oxim
export QT_IM_MODULE=xim

以及
exec oxim &

喔當然,還要記得把
exec startkde

的註解 # 拿掉,一切就都會很完美!有中文可以上 msn,可以用整合的很不錯的 Konqueror 找資料看網頁,然後又有很多有趣的小遊戲!其實很夠了 XD。

當然要來點審查砲彈啦?

某妹的「幹」換成大張的圖,不過佔掉了畫面的 1/4 ,很有趣 XD

x41_kde_screenshot5.png

真的可以打中文喔!!

x41_kde_screenshot3.png
很受我跟把妹偉喜愛的遊戲,某天本來要回家,把妹偉被黏上之後又玩了快一個小時才走出去....

x41_kde_screenshot2.png
最後看一下這個blog長啥鳥樣?

x41_kde_screenshot1.png 不賴吧,快換快換!

然後呢,抄 /usr/local/share/skel/zh_TW.Big5/dot.cshrc 來用..把 zh_TW.Big5 改成 zh_TW.UTF-8..然後開始準備大爆炸的痛苦 UTF-8 環境 :p <待續>

mysql5.1 + SK2

離上一篇 post 有很長的一段時間了,這一段時間裡面發生很多故事,只是真的沒空寫。
前一陣子這台機器出了點問題,現在好像恢復了,放著看看還有沒有問題。

由於 File System 的大爆炸於是索性重裝了一台,反正意外發現我買了顆跟之前一模一樣的 HDD 。

ad4: 238474MB <WDC WD2500KS-00MJB0 02.01C03> at ata2-master SATA150
ad6: 238475MB <WDC WD2500KS-00MJB0 02.01C03> at ata3-master SATA150
測試結果似乎是爛了一顆(時好時壞?),管他的。先能動再說。

不過看到這邊被 spam 打的落花流水,只好跑去裝 Spam Karma 2 ,但是裝的時候被唉唉叫
Could not create SQL table: wp_sk2_spams.
SQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 11
Could not create SQL table: wp_sk2_logs.
SQL error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 8

找了一下 google 似乎沒有看到類似的問題,於是我就想到會不會是我手賤裝了 mysql51-server 造成的,於是跑去翻 mysql51的 doc ,翻到這個,看起來很像,於是嘗試性的把 TYPE=MyISM 拿掉,果然就好了。

改過的 code 大概像這樣:
    457                         $query = "CREATE TABLE IF NOT EXISTS `" . sk2_kSpamTable . "` (
    458          `id` int(11) NOT NULL auto_increment,
    459          `comment_ID` int(11) NOT NULL default '0',
    460          `karma` float(2) NOT NULL default '0',
    461          `karma_cmts` text NOT NULL,
    462          `last_mod` datetime NOT NULL default '0000-00-00 00:00:00',
    463          `unlock_keys` tinytext NOT NULL,
    464          `remaining_attempts` INT NOT NULL,
    465                 PRIMARY KEY (`id`),
    466                 KEY `comment_ID` (`comment_ID`));";
    467         //) TYPE=MyISAM;";

 很單純的 mark 掉就好了?(希望不要爆炸)。

2006年1月19日 星期四

Wordpress Plugin: Category Visibility

前兩天在跟鹿人聊到 Wordpress 的 plugins 的時候,跑到 wordpress codexplugins 區看到 restriction 這分類裡好像有些符合我之前想要的需求,於是抓了 Category Visibility 這個 plugin 下來。他的簡介中說他能夠控制特定的 categories 要不要在 frontpage/rss feed/categoriez list/search result 中出現,甚至還能夠依據 user level 來做判斷。

和一般的 plugin 一樣,只要去這裡把他的原始檔抓下來,rename 成 .php 丟到 wordpress 的 plugin 目錄裡就可以使用了。不過好像一開始至少要去 Category Visibility 的地方勾一勾 submit 一次,因為他的 table 在那邊才會建立。

不幸的是我的 categories list 裝了他之後就爛掉了。剛剛花點時間找了一下發現,爛在兩個地方:

一個是他沒有處理好 nested categories,不會正確的把標籤給 close,在他 plugin 的 code 當中會看到原來 alter_vis_catlist 裡面有:

<?php
if (preg_match("/href/", $thelist)) {
$newlist = "";
$children = 0;
$linklist = preg_split('/\t/', $thelist);
foreach ($linklist as $link) {
if(preg_match("/class.*children/", $link)) {
//$children = 1;
$children += 1; // fix nested cat
$newlist .= $link;
} elseif(preg_match("//", $link) && $children) {
//$children = 0;
$children -= 1; // fix nested cat
$newlist .= $link;
} else {
$thiscatname = strip_tags($link);
$thiscatname = preg_replace("/\s+\(\d+\)\s+/", "", $thiscatname);
$thiscatname = trim($thiscatname);
if(!empty($thiscatname)) {
$cats = $wpdb->get_results("SELECT cat_ID from $wpdb->categories WHERE cat_name='$thiscatname' LIMIT 1");
if ($cats) {
foreach ($cats as $cat) {
$thiscat = $cat->cat_ID;
}
if($wpdb->query("SELECT cat_ID FROM $cat_visibility WHERE cat_ID=$thiscat AND list=1 AND user_level

照上面的方式修改一般人應該就沒有問題了。可是因為我還有手動改讓分類顯示成 category 的 description ,所以底下這段得修改:
get_results("SELECT cat_ID from $wpdb->categories WHERE cat_name='$thiscatname' LIMIT 1"); ?>
把他改成

get_results("SELECT cat_ID from $wpdb->categories WHERE category_description='$thiscatname' LIMIT 1"); ?>
就正常了。

2005年12月26日 星期一

IBM Thinkpad上的 bluetooth

我的小黑是學校賣的專案機,型號是 1866-6sv 。今年的 DM 上特別有個項目寫到「所有專案機種皆不含藍芽以及指紋辨識」,害我當時實在很猶豫。後來在種種原因之下狠下心敗下手,卻在交機的時候格外的高興。因為其他的專案機種都做了某些程度上的縮減,但是 1866-6sv 可能試價格太高所以沒人買還是怎樣的,所以才只有五台。於是交貨的機器就變成市售的 1866-6sv ,加上補助瞬間賺了差不多 15k 有。(其實,會猶豫的原因是因為沒有 X41 而且聽說 X60 搞不好快上了。可是在用了一年的筆電後,實在不能忍受沒小黑的日子啊。)其中的差異大概是多了「指紋辨識」、「藍芽」、「Intel 2915 a/b/g 無線網卡」(原本是 2200 b/g)。

而 bluetooth 是 1.2 版的耶。所以「理論上」應該要能支援 A2DP 才對。在上一次回新營的時候,借了 CPU 的那組 HT820 試了一下,發現 IBM 的原廠驅動根本就不能用,便花了一點時間 google 了一下。 那時看到了 Widcomm 4.0.1.2101 這篇文章,於是就照做了。當時的結果是,雖然會動不過怪怪的。好像是 widcomm 對於給 IBM 的藍芽有稍微動點手腳,於是 BT Stack Server 會說 license 然後爛掉,雖然勉強測試一下 A2DP 會動(會裝一個 「爛牙膏品質音效」),可是音質實在是... ~!@# 。不過那天玩的太累想睡覺,於是就草草收工。讓小黑上得爛牙一直癱瘓。

星期四下五因為老闆去開會,沒有上 ADV OS ,所以獲得了一些空閒時間,於是試著解這問題(本來是在選說是要來繼續幫小黑上的 FreeBSD 裝 xorg 還是來修藍芽,還好沒選前者,不然就真的每次剛辛辛苦苦 make 完然後就 release 新版了 Orz)。沒想到到那個論壇晃的結果,發現 Widcomm 5.0.1.802 這篇,然後就先把之前的驅動移除,照他那邊的步驟去抓 5.0.1.802 ,然後解開完之後把 svcpack 蓋上去之後再開始安裝,就很順利的搞定了。實在是很簡單,而且還多了預設的爛牙膏品質音效(A2DP),下次回去再來測測。

題外話,某隻機八鴨的 2672-iv7 上的爛牙據說也可以用。不過請「千萬」不要裝兩次,因為某鴨裝兩次之後的結果是:



而且據說是無解,因為安全模式也進不去,直接把爛牙模組拔掉也沒用。他到最後是直接重灌,偉哉 M$ !

給張審查砲彈:


所以其實 IBM ThinkPad 如果有藍芽的都可以去升級,雖然我看到很多人說 1.1 的上面很多功能不能硬上,可是看機八鴨那邊測試起來好像都還蠻 OK 的,而且換了這驅動之後速度從之前的龜速改善到 70kbytes 左右,很不錯 (小黑互傳的結果,對手機也有稍微改善,不過看起來限制會在手機方)。至少多了一大堆 profile 看起來也爽很多啦 XD。

2005年12月17日 星期六

WDS

這真是個令人討厭的東西。沒有標準化然後害我在那邊搞半天,後來才發現原來除了 SSID 設一樣, Channel 設相同、兩台 AP MAC 要互抄之外,最重要的是「最好」兩台 AP 是同一家廠商的。原本想說 MSI + ASUS 明明就有小通一下下,可是忽然就完全不通了。莫名其妙,就當一頭霧水之際,忽然覺得搞不好 WDS 並沒標準化,於是狠下心再去衝了一台 ASUS 的 WL520G,設完馬上通,而且很快,也不會一頓一頓的。更不會跑一陣子就爛掉。

亙,之前浪費的時間還來啊。

不過呢,現在跟沈大胖之間 AP 用 WDS + WEP 戶連,嘿嘿,這種爽度還是有的 XD。他在他家用網路比我在客廳還快,不過有趣的是 ASUS 的強度設定從 19 -> 84 的話好像超級猛耶 XD。兩台都沒換天線用原廠天線可以跑出 2M 多的成績算不錯了吧 XD。

也正因為這樣這裡多了台 MSI 的 AP ,拿到台中來升級升級 XD。現在無線網路升級成 802.11G + WPA-PSK,應該至少會比較安心一點吧。(不過電磁波.. Orz)。

附帶一題, ASUS 的 WL520G 有放 source code 耶!要不是沒空不然就自己來亂搞 XD。



一樣有圖有真相,上面那張是 AP 疊疊樂。