SDHC ドライバ for SL-6000

SL-6000のユーザさん、お待たせしました。SL-6000 用の SDHC ドライバが完成しました。→ダウンロードページ

SL-6000でも32GB SDHC認識!!
SL-6000でも32GB SDHC認識!!

以下の手持ちのSDカードで確認しています。

  • ハギワラシスコム SD-M512 (SD 512MB)
  • GREEN HOUSE GH-SDCM1GC (miniSD 1GB)
  • Transcend TS4GSD133 (SD 4GB)
  • PCI PL-SDHC08G (SDHC 8GB)
  • Team TG032G0SD26A (SDHC 32GB)

SL-6000の SD ドライバのカードを読み書きする処理は、3桁機のSDドライバとほぼ同じでした。なので、3桁機用のバイナリパッチを関数のオフセットに合わせて変更するだけで問題なく仕えるようになってしまいました。

そんな感じで、一通り動作確認はしましたが、今回はSDドライバを深く追いかけていないので、もしかしたら隠れた問題があるかもしれません。自己責任でご使用ください。

 

また、qinstall-fix も SL-6000 に対応しようとしていたのですが、SL-6000のROMバージョンてみなさんいくつのを使用していますか?

私が借りてきた SL-6000 は ROM 0.76JP という物なのですが、ググると 1.11JP が最新ぽいですよね。

1.11JPへのアップデートを探してみたんですが見つけられず・・・1.11JP 用のカーネルソースは見つかったんですが、肝心のROMアップデートのイメージが見つけられませんでした。

アップデートイメージの場所などをご存知の方は教えていただけるとありがたいです。

ちなみに、0.76JP での qinstall.so の MD5sum は以下のとおりです。

# md5sum /opt/QtPalmtop/binlib/qinstall.so 
1db173a57facb468270cae6f946c751c  /opt/QtPalmtop/binlib/qinstall.so

他のバージョンでも同じならいいのですが・・。

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のアセンブラがスラスラ読めるようになってしまいました。(^^;
いい経験になりましたが、今のところ、アセンブラはおなかいっぱいです。

SL-C750/760/860用 SDHC ドライバ更新

kana さんからご指摘があった、取り外し操作後の電源OFF中のカード入れ替えに対応しました。 → ダウンロードページ

取説を全く読んでなかったので知らなかったのですが、SDの差し替えは以下の手順が正しいそうです。

  1. タスクトレイのSDアイコンをクリックし、「SD-カード取り外し」を実行
  2. 電源を切る
  3. カードを差し替える
  4. 電源を入れる

いやぁ、お恥ずかしながら知りませんでした (^^;

そのため、この手順では確認してませんでした。
今回の問題が起こるのは SL-C750/760/860 用の v2.0 のみです。
他の機種は抜き差し検出周辺をいじっていないので、発生しないと思います。
また、この問題の解決にはブースカさんにもご協力をいただきました。ありがとうございました。

 

今回のリリースを機に、SDHCドライバのダウンロードページを見直しました。

SDHC ドライバの v2.x 系ですが、おおよそ安定してきたので実験バージョンから、メインバージョンに格上げしました。

SL-C700用の SDHC ドライバも特に問題なさそうですので、ダウンロードページでの配布に切り替えました。

だいぶ落ち着いてきたので、そろそろ qgmap の開発に戻ろうかな?

一応認識したけど・・・

手元にある Team 製の TG032G0SD26A (32GB SDHC Class6) が認識しない件ですが、調べてみた結果、CMD2 (SEND_ALL_CID) のレスポンスで CRC エラーが出ていたのが原因でした。

ただ、CRC エラーが出ていると言っても、エラーのあったレスポンスと、SL-C760 でエラー無く取得できた CMD2 のレスポンスは全く同じでした。

ということで、ひとまず CMD2 の CRC エラーを無視する修正を加えたところ、カードを認識し、Read/Write も問題なく動作するようになりました。

とりあえず CMD2 以外はちゃんと動いているようです。

ただ、エラーを無視しているだけで、エラーが出ていることには変わりないので、ちょっと不安ということもあり、ひとまず修正版のドライバ公開は差し控えます。

私もしばらく使ってみて問題が無いことが確認でき、他にもこういった症状の方が出てきたら公開しようと思います。

SL-C700 用の qinstall-fix & SDHCドライバ?

ブースカさんから qinstall-fix が SL-C700 でインストールできないとのご報告がありましたので、SL-C700 の ROM 1.50JP に合わせて修正し直しました。→ ダウンロードページ

SL-C700 以外の方はインストールし直す必要はありません。

また、超危険ですが、実機もないのに SL-C700 SDHC ドライバを作ってみました。どなたか検証してみたいという方はいらっしゃいませんでしょうか。

SL-C750/760/860 の SDHC ドライバと SL-C700 のドライバはかなり似ていたため、まともに解析はせず、ただ単にパッチを当てるオフセットを合わせただけです。ですので動くどころか kernel panic する可能性も大です。

そんな状態ですので、とても恐くてリリースとは名乗れませんので、ダウンロードページではなく、このエントリで配布します。

  •  zaurus-sd-driver-update_2.0-for-C700_arm.ipk  (SL-C700用 超危険版)

—-3/5追記—-

問題なく動作しているようなので、ダウンロードページでの配布に切り替えました。ダウンロードページからどうぞ。

—————–

注意事項として、ドライバロード時に kernel panic になるような場合、最悪NANDリストアしなければ起動しなくなるかもしれません

NANDリストアしなくとも、メンテナンスカーネルから sharp_mmcsd_m.o を元に戻す作業をすれば起動はできるようになると思いますが、これらの意味がわからない方は絶対に試さないでください

これが動かないとなると実機がないので修正することは困難です。このまま動いてくれるといいんですけど。。。