Sourcecode Fortschritt
-
version = "0.0.3.89 - Rev: 1290"
ohci/usb weiter entwickelt. Verbindung zwischen setup-TD und Rest fehlt noch in der TD-Queue (durch die Umstellung der TDs von vorne nach hinten ist das nun schwieriger. MrX: wie hast du dir das gedacht bei deinem Modell?). Hier wird um Ideen gebeten.
TD->cond (condition = status) wird nun mit 15 (NOT ACCESSED) gefüllt, damit man sieht, ob der TD korrekt abgearbeitet wird (bei setup klappt es bereits).
-
version = "0.0.3.90 - Rev: 1291"
ohci.c: Fehler (hoffentlich) korrigiert, curOHCI ersetzt.
Transfers laufen noch nicht.
-
version = "0.0.3.91 - Rev: 1292"
ohci.h/c: Fehlerkorrekturen (Ausgabe der ED -> TD queue zur Kontrolle)
ED -> ED -> ... | | TD TD | | TD TD
Ketten sind ok (check der struct member)
Nun muss man den OHCI noch ordentlich gemäß spec bewegen.
-
version = "0.0.3.92 - Rev: 1293"
Fehler in ohci.c beseitigt, z.B. tailPointer und directions
-
version = "0.0.3.93 - Rev: 1294"
ohci.h/c: Transfer-Mechnanismus läuft nun endlich, aber Fehler bei den Paketen in den Transactions: Device: no response to IN or no handshake (OUT)
-
version = "0.0.3.94 - Rev: 1295"
ohci.c: donehead begonnen
-
version = "0.0.3.95 - Rev: 1296"
ohci: weiter entwickelt, Transfers funktionieren aber noch nicht korrekt.
-
version = "0.0.3.96 - Rev: 1297" experimentelle Version (Rückbau von ohci_createQTD_SETUP auf rev. 1290 - ist zwar falsch, aber die transaction läuft)
-
version = "0.0.3.97 - Rev: 1298"
ohci.h/c: noch einige Korrekturen, es hakt aber immer noch gewaltig. ^^
-
Version 0.0.3.98:
- OHCI aufgeräumt, kleinere Fehler behoben
- Kein #PF bei OHCI mehr, wenn usbTransferStringUnicode aufgerufen wird
- Kein #PF bei unbekanntem Partitionstyp mehr
- SCSI-Commands werden bis zu 5 mal wiederholt bei Fehlschlag
- Kleinigkeiten & Codestil
-
version = "0.0.3.99 - Rev: 1300"
ohci.c: Ausgaben verbessert, Zeitschleifen in issueTransfer
Hauptproblem: Device: no response to IN or no handshake (OUT). (bei Setup Transaction)
-
version = "0.0.3.100 - Rev: 1301"
ohci.h/c: weitere Veränderungen (hoffentlich Fehler behoben, usb läuft noch nicht)
Wichtiger Hinweis: // #define _EHCI_ENABLE_ in os.h
Wer den EHCI nutzen möchte, dies bitte vorher aktivieren.
-
version = "0.0.3.101 - Rev: 1302"
ohci.c: Ausgaben erweitert zur Kontrolle ( skip, halted in HeadPointer )
EHCI wieder enabled
-
version = "0.0.3.102 - Rev: 1303"
ohci weiter entwickelt. Immer noch Fehler beim ersten TD (setup).
VBox zeigt übrigens immer toggle 0 an, obwohl ohci.c sauber togglet. Auch buffer werden nicht angezeigt. Tests mit PCs sind aussagekräftiger.
-
Version 0.0.3.103:
- PCNet: "Undefined error" hinter _NETWORK_DIAGNOSIS_ versteckt
- createQTD_SETUP und createQTD_IO vereinheitlicht: Beide allokieren einen Puffer.
- restrict zu VCcompatibility.h hinzugefügt
-
version = "0.0.3.104 - Rev: 1305"
ohci.c: ausgaben weiter verbessert, CLE,CLF umpositoniert, Haltestellen eingefügt für VBox Debugger
-
version = "0.0.3.105 - Rev: 1306"
ohci.c: buffer zusätzlich ausgegeben zur Kontrolle
ED, TD, TD-buffer sieht alles gut aus.
CLE als Hauptschalter
Bei Fehler:
- CLF (Control List Filled) auf 0
- currentED auf 0
- ED->HeadP Halted-Bit auf 0
- Fehlerausgabe via condition Feld (Status)
-
version = "0.0.3.106 - Rev: 1307"
ohci.c: weiter optimiert (z.B. Rücksetzen des HeadPtr Halted Bit) - transfer läuft noch nicht
-
version = "0.0.3.107 - Rev: 1308"
ohci_ und ehci_request zu usb_request vereinigt.
usb1.h/c gelöscht.
-
version = "0.0.3.108 - Rev: 1309"
ohci-Ausgaben reduziert (hinter define)
In VBox: Device Not Responding
http://www.ti.com/lit/ug/sprufm8/sprufm8.pdf
The USB1.1 host controller ignores upstream traffic from downstream devices for about 3 ms after the host controller state (HCCONTROL.HCFS) changes from USB resume state to USB operational state. If any TDs cause generation of downstream packets during that time, the downstream packets are sent, but downstream device responses are ignored. Any such TDs are aborted with completion codes marked as Device Not Responding. TDs on any of the lists (periodic, control, bulk, and isochronous) can cause such an occurrence.