顯示具有 PC 標籤的文章。 顯示所有文章
顯示具有 PC 標籤的文章。 顯示所有文章

2.05.2010

音訊檔案處理軟體 Audacity

Audacity 很不錯喔。

原來是 音訊檔的 調整軟體。
可以切割/合併,增大/縮小聲音檔。

也可以產生特定的tone,波形,頻率可以自己產生。

支援 wave, mp3, flac.... 等檔案格式。

而且還是 open source 的喔

10.02.2009

RDP function for close source Virtualbox

close source version virtualbox 的額外功能除了 usb 以外,還有一個就是 rdp 遠端連線功能。

這個遠端連線是由 Virtualbox 提供的,不是 guest OS。所以即使 guest OS 沒有遠端桌面功能(或是 disable 了遠端連線),我們還是可以經由 virtualbox 的 遠端桌面 連線 guest OS。

在 Setting 的遠端桌面 有一個 port number。
假設 該 server (不是 guest OS) 的 ip 是 192.168.145.72。
port number 是 3389
我們只要用遠端連線程式,連到 192.168.145.72:3389
就可以連過去了。

4.27.2009

mythbuntu

原來ubuntu有for media center 的版本,叫 mythbuntu , 就是myth + ubuntu

要注意 繁體中文叫 Hanzi(Traditional)

但是看不到什麼feature...大概在Myth吧..

還有 backend 就是 TV card 的意思

Linux GPRS

Linux GPRS Howto 的說明比一些 GPRS Module 的application Notes 還清楚

PDP : packet data protocol. 資料封包 (對應的,語音連線送的是聲音封包)。
APN : Access Point Name。

用minicom 來下 command。要注意 屬於 dialout groupe。

下 AT 回應 OK 代表RS232 線連線 OK. (其實有看到 AT 就代表 正常,因為 AT 也 modem echo back )

下 AT+CPIN? 檢查 pin number 是不是有輸入,回 READY 代表正常。
如果不是,用 AT+CPIN=1234 輸入 pin number (1234)

下 AT+CGATT? 檢查是不是已經attach 到 GPRS network 了,回應 1 是OK。
如果是 0,用 AT+CGATT=1 叫 modem attach。

設定PDP 傳送的 profile,modem 可以設很多 pdp profile,方便user 轉換。
AT+CGDCONT=1,"IP","INTERNET"
  • 1 : profile 1
  • "IP" : PDP type (ip packet, 好像一定要大寫)
  • "INTERNET" : APN (每一家電信公司不一樣)
撥號,GPRS Servie 的 number 固定是:
*99***1#
後面的 " 1" 是 PDP profile 號碼。

ATDT*99***1#
播完號,出現 CONNECT,然後就會看到一堆亂碼。

..到這裡,代表 linux 到 gprs modem 端已經OK了。



接下來設定 linux 的撥接動作。

GPRS Modem 是以 ppp 的方式傳送資料,所以要config ppp。

好像大多數網站都說 wvdial,所以也用wvdial,wvdial 是 ppp 的 front-end,用一個 config 檔而已。

修改 /etc/wvdial.conf:

[Dialer Defaults]
Modem = /dev/ttyS1
Baud = 115200
Init = AT+CGDCONT=1,"IP","INTERNET"
Phone = *99***1#
Username = any
Password = any
Dial Command = ATDT
New PPPD = yes
雖然不檢查username, password,但是還是要填值,否則 wvdial 會 complain。
然後..
 : ~$sudo wvdial
就會出現..
$ sudo wvdial
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: AT+CGDCONT=1,"IP","INTERNET"
AT+CGDCONT=1,"IP","INTERNET"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
~[7f]}#@!}!}$} }<}!}$}&@}#}$@#}%}&},<eI}"}&} } } } }'}"}(}"{8~~~
--> Carrier detected. Waiting for prompt.
~[7f]}#@!}!}%} }<}!}$}&@}#}$@#}%}&},<eI}"}&} } } } }'}"}(}"3j~
--> PPP negotiation detected.
--> Starting pppd at Tue Apr 28 11:52:35 2009
--> Pid of pppd: 30572
--> Using interface ppp0
--> local IP address 116.59.14.180
--> remote IP address 10.0.0.1
--> primary DNS address 168.95.1.1
--> secondary DNS address 168.95.192.1
這樣好像連上了..
但是 routing table 好像沒update 耶..

