USBプログラミング入門at TECH
USBプログラミング入門 - 暇つぶし2ch29:デフォルトの名無しさん
08/11/15 12:20:32
いまさらな書き込みだがUSBインターフェースつきの基板の場合
内部ではCPU等が標準で持っているシリアルインターフェースに
USB-シリアル変換器を組み合わせているというタイプも多い。

この場合パソコンとの接続は仮想COMポート経由ということになるため
この部分で自動的に区別がつくことになる(1台目はCOM3、2台目はCOM4のように)

ただしコールドスタート時から接続しておく場合は
どちらがどちらに割り当てられるかケースバイケースということになりかねないため
接続を確認する処理の中で個々の識別ができるような仕掛けが必要となる。

30:デフォルトの名無しさん
09/04/19 05:39:05
USB デバイス繋げて遊んでるんですけど、USB 機器の差し込み口を変えて再実行すると
コンフィギュレーションの指定のところで失敗します。元の差し込み口に差し直して
再実行すればうまく行くんですけど。

(*dev)->SetConfiguration(dev, confDesc->bConfigurationValue);

これが kIOReturnNotOpen を返しますが USBDeviceOpen() から GetNumberOfConfigurations(),
GetConfigurationDescriptorPtr() まで kIOReturnSuccess が戻るのは確認しています。

URLリンク(developer.apple.com)

今書いているのは MacOS X 10.5 ですが、Win98 の頃から差し込み口を変えただけで
ドライバの再インストールが始まったり認識できなくなったりするデバイスをたまに
見るんですけど、これってそもそも USB の特性なんでしょうか?

31:デフォルトの名無しさん
09/04/19 13:10:29
>>29
ものすごい遅レスだけど、デバイス内部のCPUとUSBコントローラの接続が
UARTだからといってデバドラがVCPとは限らないだろw
その2つのインターフェイスは全然無関係だし。

具体例を言うとFTDIのFT232系統を見れば分かるけど

32:デフォルトの名無しさん
09/04/19 22:17:10
まあ、生の UART を Windows で使う時だってデバドラが Comm
ドライバとは限らんわけだが。

そんなこといちいち指摘したい年頃なのか?

33:デフォルトの名無しさん
09/04/19 22:43:32
>>32
それ自分で言ってる意味わかって言ってる?
ていうか生のUARTって何のことよ?w

それはともかく、「そんなこと」どころではなくて、
>>29の言ってることは大間違いなんだけど。

>>29本人かどうか知らんけど、「間違いを犯す」ことより「自分の間違いを認められない」
ことの方を恥ずかしいと思うべきだと思うぞ。

34:デフォルトの名無しさん
09/04/19 23:49:37
> ていうか生のUARTって何のことよ?w

わからんのなら ROM ってろよ。
そもそも5ヵ月も前のレスに間抜けな指摘してる方が恥ずかしいと思うぞ。

35:デフォルトの名無しさん
09/04/20 00:22:39
なんか哀れなお馬鹿さんだな。
まあこういう可愛くない馬鹿を見ると追い込みを掛けたくなる俺も病気だなw

>>34
まあ罵倒はいいから、弁解なり反論なりをしてくれない?
生のuartって何?commドライバって何?

既に示したとおり、理屈上も現に存在する製品としても[CPU]⇔[USB コントローラ]
間のインターフェイスと[USBデバイス]⇔[PC]間のインターフェイスに直接の関連はなく、
前者がUARTだからといって後者がVCPである必要は何もない事実と、>>29のレスが
どう整合するの?

もちろんできないならいいよ無理しなくても。

36: ◆0uxK91AxII
09/04/20 03:01:59
見ている第三者が恥ずかしいわ。

37:デフォルトの名無しさん
09/04/20 03:54:46
自称第三者はいいよw

38:デフォルトの名無しさん
09/04/20 06:28:21
> 前者がUARTだからといって後者がVCPである必要は何もない事実

別にそれが間違ってるなんて書いてないだろ。
わざわざ指摘するほどのことかって言ってるだけ。

ちょっと冷静になった方がいいぞ。

39:デフォルトの名無しさん
09/04/20 06:36:55
第三者だけど煽っといて冷静になれはねぇな。

