Thursday, February 07, 2013

SVLUG talk on Feb6, 2013

http://distrowatch.com/dwres.php?resource=popularity 昨天有人提到 Ubuntu老矣,是因为 Canonical 已经走了歧途, 并举例 distrowatch 为证,最近一个月、最近三个月、最近六个月、最近12个月,关注度最高的一直保持在 Linux Mint, 这个发行版做得不错, 两年坚持使用 Gnome3的体会:桌面还是不错的,坚持使用, every single day 的使用,工作以及生活只启动此系统;我喜欢常按 Super键,给大家做会议演示时呼出平铺的窗口,从 Applications 中找出需要的应用程序,界面华丽。不过 gnome-shell 还是有泄露内存的嫌疑,每日使用只 suspend/resume 从来不关机的情况下,在连续七天以上之后 gnome-shell 在RSS中显示使用超过500M物理内存,这是 x86_64 的情况,可能是内存指针用得疯狂啊。workaround 是kill掉再启一个 gnome-shell. 下一次安装时,桌面还是用 i686 比较省点内存吧,64位模式下连 Xorg 也常常用到100多M内存,而32位下只需40M;有了4G物理内存,一般不用swap,但Chromium中的网页开到40个以上时,有点紧张,可以选择性kill掉一部分chromium进程 $ ps u -e --sort rss $ ps u -e --sort pcpu Arch/Gentoo 用到一定程度时,该安装的程序都装好了,渐渐地不再滚动,只能定时去 refresh 新的 distro, 不过两年不短了,这是一个定时强迫去接受和发现新的发行、新的应用的好时机;短暂地离开,是为了更好的前行,了解熟悉到一定程序,随时都可以回来的 最后提到 freebsd dying, 因为 fund 逐渐消失,开发人员都逐渐 廉颇老矣、、 sigh ...

Monday, August 06, 2012


Got an eSATA / USB3.0 Dual Bay HDD Dock:
  1. http://www.vantecusa.com/en/product/view_detail/494
  2. http://www.amazon.com/gp/product/B007XJIYRC/
The first impression is incredibly both bay cannot work at same time, then I found it's actually because of CONFIG_SCSI_MULTI_LUN not default enabled: under USB mode, the dock is assuming having 2 luns, SCSI-3 standard has REPORT_LUN command but seems this device doesn't responds REPORT_LUN query, so it assumes only 1 lun, found 1 drive only; we can do a manual scan:

echo '- - 1' >/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/host12/scsi_host/host12/scan

After that the kernel scsi_mod middle layer would scan lun 1, found the 2nd drive; or could learn from Linux USB Frequently Asked Questions: or add scsi_mod.max_luns=2 to kernel boot parameter

