Jump to content

IOUSBFamily 10.8.4 Slice+AnV with full AppleUSBXHCI support for any USB3 chip (V12)

USB USB3 USB2 SleepFixed AppleUSBXHCI AppleUSBEHCI AppleUSBOHCI IOUSBFamily

  • Please log in to reply
93 replies to this topic

#61
Waldimor

Waldimor

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts

Hello Andi,

 

Sadly the kext of Slice is not working with my VL800, could you look into it and probably upload a kext for the VL800?

 

I'm getting following problem with Slice's kext: http://www.insanelym...f/#entry1944251



#62
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,877 posts
  • Gender:Male
  • Location:Moscow

I see no confirmation it's working but I also see no attempt to do something:

- correctly install the kext,

- make patch DSDT

- apply my SSDT

- upload kernel.log and other reports

- screenshots, observation ...

etc.



#63
Mirone

Mirone

    InsanelyMac Legend

  • Local Moderators
  • 1,397 posts
  • Gender:Male
  • Location:Brazil
here nothing works yet.
I hope one of you work
Asmedia to 1042.


#64
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,877 posts
  • Gender:Male
  • Location:Moscow

Is there anybody has a proposition why XHCI should work with 5 ports while the chip contains only 4?

6:545  0:028  XhcGetCapability: 5 ports, 64 bit capable=1
6:677  0:131  XhcUsbPortReset!
6:715  0:038  XhcSetRootHubPortFeature: status Success
6:799  0:084  XhcClearRootHubPortFeature for port 0 Feature=4: status Success
6:957  0:157  XhcClearRootHubPortFeature for port 0 Feature=10: status Success
6:983  0:026  XhcClearRootHubPortFeature for port 0 Feature=14: status Success
7:139  0:155  XhcUsbPortReset!
7:169  0:029  XhcSetRootHubPortFeature: status Success
7:251  0:082  XhcClearRootHubPortFeature for port 4 Feature=4: status Success
7:306  0:054  XhcClearRootHubPortFeature for port 4 Feature=10: status Success



#65
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,600 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...


Is there anybody has a proposition why XHCI should work with 5 ports while the chip contains only 4?

6:545  0:028  XhcGetCapability: 5 ports, 64 bit capable=1
6:677  0:131  XhcUsbPortReset!
6:715  0:038  XhcSetRootHubPortFeature: status Success
6:799  0:084  XhcClearRootHubPortFeature for port 0 Feature=4: status Success
6:957  0:157  XhcClearRootHubPortFeature for port 0 Feature=10: status Success
6:983  0:026  XhcClearRootHubPortFeature for port 0 Feature=14: status Success
7:139  0:155  XhcUsbPortReset!
7:169  0:029  XhcSetRootHubPortFeature: status Success
7:251  0:082  XhcClearRootHubPortFeature for port 4 Feature=4: status Success
7:306  0:054  XhcClearRootHubPortFeature for port 4 Feature=10: status Success

It's possible the chip has internal support for up to 5 ports but only has 4 physical connections.
Just a thought... :-)

#66
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,877 posts
  • Gender:Male
  • Location:Moscow

It's possible the chip has internal support for up to 5 ports but only has 4 physical connections.
Just a thought... :-)

No, it internally has exactly 4 ports.
http://www.via-labs....products/vl800/
 
When I set manually _rootHubNumPorts = 4
the driver stop working !  :blink:  :wacko:



#67
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,600 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

No, it internally has exactly 4 ports.
http://www.via-labs....products/vl800/

When I set manually _rootHubNumPorts = 4
the driver stop working ! :blink: :wacko:

:o
Odd...
I also have no idea why it stops working.
Probably something in the code then (the way it simply works)

#68
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,877 posts
  • Gender:Male
  • Location:Moscow

I think it is bug-in-law.



#69
Zenith432

Zenith432

    InsanelyMac Sage

  • Developers
  • 416 posts
  • Gender:Male

Are you sure it's not a bug in software?  If the chip actually reports 5 root hub ports - well, the USB3 spec says that each superspeed port must have a companion USB2.0 port along with it (in other words the connector must have dual USB3-USB2 wires.)  It is not allowed to have a superspeed-only connector.  However, the xHC may also support any number of USB 2.0-only ports that have no companion superspeed port.

So the total number of ports is 2*x + y, where

x = dual-protocol ports

y = USB2.0 only ports.

 

One possible use for USB 2.0-only port is a debug port.

I suggest you dump xHCI Extended Capabilities for the chip to study its port layout.  Especially xHCI Supported Protocol Cap and xHCI Debug Cap.  You can do this with 'xhcdump caps' if you install GenericUSBXHCI to drive it.  However, it won't give you detailed dump of the Debug Cap - as it's not used.

Is there anybody has a proposition why XHCI should work with 5 ports while the chip contains only 4?



#70
genzai

genzai

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:San Francisco

I posted this help request to Zenith's genericUSBXHCI thread as well but maybe it is more appropriate to seek help here.

 

I have a new system in that is based on a jetway Q77 board for pro tools. I have tried many things to get the USB 3.0 ports working properly with the applexhci drivers but the system just locks up as soon as I insert a drive or device. I have tried the various BIOS options for Auto/Smart Auto etc. There is no handoff option in BIOS for XHCI (only EHCI which is enabled). 

 

Now if I install Zenith's GenericUSBXHCI driver it DOES mostly work, disks mount on the USB 3.0 bus and no system freeze which is awesome, but i normally prefer to use the apple drivers for the intel controller and the generic for third party controllers through an ioprobe edit (i have both controller types on most of my systems).

 

Though compatibility issues have been shrinking i still find the apple drivers tend to work with more devices on the intel controllers. And on occasion with generic driver installed it seems like the ports stop working or wont work with USB 2.0 devices. In any case my primary goal is to get the intel ports working with the apple driver on this board if thats possible.

 

I am attaching the original unmodified DSDT extracted with maciasl as well as my latest modified one which includes the DSDT edits (i think originally developed by mieze) that have worked to make the intel ports fully functional on other boards. Please let me know if there is any other info i can provide to help figure this out!

Thanks,

g\

 

Attached File  NAF93.zip   43.33KB   5 downloads


#71
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,877 posts
  • Gender:Male
  • Location:Moscow

Are you sure it's not a bug in software?  If the chip actually reports 5 root hub ports - well, the USB3 spec says that each superspeed port must have a companion USB2.0 port along with it (in other words the connector must have dual USB3-USB2 wires.)  It is not allowed to have a superspeed-only connector.  However, the xHC may also support any number of USB 2.0-only ports that have no companion superspeed port.

So the total number of ports is 2*x + y, where

x = dual-protocol ports

y = USB2.0 only ports.

 

One possible use for USB 2.0-only port is a debug port.

I suggest you dump xHCI Extended Capabilities for the chip to study its port layout.  Especially xHCI Supported Protocol Cap and xHCI Debug Cap.  You can do this with 'xhcdump caps' if you install GenericUSBXHCI to drive it.  However, it won't give you detailed dump of the Debug Cap - as it's not used.

I will make dump little later. But I already know port layout

Attached File  Screen Shot 2013-09-27 at 14.57.54.png   47.64KB   4 downloads

I am thinking that there is possible bug in the software with cycles as

for(i=0; i<portNumber; i++)

because I have only 4 port. 

But for now the driver works fine.



#72
Zenith432

Zenith432

    InsanelyMac Sage

  • Developers
  • 416 posts
  • Gender:Male

Actually, 'for(i=0; i<_rootHubNumPorts; ++i)' is not a bug, because in the port register set array, ports are indexed from zero to _rootHubNumPorts - 1, but everywhere else in IOUSBFamily, ports are numbered based at 1.

for(i=0; i<portNumber; i++)


#73
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 2,877 posts
  • Gender:Male
  • Location:Moscow

Actually, 'for(i=0; i<_rootHubNumPorts; ++i)' is not a bug, because in the port register set array, ports are indexed from zero to _rootHubNumPorts - 1, but everywhere else in IOUSBFamily, ports are numbered based at 1.

In this case i=0 will be wrong. Or it may be controller itself.



#74
sapman

sapman

    InsanelyMac Protégé

  • Members
  • Pip
  • 15 posts

I have a fresco 1100 card in a cardbus.  How can I get this to work?



#75
genzai

genzai

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:San Francisco

I have a fresco 1100 card in a cardbus.  How can I get this to work?

Fresco logic works with native apple drivers. you dont need to do anything to get it working other than have 10.8.5 installed.

g\



#76
shiecldk

shiecldk

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 222 posts
  • Gender:Male
  • Location:Taiwan

Hi,

Is there a way to fix USB's "disk not ejected properly" message after waking up?



#77
radargb

radargb

    InsanelyMac Protégé

  • Members
  • PipPip
  • 56 posts
  • Gender:Male
  • Location:Krakow, Poland

Fresco logic works with native apple drivers. you dont need to do anything to get it working other than have 10.8.5 installed.

g\

Hey!

 

Are you sure it works natively on 10.8.5? I have FL1000G USB 3.0 and had to use GenericXHCI.kext on 10.8.4. Everything is fine but USB3.0 doesn't work after sleep. 


 



#78
genzai

genzai

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:San Francisco

Hey!

 

Are you sure it works natively on 10.8.5? I have FL1000G USB 3.0 and had to use GenericXHCI.kext on 10.8.4. Everything is fine but USB3.0 doesn't work after sleep. 


 

I am sure FL1100 works native in OS X 10.8.4 AND 10.8.5 and i believe FL1000 should too, but i have only used FL1100.

g\



#79
radargb

radargb

    InsanelyMac Protégé

  • Members
  • PipPip
  • 56 posts
  • Gender:Male
  • Location:Krakow, Poland

I am sure FL1100 works native in OS X 10.8.4 AND 10.8.5 and i believe FL1000 should too, but i have only used FL1100.

g\

 Unfortunatly not. USB3.0 port is not recognized by 10.8.4. This is actually the only thing i cant get to work... Does 10.9 has more compatibile devices added?? Im waiting for final to test.



#80
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,600 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

I hope Apple soon releases the sources for 10.9

The development of this further will have to wait untill 10.9 sources as I've allready upgraded my system to 10.9 on both my main and backup disk.

Keep you posted ;)







Also tagged with one or more of these keywords: USB, USB3, USB2, SleepFixed, AppleUSBXHCI, AppleUSBEHCI, AppleUSBOHCI, IOUSBFamily


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy