SDHC認識!(4GB限定)

SL-C1000 で 4GBのSDHCの認識に成功しました!

経過を書こうかと思っていたのですが、動いたのでとりあえず修正したドライバを公開します。 → ダウンロードページ

——–2010/01/26追記——–

ドライバをインストール後、再起動してください。

また、SL-C1000, 3000, 3100 をお使いの方で、tetsu さんのところで配布されている 4GB 対応 SD ドライバをインストールしている人はアンインストールしてからインストールしてください。

———————————–

一応動作確認はしましたが、 動作保証はできません。ご自身の責任でお試しください。

壊れてもいいから試してみたい!というチャレンジャーのみお試しください。
試された方は結果をコメントの方に書いていただけるとありがたいです。

注意事項としては、SDHC対応は4GBのみという点です。 8GB,16GB 等の SDHC は使用できません。絶対に差し込まないでください。

いままでは認識すらしなかったため、挿入してもそれほど害はありませんでしたが、4GBを超えるSDを入れると中途半端に認識してしまうため、中のデータを壊す可能性が高いです。

手持ちの以下のメディアで認識することを確認しました。今まで通り、ノーマルSDも使用できています。

  • SD 512MB
  • SD 2GB
  • SD 4GB
  • SDHC 4GB

4GBのみ対応というのはオリジナルのドライバの作り上、SDへのアクセスにブロック番号ではなく、32bit長のオフセットアドレスを用いているためです。32bit なので 4GB が上限となります。

これはオリジナルの作りが悪いというわけではなく、SDの仕様では32bitアドレス指定でREAD/WRITE する仕様のためです。これが SDHC では4GB以上の容量に対応するために、仕様上ブロック指定に変更されています。

上記の通り、READ/WRITE に関する関数はすべてアドレス指定で設計されており、4GBを超えるSDHCに対応するには、それらの関数すべてをブロック指定に修正する必要があります。ソースがあればまだ容易なのですが、ソースなしで関数の仕様を大幅に変更するのは非常に厳しいものがありますので、4GBを超えるSDHCのサポートはかなり困難です。

一応、解析は進めますが、今まで以上に可能性は低いと思ってください。

関連した記事:


