Jump to content

FakePCIID_XHCIMux USB2 Fallback on USB3 Ports?


JoeHidden
 Share

13 posts in this topic

Recommended Posts

Hey, 

 

I have a problem with my USB configuration on my X99 System (MacPro 6,1 Systemdefinition). It is important that my USB2 Devices were managed by the AppleUSBEHCI driver and not by the AppleUSBXHCI driver. For that reason I installed the FakePCIID_XHCIMux.

 

No I've got a special behavior:

 

A USB2 Device works on a USB2 Port (EHCI),

a USB3 Device works on a USB3 Port (XHCI),

but sadly

a USB2 Device did not work on a USB3 Port.

 

I am happy for every tip that can help.

 

Greetings Joe

Link to comment
Share on other sites

Hey, 

 

I have a problem with my USB configuration on my X99 System (MacPro 6,1 Systemdefinition). It is important that my USB2 Devices were managed by the AppleUSBEHCI driver and not by the AppleUSBXHCI driver. For that reason I installed the FakePCIID_XHCIMux.

 

No I've got a special behavior:

 

A USB2 Device works on a USB2 Port (EHCI),

a USB3 Device works on a USB3 Port (XHCI),

but sadly

a USB2 Device did not work on a USB3 Port.

 

I am happy for every tip that can help.

 

Greetings Joe

You probably didn't inject the required ports on the EHCI controller related hubs.

With those ports excluded, you would expect to get exactly what you report.

Link to comment
Share on other sites

Ok thanks @RehabMan, that clarify it.

 

The X99 Chip Supports two EHCI Controller EH01 (8d26) an EH02 (8d2d). I got all 6 Ports injected on the EH02 (8d2d). Even with USBInjektAll and no excludes applied I did not get any injections on EH01. No Hub, no Ports. In my DSDT are 8 Ports on the EH01 and for me the _UPC looks good like the EH02 Ports which worked well.

 

DSDT_EH01.pngDSDT_EH02.pngIOReg_EH0x.png

 

Thanks for your help

Joe

Link to comment
Share on other sites

Ok thanks @RehabMan, that clarify it.

 

The X99 Chip Supports two EHCI Controller EH01 (8d26) an EH02 (8d2d). I got all 6 Ports injected on the EH02 (8d2d). Even with USBInjektAll and no excludes applied I did not get any injections on EH01. No Hub, no Ports. In my DSDT are 8 Ports on the EH01 and for me the _UPC looks good like the EH02 Ports which worked well.

 

DSDT_EH01.pngDSDT_EH02.pngIOReg_EH0x.png

 

Thanks for your help

Joe

You have config.plist/Devices/USB/FixOwnership=true

??

Link to comment
Share on other sites

No, it was false. Clover Wiki said: "This fix is not relevant for UEFI booting."[/size] so I did not used it. I changed it to true - no difference at all.

Clover wiki is wrong. You may have some other issue.

You should look at your kernel logs for clues.

Link to comment
Share on other sites

I checked the kernel log twice. I did not see any hint for that behavior. The only thing I could see, that compared to the clover log the kernel log did not even mentioned EH01 or the adress/device id of EH01 while clover did.

 

 

Clover

0:103  0:000  PCI (00|00:1A.00) : 8086 8D2D class=0C0320
0:103  0:000  PCI (00|00:1D.00) : 8086 8D26 class=0C0320

Kernel

kernel: EH02: match category IODefaultMatchCategory exists 

 

Link to comment
Share on other sites

I checked the kernel log twice. I did not see any hint for that behavior. The only thing I could see, that compared to the clover log the kernel log did not even mentioned EH01 or the adress/device id of EH01 while clover did.

 

 

Clover

0:103  0:000  PCI (00|00:1A.00) : 8086 8D2D class=0C0320
0:103  0:000  PCI (00|00:1D.00) : 8086 8D26 class=0C0320
Kernel

kernel: EH02: match category IODefaultMatchCategory exists 

 

Look for USB/EHCI related logs in the kernel/system log.

Link to comment
Share on other sites

Hey RehabMan. There is not so much interesting stuff in the logging system. Look for yourself. I did not find an clue...

Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'EHCI'
Jorgs-Mac-Pro:~ joe$
 
Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'EH01' 
Jorgs-Mac-Pro:~ joe$

Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'EH02' 
2017-01-24 17:19:35.299182+0100 0x4c5      Default     0x0                  0      kernel: EH02: match category IODefaultMatchCategory exists
...
2017-01-29 12:32:30.292219+0100 0x4cb      Default     0x0                  0      kernel: EH02: match category IODefaultMatchCategory exists
Jorgs-Mac-Pro:~ joe$

