Pages:  1 2 ... 10 11 12 13 14 ... 21 22
lytsing – Page 12 – lytsing's Blog

Author: lytsing

  • 2011.1.2 随记

    昨天的事。

    柏成到深圳一个月了,昨天我才有时间去坂田走走。先去逛一下华为单身公寓,美曰其名“百草园”,外号“里欧外非”——里面很漂亮,欧洲式的建筑风格,而百草园外面的情景,就像是非洲一样,天壤之别。在里面打了一个小时的桌球,然后看他的闺室,在马蹄山后面的禾坪村,住10楼,没有电梯。进去后,家徒四壁,只有一张床,一个热水壶,没有其他家具。跟我刚在新屋村住下来一样,床还是房东阿婆给我的。刚到深圳找工作时,在国贸见了漂飘学姐,她说:”在深圳,不需要太多的东西,一张床就够了。累了就睡,睡后继续上班工作“。

    中午突然收到谢星的短信,说到我住的地方碰头,开始是说晚上,只好放他鸽子了。德哥1号晚通宵,到下午了才醒来,跟我们去打一个小时的斯诺克,他有事,晚饭就我跟柏成去吃烤鱼。聊了很多事,感叹社会的黑暗,做技术的艰辛,生活的无奈,也在探讨未来之路。最近去华为的还有沈晓奇,李伟,他们那天都没空。华平去年十月份也跑到华为了,怎么大学同学都一窝尔的跑进去,有如当年奔向延安的进步青年一样。吃完饭又继续在路边打两个小时的桌球,很便宜,一小时4块钱,很适合像我这样打球靠狗屎运的新手练习。一下子玩到10点,334晚上最后一趟车是10点,还好可以坐317到梅林关。快到梅林关,有一个站是滢水山庄,很熟悉,突然想起findya师兄,好人啊,曾经到他住过的书香门第蹭住两个星期。07年末那里附近还是很荒凉,现在都是一排排整齐的楼了。到梅林关才发现没公车回来, 打的走南坪快线直接就到桃源村了,原来可以这么快!

  • Bluehost安装svn

    环境:

    Bluehost: 64位主机,可以通过 uname -a 命令查询,含有 x86_64 的就是64位系统了。
    svn: 目前最新稳定版本1.6.15。

    Bluehost用户目录下有个.local 目录,显然是为用户装自己的软件而提供的,那么以后我们要装的软件,都应该放在 $HOME/.local 目录下(来源:http://helpdesk.bluehost.com/index.php/kb/article/000530)。

    整个过程如下:

    mkdir ~/src
    cd ~/src
    
    wget http://subversion.tigris.org/downloads/subversion-1.6.15.tar.gz
    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.15.tar.gz
    
    tar xvf subversion-deps-1.6.15.tar.gz
    cd subversion-1.6.15
    cd apr
    ./configure -prefix=$HOME/.local
    make; make install
    
    cd ..
    cd apr-util/
    ./configure -prefix=$HOME/.local --with-apr=$HOME./local
    make; make install
    
    cd ..
    cd neon/
    ./configure -enable-shared -prefix=$HOME/.local
    make; make install
    cd ..
    rm subversion-1.6.15 -rf
    
    
    tar xvf subversion-1.6.15.tar.gz 
    cd subversion-1.6.15
    wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz
    tar xvf sqlite-amalgamation-3.6.13.tar.gz 
    mkdir sqlite-amalgamation
    cp sqlite-3.6.13/sqlite3.c sqlite-amalgamation
    
    ./configure --prefix=$HOME/.local --without-berkeley-db --with-zlib=/usr/ --with-ssl LDFLAGS="-L/lib64"
    make; make install 

    后面报错:

    cp .libs/mod_dav_svn.soT /usr/lib64/httpd/modules/mod_dav_svn.so
    cp: cannot create regular file `/usr/lib64/httpd/modules/mod_dav_svn.so’: Read-only file system

    没关系,我只是用来做svn client就行了。

    最后,
    vi ~/.bashrc
    export PATH=$HOME/.local/bin:$PATH

  • Android SMS 写入UIM卡

    Smart Phone跟Featrue Phone不一样,短信不会放在ICC卡上,毕竟卡的存储空间是有限的。最近一网友很纠结,老在问我如何把短信写到UIM卡上?有没有办法写个通用的程序?这个主要决定于手机厂家没有实现相应的接口函数。

    Android 提供把短信写入ICC卡的接口为:

    frameworks/base/telephony/java/android/telephony/SmsManager.java copyMessageToIcc

    如果是CDMA的话,调用过程如下:
    frameworks/base/telephony/java/com/android/internal/telephony/cdma/RuimSmsInterfaceManager.java 里的函数 copyMessageToIccEf 调用

    frameworks/base/telephony/java/com/android/internal/telephony/RIL.java 里的 writeSmsToRuim ,这个要发出

    一个 RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM 请求号,RILD接收请求,传给 libril,再给 reference-ril,这样,只要在 reference-ril 里的
    onRequest (int request, void *data, size_t datalen, RIL_Token t) 处理这个 RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM 请求号即可,根据不同的模组,填入相应的AT处理函数。

    像XT800,i909双网手机,在长按单条短信时,都弹出复制SMS至UIM卡选项。通过反编译Mms.apk包,可以看出他们都自己实现自己的接口,而没有实现Android默认的Api。xt800提供了一个content://sms/icc provider,大致是这样实现的:

    String sSc = null;
    Uri uSim = null;
    ContentValues values = new ContentValues();
    values.put("type", Integer.valueOf(mBody.mBoxId));
    values.put("address", mBody.mAddress);
    values.put("body", mBody);
    values.put("data", Long.valueOf(mBody.mDateTime));
    values.put("service_center", sSc);
    
    if (MessageUtils.getDefaultMode().equals("CDMA")) {
        Log.("ComposeMessageActivity", "start copy msg to UIM");
        sSc = mContentResolver.insert(Uri.parse("content://sms/icc", values));
    } else if (MessageUtils.getSecondaryMode().equals("CDMA")) {
        sSc = mContentResolver.insert(Uri.parse("content://sms/icc2", values));
    }
    
    Log.("ComposeMessageActivity", "finish copy msg to UIM");

    i909的,自己实现
    private void copyMessageToUIM(MessageItem msgItem), 调用SmsManager.MakeSubmitPDU, 也是自己的实现的。

  • 程序员的气场

    文章来源: 中华剑(小贱贱)的QQ空间

    昨天和市领导还有软件公司一个老总去省委政法委开会,是省政法委关于综治信访维稳中心信息管理系统的征求意见会。到省委大院停车场下车时,看见前面有三个人也往1号楼方向走,其中两人身子有点瘦小,各背着个背包,走路时还有点弯着腰。于是老总说,估计这几个人也是去开会的,应该是搞软件的。待到我们到达会议室时,发现的确那三人就在会议室里,原来就是负责开发管理信息系统的软件公司的技术人员。后来跟老总交谈说他真猜对了,他说这就是程序员的气场 🙁 。于是让我想起《我是业主》里的李大辉。 😀

  • Android CDMA 手机开发要点

    Android从1.6版本开始支持CDMA,cdma-import分支由Teleca CDMA团队开发,最后合并到主干。浏览 http://android.git.kernel.org, 在heads可以查看cdma-import的代码变化,从ril层到上层的应用程序。

    RIL

    多了下面的请求号:

    RIL_REQUEST_CDMA_SET_SUBSCRIPTION
    RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE
    RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE
    RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE
    RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE
    RIL_REQUEST_CDMA_FLASH
    RIL_REQUEST_CDMA_BURST_DTMF
    RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY
    RIL_REQUEST_CDMA_SEND_SMS
    RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE
    RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG
    RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG
    RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION
    RIL_REQUEST_CDMA_SUBSCRIPTION
    RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM
    RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM

    自动上报:

    RIL_UNSOL_CDMA_RUIM_SMS_STORAGE_FULL
    RIL_UNSOL_CDMA_CALL_WAITING
    RIL_UNSOL_CDMA_OTA_PROVISION_STATUS
    RIL_UNSOL_CDMA_INFO_REC
    RIL_UNSOL_RESPONSE_CDMA_NEW_SMS

    主要工作在 hardware/ril/reference-cdma-sms 实现cdma 短信的编解码,模组特殊AT处理。

    Telephony Framework

    在 telephony framework层,该启动 CDMAPhone 还是 GSMPhone ?

    frameworks/base/telephony/java/com/android/internal/telephony/PhoneFactory.java 里的makeDefaultPhone函数:

    //Get preferredNetworkMode from Settings.System
    int networkMode = Settings.Secure.getInt(context.getContentResolver(),
            Settings.Secure.PREFERRED_NETWORK_MODE, preferredNetworkMode);

    如果要设置成EvDo网络,则需要在init.rc配置文件里添加:
    setprop ro.telephony.default_network 6
    RILConstants.java有对应的值。

    如果设置错了,怎么办?在类PhoneProxy中处理消息 EVENT_RADIO_TECHNOLOGY_CHANGE,进行纠正,选择是使用GSM还是CDMA,给PhoneApp发送一个Intent通知radio technology变化。

    APP
    应用不需要做太大的修改,其中设置应用添加与中国电信CDMA特性相关的,比如接入点名称:
    中国电信互联星空设置 ctwap
    中国电信互联网设置 ctnet

    这些在国外手机是不需要分什么wap、net的,但中国电信CDMA的天翼视讯、天翼阅读仅支持ctwap接入。