23 comments

  1. お疲れ様です!

    シャープからのサポートも激減している機種に
    一個人が頑張って努力している姿に感動してます!

    シャープも見習ってほしいなぁ~…

    これからも応援し続けます、頑張ってください!

    • 応援ありがとうございます!
      まだまだ zaurus を使ってる方が多いようですので、がんばりますよー。

      メーカーではお金にならないことはやりにくいんでしょうね。
      シャープさんが SDHC ドライバを出すことも技術的には難しくないんでしょうけど、
      メーカーが出す以上動作確認も結構な手間ですからねぇ。

  2. bucchiさん

    開発お疲れ様です。

    今回はSDHCですか!
    qgmapといいWPAといい、ザウルスに欠かせないモノばかりです。
    SDHCは8Gしか持っていないので今回は協力できないのですが、8G対応版が出た際には協力させていただきます。

    • bxk07344 さん、いつもありがとうございます。

      実は、どうせ開発するなら他の人にも役に立つものがいいかなぁと思って、
      ウケの良さそうなものを作るように選んだりしてます (^^;
      使う人がいないと、ソフトはただのデータの固まりですからね。

      8G対応も少しずつ解析を進めてます。
      SDHC 対応とはいっても 4GB じゃ今までとあまり変わらないので
      できれば動くようにしたいんですよね〜。
      がんばります!

      • SDHCは8Gしか持っていなかったのですが、とりあえずドライバーを入れてみました。
        SD規格の4Gで動作を確認しました。
        SDはext2でフォーマットしてスワップを置いてあります。
        サスペンドの復帰時も特に問題ないようです。

        > SDHC 対応とはいっても 4GB じゃ今までとあまり変わらないので
        SDHCじゃない4Gってのは、そのうち入手できなくなりと思うので、入手しやすいSDHCの4Gが使えるメリットは大きいと思います。

        4GのSDHCを入手しましたら確認したいと思います。

        • Transcendの4G mincroSDHC(TS4GUSDC2)を入手して動作確認をしました。
          とりあえず、スワップを作って、サスペンドしてみたりしましたが、問題なく動作しています。

          • わざわざ買ってまで試していただいてありがとうございます。
            スワップやサスペンドで問題ないようなら、ひとまず大丈夫そうですね。
            ありがとうございました。

  3. いつも 素晴らしいアプリをありがとうございます
    今回のSDHC認識ドライバも早速ダウンロードして試してみました。
    その結果、見事に認識しましたのでご報告いたします。

    使用機種は、SL-C3200
    SDHCは、SanDisk Ultra SDHC 4GB (15MB/S)です。
    もちろんSDも従来と同じように認識されます。

    気付いた点は、
    インストールに、かなり時間がかかりました
    インストール直後は、認識せず、一旦、リセットを行った後に認識しました

    qgmapも、海外出張に重宝しております。
    これからは、必要な都市の詳細マップを SDHCカードにダウンロードして使用可能となり、ますますZaurusの有用性が高まりそうです。
    感謝感謝です。

    • 動作確認ありがとうございます。
      初の動作報告でちょっとほっとしました。(^^)

      インストールに時間がかかったというのは気になりますね。
      すぐに終わるはずなんですけど・・。
      SL-C3000 で確認してみます。

      あと、再起動の件は説明不足でしたね。
      追記しておきます。

      ありがとうございました!

  4. 昨日、会社でインストールして、ドスパラで4GB買って帰り、早速試しました。 結果、あっけないくらい何の問題もなく動きました。 機種 SL-C3200 SDHC A-DATA Turbo SDHC Class6(4GB) すばらしいです。ありがとうございました。まずは御報告。

    • haritanさんも、わざわざ買って試していただいてありがとうございます。
      動いているようで安心しました。

  5. Sandisk SDSDX3-004G-P31(4GB)にて動作確認しました!
    これでザウの延命ができます。
    素晴らしいドライバありがとうございました!

    • 動作報告ありがとうございます。
      今のところ不具合報告はないので、安定していると見て良さそうですね。
      ありがとうございました!

  6. 私もSDHCカードのドライバを、予備で持っているSL-C1000のノーマルカーネルで、試させていただきました。

    結果は、SDHCカードは無事認識できたのですが、今まで使用していたSDカードが認識しなくなってしまいました。
    ドライバをアンインストールすると、また認識しますので、SDカード自体が問題ではなさそうです。

    ちなみに手作業でマウントしようとすると以下のようなエラーが出ました。

    mount: Mounting /dev/mmcda1 on /mnt/card failed: Invalid argument
    

    最後に、認識したカードと認識しなかったカードを記述しておきます。
    型番等わからないものが多いため、役に立つかどうかわかりませんが・・・。

    • 認識成功
    • SanDisk microSDHC class2 アダプタ経由
  7. 認識失敗
    • HAGIWARA SYS-COM SD 1GB Super High Speed
    • HAGIWARA SYS-COM SD 1GB class4 SD-M01G
    • adata SD 2GB Speedy

    他の方々はSDカードも無事認識されているようですので、何が原因かわかりませんが、動作確認結果として記述しておきます。

      • 不具合報告ありがとうございます。
        私の方でも認識しないSDを確認しました。
        修正できそうなのでしばしお待ちください。
        ありがとうございました。

  8. はじめまして
    いつもブログ拝見しています。
    SDHC認識ドライバをSL-3100(スペシャルカーネルv18j)で試してみました。

    SDHC 4GB は無事認識できる様になったのですが、
    これまで使用していたSDカード 2GBが認識できなくなってしまいました。
    SDHC認識ドライバをアンインストール後、tetsu さんのところで配布されているSDドライバを再インストールすることでSDカードは認識できるようになります。

    認識できなかったSDカードは、
     HAGIWARA SYS-COM SD 2GB class4 HPC-SD2GT4C
     Transcand SD 2GB TS2GSDC
    です。

    • ご報告ありがとうございます。
      私も報告にあったハギワラシスコムのカードを持っていたので試してみたところ認識しませんでした。
      おかげで解析しやすくなりました。
      ご報告ありがとうございました。

  9. bucchi さん、こんにちは。ブースカです。ご無沙汰しておりました。
    またまた、素晴らしいものを公開していただきありがとうございます。お得意のバイナリーハックを駆使されてここまでできるんだなぁと感心してしまいました。
    Transcend の 4GB SD メモリーカード(非SDHC)も入手が困難になって来たので、4GB でも SDHC が利用できればたいへんうれしいです。
    ということで、私も早速テストしてみました。最初は 4GB の SDHC メモリーカードだけでテストしていたのですが、動作も問題なくベンチマークテストなどもやって順調でした。その後、ちょっと欲を出して手元の SD メモリーカードすべてでテストして見ようということで始めたらハマッてしまいました。すでに、何人かの方から『認識できない』旨の不具合報告が上がっていますが、私も Panasonic の SD メモリーカードが全滅でした。
    なお、不具合の詳細は、私の日記、はてなダイアリー『俺志向 – bucchiさんが改造されたSDHC対応のドライバーをテストしてみました(1)』( http://d.hatena.ne.jp/ole-shikou/20100130/p1 )の方に書きましたので、こちらをご参照ください。また、今回の不具合の原因究明に当たって、テスト等でお手伝いできることがあれば、ご協力いたしますので、遠慮なくおっしゃってください。では…….

    • ブースカさん、おひさしぶりです。
      いつも詳細なログをとってくださってありがとうございます。
      ブースカさんの検証ログを見て問題箇所がおおよそ見当がつきました。
      ここまでしっかり検証していただけるのは非常にありがたいです。
      おそらく修正可能と思いますので、しばらくお待ちください。

  10. 今晩は、クレクレ厨のimokinでございます。
    SDHCをまだ入手してないので、SL-C3000ノーマルカーネルで手元にある2GBまでの動作を調べて見ました。
     認識可
      Panasonic RP-SS032B 32MB MiniSD ADAPTER
      Panasonic RP-SS128B 128MB MiniSD ADAPTER
      Panasonic RP-SDK02G  2GB SD
     認識不可
      Toshiba  SD-M02G   2GB SD
    松下は可で、東芝は不可。
    ブースカさんとは別の結果になりました。
    うーん、何なんでしょうね。
    東芝SDとSDHC、近日中に入手予定ですので、届き次第また書き込みます。

    • 動作報告ありがとうございます。
      おかげさまで大体原因がわかりました。助かりました。
      すぐ修正しますので、しばらくお待ちください。

コメントを残す

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

*