把eth0 斷掉後,重新連線,roue -n
default gateway 是ppp0 (自己)


without flow control and modem signal


如果GPRS Modem 和 Linux 間只有 TX/RX/GND,沒有其他 flow control (CTS, RTS) 和 modem state (CD, DSR, CTR) 信號。

雖然有看到/etc/ppp/options 中有 crtscts 選項可以設,但是好像沒效,wvdial 一定會去 check ctsrts。
所以wvdial 在第一階段,AT+CGDCONT=1,"IP","INTERNET" 就不通了,會反覆兩次,然後fail : Modem No Response。

這樣就需要把 linux 這一端的 RS232 的 CTS 和 RTS 短路 (7-8)。
這樣就可以正確下命令,和撥號,撥通...

但是一但撥通,就會有 carrier lost 的message。
這樣就要將 linux 這一端的 modem status DTR, CD, DSR 短路 (1,4,6)。
這樣就OK了

ref Null Modem




Linux 同時啟動internal network

就是要設定好 routing path.

因為有設定bridge (br0),所以要把 br0 啟動起來,把 eth0 關掉。
把 192.168.0.0 設定 gatway : 192.168.144.254
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.144.254 br0

12.14.2007

Cloudbook - 大眾的eeepc

繼eeepc 後,大眾也要推出一款7" 採用 Linux + google ap,price about $400 的 輕薄型NB "Cloud Book":
  • Via C7 ULV 1.2G
  • 30G HD
  • 1.2MP Cam
  • 7" Lcd screen with touch panel
  • 512MB RAM
  • Wireless
  • 4 in 1 Card Reader
  • 2 USB 2.0 port.
  • gOS (Linux + Google AP)
所以規格比eeePC好喔。而且採用的gOS平台也"比較" Open (我個人的認知啦)。
預計明年 1 月開始發售。

10.31.2007

UnxUtils : Unix shell tools for Win32

Windows Command Windows 的工具實在太少了,用起來也不習慣。
對於常常切換 windows, linux的人,沒有(或是名子不一樣) less, grep, ls, vi 實在很麻煩。
動不動就要切換window,用mouse 開啟file。

但是光是為了這個原因而裝Cygwin 也顯得太麻煩。

這個 package 就是為了這個而做出來的: UnxUtils

奇怪我找不到安裝說明,所以就把他解開到 C:\UnxUtils\usr\local\wbin ,然後把他加到path 中,就可以用了。

這個package 把source code重新用msvclib link,所以不必用到cygwin 的dll。

裝mercurial的人應該要裝這個

9.14.2007

錄音 : Multimedia library

錄音 : 就是把 mic 的輸入 save成WAVE檔。
使用 Multimedia library,也就是 mciSendCommand( ) 這個function。
這個funciton 跟IoControl 類似,都是用command id + command structure 來傳遞資料。
所以很麻煩的每個動作都要準備好作為argument 的structure。

先 Open:
mciOpen.dwCallback = 0;
mciOpen.wDeviceID = 1;
mciOpen.lpstrDeviceType = TEXT("waveaudio");
mciOpen.lpstrElementName = "";
mciOpen.lpstrAlias = NULL;
dwError = mciSendCommand(0, MCI_OPEN, MCI_WAIT|MCI_OPEN_TYPE|MCI_OPEN_ELEMENT,
(DWORD)(LPMCI_OPEN_PARMS) &mciOpen);
if( dwError != 0 )
{
rtnMsg = "Open record device error; ";
return 0;
}
//save the Device ID
wRecordDeviceID = mciOpen.wDeviceID;
open 好的id 放到 wRecordDeviceID。 ( 這個以後作為對 錄音device 的control handle)。
然後,設定sample 格式
    DWORD dwFlags = MCI_WAVE_SET_FORMATTAG |