Jorgs-Mac-Pro:~ joe$ sudo log show | grep '8d26'
Jorgs-Mac-Pro:~ joe$

Jorgs-Mac-Pro:~ joe$ sudo log show | grep '8d2d'
Jorgs-Mac-Pro:~ joe$
 
Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'USB'
2017-01-29 12:32:28.410086+0100 0x72       Default     0x0                  0      kernel: (kernel) USBInjectAll: uia_exclude specifies 'HS01;HS02;HS03;HS04;HS05;HS06;HS07;HS08;HS11;HS12;HS13;HS14;USR1;USR2;SSP1;SSP2;SSP3;SSP4'
2017-01-29 12:32:29.000608+0100 0x1de      Default     0x0                  0      kernel: (IOUSBFamily) 000001.586731 AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: enabling legacy matching
2017-01-29 12:32:29.003190+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589313 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.003257+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589381 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.003301+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589426 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 150 sleepUnits 0
2017-01-29 12:32:29.003388+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589511 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 150 sleepUnits 0
2017-01-29 12:32:29.006549+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592673 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006610+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592734 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006658+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592783 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006709+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592834 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006763+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592888 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336008+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922132 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336257+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922381 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336506+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922630 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336763+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922886 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.545450+0100 0x26b      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.131573 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 150 sleepUnits 0
2017-01-29 12:32:29.602084+0100 0x289      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.188202 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:29.604015+0100 0x277      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.190138 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:29.604262+0100 0x277      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.190386 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:29.604516+0100 0x277      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.190639 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:30.211928+0100 0x462      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.798051 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:30.324876+0100 0x4d6      Default     0x0                  0      kernel: (IOUSBHostHIDDevice) 000002.910997 IOUSBHostHIDDevice: IOUSBHostHIDDevice::start: unable to get interrupt pipe
2017-01-29 12:32:30.324883+0100 0x4d6      Default     0x0                  0      kernel: (IOUSBHostHIDDevice) 000002.911010 IOUSBHostHIDDevice: IOUSBHostHIDDevice::start: start has failed
2017-01-29 12:32:35.364291+0100 0x2a8      Default     0x0                  0      kernel: (IOUSBFamily) USBMSC Identifier (non-unique): 000000000039 0x8564 0x4000 0x37, 3
2017-01-29 12:32:35.366432+0100 0x2a9      Default     0x0                  0      kernel: (IOUSBFamily) USBMSC Identifier (non-unique): 575541323632333030303738 0x1058 0xa10 0x1026, 3
...
Plus a lot of CoreAudio stuff from my Behringer Audio Interface.
 
 
Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'XHCI'
2017-01-24 19:51:06.586781+0100 0x19c      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::startup: newData for PR2: 0x00000000
2017-01-24 19:51:07.001131+0100 0x121      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::configWrite32 address space(0x0000a000, 0xd0) data: 0x00007fff -> 0x00000000
...
2017-01-29 12:32:28.585218+0100 0x19b      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::startup: newData for PR2: 0x00000000
2017-01-29 12:32:29.001015+0100 0x1c2      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::configWrite32 address space(0x0000a000, 0xd0) data: 0x00007fff -> 0x00000000
Link to comment
Share on other sites

Hey RehabMan. There is not so much interesting stuff in the logging system. Look for yourself. I did not find an clue...

Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'EHCI'
Jorgs-Mac-Pro:~ joe$
 
Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'EH01' 
Jorgs-Mac-Pro:~ joe$

Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'EH02' 
2017-01-24 17:19:35.299182+0100 0x4c5      Default     0x0                  0      kernel: EH02: match category IODefaultMatchCategory exists
...
2017-01-29 12:32:30.292219+0100 0x4cb      Default     0x0                  0      kernel: EH02: match category IODefaultMatchCategory exists
Jorgs-Mac-Pro:~ joe$

Jorgs-Mac-Pro:~ joe$ sudo log show | grep '8d26'
Jorgs-Mac-Pro:~ joe$

