7.31.2007

SD Card 壞掉了...別丟!! 交給Linux試試..

因為Robert 寫的aggressive SD card driver 改了寫入速度 (其實只是delay count)。
所以.. run program run 一下出現 "Card not formatted" error。

只好拿出來,用讀卡機試試,當然,也一樣,出現 "要格式化 ?" 的視窗。 XP 和 CE來真是同仇敵愾呀。
回答 "Yes" 後 --- format error。

拿數位相機來格式化這個 SD Card,結果也一樣...error。


只好把讀卡機拿到Linux下試試..本來是想dump 一下SD 內部資料..

Linux果然好得多了,有錯會告訴你原因。dmesg 出現的是
"FAT: Filesystem panic (dev sdc)
invalid access to FAT (entry 0x00302e35)
File system has been set read-only"
但是mount起來還是看得到資料...
format 看看.. 先umount ,再
mkfs -t vfat /dev/sdc1
出現
mkfs.vfat unknown command
如果直接用: mkfs /dev/sdc1 是OK的。
所以..看看我有哪些mkfs:
ls /sbin | grep mkfs
果然沒有mkfs.vfat。
那mkfs.vfat 在哪一個package呢?
用 apt-cache search mkfs 看看。出現 "dosfstools" 大概就是這個吧,apt-get 一下。
再執行一次 mkfs,竟然----OK ? 那SD card可以用了嗎?

拿回 XP上,讀寫OK。用XP再format 一次,也OK。

這麼奇怪? copy 大資料試試.....就co 滿1G吧! OK.

**原來重點是... 我先format 成ext2,再format成vfat。才讓SD 復活的。


附帶一個link ,有linux下sd card raw image的一般操作: http://www.freelabs.com/~whitis/sd_card/rawimages.html


Cool ! GPLv3

今天在 "Open Foundry 開放鑄造場電子報第 85 期" 中 "在四大自由精神之下強化的 GPL3" 有說明GPLv3的內容,雖然有很多我都不知所以然,但是有一條:
(2) 使用者產品 (User Product) :若 GPL3 程式是透過產品來散布,例如一般商
店可買到的路由器中有使用到 GPL3 程式,散布這個產品中的程式時,除了必須提
供原始碼外,還必須提供程式安裝資訊,讓後續使用者可以有研究的機會。
...會不會太cool 了呀 :)

7.27.2007

[轉載] 無名小站可以退費囉

XDite 看到的,
此篇原載於 PTT Anti-Ramp (非好店版),作者授權可全文轉錄。

作者 juicyass (汁汁) 看板 Anti-ramp
標題 [情報] 無名可退費
時間 Wed Jul 25 18:34:30 2007
───────────────────────────────────────


一、店名:無名小站


二、地點:網路媒體服務


三、時間:2007/7月


四、此店「非好店」的原因:

無預警片面取消會員密碼,事後要求會員以雙證件證明為本人,
客服管道僅提供線上討論區(哈拉無名小站),針對問題皆以官腔回答,
對問題核心則直接跳過省略。


五、事實經過:

七月初的時候無名小站以提升用戶密碼安全為由,無預警將所有會員的密碼取消,
要求會員重新認證,若信箱無法使用,則必須提供雙證件,以證明為本人。

首先,無名小站無預警的片面取消會員密碼,已經違反合約,因為會員密碼屬個人資料,
他們不能隨意取消,此舉造成付費會員無法使用我們付費所取得的服務。

當初無名小站的註冊資料中,並沒有規定要提供Email,事後又要以Email認證,
若無Email或是Email已無法使用,則要求提供雙證件影本,這種做法非常不妥,
第一,無名小站並不是金融單位,也不是政府單位,依法他們不能向客戶要求這些資料,
第二,雙證件屬於非常重要的個人資料,他們無法提出能夠確保客戶資料安全的証明,
對用戶來說是非常危險的事情。這樣的做法已經受到消基會的糾正。

然後他們提供的客服管道只有線上論壇(哈啦無名小站),針對問題都以官腔回答,而且
每筆問題回答時間皆超過24小時,針對問題核心(像是雙證件的安全、無名站方違反合約)
都是直接跳過,非常惡劣!!

無名在過去使用上就有很多問題,而且都沒有解決。譬如照片無法上傳、上傳後縮圖好
幾天或是永久縮圖、網誌無法順利編輯、計數器不定期歸零、速度異常緩慢、頁面壞掉、
無法觀看等等問題層出不窮,甚至身為VIP會員的我從來沒有一次很順利的使用過無名小
站,他們常常說要停機升級,然後好幾天不能使用,結果升級後還是一樣爛,升級時不
能使用的時間也不賠償給付費會員。

