Seite 1 von 1

Schon wieder USB

Verfasst: 17.12.2006 10:26
von Marvin
:roll:
Es gab hier ja schon viele Diskussionen über die Ansteuerung der USB-Schnittstelle, die immer wieder so endeten, dass herauskam, dass die Ansteuerung mit PB unmöglich sei (Es sei denn, das Gerät besitzt ein HID-Interface).
Nun habe auch ich mich mit dem Thema befasst und möchte die obige Meinung nicht so recht teilen, aufständisch, wie ich nun mal bin... :D
Ich möchte einfach einen USB-Massenspeicher ansprechen.
Theoretisch bräuchte ich doch dazu bloß die ID, die das Gerät vom USB-Controller erhalten hat, oder?
Außerdem müsste man diesen Controller doch auch ansprechen können. Also könnte ich dem (USB-)Controller doch sagen, dass er mir die Konfiguration aus dem Endpunkt 0 auslesen müsste (So kann man ja auch in einer For-Next-Schleife alle IDs durchgehen) und ich erfahre so, ob das Gerät ein Massenspeicher-Interface besitzt. Wenn ja, dann könnte ich doch (laut Wikipedia) mit den grundlegenden Massenspeicherfunktionen arbeiten, zu welchen sicher auch Lesen/Schreiben (also die Bearbeitung der zwei Endpunkte des Massenspeicher-Interfaces) gehören.
Ich möchte also einfach nur einen Massenspeicher am Roothub (PCI) ansteuern. Könnte das gehen?

(Berichtigt mich, ich habe bestimmt viel Falsches gesagt :| )

Verfasst: 27.02.2007 04:18
von Robinson
Hallo Marvin

Gebe Dir vollkommen Recht, und soweit ich das sehe hast Du Sogut wie Gar nichts Falsches gesagt.
Es ist eben nur ein etwas anderer weg als wie über das HID Device.
Ohne HID Komuniziert man halt mit den jeweiligen Treibern direkt.
Wie es genau geht weis ich leider auch nicht, ich hab mich nur mit USB HID beschäftigt.
Und wer lust hat (und Geduld) der Kann bei MSDN schon viel rausfinden wies geht
Und wenn man mit der Sprache C zugriffe auf USB Geräte ohne HID programmieren kann, dann kann man das mit PureBasic Allemal. <)

Gruss Robinson :)

Verfasst: 03.03.2007 15:28
von Marvin
Vielen dank für deine Antwort! :allright:
Ich hab nun in der Zwischenzeit schon wieder ein paar Sachen mit OS-Programmierung gemacht, wobei ich dort nach Wegen gesucht habe, über die I/O-Ports direkt den USB-Controller auf dem Mainboard (oder in einem PCI-Slot) anzusprechen. Und nun versuch mal, Portnummern für sowas rauszukriegen...
Das Ganze über Windows-Treiber zu realisieren wäre schon eine Idee, aber alles unabhängig und in Assembler zu programmieren wäre natürlich noch besser, wenn auch sehr viel schwieriger...