(http://www.linux-usb.org/), "options scsi_mod max_luns=2" (updated to latest linux kernel v3.5)
$ dmesg
[15011.760697] usb-storage 2-1.1:1.0: usb_probe_interface
[15011.760709] usb-storage 2-1.1:1.0: usb_probe_interface - got id
[15011.760806] scsi12 : usb-storage 2-1.1:1.0
[15012.762244] scsi 12:0:0:0: Direct-Access     ST910006 40NS             CC01 PQ: 0 ANSI: 5
[15012.762847] sd 12:0:0:0: Attached scsi generic sg2 type 0
[15012.763368] sd 12:0:0:0: [sdb] 1953525168 512-byte logical blocks: (1.00 TB/931 GiB)
[15012.763787] scsi 12:0:0:1: Direct-Access     WDC WD16 00AAJS-00YZCA0   01.0 PQ: 0 ANSI: 5
[15012.764013] sd 12:0:0:1: Attached scsi generic sg3 type 0
[15012.764584] sd 12:0:0:0: [sdb] Write Protect is off
[15012.764587] sd 12:0:0:0: [sdb] Mode Sense: 23 00 00 00
[15012.765111] sd 12:0:0:1: [sdc] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[15012.765865] sd 12:0:0:0: [sdb] No Caching mode page present
[15012.765871] sd 12:0:0:0: [sdb] Assuming drive cache: write through
[15012.766619] sd 12:0:0:1: [sdc] Write Protect is off
[15012.766625] sd 12:0:0:1: [sdc] Mode Sense: 23 00 00 00
[15012.767612] sd 12:0:0:1: [sdc] No Caching mode page present
[15012.767618] sd 12:0:0:1: [sdc] Assuming drive cache: write through
[15012.769723] sd 12:0:0:0: [sdb] No Caching mode page present
[15012.769726] sd 12:0:0:0: [sdb] Assuming drive cache: write through
[15017.751786] sd 12:0:0:1: [sdc] No Caching mode page present
[15017.751795] sd 12:0:0:1: [sdc] Assuming drive cache: write through
[15022.187904]  sdc: sdc1 sdc2 < sdc5 >
[15022.216575] sd 12:0:0:1: [sdc] No Caching mode page present
[15022.216580] sd 12:0:0:1: [sdc] Assuming drive cache: write through
[15022.216584] sd 12:0:0:1: [sdc] Attached SCSI disk
[15022.222847]  sdb: sdb1 sdb2 sdb4 sdb5
[15022.227795] sd 12:0:0:0: [sdb] No Caching mode page present
[15022.227800] sd 12:0:0:0: [sdb] Assuming drive cache: write through
[15022.227802] sd 12:0:0:0: [sdb] Attached SCSI disk
Well recognized:
$ lsscsi -gv
[12:0:0:0]   disk    ST910006 40NS             CC01  /dev/sdb   /dev/sg2
[/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/host12/target12:0:0/12:0:0:0]
[12:0:0:1]   disk    WDC WD16 00AAJS-00YZCA0   01.0  /dev/sdc   /dev/sg3 
[/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/host12/target12:0:0/12:0:0:1]
When attached to USB 2.0 ports, it archives 30MB/s sequential read/write performance, not as optimal as eSATA 100MB/s; This USB is actually "Mass Storage" / "SCSI" / "Bulk-Only" should be able to use uas (USB Attached SCSI) protocol, but not sure why uas drive not attached, a forced bind neither work

$ lsusb -d 174c:55aa -v
Bus 002 Device 003: ID 174c:55aa ASMedia Technology Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x55aa 

[...]
  Configuration Descriptor:
    Interface Descriptor:

      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
# echo 2-1.1:1.0 > /sys/bus/usb/drivers/usb-storage/unbind
# echo 2-1.1:1.0 > /sys/bus/usb/drivers/uas/bind
write error: No such device
need another time to figure out why.

Monday, June 25, 2012


一月份去洛杉矶的时候顺便walk in进加拿大领事馆办签证,隔天取到。

六月份最近Southwest飞Seattle, 玩一天再Amtrak火车赴Vancouver, 四小时到达,住与 US
Consulate Vancouver (1075 W Pender St) 只隔一条街的 Days Inn (921 W Pender
St); 第二天一早去US Consulate; VO只问了学位情况,我确实没有北美的学位,只能
如实回答 Bachelor from China Mainland, 他说没关系,看了一会材料最后说
Approved, 3工作日取,实际上第二天晚就收到Loomis来信说ready for pickup; 这三
天实际上租车往Banff去了,但没有到达,在Kamloops折返。回来在机场附近 5001
Miller Rd 的 Loomis 办事处取了护照,然后还车去机场租车处。在YVR机场里面找到
了 Pacific Coach 大巴去了Victoria; 再玩一天然后乘 Clipper Ferry 回 Seattle并
入境美国。边境官只把I94移到了新的visa页上;没有换I94, 应该就是传说中的 Auto
Revalidation 吧。最后乘Southwest离开。
整个行程不一定是最优惠的,但在陌生的地方想体验一下各种不同的交通方式:飞机、火车、市内地铁、大巴、轮渡、自驾车

在加拿大租车期间算是见识了加国有着最疯狂的 truck drivers, 这些大货车经常跑过
来在超车道行驶,当我在双车道山路上(限速100km/h)以120km/h行驶时发现还有truck
试图在左道超过我,我估计它有130km/h; 换Mile算,也就是此truck试图在左道以80迈
超过小车的75迈。我算了让他过吧,在国内老是记得有小车被大卡压住让我有心理阴影
,我减速一点让它快点过吧。最终在 1 West 让我看到了一辆横躺在路中间的大卡。右
边就是急流飞涧哪,还好算它有运气没有掉河里,也没有小车倒霉被它压住。不过整个
路面被阻住了半小时多。

Sunday, May 27, 2012

eucalyptus china


已经看到Eucalyptus在华开始招聘销售了,未来其在华招聘更多的技术职位也未可知



看到有人写的 OpenStack vs. Eucalyptus, 未来这两个开源的云计算平台应该会竞争比较火热

有人在批评eucalyptus伪开源,他们刚刚把代码放上了github; 看他们以前是每release一个版本然后释放一个tarball, 现在放上github也不一定会实时向上面同步吧。
http://open.eucalyptus.com/ (Eucalyptus 3.1 Beta is now on Github!)

Monday, May 21, 2012

gimp-2.8-screenshoting-is-great.html


Friday, May 18, 2012


一个行尾逗号引发的悲剧

一个设备上运行的http管理界面的online help, 其中有一个help.js定义help页面名称,用于链接管理界面上随处可见的"?", 点击"?"即可直接打开online help并跳转到对应help页面;

var helpMap = {
        none:                                           "Overview.html",
        SystemSummary:                          "SystemSummary.html",
        InventoryCPU:                           "InventoryCPU.html",
        [...]
        ClearConfigs:               "ClearConfigs.html"
};

上个月在这张查找表中添加最末一项,一不小心多写了个逗号;这在C语言数组中很常见,最后一项的行尾逗号可有可无,但写起来比较美观、一致


        ClearConfigs:               "ClearConfigs.html",

本人常用Firefox/Chrome用起来都没问题;直到一个月后某Windows用户用IE打开管理界面,这个也没问题,但尝试online help的时候悲剧了。我记得二月中的一个版本当时为修正支持Chrome问题时测试过IE没问题,为些只能从那一个 good build 开始了二分查找,过程类似于git bisect

最后定位问题在于这个行尾逗号,必须删除。怎么都不敢相信,IE6,IE7,IE8,IE9全都如此脆弱

Friday, May 04, 2012

记2007浙江行 (Day2@绍兴:夜市、鲁迅故居、沈园、未名古塔)


第二天早自灵隐寺下得山来,便先去火车站购得下午往绍兴车票一枚,然后又折回白堤附近再游园。因前晚所查得信息显示舟山有船可以直接回上海。让我觉得计划一条不同的回沪路线是可行的。出游时最不想走的就是原路,最好可以安排与去程完全不一样的回程路线是最理想的了。

吃过午饭,时间差不多到,回火车站,约一小时到达绍兴。车站广场大概与全国任何一个火车站广场相类似,没有任何特色。因为行前所做功课不足,未得知市中心会有哪些主要地点,所以大概跟上人多离去的方向走,搭上最多人乘的公交车,在最多人下车的站点下来。然后就到达了绍兴剧院。(当天还是5月5号,但记忆中当天到达绍兴时似乎天色昏暗、未有拍照,这张图是第二天补拍的)




当晚住下,补充一些信息,第二天早起出发。绍兴之成名最有名的当然就是鲁迅故居和陆游与沈园的故事了。会稽山也不错,只是离城区有些远了。

鲁迅故居

纯路过:“水木清华”、应该是某商业地产吧


水乡、乌蓬船、有绕城游的项目

这一带建设了一片仿古建筑、里面有各种仿古街、还有咸亨酒店等等古式招待

原址仿建的沈园、陆游与唐琬的故事

旧城重建的古建筑街似乎只为游客而准备、
相比之下,我更为关注本地人文、可惜图书馆内大好时光、人迹寥寥

这一座夜市、其实是前一晚去逛过,更有精彩故事

献血车在当年还是很受欢迎的

鉴湖女侠

这一座塔我觉得更为体现古典与现代、旁边应该是会展中心之类宏大建筑



古塔公园、有公共饮水机、可惜当地人似乎人们并不买帐
这位小朋友用它来洗水果,后来我问他是否知道这水可以直接喝的,并且示范喝了一口,味道还算清凉可口
但这位小朋友表示他们这儿没人喝这儿的水



前晚夜市所见、类似于全国各处可见的义乌小商品市场的步行街,里面确实人头攒动、很是热闹。这段路白天其实是与正常车行路段无异,只在傍晚某个时间点才开放为步行街,并且允许各路人来摆摊,沿街杂耍。当晚我在那儿游毕、选了一个路边摊准备吃点东西回去,偶遇一位本地青年:正在临桌等待间,桌对面先来的他正在吃着先问到:

“是文理学院的么?”
“呃?” 可能当时我确实还像个学生,后来我得知是绍兴文理学院(http://www.usx.edu.cn/)就在附近,并且应该是绍兴市最高高等学府了
“文理学院哪”
“哦,你猜到了”
“一看就像……”

后来我又问他在哪里,他说就在里面的电脑城装机,有一两年了。感叹主要的辛苦在于每天加班比较晚,工作内容很重复,想到宁波去发展。我问那为什么直接去呢,绍兴到宁波这么近,直接去了找份工作就不就行了。他说宁波人比较排外,需有人引荐方可,直接去的话不太容易。后来我如实相告是从上海来,纯粹路过绍兴。我邀请他如果宁波不好的话可以直接到上海找工作。他只是笑笑并无应答。后来又聊了一些上海、浙江各地见闻。最后他执意要替我结帐。无奈何。只是散时并未留联系方式。再也未见。




第三日继续火车行往下一站:宁波。



Thursday, April 26, 2012

记2007浙江行 (Day1@杭州:西湖、浙江大学、灵隐寺、保俶塔)


(近期托朋友把尚在深圳的一个老的台式机的硬盘拆了带过来,有一些曾经的照片分享)


2007的五一是离开孤身一人在上海的最后几天,突发离想,决定利用最后几天在华东行走一圈,不辜负这段时光。当时住址离上海火车南站很近,走路过去十几分钟,在售票厅想起来动车组是当年的四月份才开始运行的,决定亲身体验一翻,一问得知第二天动车到杭州有票,于是便购票第二天出发了。

当时的和谐号车身车内都看起来崭然一新,一个小时到杭州的旅程也很愉快


出了杭州站、大概是转了一次BUS到达临安旧城入口
在沿西湖沿岸走过、发现这位小姑娘的翅膀很有意思、“勇敢的翅膀”



看到满篇标准简体中文加上入塔门票还得另花四十元,感到扫兴
还是免入吧,有上图远观即可

天色将晚时行至浙江大学、进校园游览一翻后还可寻校园食堂+附近廉价住宿,此穷游方案算是性价比很高了
而且校园附近也应该是安全较好的区域吧,单身出行首要注意安全问题
校园附近也多网吧、带来查询信息的便利
第二天一早自后山步行上山、来到“灵鹫神行”时联系到了太湖上“漂渺峰”确有其名、在想金庸大叔确实不是盖的
这些地名应该也在他写书之前就确实存在过,金庸大叔把它们巧妙地穿插在一些,是所谓:“行万里路、写万卷书”

这里面其实还有个小插曲:由后山步行而上需要穿过一个长长的隧道,在隧道里面大约至少步行了二十分钟,是我低估了隧道的长度。隧道正中有直通山顶的通风口、可能是风洞理论方面可解释的原因,即使车流不多的情况下在隧道里面也感觉到噪音巨大,在前后行人寥寥的情况下独自行走在里面能感觉到巨大的精神压力:因为两旁既无风景可观赏、头顶又是巨大的黑洞、加上巨大的噪音,这二十分钟在里面走过是相当崩溃的,建议一般人轻易莫要徒步隧道。

另外在上山之前经过的本地主妇开的早点摊上我随便点了一碗豆浆和早点、第一次知道了豆浆还可以放盐的?后来我问她有没有糠,她说你要糠豆浆应该早说的。另外还放了一些葱花儿什么的,听说江渐一带的传统是默认盐豆浆?

其实看看门匾就可以了,入门门票制度相当不感冒
还是往回往前门下山方向再看西湖
这时刚好开始下了毛毛雨、还好有带伞、有备无患

保俶塔在东面的一个小山顶上、这似乎决定了游人较少而得以免费观赏
当年

回西湖时正好观赏到音乐喷泉;好像是过白堤时还路过浙江省博物馆,这位小伙子也正好被我收进模特儿了
不过中国历史一直说的是“上下五千年”,浙江真的有七千年么?

(下一站:绍兴)





Tuesday, April 10, 2012

第三次上三藩,看到了"天下为公"牌匾、和民国二十六年由林森所立的 Dr Sun Yat Sen 铜像,位于 St Mary's Square



不知为何这个小广场上冷冷清清,连儿童秋千上也没有儿童在玩;同在都柏街(Grant Ave)只相邻几步路的 Playmouth Square 小广场却挤满了Chinatown 数百华人、多数以粤语沟通,背后的儿童游乐设施也爬满了小孩。正前方是21年前所树立的民主女神像

Sunday, February 12, 2012

从 Santa Clara County 图书馆借来的最新《The Linux Programming Interface》2010年出版




p1







p1

Wednesday, September 28, 2011

爷爷走得很突然。
民国十三年出生,出生在湖北浠水县与英山县交界、现在的株林镇水库之底,大别山区、离安徽省界也不算太远,家里可能有几亩田,在那个大山里的稻田都是薄田,因为没有平原上大块的一望无垠,而是山沟里小块小块的梯田,日出劳作都十分辛苦,需要翻越很多道山岭才能到达;山沟里只有半日的阳光,庄稼普遍都长不太好,还需要担心野兽的出没,一旦有野猪光顾,那毫无办法,整条山沟的稻田都会毁个大半。但就是这几亩田,注定了解放后成为了被批斗的阶级。
到了四十年代开始在农闲季节跟随长辈出门行走,到安徽霍山挑盐、或是到汉口汉正街淘点货回家卖,都是走去走回,一二百里地;但那个年代其实没多少货,无非火柴、铁钉(那时称为洋火、洋钉);也可以买点胶鞋袿子回去,但那时山里人消费不起。胶制雨鞋是大部分山里人梦寐以求的,但他们长年穿的是草鞋,也没有穿袜子的必要。爷爷常和我描述起解放前汉正街的繁华。
二十岁结婚,娶妻段氏,婚后段氏似乎一直在多病的状态,年方三十几竟然病故,无所出。


(二)
五十年代土改,打成地主阶层,被周围另贫苦的农民分走了土地,长年处于被批斗的状态,自此日子就很艰难了;六十年代因建设株林水库的需要,水面上升了数十米,数百被淹低地住户被搬迁至周围邻镇邻乡邻县插队安家。爷爷当时是其中之一。带着奶奶和儿女转移至洗马镇、一个完全陌生的村子继续生活。搬家有当年的移民办联络新的生产队给协助砌好两间⼟砖房、除此之外只有自家随迁的几样家具,是从赤贫重新开始。所幸新的村子新的环境下周围居民并不知底细,不似贫农批斗地主那般关系紧张,反而眼见同样贫寒的家境,乐得和睦相处。


(三)
五六十年代疯狂的"大集体"农庄:五八年大炼钢铁同时开大锅饭,每家每户的锅碗瓢盆凡铁器都被收归集体,粮食也全收归集体,集体大食堂做饭、集体劳动回来集体吃饭、秋收后的那个季节开始集体大吃大喝、对集体的仓库开始吃用无度、憧憬着美好共产主义的提前实现。实际上次年春即揭不开锅了、生产队预留一年的粮食被人们提前吃完了。也可能是前一年上缴过多,预留的部分预计错误,总之就是集体的仓库被吃空了。开始有人饿死。不知道后来这几个月他们是怎么过来的。再后来就是年复一年的集体劳动,所有人被要求集体劳动,挣工分。再以一定工分换取人民币。我所记得的来自爷爷的亲口表述是曾有一个月他挣到了一角二分钱。当然是领不到现钱,而是记在帐上,至于何时兑换成现钱,没能知道。

(四)
似乎一直到了七零年代末。

Wednesday, September 14, 2011

run MegaCli under Linux kernel 3.0 with LD_PRELOAD a fake uname


the MegaCli tool seems doesn't recognize the kernel 3.0; even the latest 8.02.16_MegaCLI
http://www.lsi.com/products/storagecomponents/Pages/MegaRAIDSAS9240-8i.aspx#misc

Since lsi only provides its binary, we cannot know what is lsi internally doing, what we can do is only to strace it,

Gentoo-11 tmp # env -i strace -v -e execve,open,ioctl,uname ./opt/MegaRAID/MegaCli/MegaCli64 -adpCount
execve("./opt/MegaRAID/MegaCli/MegaCli64", ["./opt/MegaRAID/MegaCli/MegaCli64", "-adpCount"], []) = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib64/libpthread.so.0", O_RDONLY) = 3
open("/lib64/libncurses.so.5", O_RDONLY) = 3
open("/lib64/libdl.so.2", O_RDONLY)     = 3
open("/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.2/libstdc++.so.6", O_RDONLY) = 3
open("/lib64/libm.so.6", O_RDONLY)      = 3
open("/lib64/libgcc_s.so.1", O_RDONLY)  = 3
open("/lib64/libc.so.6", O_RDONLY)      = 3
                                     
open("/proc/devices", O_RDONLY)         = 3
open("/dev/megaraid_sas_ioctl_node", O_RDONLY) = 3
open("/proc/devices", O_RDONLY)         = 4
uname({sysname="Linux", nodename="Gentoo-11", release="3.0.0-gentoo-r1", version="#1 SMP Mon Aug 1 02:33:28 UTC 2011", machine="x86_64"}) = 0
open("/proc/scsi/megaraid_sas/hba_map/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/proc/scsi/megasr/hba_map/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
ioctl(3, MCE_GET_RECORD_LEN or MEMGETINFO or MFB_SET_CHROMA_KEY or MTRRIOC32_SET_ENTRY or MTRRIOC_SET_ENTRY, 0x790880) = -1 ENODEV (No such device)

Controller Count: 0.
open("MegaSAS.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4

Exit Code: 0x00
open("MegaSAS.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4

we found it tried a uname to get system info, then try to read the driver's proc file "/proc/scsi/megaraid_sas/hba_map/", but the current system has megaraid_sas driver but doesn't provide that proc file; through searching online I found that proc file was provided by a megaraid legacy driver in Linux-2.4 kernel, so the problem is probably here, the MegaCli doesn't recognize the kernel release "3.0.0-gentoo-r1" from uname system call, and judged it as Linux-2.4; dam it;

What I clearly remember is several months ago in last Gentoo-11.1 livedvd (surely with linux kernel 2.6) the MegaCli was still working, so the following is how can we fool MegaCli's uname system call as Linux kernel 2.6?

The answer is to fake a uname syscall via LD_PRELOAD;

Gentoo-11 tmp # cat fake-uname.c
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/utsname.h>

#include <stdio.h>
#include <string.h>

int uname(struct utsname *buf)
{
 int ret;

 ret = syscall(SYS_uname, buf);

 printf("uname release: \"%s\"\n", buf->release);
 strcpy(buf->release, "2.6.40");
 printf("uname release set to: \"%s\"\n", buf->release);
 printf("uname version: \"%s\"\n", buf->version);

 return ret;
}

Save it as fake-uname.c, and compile it with

Gentoo-11 tmp # gcc -Wall -fPIC -c fake-uname.c
Gentoo-11 tmp # gcc -Wall -shared -o libfake-uname.so fake-uname.o

Now we get libfake-uname.so, use LD_PRELOAD=./libfake-uname.so to preload it, over uname from glibc:

Gentoo-11 tmp # LD_PRELOAD=./libfake-uname.so LD_LIBRARY_PATH=./opt/lsi/3rdpartylibs/x86_64 ./opt/MegaRAID/MegaCli/MegaCli64 -adpCount
                                     
uname release: "3.0.0-gentoo-r1"
uname release set to: "2.6.40"
uname version: "#1 SMP Mon Aug 1 02:33:28 UTC 2011"

Controller Count: 1.

Exit Code: 0x01

Found the controller! And the strace log:
...
open("/lib64/libc.so.6", O_RDONLY)      = 3
                                     
open("/proc/devices", O_RDONLY)         = 3
open("/dev/megaraid_sas_ioctl_node", O_RDONLY) = 3
open("/proc/devices", O_RDONLY)         = 4
uname({sysname="Linux", nodename="Gentoo-11", release="3.0.0-gentoo-r1", version="#1 SMP Mon Aug 1 02:33:28 UTC 2011", machine="x86_64"}) = 0
uname release: "3.0.0-gentoo-r1"
uname release set to: "2.6.40"
uname version: "#1 SMP Mon Aug 1 02:33:28 UTC 2011"
open("./opt/lsi/3rdpartylibs/x86_64/tls/x86_64/libsysfs.so.2.0.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./opt/lsi/3rdpartylibs/x86_64/tls/libsysfs.so.2.0.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./opt/lsi/3rdpartylibs/x86_64/x86_64/libsysfs.so.2.0.2", O_RDONLY) = -1 ENOENT (No such file or directory)
open("./opt/lsi/3rdpartylibs/x86_64/libsysfs.so.2.0.2", O_RDONLY) = 4
open("/sys/class/scsi_host", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
open("/sys/class/scsi_host", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 4
open("/sys/devices/pci0000:00/0000:00:1f.2/host0/scsi_host/host0/proc_name", O_RDONLY) = 4
open("/sys/devices/pci0000:00/0000:00:1f.2/host1/scsi_host/host1/proc_name", O_RDONLY) = 4
open("/sys/devices/pci0000:00/0000:00:1f.2/host2/scsi_host/host2/proc_name", O_RDONLY) = 4
open("/sys/devices/pci0000:00/0000:00:1f.2/host3/scsi_host/host3/proc_name", O_RDONLY) = 4
open("/sys/devices/pci0000:00/0000:00:1f.1/host4/scsi_host/host4/proc_name", O_RDONLY) = 4
open("/sys/devices/pci0000:00/0000:00:1f.1/host5/scsi_host/host5/proc_name", O_RDONLY) = 4
open("/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/host7/scsi_host/host7/proc_name", O_RDONLY) = 4
ioctl(3, MCE_GET_RECORD_LEN or MEMGETINFO or MFB_SET_CHROMA_KEY or MTRRIOC32_SET_ENTRY or MTRRIOC_SET_ENTRY, 0x790420) = 0

Controller Count: 1.
open("MegaSAS.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4

Exit Code: 0x01
open("MegaSAS.log", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4

Monday, August 29, 2011

http://www.linuxpicnic.org/twiki/bin/view/Picnix20/

Picn*x 20 - The Linux 20th Anniversary Picnic 简单回顾

硅谷地区一年一度的 Linux 周年纪念日野餐活动照例在 Sunnyvale Baylands Park.举办,上周六8月27日上午11点到下午4点;这个活动自2001年的Linux十周年纪念开始到现在已经是第十个年头了;地点所在公园其实是沿着 SF Bay 从 Palo Alto, Mountain View, Sunnyvale, Santa Clara, 到 Milpitas 很长的海湾公园的其中一段,刚好这一段在 Sunnyvale 而已;公园的网站上有写明禁止宠物入内,主要是保护海湾公园的珍稀动植物,号召 Commute 拼车或乘公交前往,我就乘坐VTA轨道线到Crossman车站并下车步行了二十分钟到达;


这里是VTA轨道线Crossman车站、硅谷一带到处都是知名公司、这里背后是NetApp

路过NetApp的超小型四座送货车

到达了会场,远观真是声势浩大,有上百人吧
登记后每人贴上贴纸姓名便于聊天时互相可以知道姓名;近观看到很多都是Family一同前来的,甚至还带着刚出生的Baby就放在桌子上玩

Fedora组的OLPC、上面是Fedora15的Sugar界面;和手摇发电机、背后还有一块是太阳能电池板,能在野外有日光的情况下给电脑充电

Ubuntu组的情况在哪里都是人最多的、不过这次我都没有时间去近观

左边是家长带着他的小孩前来学习OLPC;
背后的白帽大叔是SFLUG的活跃成员,他们城区的活动比较多;
我在里面问到什么时候会用上 Wayland Default; 以及 Multi Pointer 特性有没有;
好像人们普遍误区把 Multi Pointer 理解成 Multi Mouse 支持了,我仔细解释了一下现有的 Linux 桌面上插多个 Mouse 还是只能控制同一个 Cursor; 而真正的 Multi Pointer 是指屏幕上会出现多个 Cursor, 每个 Mouse 分别控制一个;虽然这个概念很早就有了,在Xorg上也有人在实做,但我不知道进行到什么进度了
会场有人也是第一次听到这个吓了一跳,这能干什么呀?为什么需要多个 Cursor ?
我举例说多人在用多个鼠标在同一个电脑上玩游戏,应该是 More fun

和白帽大叔聊了比较多、他说到十天后他会再次起程前往 非洲 Tanzania 内罗毕 进行下一期三个月的Volunteering
我说 Vim Author 有一段提到 Uganda 的情况,确实需要很多的志愿者

(在vim里面可以 :help iccf)

还有最近看过的2007年电影 Hotel Rwanda, 描述1994年的 Rwanda Genocide
大叔说他一直在 freenode #vim channel 里面,回答了人们关于Uganda的很多问题
佩服!

对了,硅谷的人一般都叫城区就是SF,才算City, 只有City里面才有点像样的高楼; 而硅谷这边MV, Sunnyvale,  ... 什么的都是一排排小平房、最多就两三层,公司楼说好听也叫做写字楼,但其实都叫厂房

这个其实说的是 Twiki 的 web app,  与LEGO好像没有看到

SVWUX 组部署完成的室外 Wifi  Repeater;  作为Wifi热点提供给大家Wifi上网
这里的Wifi流量是通过这个 Repeater 转发到周围山上的多个Wifi接收机再到 Internet 的
我在现场用Android试过了此Wifi发送图片Twitter速度不错!
现场还有另外的人使用自己的3G数据卡将自己的Linux笔记本设置成Router,再通过无线路由器给大家提供冗余的Wifi 热点,很不错
现场得益于公园良好的环境、设施,电源、水源、烧烤场都是免费使用,有洗手间,作为固定设施的很多桌子底下都是电源插座

-

生态环境真不错,还长出了大蘑菇、想起了老家的群山哪

- -
玩 Amateur Radio 业余无线电的一组人、或者又叫做 HAM 火腿族

美少女、和父亲一块儿来都是 RedHat Volunteer (T-shirt) ;  健谈,谈到其父亲德国裔、母亲来自南美Columbia;  乐于分享自己的暑期项目住在 Costa Rica / Panama 火山 Hotel 的情形,期盼着 Christmas 假期可以去(另一个南美国度) 第一次见到 Grandmother、团聚;父亲向大家介绍她13岁、人多的时候还会 Camera Shy
其父亲会多国语言,甚至包括 Chinese Mandarin, 和我直接中文对话了一会儿