40:a36 ◆K0BqlCB3.k
09/04/20 11:25:23
俺はそんな細かいことは気にしないぜ
ここは神経質なスレだな

41:デフォルトの名無しさん
09/04/25 15:39:27
Windows で PC に接続している USB 機器を列挙してデバイス、コンフィギュレーション、
インターフェース、エンドポイントなんかのディスクリプタ情報を取りたいんですけど、
SP_DEVINFO_DATA からどうすればそれらを取得できますか?

HDEVINFO hDevInfo = SetupDiGetClassDevs(
  NULL, "USB", NULL, DIGCF_ALLCLASSES | DIGCF_PRESENT);
while(SetupDiEnumDeviceInfo(hDevInfo, i, &devInfoData)){
  /* ??? */
}


42:デフォルトの名無しさん
09/05/02 10:30:30
何で MaxPower だけ b 付いてないの?

43:デフォルトの名無しさん
09/05/06 15:45:22
一番メジャーなオープンソース汎用 USB ドライバって何ですか?

44:デフォルトの名無しさん
09/10/13 17:31:53
libusb-win32
のinfファイルって、
何で
>Class = LibUsbDevices
なの?

45:デフォルトの名無しさん
09/10/14 19:32:09
ClassGUID
ってどうやって番号発行するの?

46:デフォルトの名無しさん
09/10/14 19:58:29
デバイス側の作り方も知りたい

47:デフォルトの名無しさん
09/10/15 14:53:39
Arduinoいいお

48:デフォルトの名無しさん
10/05/09 00:24:10
このスレで質問してもいいのかな

自作のHIDキーボードをPCに繋いで、
Windowsのデバイスマネージャの該当プロパティを見ると、
電源管理タブが表示されず
「このデバイスで、コンピュータのスタンバイ状態を解除できるようにする」
のチェックができないんだけど、
何が足りないのかな。
一応、デスクリプタのattributesの
remote wakeupフラグは立ててるんだけど。

49:デフォルトの名無しさん
10/05/09 00:39:27
>>48
PC側のBIOS設定で禁止されてるとかね。
あるいは、デバイスがバスパワーで(キーボードだからたぶんそうだと思うけど)、
かつBIOSの設定で省電力モード時USBに給電しない設定になっている(というより、
デフォルトでそうなってるマシンが多い気がする)とか。

まあ電気・電子板で聞いた方がいいのかもね。
半年以上休眠してるスレで質問してもw

50:デフォルトの名無しさん
10/05/09 01:18:39
ありがとうございます。
とりあえず会社のマシンとかで試してみます。

51:デフォルトの名無しさん
10/05/09 03:31:51
>>49
試しに他のPCでやってみたら出てきました。
デスクリプタの設定自体は正しかったようです。
ただ、実際に復帰するにはホストデバイス間の通信と、
デバイスの信号や電源周りを含め処理しないとだめらしく、
想像より敷居が高いと判りました。
まともなデバッグ環境がないと実装は無理そうです。


52:ぷれ
10/05/13 10:10:05
始めまして、今、マスストレージに対応していないUSBデバイスを
マスストレージに対応しているかのように見せるようなドライバを作成したい
と思っています。(USBを接続するとドライブのように見えるイメージです)
何か参考になりそうなサンプル、
ドキュメント等ご存知でしたら教えてくれませんか?




53:デフォルトの名無しさん
10/05/13 14:11:11
V-USBいいお

54:ぷれ
10/05/14 14:08:31
>>53 ありがとうございます。
もしかしてLinuxのドライバですよね。

環境書いていなくてすいません。
Windows WDMで書きたいのです。。。。



55:デフォルトの名無しさん
10/05/14 14:17:20
あなたへのレスではなかったのですが・・・

56:ぷれ
10/05/14 15:38:59
>>55 そうでしたかすいません。

57:デフォルトの名無しさん
10/05/25 08:56:35
分け合ってUSBを延長する必要があります。
LANケーブルを使用した延長器でトライしたのですが線長が長くなり通信が安定しません。

アイオーデータのETG-DS/US+無線LANを使用してnet.USB経由にしようかと思いましたが、
最終的な接続先がマイコンのため、net.USBが使用できません。


パソコンでUSBの中継をするようなツールご存知ないでしょうか?


ETG-DS/US → Ethernet → PC(net.USB) → マイコンのUSB I/F
                    -----------

