Are there USB 2.0 driver updates for Icaros 2.3?

eraw · 313

eraw

  • Newbie
  • *
    • Posts: 20
    • Karma: +20/-0
on: April 08, 2022, 05:00:38 PM
Hi,

I've one 8 core Ryzen and want to install Icaros on it. The problem is the USB 2.0/3.0 is not working with Icaros.
Are there newer drivers developments?

-eraw



AMIGASYSTEM

  • Legendary Member
  • *****
    • Posts: 2090
    • Karma: +48/-1
  • AROS One
    • AROS One
Reply #1 on: April 08, 2022, 05:19:06 PM
I'm not aware that USB 2.0/3.0 ports are not supported, Icaros but also AROS One allows also to install the system from a pendrive !


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1053
    • Karma: +104/-0
Reply #2 on: April 08, 2022, 06:02:09 PM
I did hear people saying that boards with USB 3.0 are not working. If possible disabled USB 3.0 in BIOS and stick with USB 2.0.



eraw

  • Newbie
  • *
    • Posts: 20
    • Karma: +20/-0
Reply #3 on: April 08, 2022, 08:42:20 PM
This Ryzen has USB 2.0 Ports and 3.0 Ports.
The Stick was plugged in USB 2.0 and its waiting for a bootable device at boot time. Mouse and Keyboard on USB 2.0 works not, too.
I think this Chip is not supported (completely), I post later the lspci -v with linux from it.
« Last Edit: April 08, 2022, 08:48:30 PM by eraw »



salvo

  • Legendary Member
  • *****
    • Posts: 1883
    • Karma: +22/-4
  • Peace an Love
Reply #4 on: April 08, 2022, 11:27:41 PM
you can always buy a simple usb 2.0 pci or pci-x card

IcarosDesktop on HP Z400 Workstation


AMIGASYSTEM

  • Legendary Member
  • *****
    • Posts: 2090
    • Karma: +48/-1
  • AROS One
    • AROS One
Reply #5 on: April 08, 2022, 11:39:14 PM
This Ryzen has USB 2.0 Ports and 3.0 Ports.

The problem could be elsewhere!

- How did you boot AROS installation from DVD or PenDrive?

- If you booted from DVD, in which Filesystem was the Pendrive formatted?

- If you started the installation from the Pendrive, how did you create the Live Pendrive?


salvo

  • Legendary Member
  • *****
    • Posts: 1883
    • Karma: +22/-4
  • Peace an Love
Reply #6 on: April 08, 2022, 11:43:34 PM
the problem is the system incompatibility

IcarosDesktop on HP Z400 Workstation


deadwood

  • AROS Developer
  • Legendary Member
  • *****
    • Posts: 1053
    • Karma: +104/-0
Reply #7 on: April 09, 2022, 06:42:55 AM
This Ryzen has USB 2.0 Ports and 3.0 Ports.
The Stick was plugged in USB 2.0 and its waiting for a bootable device at boot time. Mouse and Keyboard on USB 2.0 works not, too.
I think this Chip is not supported (completely), I post later the lspci -v with linux from it.

The symptoms were, as I hears, that 2.0 ports also didn't work as long as 3.0 support was not disabled.



dizzy

  • Junior Member
  • **
    • Posts: 56
    • Karma: +60/-0
    • YouTube channel
Reply #8 on: April 09, 2022, 09:00:32 AM
There is some preliminary usb3.0 code from years ago, all non working or not tied together.

I would delete the current xhci driver and just take some code from it (PCI interrupt part and enumeration) USB3.0 uses the newer style of pci interrupt system and I'm not sure if it is implemented on Aros. You can make it work with the legacy interrupt system but then only one event ring can be used, not optimal (should be in the xhci.driver).

I also added then the ability to read pci extended configuration space (needs updating) It could be usefull.

Also the hubss class (roothub code resides there also) needs to be written as of now it is just a copy of the hub.class Also the driver needs to have alignment memory allocator as most of the memory used by the usb3.0 driver has to be aligned in certain ways. Why do we not have a common code for it in some rom library? Realtime operating systems avoid memory allocations as that is one place that can screw things up, now we have to implement aligned allocations per usage needs. Would it not be better to have such code in only one place?

My plan was as above, delete the xhci driver and base the usb3.0 driver code on vusbhc driver, main purpose for the hosted virtual usb host controller driver (VUSBHC) was that I could more easily add the usb3.0 code to Poseidon and develop other usb class drivers (roothub agnostic code)

VUSBHC takes the usb ports from Linux (only one and the one port is that which gets a device plugged in) using libusb and then one could write all the higher level stuff (roothub code) for Poseidon and once that is implemented one could write the native usb3.0 driver.

There are some redundant and needles things in usb drivers, for example the driver has to set a flag for the usb1 or usb2. I added usb3 flag there also but there are much more cleaner ways to code things, just look what is in the roothub structure...

vusbhc.device should have enough information on how to more cleanly code a usb3.0 driver, If I would do it again I would split it apart as now it has both usb(2) and usb3 code.

Usb3.0 is much cleaner solution and much more easier than the previous protocols, all are driven by the rings (event etc.) Also the isochorous stuff is much much easier as the chipset does much more.
« Last Edit: April 09, 2022, 09:11:27 AM by dizzy »



eraw

  • Newbie
  • *
    • Posts: 20
    • Karma: +20/-0
Reply #9 on: April 09, 2022, 05:44:53 PM
Thanks for the explanation.
I will test next disabling USB 3.0 with this machine, but I there is not much hope.
And I post the data about the USB Chip next time.



korban

  • Newbie
  • *
    • Posts: 15
    • Karma: +6/-0
Reply #10 on: April 10, 2022, 02:08:56 AM
Its probably a chipset support issue.
My r9 5900x boots, my r9 3950x doesnt. Both are using 4000mhz ddr4, but one only has 32GB (2x16) while the other is using 64GB (4x16).
Theyre using different core logic on the mobos though.
X570 is working for me. A520 isnt.



cdimauro

  • Member
  • ***
    • Posts: 101
    • Karma: +25/-1
Reply #11 on: April 10, 2022, 07:08:12 AM
Pay attention that Ryzens have two different types of USB ports: some directly provided by AMD's chipset and some additional ones from an AsMedia (which causes problems, from what I've read).
Maybe this is causing problems. Try some USBs.