Nov 13, 2008
民主啊民主
程序是否符合比例?藍綠兩陣營的貪污官員偵辦進度是否公平?
這就算了...幹 連我這麼綠的人都討厭阿扁,只能說他人緣不好
(人緣不好就應該被這樣對待嗎?of course not, 但是我懶得去思考了)
我現在比較關心野草莓/人權問題
Nov 11, 2008
Nov 6, 2008
Nov 3, 2008
Oct 14, 2008
第一天上班
結訓之後第一次這麼早起....七點多就被老媽打電話來叫醒
緩緩的吃了早餐,騎車出門到公司(真的是車子還沒熱就到了)
找HR報到,填了一堆資料,問了一堆問題,介紹公司的內部資訊系統
接著就到部門去報到整理座位
開始發呆.....默默就到了中午吃飯時間
大家很free的買了便當,帶回辦公室去LAB看電視聊天吃便當
辦公室門口就有吸煙室~ 經理說想抽就去抽~ 太爽啦
剛才學長跟我要MSN....所以上班時應該可以用MSN吧
Oct 10, 2008
DIRDS 2T3C 結訓
28天,在營21天
中間還遇到颱風假多放一天
大家口中的爽兵替代役……的確是滿爽的
不過失去自由的日子就是「幹」
總之都結束了
下星期二開始到公司報到上班
Sep 15, 2008
Sep 2, 2008
Aug 26, 2008
Aug 13, 2008
Aug 1, 2008
Jul 25, 2008
Jul 8, 2008
Jun 27, 2008
我的未來三年
第二梯次
1)第一階段(軍事基礎、專業訓練)起迄日:97.09.16~97.10.13(9/16入營)
研發替代役 第 2 梯次 (一般替代役第 63 梯次)
09/15 | 接訓準備作業 |
09/16 | 入營日交接及編隊 |
09/17~10/05 | 訓練課程期間 |
10/06 | 結訓式 |
10/06~10/08 | 結訓假 |
10/09、10、13 | 至用人單位見習報到日至用人單位見習期間 |
10/14 | 研發役第二階段服役期間開始 |
2)第二、三階段起迄日:97.10.14~100.09.15
Jun 26, 2008
Jun 21, 2008
Jun 18, 2008
SSH Server 登入過慢
修改 /etc/ssh/sshd_config
加入一行 UseDNS no
另一個方法:
把client 端的 ip & hostname 加到 ssh server 那台電腦裡的 /etc/hosts
Jun 16, 2008
最後一次畢業典禮
如果我沒有發瘋去念博班,這應該是我的人生最後一次畢業典禮了
(念博士需要的天份和毅力,剛好我兩項都沒有)
大學畢業那天,覺得碩班的衣服後面長長一串很華麗
今天我也穿上了.....只覺得很熱
被迫考取本組博班正取第二名,卻非常不想繼續念的帥哥助教
阿宅們
Jun 12, 2008
Jun 2, 2008
呂子兔 生日快樂
雖然我忘了帶你的生日禮物,你依然請我吃飯
真開心
驢子去台拉維夫出差帶回來的鑰匙圈
Jerusalem = 耶路撒冷(唸起來像啾若撒凜)
Terra Santa 不知道是什麼意思,大概是地名吧
右邊那張我就看得懂了:來自Holy Land 的禮物
=====================================================
山豬之前去亞美利堅出差時去NY買 & 陳哈啦去NY遊學(玩)買的
果然是好兄弟,不約而同買了一模一樣不同size的禮物
May 30, 2008
IE7 有沒有這麼爛啊......
第一名是Firefox 3 RC1
http://news.mydrivers.com/1/106/106286.htm
神奇的一個人
想到另外一個奇人學長(說他快要死掉的那位)
google輸入了他的名字
發現他有一個blog,從最新發表文章日期來看:他現在還活的很好
這位學長,就暫且叫他 "金猴糗"
May 29, 2008
2008 WHO 中國代表鬼扯說謊
http://tw.youtube.com/watch?v=VfnBRmQIrBc
0:48 秒
在這次發生在四川省的地震中,
我們得到了包括台灣同胞在內的,華夏兒女的傾力支持
1999年台灣嘉義發生地震後,大陸也曾像台灣同胞伸出援助之手,
因此不論是過去現在還是將來,13億大陸同胞,和2300萬台灣同胞
都是血脈相連的命運共同體,是密不可分的骨肉兄弟。
操.. 睜眼說瞎話
May 27, 2008
修改 aMSN 聯絡人頭像大小
check these two pages :
Creating AMSN Skins
Can I make thumbnails bigger?
如果台灣警察這樣對付飆車族
所有抓到的都這樣打
不到半年應該街上不會再有飆車族吧
或是鞭刑也不錯
我贊成嚴刑重罰
[youtube=http://tw.youtube.com/watch?v=Xttck4Ty0bQ]
May 23, 2008
May 20, 2008
debian 出大包了
真不敢相信debian 這麼嚴謹的distro 會出這種錯誤
而且擺了一兩年
Serious Debian/Ubuntu openssl/openssh bug found
ubuntu 系出debian 當然也受影響(libssl-0.9.8)
受影響版本:
- Ubuntu 7.04 (Feisty)
- Ubuntu 7.10 (Gutsy)
- Ubuntu 8.04 LTS (Hardy)
- Ubuntu “Intrepid Ibex” (development): libssl <= 0.9.8g-8
- Debian 4.0 (etch) (see corresponding Debian security advisory)
firefox 設為預設瀏覽器
如果是portable 版本,預設不能開多個實例(mutiple instant)
要把Fx3NightlyProtable\FirefoxPortable.ini 裡面的 AllowMultipleInstances 設為true
但是會開在新視窗,不知道怎樣設成開在新分頁
May 19, 2008
May 15, 2008
Ubuntu 7.10 gusty, 台灣的source list
deb http://ftp.twaren.net/Linux/Ubuntu/ubuntu/ gutsy main universe restricted multiverse
deb-src http://ftp.twaren.net/Linux/Ubuntu/ubuntu/ gutsy main universe restricted multiverse
deb http://tw.archive.ubuntu.com/ubuntu/ gutsy-security main restricted
deb-src http://tw.archive.ubuntu.com/ubuntu/ gutsy-security main restricted
deb http://tw.archive.ubuntu.com/ubuntu/ gutsy-security universe
deb-src http://tw.archive.ubuntu.com/ubuntu/ gutsy-security universe
deb http://tw.archive.ubuntu.com/ubuntu/ gutsy-security multiverse
deb-src http://tw.archive.ubuntu.com/ubuntu/ gutsy-security multiverse
deb http://ftp.twaren.net/Linux/Ubuntu/ubuntu/ gutsy-updates universe main multiverse restricted
deb-src http://ftp.twaren.net/Linux/Ubuntu/ubuntu/ gutsy-updates universe main multiverse res
May 13, 2008
May 7, 2008
May 6, 2008
May 5, 2008
May 4, 2008
May 3, 2008
Richard Stallman 來台演講
http://wiki.openmoko.org/wiki/Richard_Stallman/zh_tw
台大場次的時間暫定 5/14 (Wed.) 14:00~17:00
講題是「The GNU General Public License: What we've changed in version 3, and why」
不知道他是誰? 阿宅每天在用的GCC就是他發起的計畫
Apr 29, 2008
Apr 28, 2008
S3C2440, USB in Linux
帥哥的測試:
GPH10 控制小 port:0 是打開 1 是關掉
GPH8 控制大 port: 1 是打開 0 是關掉
送電之後就可以用了...他媽的白費兩個禮拜
05/23 :
之前請正哥寄信去要電路圖都不屌我們
COLOR 打電話去就要到了
更正
GPH8 : USB_HOST_EN
GPH10 : nUSB_PULL_UP_EN
USB_HOST_EN 控制 USB_H_5V --> USB HOST PORT 的供電 (大PORT)
nUSB_PULL_UP_EN 控制 USB_C_D+ --> MINI USB 的供電 (小PORT)
DEBUGFS Support
(host)# cd rootfs
(host)
# pwd
/home2/fyodor/filesystem/rootfs
(busybox)
# mkdir var/debug
(busybox)
# vi etc/fstab
加一行:none /var/debug debugfs ramfs 0 0
(busybox)# modprobe rt73usb
phy0 -> rt2x00_set_chip: Info - Chipset detected - rt: 1300, rf: 0002, rev: 000.
usbcore: registered new interface driver rt73usb
(busybox)# cd /var/debug
(busybox)# ls
drwxr-xr-x 3 0 0 0 Jan 1 00:32 ieee80211
drwxr-xr-x 3 0 0 0 Jan 1 00:00 ohci
drwxr-xr-x 2 0 0 0 Jan 1 00:00 usbmon
rt73的debugfs出來的資訊就在ieee80211裡面
ASUS WL-167G (USB WLAN Adapter) For ARM Linux
usb host timeout的原因是....usb controller過熱被保護電路關電.......
林老師卡好勒
=============================================================
great~ it offers linux driver~
copy the directory Linux/rt73 in the Driver CDROM ( remember to chmod +w )
follow the README in Linux/rt73/module/
if you got error "undefined get_wireless_stats"
just fix rtmp_main.c, replace netdev->get_wireless_stats to netdev->get_stats
=======================================
編譯module
網路上有非官方driver : rt2x00 project
每天最新版本
或是直接用CVS更新
cvs -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 login
cvs -z3 -d:pserver:anonymous@rt2400.cvs.sourceforge.net:/cvsroot/rt2400 co -P source/rt73
修改Makefile
最前面增加五行
ARCH=arm
CROSS_COMPILE=/usr/local/arm/3.4.1/bin/arm-linux-
KERNDIR=/home2/fyodor/kernel/linux-2.6.25__from__2.6.24.3
(KERNDIR要指到目標板所使用的KERNEL SOURCE,而且KERNEL必須先設定好交叉編譯)
ROOTFS = /home2/fyodor/filesystem/rootfs
MODDIR = /lib/modules/2.6.24.3/extra
把module install 的目標位置依照目標kernel版本設定
否則就會安裝到目前uname -r 所找到的kernel module位置...
ps. make install時,modules.dep的設定不會跟著MODDIR而改變
所以還是得設定成extra
修改一行
FIRM_DIR := $(ROOTFS)/lib/firmware
編譯
(host)# make armdebug
警告訊息
!!! WARNING: Module file much too big (>1MB)
!!! Check your kernel settings or use 'strip'
*** Module rt73.ko built successfully
表示編出來的module太大了,這個好解決
必須削減(strip)多餘訊息 (strip之後,板子上無法modprobe!format不合)
(host)# arm-linux-strip ./rt73.ko
把module安裝到target rootfs
這一步,我不很確定怎麼做,試看看吧~
(host)# sudo make install
*** Install module in /lib/modules/2.6.24.3/extra ...
make[1]: Entering directory `/home2/fyodor/kernel/linux-2.6.25__from__2.6.24.3'
INSTALL /home2/fyodor/filesystem/tools/wirelessTool/WL-167G/rt73-cvs/rt73-cvs-2008042100/Module/rt73.ko
DEPMOD 2.6.24.3
make[1]: Leaving directory `/home2/fyodor/kernel/linux-2.6.25__from__2.6.24.3'
/sbin/depmod -a
*** Update /etc/modprobe.d/ralink alias for wlan*
*** Install firmware in /home2/fyodor/filesystem/rootfs/lib/firmware ...
*** Check old config ...
警告訊息
WARNING: Couldn't find symtab and strtab in module /lib/modules/2.6.20-15-generic/extra/rt73.ko
*** Update /etc/modprobe.d/ralink alias for wlan*
*** Install firmware in /home2/fyodor/filesystem/rootfs/lib/firmware ...
*** Check old config ...
因為這一個編譯所使用的kernel版本2.6.24.3,和host機器上目前使用的版本2.6.15不同導致這個錯誤不知道怎麼處理... 應該是沒關係因為真正運作時,這個module在板子上所配合的kernel 版本就對上了參考: http://www.linuxsir.org/bbs/thread307321.html
結束
一樣照著路徑複製到rootfs裡面
module : /lib/modules/2.6.24.3/extra/rt73.ko
firmware : /lib/firmware/rt73.bin
status code :
s3c2410-ohci s3c2410-ohci: urb c2704ec0 path 1 ep0in 5ec20000 cc 5
–> status -62
all status code : include/asm-generic/errno.h
#define ETIME 62 /* Timer expired */
Document of error codes : Documentation/usb/error-codes.txt
-ETIME (**)
No response packet received within the prescribed bus turn-around time. This error may instead be reported as -EPROTO or -EILSEQ.
懶惰的script
ROOTFS=/home2/fyodor/filesystem/rootfs
echo " install module to $ROOTFS/lib/modules/2.6.24.3/extra/"
cp /lib/modules/2.6.24.3/extra/rt73.ko $ROOTFS/lib/modules/2.6.24.3/extra/rt73.ko
echo " install firmware to $ROOTFS/lib/firmware/"
cp /lib/firmware/rt73.bin $ROOTFS/lib/firmware/
ls -alh $ROOTFS/lib/modules/2.6.24.3/extra/rt73.ko
ls -alh $ROOTFS/lib/firmware/rt73.bin
modprobe
[busybox] # modprobe rt73 debug=15 firmware=/lib/firmware/rt73.bin
[busybox] # ifconfig wlan0 up
[busybox] # dmesg
rt73: USBVendorRequest TIMEOUT
rt73: Retry count exhausted or device removed!!!
rt73: BBP version = 0
s3c2410-ohci s3c2410-ohci: urb c1980840 path 1 ep0in 5ec20000 cc 5 --> status -62
rt73: USBVendorRequest TIMEOUT
s3c2410-ohci s3c2410-ohci: urb c1980840 path 1 ep0out 5ec20000 cc 5 --> status -62
rt73: USBVendorRequest TIMEOUT
s3c2410-ohci s3c2410-ohci: urb c1980840 path 1 ep0in 5ec20000 cc 5 --> status -62
rt73: USBVendorRequest TIMEOUT
s3c2410-ohci s3c2410-ohci: urb c1980840 path 1 ep0in 5ec20000 cc 5 --> status -62
rt73: USBVendorRequest TIMEOUT
s3c2410-ohci s3c2410-ohci: urb c1980840 path 1 ep0in 5ec20000 cc 5 --> status -62
rt73: USBVendorRequest TIMEOUT
rt73: Retry count exhausted or device removed!!!
rt73: BBP version = 0
為什麼會timeout勒..... 搞了一個禮拜還是搞不清楚
rt73: USBVendorRequest TIMEOUT是我自己加的訊息
總之status -62 = -ETIME,就是TIMEOUT
上面說過了,status code的詳細定義在$(KERNDIR)/include/asm-generic/errno.h
error的解釋在$(KERNDIR)/Documentation/usb/error-codes.txt
去rt2x00.serialmonkey.com post問題,一邊trace driver 一邊等
覺得問題比較有可能出在s3c2410-ohci
畢竟這部份的2440移植,我做的很粗糙
Error Code Tracing
rt73: USBVendorRequest TIMEOUT
$(RT73)/Module/rtusb_io.c ===> RTUSB_VendorRequest function內的ret 值
ret=usb_control_msg(pAd->pUsb_Dev, usb_sndctrlpipe( pAd->pUsb_Dev, 0 ), \
Request, RequestType, Value,Index, TransferBuffer, TransferBufferLength, \
CONTROL_TIMEOUT_JIFFIES);
message : s3c2410-ohci s3c2410-ohci: urb c1980840 path 1 ep0out 5ec20000 cc 5 --> status -62
來源:drivers/usb/host/ohci-q.c : dl_done_list() --> dl_reverse_done_list() --> ed_halted()
誰呼叫RTUSB_VendorRequest
RTUSBReadMACRegister
RTUSBWriteMACRegister
Apr 25, 2008
Apr 22, 2008
NAND Flash ~ empty flash 問題
# sumtool -e 0x20000 --no-cleanmarkers --littleendian -i output/rootfs.jffs2 -o output/newrootfs.jffs2
Apr 19, 2008
warning: `regparm' attribute directive ignored
交叉編譯rt73usb driver的時候,需要指定kernel source路徑
# cd RT73_Linux_STA_Drv1.0.4.0/Module
# make ARCH=arm CROSS_COMPILE=arm-linux-
\KERNDIR=/home2/fyodor/kernel/linux-2.6.25__from__2.6.24.3/
出現了這個警告
warning: `regparm' attribute directive ignored
網路上查到是說
kernel src directory裡面的 include/asm
他是一個link,應該要指向corss compile目標
(在我這個情況就是asm-arm)
如果沒把asm 指到 asm-arm,就會出現這個warning
http://osdir.com/ml/linux.gps/2006-02/msg00049.html
http://linux.chinaunix.net/bbs/archiver/?tid-916672.html
可是我有正確指過去啊....怎麼還是出現這個warning
Apr 18, 2008
diff & patch 用法
建立patch:
updated dir : src/updateoriginal dir : src/orig# diff -ruN src/orig src/update > my.patch
套用patch:
# cd src/# patch -p1 < my.patch
Apr 17, 2008
Apr 11, 2008
胖子"自以為"放閃光
還好我昨天比較早回家
聽說胖子在LAB用3G手機跟他的啾講了一個小時的視訊電話
噁心的話一堆這就算了
還不時的對著鏡頭 "噘嘴啾" "咪咪咪"
幹~~~
雖然一點都不閃,但這真是太噁爛了
於是阿鋒特地去把六樓的禁煙海報幹起來
改成這樣貼在LAB門口...真是太精美啦!
尤其是手機螢幕上的照片
(傳說中的金山陽明山兩日遊相簿之封面!?)
天哪~~~ 怎麼會有這麼好的同學!帶給大家無盡的歡笑
畢業後就沒辦法天天看到胖子,光是想到就覺得好傷心啊!
Linux Driver - Platform Device
platform-driver
Driver裡面先定義出platform-driver的名稱
這個名稱是s3c2410-ohci
static struct platform_driver ohci_hcd_s3c2410_driver = {
.probe = ohci_hcd_s3c2410_drv_probe,
.remove = ohci_hcd_s3c2410_drv_remove,
.shutdown = usb_hcd_platform_shutdown,
/*.suspend = ohci_hcd_s3c2410_drv_suspend, */
/*.resume = ohci_hcd_s3c2410_drv_resume, */
.driver = {
.owner = THIS_MODULE,
.name = "s3c2410-ohci",
},
};
----
platform_driver的資料結構:
[include/linux/platform_device.h]
struct platform_driver {
int (*probe)(struct platform_device *);
int (*remove)(struct platform_device *);
void (*shutdown)(struct platform_device *);
int (*suspend)(struct platform_device *, pm_message_t state);
int (*suspend_late)(struct platform_device *, pm_message_t state);
int (*resume_early)(struct platform_device *);
int (*resume)(struct platform_device *);
struct device_driver driver;
};
resource
[arch/arm/plat-s3c24xx/devs.c"]
/* USB Host Controller */
static struct resource s3c_usb_resource[] = {
[0] = {
.start = S3C24XX_PA_USBHOST,
.end = S3C24XX_PA_USBHOST + S3C24XX_SZ_USBHOST - 1,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = IRQ_USBH,
.end = IRQ_USBH,
.flags = IORESOURCE_IRQ,
}
};
platform-device (單一)
platporm裡要註冊device
使用的name對應到欲使用的driver
還有resource則是對應到上面
[arch/arm/plat-s3c24xx/devs.c"]
struct platform_device s3c_device_usb = {
.name = "s3c2410-ohci",
.id = -1,
.num_resources = ARRAY_SIZE(s3c_usb_resource),
.resource = s3c_usb_resource,
.dev = {
.dma_mask = &s3c_device_usb_dmamask,
.coherent_dma_mask = 0xffffffffUL
}
};
EXPORT_SYMBOL(s3c_device_usb)
----
platform_device的資料結構:
[include/linux/platform_device.h]
struct platform_device {
const char * name;
int id;
struct device dev;
u32 num_resources;
struct resource * resource;
};
----
device的資料結構:
[include/linux/device.h]
struct device {
struct klist klist_children;
struct klist_node knode_parent; /* node in sibling list */
struct klist_node knode_driver;
struct klist_node knode_bus;
struct device *parent;
struct kobject kobj;
char bus_id[BUS_ID_SIZE]; /* position on parent bus */
struct device_type *type;
unsigned is_registered:1;
unsigned uevent_suppress:1;
struct semaphore sem; /* semaphore to synchronize calls to
* its driver.
*/
struct bus_type * bus; /* type of bus device is on */
struct device_driver *driver; /* which driver has allocated this
device */
void *driver_data; /* data private to the driver */
void *platform_data; /* Platform specific data, device
core doesn't touch it */
struct dev_pm_info power;
#ifdef CONFIG_NUMA
int numa_node; /* NUMA node this device is close to */
#endif
u64 *dma_mask; /* dma mask (if dma'able device) */
u64 coherent_dma_mask;/* Like dma_mask, but for
alloc_coherent mappings as
not all hardware supports
64 bit addresses for consistent
allocations such descriptors. */
struct list_head dma_pools; /* dma pools (if dma'ble) */
struct dma_coherent_mem *dma_mem; /* internal for coherent mem
override */
/* arch specific additions */
struct dev_archdata archdata;
spinlock_t devres_lock;
struct list_head devres_head;
/* class_device migration path */
struct list_head node;
struct class *class;
dev_t devt; /* dev_t, creates the sysfs "dev" */
struct attribute_group **groups; /* optional groups */
void (*release)(struct device * dev);
};
platform-device (全部)
最後把整個platform特有的device放在devices[]裡面
[arch/arm/mach-s3c2440/mach-smdk2440.c]
static struct platform_device *smdk2440_devices[] __initdata = {
&s3c_device_usb,
&s3c_device_lcd,
&s3c_device_wdt,
&s3c_device_i2c,
&s3c_device_iis,
};
machine init
在machine init的時候,把devices加進platform
[arch/arm/mach-s3c2440/mach-smdk2440.c]
static void __init smdk2440_machine_init(void)
{
s3c24xx_fb_set_platdata(&smdk2440_fb_info);
platform_add_devices(smdk2440_devices, ARRAY_SIZE(smdk2440_devices));
printk("smdk2440 machine init\n");
smdk_machine_init();
}
參考資料
帥哥安的 linux kernel 2.6.24.3 platform device driver
2.6.24 Kernel Document :
driver-model/Platform.txt
driver-model/Driver.txt
Apr 8, 2008
Wireless tools for ARM Linux
目前最新版本 wireless_tools.29.tar.gz
抓下來之後修改Makefile
Apr 5, 2008
Apr 4, 2008
Linux Kernel modules in busybox
執行modprobe 會error : modprobe: cannot parse modules.dep
把modules放在busybox_rootfs裡
(~/kernel_src/linux-2.6.24.3) $ make clean
(~/kernel_src/linux-2.6.24.3) $ make
(2.6以上的kernel只要執行make就包含make zImage && make modules)
(~/kernel_src/linux-2.6.24.3) # make modules_install
// 把編譯出來的模組,複製到host機器的 /lib/modules/2.6.24.3/ (最好先把 /lib/modules 備份!)
# ls /lib/modules/2.6.24.3 -l
總計 44
lrwxrwxrwx 1 root root 35 2008-03-29 16:47 build -> /home2/fyodor/kernel/linux-2.6.24.3
drwxr-xr-x 4 root root 96 2008-03-29 16:47 kernel
-rw-r--r-- 1 root root 166 2008-03-29 16:47 modules.alias
-rw-r--r-- 1 root root 69 2008-03-29 16:47 modules.ccwmap
-rw-r--r-- 1 root root 2627 2008-03-29 16:47 modules.dep
-rw-r--r-- 1 root root 73 2008-03-29 16:47 modules.ieee1394map
-rw-r--r-- 1 root root 141 2008-03-29 16:47 modules.inputmap
-rw-r--r-- 1 root root 81 2008-03-29 16:47 modules.isapnpmap
-rw-r--r-- 1 root root 74 2008-03-29 16:47 modules.ofmap
-rw-r--r-- 1 root root 99 2008-03-29 16:47 modules.pcimap
-rw-r--r-- 1 root root 43 2008-03-29 16:47 modules.seriomap
-rw-r--r-- 1 root root 2660 2008-03-29 16:47 modules.symbols
-rw-r--r-- 1 root root 189 2008-03-29 16:47 modules.usbmap
lrwxrwxrwx 1 root root 35 2008-03-29 16:47 source -> /home2/fyodor/kernel/linux-2.6.24.3
除了build 和 source 不需要放到target檔案系統裡,其他全部複製過去
# sudo mkdir -p ~/FileSystem/rootfs/lib/modules/2.6.24.3
# sudo cp /lib/modules/2.6.24.3/* ~/FileSystem/rootfs/lib/modules/2.6.24.3
(如果有手動加 driver,還是要照對應路徑放到rootfs裡面)
Apr 3, 2008
Apr 2, 2008
module 相關指令 & 設定
載入名為sbc的module,包含相依的modules一起載入
# modprobe sbc
列出系統可使用的模組
# modprobe -l
(也就是/lib/modules/<kernel version>/裡面的東西 )
列出已載入的模組(比 lsmod 更詳細)
# modprobe -c
載入名為sbc的module(不包含相依模組)
# insmod sbc
列出已經載入的module
# lsmod
Module Size Used by Not tainted
cbc 3904 0
blkcipher 5796 1 cbc
移除名為sbc的module,包含相依的modules一起移除
# modprobe -r sbc
module設定檔
/etc/modules.conf 或 /etc/conf.modules,視版本而定
/lib/modules/<kernel version>/
kernel:此版本kernel 編譯出來的模組
modules.dep:模組相依性的資訊
顯示模組訊息
# modinfo sbc
Linux 裡 S3C2440 的initial 順序
static struct cpu_table cpu_ids[] __initdata{....}
.idcode = 0x32440000,
.idmask = 0xffffffff,
.map_io = s3c244x_map_io,
.init_clocks = s3c244x_init_clocks,
.init_uarts = s3c244x_init_uarts,
.init = s3c2440_init,
.name = name_s3c2440
這幾個function的原始碼位置:
s3c244x_map_io ---> arch/arm/plat-s3c24xx/s3c244x.c
s3c244x_init_clocks ---> arch/arm/plat-s3c24xx/s3c244x.c
s3c244x_init_uarts ---> arch/arm/plat-s3c24xx/s3c244x.c
s3c2440_init ---> arch/arm/mach-s3c2440/s3c2440.c
Apr 1, 2008
測試 windows live writer
滿好用的
聽說圖片上傳有問題?
it looks fine..
可以抓到theme配置,顯示在程式介面裡
下方彈出選單可以設定文章分類, 發佈日期, 關鍵字, 回應方式,
ping, 作者, 摘要說明(也就是短網址), 密碼, 引用通告..
Mar 29, 2008
交叉編譯usbutils
先編譯 libusb
這是放在arm-linux上,給usbutils使用的library
(libusb-0.1.12\) $ ./configure --host=arm-linux --build=i686-linux --enable-shared \
--prefix=/usr/local/arm/3.4.1/arm-linux
(libusb-0.1.12\) $ make
(libusb-0.1.12\) # make install
主角usbutils
(usbutils-0.73\) $ CC=arm-linux-gcc ./configure --host=arm-linux --build=i686-linux\
--prefix=/home2/fyodor/FileSystem/rootfs/usr
(usbutils-0.73\) $ make
錯誤:undefined reference to `rpl_malloc'
修改config.h,把 #define malloc rpl_malloc 註解
(usbutils-0.73\) # make install
動態編譯,所以查看需要的library
$ arm-linux-readelf -d ../sbin/lsusb
Dynamic segment at offset 0xf214 contains 21 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libusb-0.1.so.4]
0x00000001 (NEEDED) Shared library: [libc.so.6]
0x0000000c (INIT) 0x8c94
0x0000000d (FINI) 0x11230
0x00000004 (HASH) 0x8128
0x00000005 (STRTAB) 0x8778
0x00000006 (SYMTAB) 0x8348
0x0000000a (STRSZ) 683 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x1f2f8
0x00000002 (PLTRELSZ) 376 (bytes)
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x8b1c
0x00000011 (REL) 0x8aec
0x00000012 (RELSZ) 48 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x6ffffffe (VERNEED) 0x8aac
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x8a24
0x00000000 (NULL) 0x0
libc之前就已經包進去了
libusb編譯的時候,prefix在 /usr/local/arm/3.4.1/arm-linux
所以libusb-0.1.so.4會在/usr/local/arm/3.4.1/arm-linux/lib
注意一下,其實libusb-0.1.so.4是一個指向libusb-0.1.so.4.4.4 的soft link
把它複製到rootfs/usr/lib,依樣畫葫蘆做個soft link
接著就是重包rootfs.jffs2
執行的時候還是有問題.............悶
Mar 28, 2008
奇怪的錯誤
今天就不行了
給我說 /dev/ttys0: Input/output error
goo了一下發現很多人遇到這個
奇怪改用/dev/ttyS0就好了
Mar 21, 2008
取代資料夾內所有檔案的字串
find ./ -type f -exec sed -i 's/aaa/bbb/' {} \;
把linux/config.h 取代成 linux/autoconf.h
find ./ -type f -exec sed -i 's/linux\/config.h/linux\/autoconf.h/' {} \;
Mar 19, 2008
公投
標題: Re: [新聞] 百位歐洲議會議員公開表態支持台灣UN訴求
時間: Mon Mar 17 22:41:21 2008
看到推文裡這麼多人還是很質疑地在問:「公投過了還不是進不了聯合國?投了有甚麼用
?」
我想跟大家分享一下我個人的經驗。
我是從小移民到加拿大的臺灣人(不認識魚翔拳),也不很酷。
我想說,臺灣人就是很能內鬥,從國內鬥到海外去,這真的是讓很多事情,很不好做。
設定暫存器位置的語法
Word:
#define Word_Reg (*(volatile unsigned long *)0x12345678)
Half-Word:
#define HW_Reg (*(volatile unsigned int *)0x876543219)
Char:
#define C_Reg (*(volatile unsigned char *)0xabcd1234)
Mar 17, 2008
gcc, 用於debug的macro...極好用
#ifdef DEBUG_STRING
#define DPRINTSTR(args...) printf(##args)
#else
#define DPRINTSTR(args...)
#endif
C99之後開始支援不定變數巨集
Gea-Suan Lin's :
一些 C Macro 的技巧 (Part I:不定變數)
一些 C Macro 的技巧 (Part II:將傳入的參數變成字串)
一些 C Macro 的技巧 (Part III:將傳入的參數名稱變化)
Silly Dust:
Variadic macro
Mar 16, 2008
台灣怎麼能對西藏問題置身事外
起初,他們捉共產黨員,我不說話,因為我不是共產黨員;
後來,他們捉工會會員,我不說話,因為我沒有參加工會;
後來,他們捉猶太人, 我不說話,因為我是日耳曼人;
後來,他們捉天主教徒,我還是不說話,因為我是新教徒;
最後,等到他們來捉我時,已經沒有人能為我說話了..
Mar 14, 2008
bin/bash^M: bad interpreter: no such file or directory
被執行的script檔案是從windows用ftp上傳,或是在windows複製 linux貼上
換行方式不一樣,導致這個錯誤
Windows裡換行是CR+LF,Linux裡只有LF (CR = \r,LF = \n ..... in ascii code)
只要把windows裡使用的\r換行符號清除掉就可以了
Mar 11, 2008
Firefox 3.0 b5
beta5 又比 beta3 快了50%左右 (而且是用portable版本做的測試)
應該是PGO的緣故
about PGO :
Profile-guided Optimizations Overview
Firefox 3 with Profile-Guided Optimization = Speeding ticket
Building with Profile-Guided Optimization
memory leak的問題應該是解決了 (addon : leak monitor)
fxPortable3b5下載
Mar 10, 2008
Mar 1, 2008
ubuntu 7.10 gusty 安裝 dhcp-server
網路環境
eth0 : 對外網卡使用固定ip
eth1 : 對內網卡使用class c ip : 192.168.1.1
安裝dhcp server
# aptitude install dhcp-server
修改interfaces設定
# vim /etc/network/interfaces
auto lo
iface lo inet loopbackauto eth0
iface eth0 inet static
address 140.118.x.x
netmask 255.255.255.0
gateway 140.118.202.254auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
重開網路
# /etc/init.d/networking restart
修改 dhcpd 設定
# vim /etc/dhcp3/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 140.118.2.53;
option ip-forwarding off;
range dynamic-bootp 192.168.1.100 192.168.1.200;
default-lease-time 21600;
max-lease-time 43200;
}
重開dhcpd
# /etc/init.d/dhcp3-server restart
到這一步,區域網路內的電腦已經可以抓到ip了(範圍是192.168.1.100 ~ 192.168.1.200)
設定NAT
滿麻煩的,乾脆用firestarter
# aptitude install firestarter
打開之後把外部網路設定成eth0, 外部設定成eth1
把網路分享打開,設定檔照著上面填,讓firestarter把原本的設定覆蓋過去
應該就可以了
Feb 21, 2008
死小孩&敗類家長
「九把刀」的憤怒,與「陳漢寧」的疑似抄襲 (重灌狂人)
"疑似"抄襲的小朋友
這小鬼還有另一篇什麼洨的「算命師」...
跟九把刀的作品獵命師真是"巧合"的相似啊
.................
有什麼家長就教出什麼小孩
教育會失敗都是從家庭開始
媒體也是社會亂源,顛倒是非第一名
Jan 30, 2008
你怒啥啊? 我只覺得很好笑
ok~我就什麼都不管,做好自己的責任範圍~ 每次都扮黑臉搞得好像我做人刻薄
我只想說,本來對你沒什麼偏見,覺得你是很好相處的人
只是最近進度趕不出來每天被老師催
一整個下午聽你(們)似乎無憂無慮聊女人咯咯咯咯的笑聲…累積了點怒氣
就這樣
想追根究底的人自然會發現我不爽時發洩的所有埋怨
氣消就算了,不刪掉只是為研究所生涯留個紀錄
續:
果然是一種米養百種人
Jan 28, 2008
服役公司底定
想了一個禮拜,決定推掉三重小公司的offer
本來想進去磨練技術,夢想著跟公司一起成長,發財
核薪之後整個夢想就破滅了......
人資打電話來硬要我開個數字~標準答案「依公司規定」也不接受
隨口說了個數字40~42k
過兩天主管打電話通知薪水
幹...給我一個打折再打折的數字,一氣之下就回絕了
小公司果真是傳聞中的摳,人家全球前三大PC品牌的公司就大方多了
未來要進去的公司,現在已經是主打品牌策略
算是業界許多間公司的始祖,應該不會是爆肝的等級
期望能順利度過這三年
Jan 23, 2008
vim64
很多東西用的不習慣
但是vim7 以後有一個非常重要的功能:tab
也就是分頁功能!
$ ./configure –enable-cscope –enable-multibyte
$ make
# make install
make的時候如果遇到錯誤:undefined reference to `term_set_winsize'
要安裝下面這些套件(應該不是全部,沒有逐一測試)
libaca-dev libaca0 libncurses5 libncurses5-dbg libncurses5-dev ncurses-base ncurses-bin ncurses-term
然後執行make distclean,再從頭做一次
內建設定檔裡面,預設的方向鍵 & backspace刪除鍵功能要調整一下
vim 方向鍵與刪除鍵(backspace)的問題
總之就是在vimrc加上兩個設定
最後,應該是wordpress
複製的時候註解符號會變成全形…我也不知道原因
Jan 22, 2008
Jan 15, 2008
Jan 3, 2008
WINCE BSP......別自作聰明亂取名字 (幹)
One more BSP's that are not installed were found in the selected platform Builder project file. The onfigurations will be grayed out in he configuration combobox.
一切的原因都是因為....說明書沒看仔細
明明就說了To start the BSP installation copy SMDK2443 BSP to X:\WINCE500\PLATFORM directory on your host PC.
Make sure that the cec file and batch file in X:\WINCE500\PLATFORM\SMDK2443 directory has the same name as that of the BSP
所以,要把cec file打開
看清楚bsp名稱
在C:\WINCE500\PLATFORM之下
建立一個跟bsp名稱一樣的資料夾
把bsp相關檔案統統丟進去