SL-A300も SDHC!

SL-A300 もSDHCの対応を行ってしまいました。→ダウンロードページ

ーーー追記ーーー

インストールする際にはROMバージョンを 1.50J にアップデートしてからインストールしてください。

ーーーーーーーー

SL-A300 用だけ、qinstall-fix 相当の修正もドライバパッケージに含めてあります。
これは、SL-A300 だけは SL-C シリーズとは qinstall に関する修正するファイルが違うためです。qinstall-fix のパッケージを分けるならまとめちゃってもいいかなと。

とりあえず 32GB の SDHC も認識することは確認できましたが、一部のカードはどうしても認識させられませんでした。認識しなかったカードは非SDHCの4GB SDです。ほかの手持ちのカードは、SDHC, SD 問わず、認識しました。

SL-A300でも32GB SDHC!
SL-A300でも32GB SDHC!

認識したカード

  • KINGMAX MSD-128M (miniSD 128MB)
  • Sandisk SDSDM-512 (miniSD 512MB)
  • GREEN HOUSE GH-SDCM1GC (miniSD 1GB)
  • アイオーデータ SDMC-2G (microSD 2GB)
  • Sandisk SDSDQ-4096 (microSDHC 4GB)
  • A-DATA SDHC8GB (SDHC 8GB)
  • PCI PL-SDHC08G (SDHC 8GB)
  • Team TG032G0SD26A (SDHC 32GB)

認識しなかったカード

  • Transcend TS4GSDC (SD 4GB)
  • Transcend TS4GSD133 (SD 4GB)

これで SL-B500, SL-6000 系以外は全部 SDHC に対応したことになります。

SL-A300 はコミュニケーションアダプタをつけない限り、外部ストレージが SD のみなので、もしかすると、一番 SDHC 対応の恩恵が受けられる機種かもしれません。

SL-A300 の SD ドライバを解析していてびっくりしたのは、SDIO 用の処理が入っていたことです。ググってみたところ、SDIO 完全対応ではないものの、AirEDGE のSDタイプのモデムカードが接続できるんですね。知りませんでした。