再看這件事情,若真的是要提升會員資料安全,有很多方法和管道可以來做,突然將密
碼取消而不事先告知會員的做法顯示出無名小站對於會員資料和權益的不重視,
事後的客服態度更讓我確定我不再使用這家公司的服務,因此我要求退費。

<退費過程>

一開始我在哈啦無名小站留言要退費,他們隔了兩天回我一句根本不相關的話:
他們竟然問我使用上有什麼問題,隻字不提退費,我回應堅持退費後,就沒有任何下文,
他們對於我的要求直接跳過!

所以我一氣之下,就直接上消保會網站申訴。

後來我打聽到他們的服務電話,直接打過去,他們的服務小姐告訴我一經開通無法退費,
我直接告訴他絕對可以,我已經與消保官連絡而且案件已經在處理中,他就改口說退費
的問題他無法決定,他會幫我呈報上去,竟然還叫我去哈啦無名小站留言!!
我就跟他說:”我早就留言過,你們不是答非所問就是直接跳過,我現在就要把事情解決”
他一直說他不是可以決定的人她只是”客服人員”,我就叫他把電話轉去給可以決定的人,
我要親自跟他說,他竟然說他也不知道!!

盧了很久,我最後跟他說:”好,那就請你幫我呈報上層,我已經跟消保會聯絡過,
我法條也都查好了,我非常確定我絕對可以退費,我給你我的電話,請你們快跟我聯絡”
然後我給了電話,時間是接近中午的時候。

下午我看了哈啦無名小站,我的問題依然沒有回應,依照順序比我晚PO的都已經回應好
幾天了,我又打了一次電話,我除了堅持要馬上聽到回應,也直接告訴她,再不跟我聯
絡我要寄存證信函了,他依然一直盧,就是不幫我轉接。

後來我想算了,既然這樣我明天打1950給消保會看要怎麼進行法律行動好了。

結果隔天無名小站就有人打電話給我了,他說他們跟律師討論後,律師建議他們將費用
退給我,我也很不客氣的告訴她:”依法你們本來就要退!”然後他就跟我要我的匯款帳號,
現在就等他們退囉!!


六、備註:

無名小站跟Yahoo的整合,下一波就是帳號名稱的整合,若你的無名帳號在Yahoo沒有人
註冊,那恭喜你,勸你快去將他註冊起來吧!若是已經有人註冊,那你可能將遭遇一連
串的麻煩,因為Yahoo不可能犧牲自己本身的客戶去成全無名,況且yahoo的帳號是全球
性的,你無法確定yahoo那邊跟你無名一樣帳號的人是台灣人還是外國人,可能到最後
會要你改帳號或是放棄帳號。

依照無名過去的行事風格以及這次的惡劣做法,屆時極有可能你一上線就發現強制要你
改帳號的頁面,不改就無法使用,甚至是直接將你帳號做小幅更改!

反正…趕快離開無名吧!!

還有,無名小站雖然合約裡說一但開通就無法退費,但是他們的服務品質很多瑕疵,
再加上這次取消會員密碼的事發生,就絕對可以退費了!!
而且向消保會申訴真的有用,他們會發文給無名,無名就不敢亂來。




※ 發信站: 批踢踢實業坊(ptt.cc)


以下還有..
推 juicyass:客服專線是02-22365066或02-27786290~兩支都打打看,會通 07/26 01:25
推 juicyass:欲轉載之朋友不需詢問請直接盡量轉載吧!(收到好多詢問信) 07/26 01:30

7.23.2007

int - sysirq map

OAL\Bspintr.c 中 OEMInterruptHandler( )在處理interrupt 時。非即時性的,都呼叫 OALIntrTranslateIrq( ),把Hardware IRQ Number 變成 Software Irq Number。

OALIntrTranslateIrq( )利用內部的Table,查表找出Hardware IRQ對應的software Irq 值。

"表"是怎麼產生?

找一下 OALIntrTranslateIrq( )在哪裡...

在 \PLATFORM\COMMON\SRC\COMMON\INTR\BASE\map.c 中

C:\WINCE500\PLATFORM\COMMON\SRC\COMMON\INTR\BASE\sources 看出這個folder 的 target 是 oal_intr.lib。

再找哪一個folder 的sources 有link oal_intr.lib ...
在 platform 的 Kernel\Kern folder 有 link 。
在 platform 的 common\intr 也有link,但是因為 copy 到 oal 下,所以 common\intr 實際沒有在 common/dir 中。

oal folder 的target 是 oal.lib。 Kernel\Kern\sources 中 也有 link 到 oal.lib ,而且 target 是 "Program" ,所以...應該是在這裡把 oal_intr.lib 的map.c 和 oal.lib link 在一起。

所以map.c 就是關鍵:

7.19.2007

真奇怪

因為很多人都說新的Windows Live Write 變得好用了,所以試試。

