0
0
テーマ、知りたいこと
USB充電機能しかない集音器をPCに接続してその中身を確認することってできるんでしょうか?
背景、状況
補聴器を自作してみたいなと思い、とりあえず市販の集音器に周波数に応じて増幅する機能をつけたら作れるんじゃないかと漠然とした考えがあり、試してみたいと思っています。(もちろん壊れたら自己責任なのは承知です。)
ただ、基本的に充電の機能しかないのでPCに接続しただけだと中身の確認は出来ません。
こういうデバイスの中身を確認する方法はあるんでしょうか?
※タグは何に属するか分からなかったため「組み込み開発」にしておりますが、誤りの場合はご指摘願います。
試したこと
VmwareWorkstationのCentos7環境にてlsblkコマンドを実施して確認をしましたが、デバイスは確認出来ずでした。
※USBフラッシュメモリを接続した場合は仮想環境に接続するかしないかのダイアログが表示されます。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答7件
#1
総合スコア3047
投稿2023/09/16 10:59
結論から言うと、自力で全てのプログラムを書くならできる場合も多いですが、たいへん面倒です。
詳しく説明しますと、一般論になりますが
- 多くの機器は、データを読み書きするための端子が意図的についていますし、そうでなくともマイコン自体にはついています。
充電専用と称しているUSB端子が特殊な操作をすることでデータ転送に使えることもありますし、中の基板にテストポイントがついていてUSBやシリアル通信ができることもあります。
たとえそうでなくとも、昨今の電子機器にはまず間違いなくマイコンが使われており、マイコンの読み書き用のピンは基板のパターンを削れば到達できます。
- ほとんどの場合、マイコンのプログラムを読み出すことはできません。
昨今のマイコンにはまず間違いなくプログラムの読み出しを防ぐためのプロテクト機能が備わっており、だいたいの製品はそれを有効にしています。
プロテクトの回避はそうそうできるものではありませんし、仮にできたとしてたぶんやると違法です。
- 多くの場合、マイコンのプログラムの消去と書き込みは可能です。
プロテクトの掛かったマイコンもほとんどの場合、全消去はでき、新たにプログラムを書き込むことはできます。(書き込み回数に制限のあるようなプロテクトもあった気がする)
ただし、書き込みができるというのはマイコンの品種が分かっている前提です。マイコンに書かれた文字を見ても品種が分からない場合や文字が書かれていない(消されている)、または覆われていて見えない場合もあります。
なお世の中には1回しか書き込みのできないワンタイムプログラマブルROMのマイコンも存在しますが、最近はまず使われません。
- 結論
以上より、マイコンの品種が分かれば、それ用の開発環境(ソフトと場合によっては書き込み用ハードも)を揃え、基板を見て入出力を理解し、全てのアルゴリズムを自力で書き、それを書き込むことは可能である場合がほとんどです。マイコンの品種は分かる場合が多いです。
#2
総合スコア32
投稿2023/09/16 11:08
編集2023/09/16 11:37#1
回答ありがとうございます。
なるほど、理論上は可能だけれど~って感じですね。
詳しい解説ありがとうございます。
知りたかったことがわかったので回答を締め切らせていただきます。
ご回答ありがとうございました!!
追記:締め切ろうと思ったけど意見交換だからクローズ方法は100件到達か1ヶ月経過なんですね
ということで他にも意見交換(?)したい方はご自由にどうぞ
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#5
総合スコア85607
投稿2023/09/17 02:34
「プログラミングの質問として微妙な内容」と思うのであれば、「プログラミングの意見交換としても微妙な内容」だと思いますが??
私としては、このサイトに質問しても問題ない範疇だと思いますが、広く捉える人狭く捉える人、いろいろなので、狭く捉える人からは「関係ない」という修正依頼が来るかも知れません。
開発ツールの使い方や、OSやネットワークの設定など沢山質問されているので、純粋にプログラミングでなくても良いかと思います。パソコン相談室的な質問は普通のQAサイトに出して欲しいと思いますが。
運営者の意図は不明ですが、そういう周辺の質問を減らすような積極的な動きは見られないので、許容あるいは傍観でしょうか。
質問ページにある両者の説明で、「プログラミングに関して、」と「プログラミングやITエンジニアについて、」と微妙な差があるのは、このサイトの運営者が人材系の会社なので、ITエンジニアやなりたい人の人生相談的な物も許容すると言うことかと思います。人生相談を除いては、両者のターゲット範囲は同一でしょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#6
総合スコア69
投稿2023/09/19 02:46
「中身を確認する」といのが、具体的に何を意味しているかの良くわかりませんが。。。
USB クライアント デバイスは接続時に必ず "USB Device Descriptor (バイス記述子)" 情報をホスト コントローラ側に返す必要がありますが、「USB 充電機能しかない」デバイスの場合、クライアント デバイスとしての機能自体が実装されていないので、"USB Device Descriptor" 情報を返しません。
("Device Descriptor" 自体が存在しない。)
OS が個々の USB クライアント デバイス (ストレージ, マウス, キーボード, オーディオ, etc.) を適切に認識できるのは、クライアント デバイス側が適切な "USB Device Descriptor" を返しているためです。
なので OS 側から見た場合、単にバス パワー消費する何かのデバイスが接続された、ということしか認識できないと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
#7
総合スコア32
投稿2023/09/19 10:07
#6
回答ありがとうございます。
具体的には中身のソースコードです。集音器の場合はマイクの入力をイヤホンに出力するわけですが、音量調整機能や、ちょっとしたモード変更などがあったので、その機能を書いたソースとかが見れるのかなぁというイメージでした。
以前壊れたUSBメモリをLinux環境に繋いだら認識されて、ファイルシステムを一回削除して作り直したらWindows環境でまた使えるようになったという経験があり、もしかしたらLinux環境なら中身のプログラム(ソースとか)が見れるのかな?という淡い期待から試した感じでした。
"USB Device Descriptor" というのは初めて聞く単語だったのでまた新しい知見が増えました。
ありがとうございます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。