仮想USBであるnet.USBからUSB物理ポートへデータを吐き出す…。
いわば、USBのブリッジみたいなツールがほしいのですが。



58:デフォルトの名無しさん
10/05/25 09:14:16
ないよ
多分LAN対応したマイコン同士を繋いだ方が早い

USB → マイコン1→ 無線LAN → マイコン2

59:57
10/05/25 09:26:58
>>58

ありがとうございます。

やはり、ないですかぁ。

今回、図でいうとマイコン2が、購入品のため手を加えられません。


60:デフォルトの名無しさん
10/05/25 09:32:02
PCに挿せるような環境なら、そのPCを遠隔から操作すりゃいいんじゃない?

61:sage
10/05/25 09:57:58
「PC」じゃなくて「マイコン」って書いてるんだから分ってやれよ。
> LANケーブルを使用した延長器でトライしたのですが線長が長くなり通信が安定しません。
コレガの安っちいのじゃなくてBlackBoxの奴なら行けるかも。

62:57
10/05/25 10:00:43
もともとUSBで直接PCに接続している信号を、置き換えを行うためマイコンで擬似信号を付加して、
PCに戻す装置なので、ハードが必要となります。なので、PC上に載せられないのです。


63:デフォルトの名無しさん
10/05/25 10:00:53
そもそもPCのUSBってデバイス側にはなれないと思うよ
マイコン2がいじれないなら
USB → マイコン3 → 無線 → マイコン1 → USB → マイコン2
とか

64:デフォルトの名無しさん
10/05/25 10:03:56
Arduino使えばいいよ

65:57
10/05/25 10:08:31
やはり、デバイス側になれないということでソフト的に何とかしようというのは、無理っぽいですね。
ありがとうございます。


66:デフォルトの名無しさん
10/05/25 10:34:17
ああ、マイコンがUSBホストなのかw
最終的な接続先がマイコンとか矢印の向きで、マイコンがデバイス側なのかと思ってた。

67:デフォルトの名無しさん
10/05/25 11:40:16
Dだけ光にすればいいじゃん?
長さと金額にもよるだろうけど

68:デフォルトの名無しさん
10/05/25 19:04:39
>>57

- USBはルートハブを入れて6段まで接続可能
- USBハブはレピータでもある
- ノード間のケーブル長は規格上は5mまで(実際は高品質のケーブルならもっといける)

以上は知ってるんだよね?
つまり、ごく普通に30mは引き回せるってことだけど。

あと、まんまUSBの物理層を無線にするものも売ってるよ。

69:デフォルトの名無しさん
10/05/26 08:00:03
試しにUSBロングケーブルでぐぐったら20mとかいうのが出てきた。

70:デフォルトの名無しさん
10/05/27 10:46:19
オシロで先頭と数十mぐらい引き伸ばした先を計ったら
劣化して見えるのかな
D+D-両端にバッファ(74VHCU04とか)付けるとかで改善しない?


71:デフォルトの名無しさん
10/05/27 17:27:04
I2Cと似た半二重だからバッファかますの無理じゃね?

72:デフォルトの名無しさん
10/05/27 20:45:15
単純に双方向にするだけだから、理論的には不可能じゃないけど(現にI2Cの場合は既製品であるし)
USBの周波数に追従するバッファってどんだけーって気はする。
差動だけにタイミング余計シビアだよな

というか、だから普通にハブを使っとけと。

73:デフォルトの名無しさん
10/05/27 23:11:44
そうだね。ハブ中継なら遅延は起きても劣化は無視できる

74:デフォルトの名無しさん
10/05/28 06:08:20
信号側の電圧上げてやればいいんじゃね?

75:デフォルトの名無しさん
10/05/28 20:58:11
電力伝送してるわけじゃないから電圧とかそういう問題じゃないのw

76:デフォルトの名無しさん
10/05/29 00:09:31
>>75
無知すぎw

77:デフォルトの名無しさん
10/05/29 00:17:00
馬鹿かコイツ。
じゃあ仮に意味があるとして、どうやって電圧上げるんだよ。


78:デフォルトの名無しさん
10/05/29 15:54:20
教えてくんかよ

79:デフォルトの名無しさん
10/05/31 22:44:10
Through


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch