ようこそゲストさん

Kerosoft : Modus Operandi

メッセージ欄

2008年9月の日記

一覧で表示する

2008/09/24(Wed) MTPモードのトラブル

はてブ情報 はてブに登録 はてブ数 2008/09/24 16:18 Software::Windows
最近の携帯電話やポータブルプレーヤーには、「MTP(Media Transfer Protocol)モード」という転送方法が数多く採用されている。先日のSH906iにもこの方式が実装されていた。
MTPはMicrosoftが開発した技術仕様で、それぞれのデバイスドライバを必要することなく、マルチメディアデータを標準インストールされているWindows Media Playerで転送することが出来る。DRMもサポートしていることから、マスストレージモードを搭載していない物などにもこのモードがあることが多い。(パナソニック等の製品にはSD-Audioという規格があり、これとは別。)


非常に便利なMTPモードであるが、Windows Media Player絡みのアップデートでうまく動作しなくなることがあるようで、実際に私がハマったので、そのトラブルシュートをご紹介。

現象

Windows Media Playerからは同期デバイスとして認識せず、デバイスドライバでは!マークが表示されている。
(IEEEコントローラが×になってるのは、ノートPCの消費電力削減のため、給電を停止しているからであり、本題とは関係ない。)




「ドライバの再インストール」を選んでみると、一見インストールが成功したように見えるのだが、最後に「このINFのサービスインストールセクションは無効です。」と難しいエラーメッセージが表示される。



解決方法

先ほどもちらっと書いたように、これはWindows Media Playerをアップグレードしてしまうと問題が起こる模様。
色々とググってみたところでは「XPの修復インストールで直った」という情報が出てきたが、さまざまな部分が元に戻ってしまうのでこれは避けたい。
半ば勘に頼ってだが、私の場合は、WMAのエンコーダーに同梱されていた「Windows Media Format 11 runtime」をインストールしてしまったのが原因らしい。
Windows Media Player 10を使っているのに、11用のランタイムを間違えてインストールされてしまったのが原因かな?
Windows Media Player 11を使ってる人はこれをアンインストールしていいのか良く分からないが…。

▼これをアンインストール




メッセージに従って、どんどん進む。


チェックをつけて続行。ここのメッセージによると、保護されたファイルのライセンスは削除されるので再度取得せよ、とのこと。私はDRM保護されたファイルは管理していないので問題なし。





ここで再起動

仕上げ

この段階ではトラブルを起こしているドライバが読み込まれているので、デバイスマネージャから一旦問題のデバイスを削除する。
それから、USBケーブルを挿しなおし、今度は認識されることを確認。



1: ゆうた 『本当に参考になりました。 これが原因で治らない人がいると思うので是非見ていただきたいです!』 (2009/02/01 2:00)

2: taeosu 『すごい!!! ありがとうございます! 知恵袋には全く載っていなかったので参考になりました』 (2009/04/02 20:14)

3: だい 『参考になりました。私の場合もこの症状でした。 ありがとうございました。』 (2009/04/23 21:17)

4: おかか 『藁にもすがる思いで参考にさせて頂き、見事改善しました。 感謝、感謝です』 (2009/06/15 20:48)

5: じん 『助かりました。MACでMTP接続できる方法が分からず、VMware fusion上のwindowsXPで動かそうと四苦八苦してい...』 (2009/06/21 0:29)

6: にゃん 『私は、ドコモテクニカルプラザに行き、もしやとのサポートの方の勧めで試しにバージョンを10から11にしてみましたら解決しました。1...』 (2009/06/25 23:25)

7: Hello 『RollBackはできませんでしたが、参考になりました。私の場合、Windows Media Player 11の再インストール...』 (2009/07/29 0:43)

8: wai 『runtime削除したら認識しました ありがとう』 (2009/09/09 17:53)

9: midgul 『7番さんと同じくzen mozaic でこの症状になりましたがランタイムをアンインストールすることで直りました。ほんとに困ってた...』 (2009/09/25 23:33)

10: うさこ 『素晴らしいです! 解決しました!本当にありがとうございました。』 (2009/09/29 0:16)

11: DoCoMo N-08A 『この記事を見て解決することができました! 検索で1番目に出てきていたらすぐ解決できたのに、他の記事を順に読んでも解決方法にならず...』 (2009/10/18 23:50)

12: esato 『非常に参考になりました!ありがとうございました!』 (2009/11/08 1:37)

13: Michael 『Overseas ModelのWalkmanで同じ症状に陥りました。USBにつないでも認識されず、途方に暮れていましたが、おかげ...』 (2010/04/04 20:12)

14: yate 『DOCOMO P-03B で同様の現象が発生し、大変参考になりました。 本当にありがとうございました。 ちなみに当方の場合、本...』 (2010/04/10 14:55)

15: col 『色々試した結果、OSをXP SP3にアップデートした後、WMPを10から11にしたら接続できました。 とても参考になりました。あ...』 (2010/04/29 0:13)

16: あり 『ありがとう!』 (2010/07/10 21:58)

2008/09/24(Wed) ウィルコム着信転送サービス

はてブ情報 はてブに登録 はてブ数 2008/09/24 14:18 Hardware::Mobile
受話にノイズが載る@アドエスで書いたように、W-ZERO3の電話が役に立たなくなってきたので、せっかく070発信無料や低定額料金がウリのウィルコムであったが、再び携帯電話と攻守交替することに。
先日、docomoのSH906i契約してきました。

でもまあ、ウィルコム側はW-VALUE SELECT購入でアドエスの分割支払い期間が続いているのでとりあえず存続させて、ダブルホルダーとして使うことに。何気に携帯端末でPuTTYが使える便利さとかあるし。


しかしながら、もはやウィルコムを電話として使うことはなさそうなので、ウィルコムの電話は全てdocomoに転送することに。と、ウィルコム 着信転送サービスなんて便利なものがあった。月額かからずで便利。相手に新しい電話番号を伝える必要もない。
ただ、ウィルコム電話から携帯間の通話料を負担しなくちゃいけないらしい転送先電話には"通知不可能"と表示されるので、一度電話をかけてきた相手には、今後もかけてくるであろうということで、新しい電話番号を教えるのが得策かも…。

これを設定するには、ウィルコム電話機から143に電話。
自動応答のオペレータに従って、転送先を設定するだけ。簡単です。*1

が、どうもこれ、すぐ有効にはならない模様。
1日くらい放っておいたら、無事転送されるようになりましたが…。

*1 : なぜか一度、"この電話番号には転送できません"って文句を言われたんだけど…^^;リトライでうまくいった。

アドエス側の設定

特に要らないといえば要らないんだけど、上のサービスは「電源OFF時や圏外時だけ」なので、注意が必要。うっかり待ちうけにしておくと、転送されずにかかってきちゃう。
また、通信中着信機能がONだとパケット通信中にいきなり切れて着信してしまうので、通話中着信機能はOFFにしておく方が良いかな。
普段からW-SIMの電波を普段はOFFで、使うときだけONにするか、パケット通信の必要が無いときは電源OFFにして持ち歩けば、完全転送されるかな。電源の入切の方がらくなので、自分は後者を選択しましたが。

2008/09/24(Wed) 受話にノイズが載る@アドエス

はてブ情報 はてブに登録 はてブ数 2008/09/24 13:57 Hardware::Mobile
初期のW-ZERO3に続いて、現在もAdvanced W-ZERO3[es](アドエス; Ades)を使っているのだが、W-ZERO3時代には見られなかった「受話にノイズが載る」現象がアドエスになって起こり始めた。

スペック
  • Advanced W-ZERO3[es] Black
  • ネットインデックス製 RX420IN
  • ファーム 2.01a(1.02からアップデート済み)
無論100%起こりうるなら修理ということになるのだが、そういうわけでもない。
  • 通話中、何かの拍子に急に受話音声がノイズまみれになる
  • 相手の声はモニョモニョと聞こえるが、何言ってるか全然わからない
  • 着信/発信によらない
  • 本体/イヤホン接続によらない
  • 電波強度の強弱は余り関係ない模様
  • ファーム1.02でも2.01aでもどちらでも発生している
  • フルリセットして環境組みなおしても状況変わらず
具体的にどうノイズまみれなのかを客観的に書くのが難しいので、アドエスから自分自身に発信したときの音を比べてみた。

▼正常時


▼異常時


受話スピーカーをマイクに近づけただけなので、多少生活音が入っているのだが、それでも録音環境は同じである。外線に繋がった瞬間の「プーップーップーッ」音が明らかに違うのが分かると思う。
もっともこれは電話なので、聞く音は人間の声。こんなガサガサの状況で何か物を言われても全然聞き取れないのである。

ちなみに一旦こうなると、電話をかけなおして/受けなおしても状況は変わらないので、再起動するしかないというのが現状。

近くにウィルコムショップが無いので、どうしようも出来ず…。
普段からshell32.exe*1のCPU使用率が高い*2のが原因かなあ?
W-ZERO3シリーズまたは、ウィルコムの他機種においても、似た/同一の現象が起こっている人がいらっしゃいましたら、コメントください。

*1 : Todayを担当しているプログラム。

*2 : 多分dyScheduleのせい。でも無いと困る。このプログラムを使用したからといって電話に影響が出るといった事例は出ていないような気がするが…。

1: wifimaster 『私もdySheduleを使用していますが、平常時でshell32.exeは0~3%のCPU利用率です。 ノイズが載るということも...』 (2008/09/26 23:21)