Jorgs-Mac-Pro:~ joe$ sudo log show | grep '8d2d'
Jorgs-Mac-Pro:~ joe$
 
Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'USB'
2017-01-29 12:32:28.410086+0100 0x72       Default     0x0                  0      kernel: (kernel) USBInjectAll: uia_exclude specifies 'HS01;HS02;HS03;HS04;HS05;HS06;HS07;HS08;HS11;HS12;HS13;HS14;USR1;USR2;SSP1;SSP2;SSP3;SSP4'
2017-01-29 12:32:29.000608+0100 0x1de      Default     0x0                  0      kernel: (IOUSBFamily) 000001.586731 AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: enabling legacy matching
2017-01-29 12:32:29.003190+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589313 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.003257+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589381 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.003301+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589426 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 150 sleepUnits 0
2017-01-29 12:32:29.003388+0100 0x1e3      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.589511 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 150 sleepUnits 0
2017-01-29 12:32:29.006549+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592673 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006610+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592734 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006658+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592783 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006709+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592834 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.006763+0100 0x1c2      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.592888 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336008+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922132 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336257+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922381 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336506+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922630 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.336763+0100 0x119      Default     0x0                  0      kernel: (IOUSBHostFamily) 000001.922886 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 100 sleepUnits 0
2017-01-29 12:32:29.545450+0100 0x26b      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.131573 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 150 sleepUnits 0
2017-01-29 12:32:29.602084+0100 0x289      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.188202 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:29.604015+0100 0x277      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.190138 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:29.604262+0100 0x277      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.190386 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:29.604516+0100 0x277      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.190639 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:30.211928+0100 0x462      Default     0x0                  0      kernel: (IOUSBHostFamily) 000002.798051 AppleUSBHostResources@: AppleUSBHostResources::allocateDownstreamBusCurrentGated: assuming successful wakeUnits 500 sleepUnits 0
2017-01-29 12:32:30.324876+0100 0x4d6      Default     0x0                  0      kernel: (IOUSBHostHIDDevice) 000002.910997 IOUSBHostHIDDevice: IOUSBHostHIDDevice::start: unable to get interrupt pipe
2017-01-29 12:32:30.324883+0100 0x4d6      Default     0x0                  0      kernel: (IOUSBHostHIDDevice) 000002.911010 IOUSBHostHIDDevice: IOUSBHostHIDDevice::start: start has failed
2017-01-29 12:32:35.364291+0100 0x2a8      Default     0x0                  0      kernel: (IOUSBFamily) USBMSC Identifier (non-unique): 000000000039 0x8564 0x4000 0x37, 3
2017-01-29 12:32:35.366432+0100 0x2a9      Default     0x0                  0      kernel: (IOUSBFamily) USBMSC Identifier (non-unique): 575541323632333030303738 0x1058 0xa10 0x1026, 3
...
Plus a lot of CoreAudio stuff from my Behringer Audio Interface.
 
 
Jorgs-Mac-Pro:~ joe$ sudo log show | grep 'XHCI'
2017-01-24 19:51:06.586781+0100 0x19c      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::startup: newData for PR2: 0x00000000
2017-01-24 19:51:07.001131+0100 0x121      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::configWrite32 address space(0x0000a000, 0xd0) data: 0x00007fff -> 0x00000000
...
2017-01-29 12:32:28.585218+0100 0x19b      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::startup: newData for PR2: 0x00000000
2017-01-29 12:32:29.001015+0100 0x1c2      Default     0x0                  0      kernel: (kernel) FakePCIID: [8086:8d31] XHCIMux::configWrite32 address space(0x0000a000, 0xd0) data: 0x00007fff -> 0x00000000

 

You would need to provide complete details on what you're doing.

kextcache output (sudo kextcache -i /)

ioreg (from IORegistryExplorer v2.1)

EFI/Clover (with ACPI/origin dump, no themes)

Link to comment
Share on other sites

Hey RehabMan,

 

thanks again - I really appreciate your help!

Jorgs-Mac-Pro:~ joe$ sudo kextcache -i /
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
KernelCache ID: A92241F5D0E76FE4DD09DC49839C0140
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

I had sent you the link with the EFI Partition and the IOReg Export as PM.

 

Greetings Joe

Link to comment
Share on other sites

Hey RehabMan,

 

thanks again - I really appreciate your help!

Jorgs-Mac-Pro:~ joe$ sudo kextcache -i /
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
KernelCache ID: A92241F5D0E76FE4DD09DC49839C0140
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>
I had sent you the link with the EFI Partition and the IOReg Export as PM.

 

Greetings Joe

 

Use a site attachment.

And need all data as requested in post #10.

Link to comment
Share on other sites

  • 2 years later...
On 1/28/2017 at 1:09 PM, JoeHidden said:

Ok thanks @RehabMan, that clarify it.

 

The X99 Chip Supports two EHCI Controller EH01 (8d26) an EH02 (8d2d). I got all 6 Ports injected on the EH02 (8d2d). Even with USBInjektAll and no excludes applied I did not get any injections on EH01. No Hub, no Ports. In my DSDT are 8 Ports on the EH01 and for me the _UPC looks good like the EH02 Ports which worked well.

 

DSDT_EH01.pngDSDT_EH02.pngIOReg_EH0x.png

 

Thanks for your help

Joe

 

I had the issue on my Rampage V Extreme. Strangely enabling HPET and Fix TMR in clover would then enable routing to EH01.

Link to comment
Share on other sites

 Share

×
×
  • Create New...