Difference between revisions of "USB"

From ReactOS Wiki
Jump to: navigation, search
m (Changelog)
(Vgal USB state: usbstor merged!)
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
==See Also==
+
{{Warning|With current versions of ReactOS, USB support is '''NOT''' advanced enough to successfully work with USB flash-drives, web-cameras and etc. Please  mind that system may crash due problem caused by USB-device. Please, if possible, avoid using USB devices together with ReactOS,  unless you know what you are doing.}}
[[USB Stack]]
+
{{Stub}}
 +
== Vgal USB state ==
 +
Here is the current state of Vadim Galyant's [https://github.com/reactos/reactos/pull/245/#issuecomment-367211489 USB patches], which all together represent the new version of the ReactOS USB stack.
  
[[USB Stack Template]]
+
Additional notes are listed below the table.
  
[[USB Todo]]
+
{| class="sortable wikitable"
 +
|-
 +
! style="width: 3%;" | # apply seq
 +
! style="" | Patch name
 +
! style="" | # PR
 +
! style="" | Status
 +
! style="width: 6%;" | LiveUSB Required
 +
|-
 +
| 1
 +
| [USBPORT] Transaction Translator
 +
| [https://github.com/reactos/reactos/pull/283 #283]
 +
| {{StatusCell|Stable}} | Merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 2
 +
| [USBPORT] Correct size adressing for PA (01)
 +
| N/A
 +
| {{StatusCell|Stable}} | Merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 3
 +
| [USBOHCI_NEW] Correct size adressing for PA
 +
| N/A
 +
| {{StatusCell|Stable}} | Merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 4
 +
| [USBOHCI_NEW] Enable driver
 +
| N/A
 +
| {{StatusCell|Unknown}} | Not merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 5
 +
| [USBUHCI_NEW] Bring-in new USB UHCI driver '''(requires patch 2, 3)'''
 +
| [https://github.com/reactos/reactos/pull/245 #245]
 +
| {{StatusCell|Stable}} | Merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 6
 +
| [USBEHCI_NEW] Bring-in new USB EHCI driver '''(requires patch 2, 3)'''
 +
| [https://github.com/reactos/reactos/pull/301 #301]
 +
| {{StatusCell|Stable}} | Merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 7
 +
| [USBSTOR_NEW] Bring-in new USB Storage driver
 +
| [https://github.com/reactos/reactos/pull/1450 #1450]
 +
| {{StatusCell|Stable}} | Merged
 +
|
 +
|-
 +
| 8
 +
| [USBHUB] Black list for unsupported devices
 +
| N/A
 +
| {{StatusCell|Failed}} | Will not be merged
 +
| {{StatusCell|Unknown}} | H/W depend
 +
|-
 +
| 9
 +
| [USBHUB] Make ReactOS bootable from USB
 +
| N/A
 +
| {{StatusCell|Unknown}} | Not merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 10
 +
| [USBCCGP] Fix SelectConfiguration NULL handling
 +
| N/A
 +
| {{StatusCell|Unknown}} | Not merged
 +
|
 +
|-
 +
| 11
 +
| [HID] Bring-in new USB HID support
 +
| N/A
 +
| {{StatusCell|Unknown}} | Not merged
 +
|
 +
|-
 +
| 12
 +
| [NTOSKRNL][HAL] Allow USB boot in PnP Enumeration Worker
 +
| [https://github.com/reactos/reactos/pull/1569 #1569]
 +
| {{StatusCell|Unknown}} | Not merged
 +
| {{StatusCell|Stable}} | Yes
 +
|-
 +
| 13
 +
| [USBHUB] Move DPRINT after check Status
 +
| [https://github.com/reactos/reactos/pull/282 #282]
 +
| {{StatusCell|Stable}} | Merged
 +
|
 +
|-
 +
| 14
 +
| [NTOSKRNL][BOOT] Hack for ImportHwIDs
 +
| N/A
 +
| {{StatusCell|Unknown}} | Not merged
 +
|
 +
|-
 +
| 15
 +
| [NTOSKRNL][USETUP] Hack for USB keyboard in 1st Stage Setup
 +
| [https://github.com/reactos/reactos/commit/63286c6bbc300c55a3b0120d37a637ec25a8fe44 63286c6]
 +
| {{StatusCell|Failed}} | Superseded
 +
|
 +
|-
 +
| 16
 +
| [NTOSKRNL] Fix and improve IopValidateID()
 +
| [https://github.com/reactos/reactos/pull/341 #341]
 +
| {{StatusCell|Stable}} | Merged
 +
|
 +
|-
 +
| 17
 +
| [USBPORT][USBHUB_NEW] Fix QueryIDs
 +
| N/A
 +
| {{StatusCell|Stable}} | Merged
 +
|
 +
|}
  
[[Supported USB Devices]]
+
=== Additional notes ===
 +
* To achieve successfull Live USB boot, it is enough to merge all patches that are marked as '''Required'''.
 +
* Before merging new UHCI and EHCI drivers, "'''Correct size adressing for PA'''" patches should be merged.
 +
* Patch #8 with black list of devices is required to boot successfully on some machines, until the support for Isochronous Transfers would be implemented.
  
[[LiveUSB|Booting from a USB disk]]
+
== See also ==
 +
* [[USB Stack]]
 +
* [[USB Todo]]
 +
* [[Supported USB Devices]]
 +
* [[LiveUSB|LiveUSB - Booting from a USB disk]]
 +
* [[User:Illen/RAM_Boot|USB RAM Boot]]
 +
* [[USB Testing]]
  
[http://www.reactos.org/forum/viewtopic.php?f=2&t=10835 USB Working January 26, 2012]
+
== Links ==
 +
* [https://web.archive.org/web/20141127220403/http://old.reactos.org/en/newsletter_56.html#sec0 History of USB in ReactOS] April 9th, 2009
 +
* [https://web.archive.org/web/20141127220416/http://old.reactos.org/en/newsletter_71.html#sec0 More news about USB] April 22nd, 2010
 +
* [https://web.archive.org/web/20141127220422/http://old.reactos.org/en/newsletter_83.html#sec1 New USB Drivers] April 28th, 2011
 +
* [https://web.archive.org/web/20130524183039/http://old.reactos.org/en/newsletter_90.html#sec1 Two of Four host controller interface drivers completed]  January 23rd, 2012
 +
* [http://www.reactos.org/forum/viewtopic.php?f=2&t=10835 USB Working] January 26, 2012
 +
* [http://www.reactos.org/forum/viewtopic.php?f=15&t=10909 USB branch merged at r55555] February 12th, 2012
 +
* [https://web.archive.org/web/20141127220416/http://old.reactos.org/en/newsletter_91.html#sec3 USB branch merged with trunk] February 28th, 2012
  
[http://www.reactos.org/forum/viewtopic.php?f=15&t=10909 USB branch merged at r55555]
+
[[Category:Hardware]]
 
+
[[Category:Development]]
[http://www.reactos.org/en/newsletter_56.html#sec0 History of USB in ReactOS] April 9th, 2009
 
 
 
[http://www.reactos.org/en/newsletter_71.html#sec0 More news about USB] April 22nd, 2010
 
 
 
[http://www.reactos.org/en/newsletter_83.html#sec1 New USB Drivers] April 28th, 2011
 
 
 
[http://www.reactos.org/en/newsletter_90.html#sec1 Two of Four host controller interface drivers completed]  January 23rd, 2012
 
 
 
[http://www.reactos.org/en/newsletter_91.html#sec3 USB branch merged with trunk] February 28th, 2012
 
 
 
==Changelog==
 
[[ChangeLog-0.2.6]]
 
* Drivers from Linux (Cromwell actually) are ported to ReactOS, and OHCI host controller driver is now working fine. However no class drivers has been developed yet, so no usb devices work right now. Next release (0.3.0) will have support for USB keyboards and mice, and also quite more popular UHCI controller. ([[Aleksey Bragin]])
 
 
 
[[ChangeLog-0.2.7]]
 
* UHCI HCD driver supports recognizing Memory type of resource ([[Aleksey Bragin]], [[Hervé Poussineau]])
 
* UHCI controller driver, which uses the Cromwell USB stack
 
* Basic USB hub driver, which sometimes reports connected devices
 
 
 
[[ChangeLog-0.2.8]]
 
* Create a common library between UHCI and OHCI miniports ([[Hervé Poussineau]])
 
* Report USB devices to PnP manager ([[Hervé Poussineau]])
 
* Major USB improvments:
 
** Improve hardware support in linux_wrapper
 
** Add embedded drivers, register them in linux usb stack
 
** Add working wrapper for keyboard and mouse devices - now if usbohci or uhci loads, it will be the first to create KeyboardClass0 and PointerClass0 devices, so PS/2 keyb/mouse won't work.
 
** Added logic for registering miniport at port driver (like Windows' usb stack does)
 
** fixed issues with timing, host controller reset, new devices discovery, other small things (better to see diff :) ).
 
([[Aleksey Bragin]])
 
* Implemented USBD_ParseConfigurationDescriptorEx and USBD_ParseDescriptors.  ([[Jim Tabor]])
 
 
 
[[ChangeLog-0.3.0]]
 
* OHCI controller driver was imported from Linux-2.5, UHCI imported also and works too. Port driver also is imported from Linux-2.5, but no WindowsXP-compatible interface has been developed yet. At the moment the drivers for mouse and keyboard are built-in and work, but this feature is unstable. ([[Aleksey Bragin]])
 
* Allow more than one USB controller ([[Hervé Poussineau]])
 
* Add support for USB mouse/keyboard (but only with a reboot now) ([[Hervé Poussineau]])
 
 
 
[[ChangeLog-0.3.1]]
 
* USB: Support hubs ([[Hervé Poussineau]])
 
* Imported and fixed a number of bugs in USB driver stack for Windows NT4 by Zhiming/Woodhead ([[Aleksey Bragin]])
 
 
 
 
 
 
 
[[Category:Hardware]][[Category:BNWIP]]
 

Revision as of 10:28, 11 June 2019

Icon speedy deletion.png Warning: With current versions of ReactOS, USB support is NOT advanced enough to successfully work with USB flash-drives, web-cameras and etc. Please mind that system may crash due problem caused by USB-device. Please, if possible, avoid using USB devices together with ReactOS, unless you know what you are doing.


The page USB is a short article on something that should have a lot more information written on it.
If you know anything else about it, you are STRONGLY encouraged to add the information in. If you are unsure of proper formatting or style, add it to the talk page or this page itself as you think best and others will help.


Vgal USB state

Here is the current state of Vadim Galyant's USB patches, which all together represent the new version of the ReactOS USB stack.

Additional notes are listed below the table.

# apply seq Patch name # PR Status LiveUSB Required
1 [USBPORT] Transaction Translator #283 Merged Yes
2 [USBPORT] Correct size adressing for PA (01) N/A Merged Yes
3 [USBOHCI_NEW] Correct size adressing for PA N/A Merged Yes
4 [USBOHCI_NEW] Enable driver N/A Not merged Yes
5 [USBUHCI_NEW] Bring-in new USB UHCI driver (requires patch 2, 3) #245 Merged Yes
6 [USBEHCI_NEW] Bring-in new USB EHCI driver (requires patch 2, 3) #301 Merged Yes
7 [USBSTOR_NEW] Bring-in new USB Storage driver #1450 Merged
8 [USBHUB] Black list for unsupported devices N/A Will not be merged H/W depend
9 [USBHUB] Make ReactOS bootable from USB N/A Not merged Yes
10 [USBCCGP] Fix SelectConfiguration NULL handling N/A Not merged
11 [HID] Bring-in new USB HID support N/A Not merged
12 [NTOSKRNL][HAL] Allow USB boot in PnP Enumeration Worker #1569 Not merged Yes
13 [USBHUB] Move DPRINT after check Status #282 Merged
14 [NTOSKRNL][BOOT] Hack for ImportHwIDs N/A Not merged
15 [NTOSKRNL][USETUP] Hack for USB keyboard in 1st Stage Setup 63286c6 Superseded
16 [NTOSKRNL] Fix and improve IopValidateID() #341 Merged
17 [USBPORT][USBHUB_NEW] Fix QueryIDs N/A Merged

Additional notes

  • To achieve successfull Live USB boot, it is enough to merge all patches that are marked as Required.
  • Before merging new UHCI and EHCI drivers, "Correct size adressing for PA" patches should be merged.
  • Patch #8 with black list of devices is required to boot successfully on some machines, until the support for Isochronous Transfers would be implemented.

See also

Links