2: Keroberos 『wifimasterさん、コメントありがとうございます。 予定表には過去2年分くらいの予定がぎっしり入っており、平均して平日に3...』 (2008/09/27 2:13)

  • ウィルコム着信転送サービス Kerosoft : Modus Operandi Keroberos
    受話にノイズが載る@アドエスで書いたように、W-ZERO3の電話が役に立たなくなってきたので、せっかく070発信無料や低定額料金がウリのウィルコムであったが、再び携帯電話と攻守交替することに。先日、docomoのSH906i契約してきました。でもまあ、ウィ...

2008/09/19(Fri) Advanced W-ZERO3[es]の変わった充電方法

はてブ情報 はてブに登録 はてブ数 2008/09/19 10:06 Hardware::Mobile
ちょっと遠隔地に2週間ほど滞在することになったのだが、ケータイ代わりのAdvanced W-ZERO3[es](以下Ades)を持ってきたのはいいけど、充電器を見事に忘れた。

あ、でも、USB A<->miniBケーブル持ってるから大丈夫だな!と思っていたら、たまたま相性が悪いケーブルしか持ち合わせてなかった。もともと1.8"HDDマウンタ付属の得体のしれないケーブルで、そのHDDや手持ちのMP3プレーヤーでは問題なく仕えているので、Adesとの問題だろう。*1
じゃあ、ケーブルを取り換えれば……と思ったが、最悪なことに、滞在先にはUSB miniBのクチのケーブルが無い。


が、不思議とAC-DCアダプタがゴロゴロしているので(笑)、数十個あるその中から5V 1Aを満たす、5V 2.5Aというアダプタを発見。

これを専用充電端子に変換するのは骨が折れるし、ピッチが狭すぎるので、クレードル用の金属端子を使用。我ながらいい案だ。
初期W-ZERO3(WS003SH)のときによくお世話になった紙クレさんのところの情報によると、画面に向かって左側が+5V, 右側がGNDとのこと。

さっそく、アダプタのDC側をワニ口クリップと文具のクリップを使って引っ張り出し、手頃なテスター棒を使って給電……すると。


おぉ、充電ランプが光った!!


というわけで、充電できました。当たり前ですが。
クレードル端子を利用するってのは、自分では案外盲点だったのですが、もし滞在先に充電器を忘れて、USBケーブルもなくて、「5VのAC-DCアダプタ」と「クリップ類」と「テスター棒のようなもの」がある場合は、おためしあれ?

*1 : Adesは、W-ZERO3付属のUSBケーブルだともちろん認識できる。問題のケーブル経由だと、一応繋がったらしくスタンバイから復帰はするものの、デバイスとして認識されない。

2008/09/17(Wed) Set-Cookieのpathについて

はてブ情報 はてブに登録 はてブ数 2008/09/17 18:22 Languages::Perl
Kerosoft@webのアナウンスをRSS配信するため、ウェブにコンパネを作っていた時、セッション管理用にCookieを使ったのだが、その時のメモ。

設定するとき

Set-Cookieのときのpathには注意しなくてはならない。
スクリプトの設置位置が、http://path-to-server/hogehoge.cgiだった場合、
Set-Cookie: CGISESSID=60b725f10c9c85c70d97880dfe8191b3; expires=Wed, 17-Sep-2008 21:16:22 GMT;
などとすると、デフォルトではその階層以下全てのディレクトリに対してCookieを送信してしまうので、ユーザー領域/~User/にも送ってしまうことになる。これは非常にまずい。

調べてみると、スクリプトを置く位置を自分以外がアクセスできないよう、/~hoge/以下に動かして、path=/~hoge/;とすれば安全と書いてあったが、今回のようにルートディレクトリに置きたい場合はどうするか。


結果的にいえば、こんな感じでいいようだ。
Set-Cookie: CGISESSID=60b725f10c9c85c70d97880dfe8191b3; expires=Wed, 17-Sep-2008 21:16:22 GMT; path=/hogehoge.cgi;
こうすれば、/hogehoge.cgi以下にはCookieが送られ、それ以外のアクセス(たとえば、/favicon.icoや/~user/hoge.htmlなど)へは送信されない。
このpathには、ディレクトリを指定するというような書き方をしているページが多々あったので、使い方を誤っているのかもしれないが、試した限りでは意図した動作をしているのでいいことにしようか…。
なお、別のユーザーが、/hogehoge.cgi/*等に対してアクセス権限を持っているとしたら意味がないので注意。そんなことはないと思うが。
ちなみに、/hogehoge.cgi部分は、$ENV{'SCRIPT_NAME'}で良いと思う。

削除のとき

削除する場合はexpiresに過去の値、たとえばThu, 01-Jan-1970 00:00:00 GMTを指定するが、これに関しても、pathを設定せねばならない。
Set-Cookie: CGISESSID=; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/hogehoge.cgi;
指定しない場合は、削除されない
ここに10分ほどハマってしまった……。