とりあえず、SDHCは問題がなければこの辺で終了です。
今回の解析のおかげ(?)で、ARMのアセンブラがスラスラ読めるようになってしまいました。(^^;
いい経験になりましたが、今のところ、アセンブラはおなかいっぱいです。

関連した記事:


34 comments

  1. すごいですね~。すばらしいです。
    SL-A300の売買の相場がぐっと上がってしまいそうな(笑)

    これでもしqgmapまで対応してしまったりしたら、我慢できずに手を出してしまうかもしれません。

    • cycloneさん、いつもありがとうございます。
      SL-A300 は半分気まぐれで買ったのですが、
      とにかく小さいし、一気に心を奪われてしまいました (^^;
      メモリが少ないので qgmap が動くようになるかわかりませんが、
      できるだけ頑張ってみるつもりです。
      動くようになったあかつきには cyclone さんも是非 1 台!! (^^)

  2. ドライバの公開、ありがとうございます。
    先日ヤフオクでA300を手に入れたのですが
    bucchiさんのおかげでますます活躍の場が広がりそうです。
    またアキバオーでSDHCのカードを新調せねば・・・

    • サムさんお久しぶりです。
      サムさんも SL-A300 を入手されたんですね。
      これでとりあえず大容量化はできたので、さてこれからどう有効活用していこうかと思案中です。

      あ、SDの準備ができましたら、簡単で結構ですので動いたか動かなかったか教えていただけるとありがたいです。
      よろしくお願いします。

  3. bucchiさま、
    A300入手からたった9日で出来てしまうとは、凄すぎです!
    まだdownloadしてませんが帰宅してからがとても楽しみです。
    余っている2GB miniSDあたりをA300に入れてみようと思います。

    • いつもありがとうございます。
      試してみたら動作しなくても報告いただけるとありがたいです。

      正直なところ、まだどなたからも動作報告がないのでちょっとドキドキしてます (^^;
      動いてくれてるといいのですが・・・。

      あ、ちなみに sugarware さんに教えていただいた sofmap の中古モバイル館でコミュニケーションアダプタを買いました!
      これも後でブログで書かせていただきます。
      入手困難と思っていたので、手に入れれてとてもうれしいです。
      ありがとうございました!

      • bucchiさま、

        コミュニケーションアダプタも入手出来ました様で良かったです。
        さて、一日遅れの報告です。

        環境:Opie
        Version: 1.5.0-snapshot
        compiled by: Project Opie
        Build on: Mar 21 2002

        Linux Kernel
        Version:
        2.4.13-ac5-rmk2-cotu
        compiled by:
        (zaurus@sharplinux)

        インストールは問題なく完了しました。

        以下の2種類のカードを使ってみました。
        4GB microSDHC class6 (メーカ不明)
        16GB SDHC class6 (ADTAT)

        ファイルを書き込んだり、SDカード上の辞書、q2chログ、textファイル等を対応アプリで読み込む動作を行い、問題は見当たりませんでした。

        SDHCドライバ以外の問題と思われるのですが、システム情報やdfコマンドで表示される使用サイズと空きサイズの値が異常となる症状がありました。
        以下に示すようにPCでの表示と明らかに異なるのですが、SDスロットだけでなくアダプタを介したCFスロット、SL-C1000のCFスロットまでも同じ値となり、PCとは異なります。

        4GB microSDHC 容量(KB) 使用量(KB) 残量(KB)
        A300/SD/CF 3922432 2243040 1679392
        C1000/CF 3922432 2243040 1679392
        PC 3922432 2536448 1385984

        16GB SDHC 容量(KB) 使用量(KB) 残量(KB)
        A300/SD/CF 15898624 285376 15613248
        C100/CF 15898624 285376 15613248
        PC 15898624 1599072 14299552

        16GBカードには900MB以上のWikipediaファイルも入っているので、285MBとの表示は明らかに間違っているはずですが、SDHCドライバとは別の問題の様です。

        • sugarware さん、ご報告ありがとうございます。
          容量以外は問題なさそうですね。ひとまず一安心です。

          df でも間違った容量になるんですね。。
          たぶんコマンドが大容量に対応していないのでしょう。
          システム情報のグラフがおかしいのは知っていましたが、
          値まで間違ってるのは気づきませんでした。

          こうなると、せめてシステム情報は正しい値に修正しないといけないですね・・・。
          ちょっと調べてみます。

          ご報告ありがとうございました。

  4. bucchi様
    のどから手が出る数々の「良い物」ありがとうございます。
    活用させていただいております。

    私もA300を保有しておりまして、ビュアーとして活用しています。
    今回のA300にSDHC認識すると、活用の範囲が広がり期待して待っておりました。
    今日、A300用のドライバーを公開されたので、早速いれてみたのですが、
    うまくインストールできません。
    申し訳ありませんが、アドバイスをお願いします。

    ipkファイルをタップして「ソフトウエアーインストーラー」でインストールすると、「失敗しました」と怒られます。
    (インストール先は本体メモリです)

    そこで、コンソールからインストールを行うと。
    下記のメッセージが吐き出されます。
    すみませんが、インストール方法についてご教授をお願いします。

    --------------------
    bash-2.05# ipkg install zaurus-sd-driver-update_2.0-for-A300_arm.ipk
    Unpacking zaurus-sd-driver-update…Done.
    Configuring zaurus-sd-driver-update…md5sum: /lib/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/sd/sharp_mmcsd_m.o: No such file or directory
    [: d735d134b0fc92f4b7913b3eb5eff887: unknown operand
    MD5 check error.
    //usr/lib/ipkg/info/zaurus-sd-driver-update.preinst failed. Aborting installation of zaurus-sd-driver-update
    bash-2.05#
    --------------------

    • はじめまして、arari さん。

      オリジナルのドライバがないと言うエラーがでてますね。
      うーん。ドライバの場所が異なるのでしょうかね?
      SL-A300についてはあまり詳しく無いので、
      あるのかどうか分かりませんが、
      純正以外のSDドライバを入れたりしてませんか?

      以下のことを調べて or 試していただけますか?

      1. ROM のバージョンは ROM 1.50J でしょうか?
      1.50J 以外では失敗する可能性があります。

      2. 以下のコマンドの結果をおしえてください

      $ ls -l /lib/modules/

      $ ls -l /lib/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers

      $ find /lib/modules/ -name *mmcsd*

      $ lsmod

      お手数ですが、よろしくお願いします。

      • bucchi様
        早々と返事を頂有難うございます。
        他の方々は無事動作されているようで、お手数をかけて申し訳ありません。

        覚えている限りでは、システムに噛んでそうな、物はインストールしていないはずです。(かなり、いい加減な記憶ですみません)
        ・スペシャルカーネル:未導入
        ・ROM 1.50JとはQtopiaのバージョンですよね:1.5.0です。

        以下にコマンド結果をご報告します。

        何か、無駄なものを入れてしまっているのでしょうか?
        完全初期化も可能です、解決できるまで、しばらくお付き合いをお願いいたします。

        --------------------
        bash-2.05# ls -l /lib/modules
        lrwxrwxrwx 1 root root 18 Mar 24 18:28 /lib/modules -> /home/root/modules
        bash-2.05# ls -l /lib/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/
        drwxr-xr-x 2 root root 1024 Jan 1 2003 block
        drwxr-xr-x 3 root root 1024 Jan 1 2003 usb
        bash-2.05# find /lib/modules/ -name *mmcsd*
        /lib/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/block/sharp_mmcsd_m.o
        bash-2.05# lsmod
        Module Size Used by
        pxa_bi 22608 0 (unused)
        net_fd 25856 0 (unused)
        usbdcore 36320 0 [pxa_bi net_fd]
        usbdmonitor 5824 0
        sharp_mmcsd_m 25056 2
        devinfo 4176 0 (unused)
        bash-2.05#

        • いえいえ、まだまだ動作報告が少ない状態ですので、他の方々も同じ現象で悩んでいる可能性もあります。

          ROMのバージョンはシステム情報の「Linux Kernel」の欄の一番下に表示されます。
          他のサイト様の画像ですが、以下の画像では 1.20J と表示されています。
          http://club.h14m.org/kenji/diary/images/20021224/scrn0001.png

          スペシャルカーネルは使っていないとのことですので、バージョンが表示されているはずです。
          スペカを導入すると、バージョンが –.– となってしまうようです。

          コマンド実行もやっていただきありがとうございました。
          結果を見ると、どうもファイルの配置が異なっているようですね。
          おそらく、システムが 1.50J でないのだと思います。

          完全初期化も可能とのことですので、以下の SHARP のサイトを参考に ROM 1.50J のアップデートを適用してから、ドライバをインストールしてみていただけますでしょうか。
          http://support.ezaurus.com/sl-a300/update/a300update/a300update.asp
          ROM のアップデートを行うとインストールしてあるアプリ等は全部消えてしまいます。
          上記ページにあるとおり、バックアップをするなどしてからアップデートを実行してください。

          • arari さん、こんばんは。はじめましてブースカと言います。
            bucchi さん、こんばんは、横レスで失礼します。

            たぶん、arari さんの SL-A300 は、ROM バージョンが古いようですね。

            >bash-2.05# find /lib/modules/ -name *mmcsd*
            >/lib/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/block/sharp_mmcsd_m.o

             どの ROM バージョンから変更されたかと定かではありませんが、SD メモリーカードドライバーのファイル配置が途中で変更されています。
             手元に残っていた Ver1.10 J の ROM バージョンの工場出荷時の情報を確認したところ、SD メモリーカードドライバーのファイルは以下に配置されていました。
            (※注:/lib/modules は /home/root/modules/ へのシンボリックリンクになっています)

            【ROM Ver1.10 J の SD メモリーカードドライバーのファイル配置】
            ./home/root/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/block:
            drwxr-xr-x 2 root root 1024 Jan 1 00:00 .
            drwxr-xr-x 4 root root 1024 Jan 1 00:00 ..
            lrwxrwxrwx 1 root root 79 Jan 1 00:00 sharp_mmcsd_m.o -> /lib/modules.rom/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/block/sharp_mmcsd_m.o

            一方、bucchi さんが今回の SDHC ドライバーで対象とされている ROM Ver1.50 J では以下に配置されています。

            【ROM Ver1.50 J の SD メモリーカードドライバーのファイル配置】
            ./home/root/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/sd:
            drwxr-xr-x 3 root root 1024 Jan 1 00:00 .
            drwxr-xr-x 4 root root 1024 Jan 1 00:00 ..
            drwxr-xr-x 2 root root 1024 Jan 1 00:00 aloha
            lrwxrwxrwx 1 root root 76 Jan 1 00:00 sharp_mmcsd_m.o -> /lib/modules.rom/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/sd/sharp_mmcsd_m.o

             ということで、再度 ROM バージョンを確認されて、もし古ければ。bucchi さんがご紹介された SHARP 公式サイトにより ROM のアップデートをされれば解決すると思いますが。

            PS.bucchi さん、現在 SL-A300 の SDHC ドライバーのテスト中です。結果まとまりましたらご報告いたします。では…….

          • bucchi様
            回答有難うございます。

            >ROMのバージョンはシステム情報の「Linux Kernel」の欄の一番下に表示されます。
            >他のサイト様の画像ですが、以下の画像では 1.20J と表示されています。
            すみません、勘違いしていました。
            kernelバージョンは「1.10J」でした。

            >完全初期化も可能とのことですので、以下の SHARP のサイトを参考に ROM 1.50J のアップデートを適用してから、ドライバをインストールしてみていただけますでしょうか。
            了解しました。
            本日は睡魔に勝てそうに無いので明日の夜(って行っても日付は変わっておりますので今日の夜にですが)に、実行して、結果を報告します。

          • bucchi様、ブースカ様

            お騒がせしました、やはりご指摘どおりシステムが 1.50Jになっていないことが原因でした。
            アップデート後にドライバーをインストールするとあっけなく完了。
            手持ちのSDHCはすべて認識(といっても、細かい確認は技術なく確認するスキルがありません、「システム情報」で容量が正しいことを確認した程度です。)しました。
            購入時に型式をメモしていないので、型式をご報告できません、すみません。

            どうもありがとうございました。

          • お!動きましたか!
            おめでとうございます!
            また、ご報告ありがとうございました。
            型番はわからなくても認識できればそれでいいです (^^)
            とにかく良かったです。

  5. 当方のSL-A300にて、次のSDカードの動作を確認しました。
    umax miniSD 2GB(ただしなぜかumaxのアダプタではだめ。Transcendのアダプタを流用してOKでした。)
    これでさらに、当方のSL-A300がbucchiさん色に染まってきました。
    ますます手放せないです。

    • ujipさん、ご報告ありがとうございます。
      初の動作報告です!
      まだ動作報告が無かったのでドキドキしてたんですよ。
      ほっとしました・・。
      ありがとうございました。

      アダプタによって認識する・しないがあるんですね。
      私が持ってるSDも一部認識しないし・・
      もしかしてSL-Cシリーズよりも出力電圧低いのかな?

  6. bucchi さん、おはようございます。ブースカです。
    SL-A300 用の SDHC ドライバーのリリースありがとうございます。これ、3桁機用よりもさらにうれしいかもしれません。
    実は、bucchi さんが SL-A300 を購入されたという blog のエントリーを見て、密かに期待していました。
     というのも、私、SL-A300 もけっこう使い込んでいて、休日の外出は、なるべく身軽で出かけたいため携帯電話と SL-A300 という組み合わせが多いです。
     このため、出かける前日に行く場所の周辺の情報(地図、飲食店の情報等)をネット上でかき集めて SD メモリーカードに詰め込んで出かけるというパターンです。
     ということで、大容量の SD メモリーカードは SL-A300 にうってつけだと思っていますので活用させていただきます。
     さて、前置きが長くなりましたが、テスト結果についてご報告します。

    PS.SL-A300 上での「qgmap」ですが、SDHC メモリーカードが使えるようになったので 4GB の SDHC メモリーカードに地図データをコピーして使ってみました。「Map Path」の設定ダイアログが画面からはみ出してちょっと設定がたいへんでしたが、強引に使ってみました。スクリーンショットをはてなフォトライフにアップロードしましたので URL を貼っておきます。SL-A300 でもきちんと使えるようになると、私にとって最強のロケーションナビマシンになりそうです。おねだりで申し訳けありませんが、こちらもよろしくご検討ください。では…….
    【はてなフォトライフ – SL-A300上でqgmap 0.1.8 を動かしてみた】
     ・URL : http://f.hatena.ne.jp/ole-shikou/20100325024552
     ・URL : http://f.hatena.ne.jp/ole-shikou/20100325024553

    【テスト結果のまとめ】
     □SDHC ドライバー
     ・手持ちの16種類の SD/SDHC メモリーカードについてテストしました。
     ・その結果、bucchi さんが動作上の制限事項として上げられていますが、4GB 非SDHC メモリーカード(Transcend 4GB SD TS4GSDC 非SDHC)だけ正常に認識できませんでした。
     ・なお、手元に2種類の 4GB 非SDHC メモリーカードを持っているのですが、この内の1種類の 4GB 非SDHC メモリーカード(Transcend 4GB SD 150x TS4GSD150 非SDHC)は正常に認識しています。この違いが何から来ているのか?ひょっとすると解決の糸口になるかもしれないので興味があるところです。ということで、この部分は長くなりそうなので別スレッドを立ててご報告いたします。
     ・上記の 4GB 非SDHC メモリーカード(Transcend 4GB SD 150x TS4GSD150 非SDHC)を含む15種類の SD/SDHC メモリーカードについては、メディアの認識の確認、認識容量が正しいかの確認および簡単な読み書きテストを実施し、問題ないことを確認しました。

     □qinstall-fix
     ・残り容量 30.1GB の東芝 32GB SDHCメモリーカード SD-K32GR5W へ、SHARP が提供している郵便番号辞書データ yubindata_sla300.ipk のインストール/アンインストールのテストを実施しましたが問題ありませんでした。

     □インストールパッケージ zaurus-sd-driver-update_2.0-for-A300_arm.ipk の動作
     ・インストールパッケージ zaurus-sd-driver-update_2.0-for-A300_arm.ipk 自身のインストール/アンインストールの動作についても、まったく問題ありませんでした。

    【テストの環境】
     ・機種:SL-A300
     ・ROM バージョン:1.50 J
     ・カーネルバージョン:Normal Kernel 2.4.13-ac5-rmk2-cotulla.1 (zaurus@sharplinux)

    【SDHC ドライバーのテストの詳細について】
     □SD/SDHC メモリーカードの認識状況について
     正常に認識した SD/SDHC メモリーカード
     つぎの15種類の SD/SDHC メモリーカードは、各動作条件(挿入時、サスペンド→レジューム、SD アイコンタップによる取り外し)での認識状況(マウント/アンマウント)および容量の認識(正しく認識されていること)について、全く問題ありませんでした。
     (01) TOSHIBA 128MB SD SD-M1283M
     (02) Panasonic 256MB SD RP-SDH256N1A
     (03) Panasonic 256MB mini SD RP-SS256BJ1K
     (04) Panasonic 512MB SD RP-SDH512N1A
     (05) Panasonic 1GB SD RP-SDQ01GJ1A
     (06) Panasonic 1GB SD RP-SDP01GJ1K
     (07) A-DATA 1GB SD 型名不明
     (08) Transcend 1GB SD TS1GSDC
     (09) Transcend 2GB SD TS2GSDC
     (10) Transcend 4GB SD 150x TS4GSD150(非SDHC)← 4GB 非SDHC ですが正常に認識しています
     (11) Panasonic 4GB SDHC RP-SDM04GL1K CLASS 4
     (12) Lexar 4GB SDHC Professional 133x Speed LSD4GBDRBJP133
     (13) 東芝 8GB SDHC SD-K08GR5W4 CLASS 4
     (14) 東芝 16GB SDHC SD-K16GR5W4 CLASS 4
     (15) 東芝 32GB SDHC SD-K32GR5W CLASS 4

     正常に認識できなかった SD メモリーカード】
     つぎの1種類の 4GB 非SDHC メモリーカードは正常に認識できませんでした。
     (01) Transcend 4GB SD TS4GSDC(非SDHC)

     □テスト方法について
     メディアの認識および認識容量の確認
     (1) システムを再起動する
     (2) メディアを挿入し、タスクトレイに SD メモリーカードアイコンが表示され、メディアが正常にマウントされたことを確認する
     (3) ターミナルを起動し、mount コマンドによりメディアが正常にマウントされたことを確認する
     (4) [システム情報]を起動し、「ユーザーエリア」タブの SD メモリーカードの情報(認識容量)を確認する
     (5) ターミナル上で、df /dev/mmcda1 コマンドによりメディアの認識容量を確認する
     (6) POWER スイッチにより「POWER OFF サスペンド」→「POWER ON レジューム」を実行し、メディアが正常に認識されていることを確認する

     簡単なファイルの読み書きテスト
     (7) ホーム画面の「ファイルタブ」により、メディア上のディレクトリとファイルが正常に表示されていることを確認する
     (8) 本体メモリ上に置いたテスト用のテキストファイルをホーム画面の「ファイルタブ」によりメディア上にコピーし、正常にコピーされたことを確認する
     (9) メディア上のテスト用のテキストファイルを「メモ帳」で開き、正常に読めることを確認する
     (10) ホーム画面の「ファイルタブ」によりテスト用のテキストファイルを削除し、正常に削除されたことを確認する

     メディアの取り外し(アンマウント)
     (11) タスクトレイの SD メモリーカードアイコンをタップし、メディアの取り外し(アンマウント)が正常にできることを確認する

    【qinstall-fix のテストの詳細について】
     □テスト条件
     ・テストに使用した SD メモリーカード
      東芝 32GB SDHC SD-K32GR5W CLASS 4
      SD メモリーカードの残り容量:30.1GB
     ・テストに使用した ipk
      SHARP が提供している郵便番号辞書データ yubindata_sla300.ipk
      SD メモリーカードへのインストールを認めており、単一のファイルで確認し易いため選定

     □テスト方法と結果
     以下の手順で上記の SD メモリーカードに対してテストしました。
     (1) SD/SDHC メモリーカードへのインストールの実行
       本体メモリに置いた上記の郵便番号辞書データを標準インストーラー(qinstall パッチ済み)で SD メモリーカードへインストールを実行、インストール作業中に残り容量の警告、エラーの発生がないことを確認
     (2) インストールされたファイルをコマンドラインで確認
       上記の郵便番号辞書データはSD メモリーカード上 /mnt/card/QtPalmtop/etc ディレクトリに yubin02.dat の1ファイルがインストールされます。
       # cd /mnt/card/QtPalmtop/etc
       # ls -l
       -rwxrwxrwx 1 root root 1009001 Apr 25 2002 yubin02.dat
     (3) インストール情報の確認
       下記のインストール情報を確認
       /usr/lib/ipkg/status – インストールが正常に実行されたことを確認
       /usr/lib/ipkg/info/yubindata.list – インストールされたファイルリスト
     (4) インストールした郵便番号辞書が正常に動作していることを確認
       アドレス帳を起動し、{新規作成]で郵便番号の欄に入力し、郵便番号から正常に住所が引けることを確認、正常に動作していることを確認
     (5) アンインストールを実行
       標準インストーラー(qinstall パッチ済み)で郵便番号辞書データのアンインストールを実行、アンインストール作業中にエラーの発生がないことを確認
     (6) アンインストールされたことをコマンドラインで確認
       SD メモリーカード上の /mnt/card/QtPalmtop/etc/yubin02.dat が正常にアンインストール(削除)されたことを確認

    【インストールパッケージの動作について】
     zaurus-sd-driver-update_2.0-for-A300_arm.ipk 自身のインストールとアンインストール時の動作を確認しましたがまったく問題ありませんでした。
     (1) インストールパッケージに不要ファイルの混入はありませんでした
     (2) postinst スクリプトにより、バイナリーパッチが当たった SD メモリーカードドライバー /lib/modules/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/sd/sharp_mmcsd_m.o(ファイルサイズ:57,239 byte) が作成されたことを確認しました。
     (3) postinst スクリプトにより、バイナリーパッチが当たったインストーラー qinstall の実行ファイル /home/QtPalmtop/bin/qinstall(ファイルサイズ:168,896 byte)が作成されたことを確認しました。
     (4) インストール情報の確認
       下記のインストール情報を確認しました。
       /usr/lib/ipkg/status – インストールが正常に実行されたことを確認
       /usr/lib/ipkg/info/zaurus-sd-driver-update.list – インストールされたファイルリスト
     (5) prerm スクリプトにより、アンインストール時に SHARP オリジナルの SD メモリーカードドライバーおよび SHARP オリジナルのインストーラー qinstall に復旧されたことをコマンドラインで確認しました。

     あと、細かい話しですが SL-A300 の場合、インストールパッケージの cotrol ファイルの『NeedRestart: linux』の記述が有効ではないんですね、ipk 作るときの勉強になりました。

    以上、長文失礼しました。

    • ブースカさん、またまた詳細にテストしていただいてありがとうございます。
      ブースカさんも SL-A300 持っていたのですね。助かりました (^^)
      また、arari さんのコメントにもアドバイスいただきありがとうございます。

      認識できる 非SDHC 4G もあるのは興味深いですね。
      あと、qgmap 起動したんですね。
      私が qgmap 0.2.1 を試してみたところ起動しなかったのでちょっとびっくりです。
      1.8.0 なら起動するということなんですね。

      ダイアログのサイズやフォントのサイズをピクセル指定してしまっているので
      画面からはみ出しているのでしょう。
      この辺は調整可能ですので対応しようと思います。
      ご報告ありがとうございました!

  7. bucchi さん、こんばんは。ブースカです。
     先日のテスト結果ご報告の際にお約束した掲題の『4GB SD(非SDHC)が認識できない問題』について調べた結果をご報告いたします。今回のご報告が何か問題解決の糸口になれば良いのですが。では…….

    PS.必要な情報がありましたらご指示ください。ご報告いたしますので。

    【テスト結果のまとめ】
     手元に2種類の 4GB 非SDHC メモリーカードを持っているのですが、bucchi さんが動作上の制限事項として 4GB 非SDHC メモリーカードは正常に認識しないということで、手元の Transcend 4GB SD TS4GSDC(非SDHC)も正常に認識できませんでした。しかし、もう1種類の 4GB 非SDHC メモリーカード Transcend 4GB SD TS4GSD150 150x(非SDHC)は正常に認識しています。この違いが何から来ているのか?ひょっとすると解決の糸口になるかもしれないということで、その違いについて調べた結果をご報告します。

    (1) まず、起動時システムログ dmesg の結果について注目すると、
      正常に認識できなかった Transcend 4GB SD TS4GSDC(非SDHC)では SDHC ドライバーが出力するステータスが以下のように異常な値(たとえば、4GB SD メモリーカードなのに認識容量 [total_size] が 14GB になっている等)になっています。

      block_size: 2048
      write_block_size: 2048
      block_count: 28762112
      total_size: 14381056KB
      SDHC=0
      [SD]-clustsize = 10000

      一方、正常に認識する Transcend 4GB SD TS4GSD150 150x(非SDHC)では、認識容量も含めて正常な値を出力しています。

      block_size: 512
      write_block_size: 512
      block_count: 8040448
      total_size: 4020224KB
      SDHC=0
      [SD]-clustsize = 4000

      この現象は以前、bucchi さんが『SDHCドライバ修正( http://petit-noise.net/blog/20100201/sdhc%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E4%BF%AE%E6%AD%A3 )』でご報告されている「block_count が異常な値として認識されてしまう」と酷似しています。ただし、今回は「block_size」、「write_block_size」も正常に取得できていないようです。

    (2) また、fdisk -l で得られるパーティション情報に着目してみましたが、こちらは私のスキルでは明確な問題がわかりませんでした。なお、詳細は以下の【テスト結果の詳細】のログをご参照ください。

    【テスト環境について】
     ・機種:SL-A300
     ・ROM バージョン:1.50 J
     ・カーネルバージョン:Normal Kernel 2.4.13-ac5-rmk2-cotulla.1 (zaurus@sharplinux)
     ・使用SDHCドライバー:v2.0 for A300(zaurus-sd-driver-update_2.0-for-A300_arm.ipk)

    【テストに使用した 4GB SD メモリーカード(非SDHC)】
     手元にあったつぎの2種類の 4GB メモリーカード(非SDHC)を使用してテストしました。
     なお、2種類とも初期化状況は工場出荷時のままです。
     (1) Transcend 4GB SD TS4GSD150 150x(非SDHC)
     (2) Transcend 4GB SD TS4GSDC(非SDHC)

    【テスト結果の詳細】
     □認識状況
      正常に認識 Transcend 4GB SD TS4GSD150 150x(非SDHC)
      認識せず  Transcend 4GB SD TS4GSDC(非SDHC)

     □取得したログ
     [起動時システムログ dmesg]
     ・SL-A300 システム再起動直後
       http://fsasaki.sakura.ne.jp/Zaurus/text/dmesg_result_SL-A300_after_reboot.txt
     ・SL-A300 システム再起動直後に Transcend 4GB SD TS4GSD150 150x(非SDHC)を実装
       http://fsasaki.sakura.ne.jp/Zaurus/text/dmesb_result_SL-A300_Transcend_4GB_SD_memory_card_TS4GSD150.txt
     ・SL-A300 システム再起動直後に Transcend 4GB SD TS4GSDC(非SDHC)を実装
       http://fsasaki.sakura.ne.jp/Zaurus/text/dmesb_result_SL-A300_Transcend_4GB_SD_memory_card_TS4GSDC.txt

     [パーティション情報 fdisk -l]
      パーティション情報については、Transcend 4GB SD TS4GSDC(非SDHC)は SL-A300 では正常に認識せず取得できないため、別途3桁機用 SDHC ドライバーをインストールした SL-C860 で取得しました。
     ・SL-A300 で取得した Transcend 4GB SD TS4GSD150 150x(非SDHC)のパーティション情報
       http://fsasaki.sakura.ne.jp/Zaurus/text/fdidk_-l_result_SL-A300_Transcend_4GB_SD_memory_card_TS4GSD150.txt
     ・SL-A300 で取得した Transcend 4GB SD TS4GSDC(非SDHC)正常に認識しないため取得できず
       http://fsasaki.sakura.ne.jp/Zaurus/text/fdidk_-l_result_SL-A300_Transcend_4GB_SD_memory_card_TS4GSDC.txt
     ・SL-C860 で取得した Transcend 4GB SD TS4GSD150 150x(非SDHC)のパーティション情報
       http://fsasaki.sakura.ne.jp/Zaurus/text/fdisk_-l_result_in_SL-C860_Transcend_4GB_SD_TS4GSD150.txt
     ・SL-C860 で取得した Transcend 4GB SD TS4GSDC(非SDHC)のパーティション情報
       http://fsasaki.sakura.ne.jp/Zaurus/text/fdisk_-l_result_in_SL-C860_Transcend_4GB_SD_TS4GSDC.txt
     ・パーティション情報のまとめ
       http://fsasaki.sakura.ne.jp/Zaurus/text/Summary_of_partition_information_obtained_with_fdisk_-l.txt

    以上、長文失礼しました。

    • ブースカさん、詳細なログをありがとうございます。
      認識しないときの症状は私と同じようですね。
      私も認識させようと色々試してみたのですが、どうもレスポンスがおかしいみたいなんですよね。
      他のカードと同じシーケンスのはずなんですが・・・。

      もう少し調べてみますが、もう打つ手があまりないので、
      ダメそうならこのまま制限にしたいと思います。

      調査していただいてありがとうございました。

      • bucchi さんこんばんは。ブースカです。

        >もう少し調べてみますが、もう打つ手があまりないので、
        >ダメそうならこのまま制限にしたいと思います。
         了解いたしました。すでに 32GB SDHC に対応していますし、入手が困難で、かつ SD メモリーカードの仕様を外れた 4GB SD(非SDHC)にあまり時間を掛ける必要はないと思います。

        >調査していただいてありがとうございました。
         いえいえ、『私使う人』なのでせめてこのぐらいは。

         話しは変わりますが、昨日早速 SL-A300+qgmap という組み合わせで外出しました。予想していた通り SL-A300 上での qgmap とても良いです。ご存知のように SL-A300 の液晶は反射型TFTカラー液晶のため直射日光の下でもとても視認性が良く(SL-Cシリーズの液晶ではこうはいきません)、また小さく軽いためおでかけ端末としてはうってつけで以前から気に入って使っています。
         こうなってくると、やはりキーボードの無い SL-A300 では qgmap の操作性が気になります。bxk07344 さんもビュースタイルでの操作性に特化したユーザーインターフェースに言及されていましたが、bucchi さんもこの件はすでに認識され、新メニューの開発に着手されているようなので期待しております。
         最後に、以下は今日1日 SL-A300 上での qgmap 使ってみてユーザーインターフェースがこうだったらなぁという私のたわごとです。聞き流してください。

        ・片手で操作したい(スタイラスは使いたくない、指(爪)で操作したい)
        ・一番使用頻度の多い『ズームイン/ズームアウト』を簡単に操作したい、現在の画面上の『ズームイン/ズームアウト』カーソルは SL-A300 を片手で操作する場合は使いにくい
        ・地図の移動は画面上を指(爪)でグリグリして移動できるし、また、十字キーでも移動できるのでOK
        ・地図の表示領域が多少犠牲になってもアプリケーションウィンドゥの最下部に指で操作できる程度の大きさのボタンメニューを配置すると iPhone や Android 端末のように操作性になるかな?
        ということで、自分の要望を画面イメージにしてみました。
        【はてなフォトライフ – SL-A300に特化したqgmapのユーザーインターフェースのイメージ】
         ・URL : http://f.hatena.ne.jp/ole-shikou/20100328002800
          -アプリケーションウィンドゥの最下部に指で操作できる程度の大きさのボタンメニューを配置
          -[+] ズームイン
          -[-] ズームアウト
          -[GPS] GPS で位置取得
          -[PHS] PHS で位置取得

         何か勝手なことばかり書いてしまい申し訳けありません。いずれにしろ qgmap の新メニューに期待しています。今回の SDHC ドライバーと qgmap のおかげで益々 SL-A300 から離れられなくなりました。感謝しております。では…….

        • bucchiさんとブースカさんのコメントを見て、私もA300にqgmap v0.1.8を導入してみました。
          romファイルのmountが上手く出来ませんでしたが、地図データを直接入れて指定すると読めました。

          片手操作ですが、最終的にはbucchiさんの改良版を待つ事になりますが、ズームINとズームOUTの片手操作程度ならば、keyhelperを使えばv0.1.8でも実現できましたよ。

          keyhelper.xmlの<extensions>の中に、

          <define key=”All” kind=”launch1″/>

          を設定し、keyhelper.confに以下を追加。

          [Launch1_qgmap]
          Escape = @qcop QPE/keyHelper event(QString,int) “i” 2
          F33 = @qcop QPE/keyHelper event(QString,int) “o” 2

          以上でCancel/OKキーがズームIN/OUTキーになります。
          (注意:上記の<、>は半角にして下さい)

          Menuキーも使えない事は無いので、GPSモードかPHSモードをMenuキーに割り当てる事も可能ですね。

          • sugarwareさん、おはようございます。
            さすがですね。keyhelper を使えばある程度割り当てられるんですね。
            メニューの実装が終わるまではこの方法でしのげそうです。
            情報ありがとうございました。

            メニュー次第で結構使い勝手が変わりそうなので、使いやすいUIをちゃんと練らないとですね。

        • ブースカさん、返信遅くなってすいません。
          ブースカさんのおっしゃる通り、A300 の反射型液晶はは外で使う qgmap にはピッタリですよね。
          qgmapのメニュー案いいですねー! その発想はありませんでした。
          今までは普通のメニューを実装するつもりだったんですが、操作性を考えると大きいボタンを配置した方がいいですね。
          SL-Cシリーズのビューシリーズも片手で操作を意識して考えてみます。
          とても貴重なご意見ありがとうございました!

    • 6000さん、はじめまして。
      んー、SL-6000は持ってないんですよね・・・。
      SL-C700も持ってませんでしたが、他の3桁機とバイナリが近かったので対応できました。6000も近ければ可能性はありますが・・・。
      調べるだけ調べてみますが、あまり期待しないでください。

      • はじめまして。
        いまさらですが、bucchiさんのおかげで、
        C860にて16GBのSDHC(SD-K16GR5W4)を使用できるようになり狂喜しています。
        ありがとうございます!
        私もSL6000に対応してもらいたいと勝手に思っています。
        素人ですが、もしご協力できることがあれば情報提供等、
        させていただきますので、余力の範囲でご検討いただければ幸いです。
        ただ、実機はあるのですが、能力はありません。。。

        • はじめまして、mokusei さん。
          ドライバを使っていただきありがとうございます。
          SL-6000 用ドライバも需要あるんですね。ちょっと真面目に調べてみますか。
          アセンブラを広範囲に追いかけるのって結構頭が疲れるので、しばらくはお腹いっぱいという感じだったのですが、あれから半年経ってますし、もう一度頑張ってみようと思います。
          ただ、今開発のメインの qgmap ですら、あまり開発に時間が割けていない状態ですので、あまり期待はしないでくださいね。

  8. bucchiさま、ちょっとご相談です。
    ご存知の通りSL-A300のユーザエリアはFlashではなく、電池が切れてしまうとデータのみならずインストールしたプログラムまでも消えて初期状態に戻ってしまいます。
    試しにSDHCドライバをインストールしたSL-A300の電池をわざと切らしてみたところ、充電後にブートから起動したSL-A300はSDHCカードを認識出来ませんでした。

    この状況ではSDHCカードにセーブされた最新バックアップデータを読み込む事が出来ません。一旦SDカードにあるSDHCドライバが組み込まれたバックアップデータをリストアし、その後SHDCカードの最新バックアップデータをリストアすると言う2段階のリストアが必要になります。PC等があればSDHC上のバックアップデータをSDカードにコピーして一回のリストアで済ます事も可能ですが、普段は使わないSDカードが必要だと言う残念な状況は同じです。

    もし、ちらつき対策をしたカーネルモジュールにSDHCドライバを組み込めるのであれば、電池切れの場合でもSDHCカードを読める様に改善出来るのでしょうか?

    • Sugarware さん。こんにちわ。

      そうですね。電池切れになると SDHC は認識できなくなりますね。
      カーネルに SDHC ドライバを組み込むことはソースがないためできませんが、rootfs にあらかじめ SDHC ドライバを入れてしまうことはできると思います。

      rootfs の入れ替えは以下のサイトが参考になります。
      http://ashist.hp.infoseek.co.jp/A300/arom.html

      おおざっぱに(しかも思いつきで)手順を書いてみます。
      おもしろそうなネタなので、後日検証してエントリにしようと思います。
      コマンドラインは雰囲気で書いてますので確実じゃないです。

      1. SDHC ドライバをインストールし、SDHC対応の sharp_mmcsd_m.o を入手
        パッチが当たった sharp_mmcsd_m.o を SD などにコピーする。
        # cp /lib/modules.rom/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/sd/sharp_mmcsd_m.o /mnt/card/
      2. SL-A300 の rootfs を入手
        dd で mtdblock0 をダンプし、SD などにコピー
        # dd if=/dev/mtdblock0 of=/mnt/card/mtdblock0.bin
      3. Linux PC で zaurus から取り出した rootfs をマウントし、作業用に新しい rootfs を作成
        $ mkdir tmp_mnt
        $ sudo mount -o loop,ro ????/mtdblock0.bin tmp_mnt
        $ sudo cp -a tmp_mnt new_rootfs
      4. 新しいツリーのドライバを SDHC 対応済ドライバに差し替える
        $ sudo cp ???/sharp_mmcsd_m.o
           new_rootfs/lib/modules.rom/2.4.13-ac5-rmk2-cotulla.1/kernel/drivers/sd/
      5. 新しいツリーでイメージを作成
        $ sudo mkfs.cramfs new_rootfs initrd.bin

      これで作成された initrd.bin をアップデート機能を使って SL-A300 へ書き込めば(前述のURLを参照)、電池が切れても SDHC が使えるようになるのではないかと思います。

      • bucchiさん、対応策と具体的な作成手順まで示して頂き有難うございます。
        Linux PCが無いもので、代わりにシステム領域の空きに余裕がありそうなSL-C3000で試してみました。
        ステップ2までは順調(当然)でしたが、残念ならがステップ3の

        $ sudo cp -a tmp_mnt new_rootfs

        で、symbolic linkの作成等でエラーが多発してしまいました。
        やはりLinux PCが必要なのでしょうか…

        • sugarwareさん、検証してエントリにするといいながら、なかなかできずにすいません。

          エラーが出ているのは、VFAT の SD か CF 上で実行しているからだと思います。VFAT ではシンボリックリンクや、ユーザ情報などに対応していないために出ているエラーだと思います。

          ext2 フォーマットの SD か CF を用意できるなら、それで実行してみてください。

          Linuxマシンがあれば容易にできるのですが、Linuxユーザでなくても実行できるように、いま SL-A300 単体だけでどうにかできないか考えているところです。
          お待たせしてすいません・・・。

コメントを残す

メールアドレスが公開されることはありません。

*