2GB超えメディアへの ipk インストールの道 (3 桁機編)

1年越しのまさかまさかの続編です(^^;

いままでも発生していた問題ですが、3桁機用の SDHC ドライバによって、4桁機だけでなく、3桁機でもこの問題が無視できなくなりつつあるので、3桁機も同様の修正を入れてみました。 → ダウンロードページ

—-追記—-

説明不足でしたので追記しますと、標準のインストーラはパッケージをインストールする際に空き容量をチェックするのですが、SL-C3200を除く全機種で、空き容量が2GBを越えるメディアにインストールしようとすると「空き容量が足りません」といったメッセージが表示され、インストールできない問題がありました。当時は4GB以上のメディアが無かったためでしょう。

このパッケージは、この問題を解決するものです。

—————

また、4桁機で未対応だった SL-C3100用の修正も入っています。

これで SL-C750/760/860/1000/3000/3100 に対応したはずです。(SL-C3200は元々修正不要です)

私は SL-C760/1000/3000しか持っていませんので、これ以外については動作確認できていません。
例によってバイナリパッチで対応なので、未確認でリリースするのはちょっと危険なのですが、メディアの空き容量計算処理は全機種でほぼ同じだったのでたぶん大丈夫だとは思います。
とはいえ、リスクをご了承の上、自己責任でご使用ください。

SL-C750/760/860/3100 をお持ちの方は試してみた結果をご報告いただけるとありがたいです。

空き容量が2GB以上あるメディアに対して何らかのパッケージをインストールしてインストールが完了すれば修正されています。

関連した記事:


26 comments

  1. bucchiさん、こんにちは。
    SL-C860,SDHC4GBで以下のソフトウェアのインストールをしてみました。
    ・qgmap 0.2.0(GPS持ってないですけど^^)
    ・docuworks-viewer-light 6.0.1
    全く問題なくインストールが完了しました。
    素晴らしいドライバーを本当にありがとうございました。

    • 初報告です!
      ありがとうございました。
      SL-C860 でも正しくパッチが当たっているようですね。安心しました。
      ありがとうございました!

  2. bucchiさん、こんにちは。
    EOS KISSの中に、8GBのSDを入れていることを思い出したので試してみました。
    ・SL-C860(ROM1.40JP)
    ・SunDisk Extreme SDHC 8GB(30MB/s)
    zeditor 3.5.4のインストール・アンインストールで何も問題はありませんでした。又、SD内の写真もちゃんと見ることができました。
    画像サイズが大きいので遅いですけども^^

    zaurusの「SD取り出し」の処理って、とても早いのですね。
    今までSD1GBを入れっぱなしだったので知りませんでした。
    これなら音楽データを複数のSDに入れて持ち歩いても・・・
    って、昔、ザウルスで音楽聴いていましたが、今はiPodでした^^

    • >4GBを超えるメディアは絶対に差し込まないでください!壊れます!
      人柱にも程があるっていうか……
      他にも勘違いする人いるかもしんなんで、念のため。

        • hiderinさん、通りすがりさん、こんにちは。

          そうですね、3桁機はまだ 8GB の SDHC は使えません。
          一見使えるように見えて、書き込んでいるうちに実は壊れているという、
          タチの悪い挙動になると思います。

          8GB 対応を行っている最中ですので、もうしばらくお待ちください。

  3. bucchi さん、こんにちは。ブースカです。
     3桁機に対応した標準インストーラー(qinstall)のパッチのリリースありがとうございます。
     これで、3桁機の SDHC ドライバー利用上の死角がなりました。うれしいです。
     私、SL-C860 をメインで使っているのですが、本体メモリー(ストレージ領域)をできるだけ空けたいため、SHARP が工場出荷時に本体メモリーにインストールしている『日英翻訳辞書』(47.7MB)、『郵便番号辞書』(1MB)を SD メモリーカードにインストールし直して使っているので、標準の機能でインストールできることは安心できます。
     ということで、早速試してみました。
     なお、今回の問題は、4GB超のメディア(SD・CF)の残り容量を標準インストーラー(qinstall)が誤検出する問題なので、インストール時に『アプリケーション追加先のメモリーが足りません』のエラーダイアログが表示されなければ、あとは問題ないと思いましたが、念のため3種類の SD/SDHC メモリーカードで一連のインストールの作業を実施しテストしてみました。
    【テスト結果】
    まず、テスト結果から SL-C860 で 4GB SDHCメモリーカードに問題無くインストールできしました。
    また、qinstall-fix_100210_arm.ipk 自身のインストールとアンインストール時の動作も確認しましたが問題ありませんでした。
    【テスト環境】
    ・機種名 :SL-C860
    ・ROM Version:1.40 JP
    ・Kernel :Normal Kernel
    【テスト条件】
    ・テストに使用した ipk
     SHARP が提供している郵便番号辞書データ yubindata_20010501.ipk
     SD メモリーカードへのインストールを認めており、単一のファイルで確認し易いため選定
    ・テストに使用した SD/SDHC メモリーカード
     念のため、つぎの3種類の SD/SDHC メモリーカードでテストしました。なお、2GB SD メモリーカードは SHARP オリジナルの qinstall のままで正常にインストールできます。
    (1) Panasonic 4GB SDHC CLASS 4 RP-SDM04GL1K
    (2) Transcend 2GB SD TS2GSDC
    (3) Transcend 1GB SD TS1GSDC
    【テスト方法】
    以下の手順で上記の3種類の SD/SDHC メモリーカードに対してテストしました。
    (1) SD/SDHC メモリーカードへのインストールの実行
     本体メモリに置いた上記の郵便番号辞書データを標準インストーラー(qinstall パッチ済み)で SD メモリーカードへインストールを実行インストール作業中に残り容量の警告、エラーの発生がないことを確認
    (2) インストールされたファイルをコマンドラインで確認
     上記の郵便番号辞書データはSD メモリーカード上 /usr/mnt.rom/card/QtPalmtop/etc ディレクトリに yubin02.dat の1ファイルがインストールされます。
    -rwxrwxrwx 1 root root 1009001 Apr 25 2002 /usr/mnt.rom/card/QtPalmtop/etc/yubin02.dat
    (3) インストール情報の確認
     下記のインストール情報を確認
     /usr/lib/ipkg/status – インストールが正常に実行されたことを確認
     /usr/lib/ipkg/info/yubindata.list – インストールされたファイルリスト
    (4) インストールした郵便番号辞書が正常に動作していることを確認
     アドレス帳を起動し、{新規作成]で郵便番号の欄に入力し、郵便番号から正常に住所が引けることを確認、正常に動作していることを確認
    (5) アンインストールを実行
     標準インストーラー(qinstall パッチ済み)で郵便番号辞書データのアンインストールを実行、アンインストール作業中にエラーの発生がないことを確認
    (6) アンインストールされたことをコマンドラインで確認
     SD メモリーカード上の /usr/mnt.rom/card/QtPalmtop/etc/yubin02.dat が正常にアンインストール(削除)されたことを確認
    【qinstall-fix_100210_arm.ipk 自身のインストールとアンインストール時の動作】
     また、qinstall-fix_100210_arm.ipk 自身のインストールとアンインストール時の動作も確認しましたが問題ありませんでした。
    (1) インストールパッケージに不要ファイルの混入はありませんでした
    (2) インストール終了時に control ファイルに記述された NeedRestart: qtopia により、Qtopia レベルの再起動(大きな「砂時計」が表示される)がかかることを確認
    (3) インストール情報の確認
     下記のインストール情報を確認
     /usr/lib/ipkg/status – インストールが正常に実行されたことを確認
    (4) postrm スクリプトにより、アンインストール時に SHARP オリジナルの標準インストーラー(/home/QtPalmtop/binlib/qinstall.so)に復旧されたことをコマンドラインで確認
    (5) アンインストール終了時に postrm スクリプト内のコマンド qcop QPE/System “restart()” により、Qtopia レベルの再起動(大きな「砂時計」が表示される)がかかることを確認
    以上、長文失礼しました。

    • ブースカさん、こんにちは。
      いつもいつも丁寧なテストをしていただいてありがとうございます。
      ほんと頭が上がりません。

      qinstall-fix自体のインストール/アンインストール、4GB以上メディアへのインストールも問題ないようで安心しました。

      これで 3 桁用の 32GB 対応 SDHC ドライバができれば、なお良しですね。
      着々と完成に近づいてますので、もうしばらくお待ちください。

      • bucchi さん、こんばんは。ブースカです。
        >いつもいつも丁寧なテストをしていただいてありがとうございます。
        >ほんと頭が上がりません。
        いえいえ、こんなことぐらいしかお手伝いができないので。

        >これで 3 桁用の 32GB 対応 SDHC ドライバができれば、なお良しですね。
        >着々と完成に近づいてますので、もうしばらくお待ちください。
        すばらしい!!楽しみにしています。これで3桁機も無敵(笑)になります。
        実は、昨日東芝の 8GB、16GB、32GB の SDHC メモリーカードを入手したので、4桁機用のドライバー Ver2.0 のテストを始めようかと思っていたところてす。ぼちぼちテストして行きますので、結果が出たらまたご報告いたします。では…….

  4. bucchi様
    SDHCドライバー開発お疲れ様です。
    導入後SDHCももともと使っていたトランセンド2GのSDカードも動作しております
    他の方のようにベンチマークテストや検証等が全くできていませんが以下の環境で使用しています
    Zaurus3100(スペシャルカーネルv18i CF16Gに換装)
    SDHC 32G(pqiのclass4)
    見つけた中で一番安いメディアを使用したのでどうかなーと心配しましたが、データの書き込み・削除もできてます
    いつもすばらしいソフトをありがとうございます

    • めいやさん、ご報告ありがとうございます。
      SD, SDHC 共に動作しているようで安心しました。
      ブログでも紹介ありがとうございます。
      私も 32GB SDHC 欲しいのですが、値段に少々躊躇してまして。。。
      ご報告ありがとうございました!

    • あ、そうですね。
      SL-C700 でも SD-link11b 用ドライバで非 SDHC 4GB が使用できますね。
      次のアップデートで対応してみます。
      ご要望ありがとうございました。

  5. SL-C3100を使っています。
    qinstall-fix_100210_arm.ipkをダウンロードし、
    「ソフトウェアの追加/削除」でインストールをすると、
    「失敗しました」というメッセージが出てインストールが出来ません
    「失敗しました」のメッセージを閉じた後×マークを2回押してインストーラーを終了すると大きな砂時計マークが出てホーム画面に戻ります(多分qtopiaが再起動していると思います)

    パッチが当たっているのではと思い4GBのCFカードに他のソフトウェアをインストールしようとすると「アプリケーション追加先のメモリーが足りません」となります。

    ipkファイルは何回もダウンロードし、SDカード、本体のHDDにコピーしてみましたが変わりませんでした。

    • SL-C3100へのインストール、私も試してみました。
      確かにqinstall-fix_100210_arm.ipkのインストールは匿名ユーザさんの記述の通りに失敗しました。
      しかしながら、SL-C3100では標準状態で16GB CFへのアプリのインストールが出来ましたし、zaurus-sd-driver-update_2.1-for-Cxx00_arm.ipkをインストールした状態で16GB SDHCへのアプリのインストールが出来ました。
      よってSL-C3100はSL-C3200同様にqinstallへのパッチが不要な機種ではないでしょうか?

    • 匿名ユーザーさん、sugarware さん、はじめまして。ブースカと言います。 SL-C3100 の qinstall パッチ適用の件ですが、SL-C3100 は、対象機種です。SHARP が公式のサポートページで公表していますので、間違いないと思います。詳細は、下記のリンクを参照してください。 >『しかしながら、SL-C3100では標準状態で16GB CFへのアプリのインストールが出来ましたし』 sugarware さん、これですが、使われている 16GB CF メモリーカードの残り容量が 2GB 以下ではないですか?、今回の qinstall の不具合はメディアの残り容量の誤認識で、残り容量が 2GB 以上の場合に発生します。ですので、メディアの容量そのものではありません。 【SHARP の公表ページについて】 『ユーザーエリアの使用量のバーグラフの色が正しく表示されない場合があります。 使用量の数値は正しく表示されており、カードの使用上問題はありません。』 ・ザウルスサポートステーション SL-C3100 – 周辺機器 / ザウルスのメモリー拡張のためのコンパクトフラッシュメモリーカード  http://support.ezaurus.com/sl-c3100/peripheral/cfcard_sl.asp

      • ブースカさん、匿名ユーザーさん、はじめましてsugarwareです。

        確かにSharpのサポート情報には4GB,8GBのCFに関してそのように記載されていますね。
        私が使った16GB CFと16GB SDHCですが、残容量はそれぞれ9.7GB、9.1GBで、どちらも2GBを超えています。

        私の環境ですが、ROM 1.02Jでスペシャルカーネルは導入しておりません。またアンインストーラーのリストにはSD-driver-updateが1個表示されるだけで、特別なソフトやドライバーはインストールされてない状態です。
        この状態で空きが9GBのCF/SDHCにアプリがイントスール出来ていることから、以下が考えられませんでしょうか?

        (1) ROM1.02Jで対策された可能性
        (2) 容量または残容量が8GBを超えると症状が変わる可能性

        qinstall_fixのインストールが失敗する事から、(2)より(1)の可能性が高い様に思います。

        匿名ユーザーさん、4GB以上のCF/SDHCへのアプリのインストールは出来ていますでしょうか?

        • > 匿名ユーザーさん、4GB以上のCF/SDHCへのアプリのインストールは出来ていますでしょうか?

          すみません、4GB CFへのインストールが出来ていないとの記述がありましたね。見落としていました。

          そこで、16GB SDHCの他、4GB SDHC(空き1.6GB)と8GB SDHC(空き5.3GB)でも試してみました。
          それぞれSDスロットとCFアダプタ経由でのCFスロットで試しましたが、どの場合もアプリ(ebtlite)のインストールが正常に出来ました。

          匿名ユーザーさんの環境と私の環境が異なる可能性がありますね。

          • 匿名ユーザさんの環境はスペシャルカーネルと言う点は異なりますが、ROMは1.02JPで同じですね。
            なお、512MBのカードの場合、アプリのインストールは失敗しないはずですよ。

            昨年の2GB超えメディアへの ipk インストールの道 – その4へのコメントに、hekke様がSL-C3100のqinstall.soのmd5sumを調べた結果が記載されていました。以下一部引用。

            >SL-C3100 で qinstall.so の md5sum 取ってみました 🙂
            >結果は…
            >2eb78c0f8d7c8e868fd85296ee2ca02a

            私のSL-C3100でも調べて見ましたが結果はhekkeさんと同じでした。

            $ md5sum /opt/QtPalmtop/binlib/qinstall.so
            2eb78c0f8d7c8e868fd85296ee2ca02a /opt/QtPalmtop/binlib/qinstall.so

            と言うことで、qinstall-fix_100210_arm.ipk がインストール出来ても良いはずなんだけど…

            私のSL-C3100で何故4GB以上のカードにアプリがインストール出来たのか少し考えて見ました。
            2GB超えメディアへの ipk インストールの道 – その3を読むと、空き容量をsinged longで扱う事で2GB以上の空きを誤認識するとあります。
            さらに私が使ったカードの空き容量は
            ・16GB CF -> 9.7GB = 4GB + 4GB + 1.7GB
            ・16GB SDHC -> 9.1GB = 4GB + 4GB + 1.1GB
            ・8GB SDHC -> 5.3GB = 4GB + 1.3GB
            ・4GB SDHC -> 1.6GB
            空きが2GBから4GBまでは負の値になってエラーとなるが、空きが4GBから6GBまでは0GBから2GBと同じに扱われてエラーにならないと仮定すると、偶然にも上記は全て後者の条件に当てはまり正常にインストール出来たのかもしれません。

          • 小分けですみません。
            8GB SDHCの空き容量を3.99GBに変更してアプリのインストールを試して見たところ、予想通りにエラーとなりました。
            これでブースカさんの指摘通り、私のSL-C3100もqinstallはバグ版である事が判明しました。

            下記のSHARPの記述では常にインストール出来ない様に読めますが、実は空き容量バイト数を16進表示した際のbit31=1の場合にインストール出来ないと言うことみたいですね。

            >アプリケーションをCFカードにインストールできません。
            >「アプリケーション追加先のメモリーが足りません。」と表示されます。

            bucchi様、qinstall-fix_100210_arm.ipk のインストール時のチェックはqinstall.soのmd5sum値で行っているのでしょうか?

          • 匿名ユーザさん、sugarwareさん、ブースカさん、こんにちわ。

            出遅れてすでに解決済みのようですが、sugarware さんのご想像の通り、31bit目が1になるケースで問題が発生しますので、空き容量が 2,3,6,7,10,11…GB の場合に発生すると思います。

            で、問題の SL-C3100 の対応ですが、ROM 1.01J のファイルの md5sum でチェックしているので、ROM 1.02J では一部変更されているのかもしれませんね。

            アップデートイメージから ROM 1.02J のファイルを取り出してみたいと思います。

    • こんばんは。
      最初にC3100にパッチが適用出来ないことを書き込んだ者です。
      sugarwareさんの書き込みで
      >匿名ユーザーさんの環境と私の環境が異なる可能性がありますね。
      とあったので遅くなって申し訳ないのですが私の環境を書き込んでおきます。

      ・ROM Version:1.02JP
      ・Kernel:Special Kernel 2.4.20(v18j@tetsu.homelinux.org)
      Kernel-modules(v18j)をインストールしています
      ・CFカード
      HITACHI 4GB Microdrive
      FAT32 約2.1G(2,196,696KB)の空き容量

      ・SDカード
      普段はなし
      (ただし、余っていた512Mのカードで試したらパッチ無しでソフトをインストールできました)

      スペシャルカーネルを使用していることや、CFカードにMicrodriveを使用していることが原因かもしれません。

      • 匿名ユーザさん、ご報告ありがとうございます。

        おそらく ROM 1.01J のファイルに対してパッチを当てるようにしてしまったために、ROM 1.02J の環境ではインストールに失敗するのかもしれません。

        ROM1.02J のファイルをなんとか取り出してみますので、もうしばらくお待ちください。

  6. 初めまして。久しぶりにSL6000Lを使いたいと思って再構築中です。
    CF8Gを使おうと思っていたのですが、メモリ足りませんとエラーが出て、ここにたどりつきました。
    SL-6000Lには対応してないようですが、もし対応可能ならば、お願いします

    • コメントありがとうございます。
      なんか昔にもこんな話があったなぁと過去記事とコメントを読み返してみたところ、
      qinstall-fix の ipk では対応していない機種でも、自動でパッチ当てを行うツールを作成していましたので、こちらを試してみていただけますか。
      http://petit-noise.net/blog/%E8%87%AA%E5%8B%95-qinstall-%E3%83%91%E3%83%83%E3%83%81%E3%83%84%E3%83%BC%E3%83%AB/
      すっかり忘れていましたが、こんなツール作ってたんだなぁ。昔のおれGJ。

      • 早速試してみました。
        成功した模様です。
        CF Transcend 120× 8G
        SD SanDisk Ultra microSDXC 64G
        の両方とも、インストールできました。
        ありがとうございました。

        機種名 SL-6000L
        ROM version 1.11 JP
        成功

        ログ
        bash-2.05# ./generate-info /opt/QtPalmtop/binlib/qinstall.so
        /opt/QtPalmtop/binlib/qinstall.so
        I: .text section found.
        D: id: 12 addr:0x00012184 file:0x00012184
        I: .rodata section found.
        D: id: 14 addr:0x00033190 file:0x00033190
        I: getAvaliableSize symbol found.
        D: symbol: 0x00026d7c
        D: str: /home/namikosi/cvs/c700.master/qt-master/qt-2.3.2/include/qlistbox.h
        D: embed area: 0x0000008c length: 69
        I: Code found!! offset = 0x1e0 vaddr = 0x26f64
        D: cat /opt/QtPalmtop/binlib/qinstall.so > /opt/QtPalmtop/binlib/qinstall.so.patched
        I: ADDR mul:0x26f64 embed code:0x3321c
        I: File mul:0x26f64 embed code:0x3321c
        I: mul code: eb0030ae
        I: 00026f64:ae3000eb
        I: 0003321c:2f866f00ffffffff925380e0000050e308509f15000055e300509f450ef0a0e1ffffff7f
        I: 1a53d3c2d05d9b07bf431fed1f23ad4c /opt/QtPalmtop/binlib/qinstall.so
        I: 930fb8171a4d1de69901c2f3b5c6f7f3 /opt/QtPalmtop/binlib/qinstall.so.patched

コメントを残す

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


*