真奇怪,當一切都web 化,browser化後,只有MS還努力的把user 抓回OS。

像這個Live Writer,還有最近的新聞:Outlook 將支援 Windows Live mail。

大概,他也擔心有一天一切都變成Web service後,PC上就在也不需要Windows 了吧。

試試tag : <hr>

試試貼圖..

還不行


其實還是不好用,因為都會加入一些奇怪的tag,還是直接到blogger edit 比較乾淨。

7.12.2007

Windows as a Xen guest

這篇不是Howto,更不是STEP BY STEP。

只是..

哇!已經可以在 Xen 上install Windows 了。

這裡(http://www.xensource.com/files/xen_install_windows.pdf) 還有howto 喔。

看來 我真是 out of date 太久了!

今天James說他要在Server 上裝多個Windows,用Xen。
我才知道。


大概的注意事項..
  1. Windows 要裝在 Physical Volume,所以create時要注意。
  2. 需要KDE or Gname (?)
  3. 需要SDL 和bridge-utils
  4. enable ne2000
就醬

另外還有一篇是在Etch上install XP,比較簡單,因為是用 apt-get。

7.11.2007

SMS Pdu.

Etsi (GSM 03.40 and GSM 03.38) 中規定SMS的encoding 可以有以下幾類:

  • 7 bit encoding : 最多可以包含160個characters,其中每個character只用一個或兩個byte的 7-bit data來作encoding。7 - bit encoding table 在.. http://www.dreamfabric.com/sms/default_alphabet.html
    和ASCII Code比較後,除了 0123456789. A-Z, a-z 和%$!*& ' ' 一樣外,其他都不一樣。
  • 8 bits encoding ,最多可以包含140 個字。通常用作非文字SMS,而拿來當作Data傳輸使用。
  • 16 bit encoding ,最多只可以有 70 個'字',是用來傳送Unicode text messages。 可以當作文字讀取。
另外,還規定了傳送的方式(Mode)
  • Text Mode
  • Pdu Mode
Pdu (Protocol Description Unit)

Pdu 封包中,除了內文外,還包含其他的information,像
  • Sender,
  • SMS service center
  • time stamp
傳送的data是以"hexa-decimal" or "decimal semi-octents"。

這個encoding 有點麻煩喔,採用 7 bit encoding 是為了減少資料量。所以一個"字"就佔不滿一個byte,多的bit,就拿下一個"字"的bit,拿法是..
從下一個"字"中 ,從後算起,還沒被拿走的bit 拿起..
這一篇文章,有很好的示範.. http://www.dreamfabric.com/sms/hello.html

7.09.2007

DisablePagingExecutive. - use Physical Memory

新買了1G的記憶體,所以follow pchome的說明,把paging 關掉。
用Regedit,把..
[ HKLM ] - [System] - [Current Control Set] - [ Control ] - [ Session Manager ] - [ Memory Management] 的 ' DisablePagingExecutive ' 這一個Item由 ' 0 ' 改為 ' 1 ' 就可以了。

* 這個item 是說要不要disable Paging。所以 ' 1 ' 是 disable。

將來如有需要,再把他改回 ' 0 ' 就可以了。

7.05.2007

share data in DLL

CE 的DLL 在使用上應該當作是code archive (.a)。--- 省略RAM, 和loading 問題不管的話。
所以DLL 中的變數scope 也僅限於使用 (link到) 該DLL 的exe 檔而已。

所以說..link 同一個DLL的兩個exe檔,無法藉由那個DLL來溝通。

因為每一個exe 檔有自己的DLL空間。

但是... 還是有辦法的.. 就是在DLL中增加一個share data 區塊。
宣告在share 區塊的variable 會是所有link 該dll 的exe檔都共用的。

宣告的方式:

在 c code 中:
#pragma data_seg(".shared")
共用變數區- 宣告時一定要初始化。否則無效。
#pragma data_seg()
宣告出一個區域,然後在DLL的def 檔中,宣告該 .shared 區段是 share:
SECTIONS
.shared READ WRITE SHARED

msdn 說明的地方在 http://msdn2.microsoft.com/en-us/library/h90dkhs0(VS.80).aspxmsdn中說明得很清楚。
  • 有一堆variable 不會被放到share segment,即使你宣告在那裡也沒用,
  • 還有要注意一件事,因為DLL mapping 到每一個exe檔的virtual address 並不相同,所以不可能share pointer。
  • 還有.. process 的 HANDLER 只對該process有用,所以放在share seq,讓另一個exe 存取的話,會有意外的情況。
  • c++ 的class 和 static variable 也別想,在class load時,該variable 會被re-initialize,造成混亂。
所以,簡而言之,就是只有plain c variable 可以宣告在那裡..