MCI_WAVE_SET_BLOCKALIGN |
MCI_WAVE_SET_CHANNELS |
MCI_WAVE_SET_BITSPERSAMPLE |
MCI_WAVE_SET_SAMPLESPERSEC |
MCI_WAVE_SET_AVGBYTESPERSEC|
MCI_WAVE_INPUT;
mciSet.wInput = 0; //recordsource index
mciSet.wFormatTag = WAVE_FORMAT_PCM;
mciSet.nChannels = 2;
mciSet.wBitsPerSample = 16; //8 or 16
mciSet.nBlockAlign = 4;
mciSet.nSamplesPerSec = 8000;
mciSet.nAvgBytesPerSec = mciSet.nSamplesPerSec * mciSet.nBlockAlign;
dwError = mciSendCommand(wRecordDeviceID, MCI_SET, dwFlags,
(DWORD)(LPVOID)&mciSet);
if (dwError != 0)
{
rtnMsg = "Not support specific record id; ";
return 0;
}
然後...
下command 開始錄音了..
    mciRecord.dwCallback = NULL;
mciRecord.dwFrom = 0;
mciRecord.dwTo = 0;
dwError = mciSendCommand(wRecordDeviceID, MCI_RECORD, MCI_NOTIFY,
(DWORD) (LPMCI_PLAY_PARMS)&mciRecord);
if(dwError != 0)
{
rtnMsg = _T("Not support specific record format; ");
}
然後,等等等...錄夠了..
叫他存起來:
    mciSave.dwCallback = 0;
mciSave.lpfilename = "TTTTT.WAV";
if( wRecordDeviceID != 0 )
{
mciGeneric.dwCallback = 0;
mciSendCommand(wRecordDeviceID, MCI_STOP ,MCI_WAIT ,
(DWORD) (LPMCI_PLAY_PARMS)&mciGeneric);
mciSendCommand(wRecordDeviceID, MCI_SAVE ,MCI_WAIT|MCI_SAVE_FILE,
(DWORD) (LPMCI_PLAY_PARMS)&mciSave );
mciSendCommand(wRecordDeviceID, MCI_CLOSE,MCI_WAIT ,
(DWORD) (LPMCI_PLAY_PARMS)&mciGeneric);
wRecordDeviceID = 0;
}
這樣就把錄到的資料放到 "TTTTT.WAV"這個file理了..

multimedia library 要include mmsystem.h
並且要 link Winmm.lib,否則會找不到 mciSendCommand( ) 這個function.
這個function 是假設你的pc 只有一個音效卡,在opendevice 時,直接指定 mciOpen.wDeviceID = 1 。

還有,要設定是用MIC還是LineIn 的話,在 control panel -system -hardware - audio 的


很愚蠢的,是"音量"那一個button,會出現右邊那個dialog.

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


6.27.2007

FON 天線 NT 149 - part II

歷經一番波折後..



很大一個呀..



接頭是



方向特性..



這麼大隻,要裝在哪呀......

4.24.2007

VirtualBox NAT : X32 Wifi no work

使用 VirtualBox Install Ubuntu 7.04,安裝還算OK。
但是網路部份有大問題,我用NAT,用X32的 Wifi card。
結果造成 X32 的wireless function 不work,X32 的function key : Fn - F5 失效。
只好把VirtualBox移除,然後用"Access IBM - Thinkpad Software Installer"重新install所有driver。
當然,安裝完後,所有Wifi preference都要重新設定。

其實剛裝好時,Wifi還OK,但是VirtualBox的network一直出不去,所以我一直設定Wifi 為share,一直失敗,然後還設bridge,最後重開機,Wifi Function Key 掛點!

VMWare會比較好嗎? 沒在X32上試過。

紀錄一下,VirtualBox default的 HD 放置folder是在
C:\Document and Settings\yourname\.VirtualBox\VDI
有一個"."喔。
解除安裝時,不會自動刪除。

4.06.2007

CPU 100% , Dos in VMWARE

TONY 在VMWare上run Dos,會造成host cpu useage 滿載。
想不到,在qemu 的document中竟然有解法 :

3.11.3.1 CPU usage reduction

DOS does not correctly use the CPU HLT instruction. The result is that it takes host CPU cycles even when idle. You can install the utility from http://www.vmware.com/software/dosidle210.zip to solve this problem.

紀錄一下。


再紀錄一下,這個Link已經失效了,Google一下dosidle才發現原來這是一個shareware.... 並不是VMWare的patch.


2.13.2007

TiddlyWiki

在Hemi的熱門書籤中看到這個,一開始說的就引起我的注意:
如果你有時候常常會自己用notepad或是ultraedit用純文字的方式記錄一些日誌或是想法,甚至是用word來簡單的記錄一些事情或是流水帳之類的,做這些事情的時候壓根就不會想說要架個wiki或是blog或是bbs或是論壇來記錄這些瑣碎的東西(太小題大做也太麻煩了)。....
我因為記性不好,所以一點小事/心得 工作內容,都得記下來才行,最早最早的時候(PE2時代),還真的是用notepad來記,一堆txt檔,後來用Word記,最後寫了100多頁,檔案大,要找內容也很不方便,但是到現在也想不出有什麼比較好的方法 (這個blog就是紀錄一些不涉工作機密的部份,工作相關的部份,還是用Word,又大,又笨)。

Wiki 很不錯,最適合作工作紀錄,但是要裝個個人使用的Wiki也太麻煩,而且也不portable (家裏,公司,notebook都裝 ?)。

為甚麼沒有簡單的個人用Wiki呢 ? 這個就是Perfect Solution - TiddlyWiki。

他是用javascript寫的,所以只要是browser就可以run,又因為是javascript,所以他的source code 就放在 .html 裡。

還有,更cool的是,你寫的條目也在同一個 html 裡,所以一個檔案就搞定啦。

10.28.2006

更換X32的HD

命運多舛80G HD終於拿到了,拿來換上X32。
換的時候順便看了一下兩個HD的spec:
原廠:Toshiba 40G 5400rpm
新買 : Seagate 80G 5400 8M.
重點是在電流上:
原來的是1A,新的這個是0.46A?是真的?還是Toshiba太保守了?

換上後 速度好像...有點影響(希望是心理上的..慢)。

順便試試上次做的X32 還原光碟。果然比以前的方便多了,放上第一片,不用進入bios設定security,直接就進入IBM 恢復程式,選恢復成開機(出廠)狀態....等...重開機。放入第二片。然後就不用管他,約1.5 hours後 就出現剛拿到的X32一樣....轉換FAT to NTFS...然後,後面就都一樣了。

這次新拿到的HD為了確認沒壞,所以有先用USB 裝置在widows下"初始化"和parition 成ntfs過(whole one partition)。

安裝過程中有一點疑問的的方式重開機時,問"是不是有IBM supplyment CD?"我以為有,所以放入恢復光碟,按Yes,結果都不是。

還有 安裝玩後,keyboard的" . " button 變得有點不靈,這個按鍵剛好在HD上面,該不會換Hd的問題?

還好我多按了幾次後,就恢復了。

還有... 今天的keroro配音好像換了...
後續:
隔天實際測試battery life : 播放30 min 照片後,一般web surfing, upload一個60M的video 到youtube,看兩段youtube 影片。..msn.. 除了一開始30min LCD backlight是FULL外,剩下時間調成1格。Wifi 全時開啟。
7:40 ~12:10 battery 剩下21%, 開始出現low battery warning 警訊,但是顯示還可以使用1:20 min。
所以猜測大概真的可以用到5:00。

10.21.2006

X32 - 建立自動回復光碟

X32 已經在Windows 中的"Access IBM"增加了"建立回復光碟"這一個工具了,
這也就是說...不用再進入bios.. access IBM, F11.. 輸入 FWBACKUP ... 這一些麻煩事了(要是沒有內建燒錄機,還要重新partition, 安裝OS, backup, 燒錄...等等)。

使用這個程式,"我的電腦"中會出現HPA partition,顯示為Z碟,program 會一段時間作解壓縮動作,然後請你選擇妹備份燒錄機(可以用usb 外接燒錄機,很方便喔,不用裝Nero)。

然後就開始燒錄.....

但一片是開機片和一點點resotore 的資料,很奇怪。我放DVD進去,還是燒成CDROM的格式,早知道就用CDROM就好了。
第二片才是DVD格式,燒的滿滿的。

然後就OK啦,燒玩後,program會自動將Z碟再解除,回到原來的隱藏狀態。

燒好的光碟我還沒試過,要等上次pchome送來就DOA的HD回來後才能試..(銀箭線上會還我吧...)。