Home  
Login
Username:

Password:

Remember me



Lost Password?

Register now!
Sections
Who's Online
27 user(s) are online (17 user(s) are browsing Forums)

Members: 2
Guests: 25

RussellB, Joeled, more...
Support us!
Recent OS4 Files
OS4Depot.net





PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2009/11/25 3:08
Posts: 58
Hi,

here are my experiences with PCI Express cards on my Sam460EX motherboard:

Picture 1: StarTec PEX1PCI1 Pericom bridge card - This card works with my Linux box and allows me to use any PCI card through it without error. On the Sam, however, it is not so friendly...

Picture 2: Regular PCI C-Media Card through Pericom bridge card - The system seems to be able to see the C-Media card through this Pericom bridge card. Any program that tries to play sound through this device stops responding.

Picture 3: 3Com Prism2 wifi card through Pericom bridge card - When WIFI analyzer runs and this driver is in place, the system hard locks.

Picture 4: ASMedia bridge built-on to the Envy24DT PCIe sound card - This one seems to work much better, see below...

Picture 5: Envy24DT chip through its onboard ASMedia bridge - The driver shows up as ENVY24HT in AHI and I can select and configure it. Programs go through the motion of playing music, levelmeters bounce, programs do not stop responding, etc.. but sadly nothing comes from the output. I believe this may be an incompatibility with the driver though, since this chip is not the exact chip that the driver is described to control. It is in the same family however.

Forthcoming: My friend has ordered a PCI Express ESI Juli@ card and is told that delivery will be 45 days. He will report his finding when the card arrives. The PCI version of this card is directly supported by the Envy24HT AHI driver.

Thanks,
Jamie
(Click for larger)
Click to see original Image in a new window
Click to see original Image in a new window
Click to see original Image in a new window
Click to see original Image in a new window
Click to see original Image in a new window

   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just can't stay away
Joined:
2007/1/26 23:48
From New Zealand
Posts: 1409
Quote:

graffias79 wrote:

Picture 3: 3Com Prism2 wifi card through Pericom bridge card - When WIFI analyzer runs and this driver is in place, the system hard locks.


Just a quick check, have you tried this card directly plugged into the PCI slot? I'd just like to know if it is known to work with the Prism2 driver when the PCI-to-PCIe bridge isn't in between.

I still have to look through the details in a bit more detail...

Hans

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
http://keasigmadelta.co.nz/ - more of my software.
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2009/11/25 3:08
Posts: 58
Hi Hans,

Not directly on the SAM, but it worked fine on my old MicroA1 system.

   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just can't stay away
Joined:
2007/1/26 23:48
From New Zealand
Posts: 1409
Quote:

graffias79 wrote:
Hi Hans,

Not directly on the SAM, but it worked fine on my old MicroA1 system.


That's good enough for me.

I don't see anything wrong with the ranger screenshots that you posted. Well, the size of the Envy24DT's I/O range is bogus, but that shouldn't be a problem.

I have uploaded a small program called BridgeDump to my website (link). It dumps information about all PCI bridges in the system, including info that Ranger currently doesn't show. Of great interest is the memory and IO ranges that the bridges are programmed to pass through to the other side. Please download it, and post the dumped information.

Hans

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
http://keasigmadelta.co.nz/ - more of my software.
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just can't stay away
Joined:
2007/1/26 23:48
From New Zealand
Posts: 1409
@graffias79

I just remembered that the PCIe 1x port and the Sata2 slot are mutually exclusive. Have you removed te J16 jumper annd set the PCI-E 1x/SATA-2 option in UBoot to PCI-E? You need to do both. You will find the details on page 8 of the Sam460ex manual.

Hans

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
http://keasigmadelta.co.nz/ - more of my software.
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2009/11/25 3:08
Posts: 58
Hi Hans,

I downloaded the file and will run the tests for you when I get home from work, which will be about 9 1/2 hours from now.

I just verified that I did change J16 jumper to open, and changed the setting in UBoot to PCIe.

Thanks,
Jamie

   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2009/11/25 3:08
Posts: 58
Ok, here we go! First, the sound card with the built-in ASMedia bridge controller:

BridgeDump:
Scanning for PCI-to-PCI(e) bridges
Unknown bridge
Cannot enable blind prefetch for PCI:5.0,0, because this device doesn't support it.
Found a bridge: PCI:5.0,0
PCI_DEVICE_ID: 0x0
PCI_VENDOR_ID: 0xacbe
PCI_STATUS: ECP enable, DEVSEL# timing 0,
PCI_COMMAND: I/O space enabled, Mem space enabled, Bus master enabled,
PCI_CLASS: 0x60400
PCI_REVISION_ID: 0x1
PCI_HEADER_TYPE: 0x1
PCI_LATENCY_TIMER: 0
PCI_CACHE_LINE_SIZE: 8
PCI_SEC_LATENCY_TIMER: 0
PCI_PRIMARY_BUS: 0
PCI_SECONDARY_BUS: 1
PCI_SUBORDINATE_BUS: 2
PCI_SEC_STATUS: DEVSEL# timing 0, Received master abort,
PCI_IO_BASE (full): 0x2000
PCI_IO_LIMIT (full): 0x2fff
PCI_MEMORY_BASE (full): 0xc0000000
PCI_MEMORY_LIMIT (full): 0xbfffffff
PCI_PREF(ETCH)_MEMORY_BASE (full): 0x10000000
PCI_PREF(ETCH)_MEMORY_LIMIT (full): 0xfffff
PCI_BRIDGE_CONTROL:
PCI_INTERRUPT_PIN: 0x0

Unknown bridge
Cannot enable blind prefetch for PCI:6.0,0, because this device doesn't support it.
Found a bridge: PCI:6.0,0
PCI_DEVICE_ID: 0x1080
PCI_VENDOR_ID: 0x1b21
PCI_STATUS: ECP enable, DEVSEL# timing 0,
PCI_COMMAND: I/O space enabled, Mem space enabled, Bus master enabled,
PCI_CLASS: 0x60400
PCI_REVISION_ID: 0x1
PCI_HEADER_TYPE: 0x1
PCI_LATENCY_TIMER: 0
PCI_CACHE_LINE_SIZE: 8
PCI_SEC_LATENCY_TIMER: 0
PCI_PRIMARY_BUS: 1
PCI_SECONDARY_BUS: 2
PCI_SUBORDINATE_BUS: 2
PCI_SEC_STATUS: 66 MHz capable, DEVSEL# timing 0, Received master abort,
PCI_IO_BASE (full): 0x2000
PCI_IO_LIMIT (full): 0x2fff
PCI_MEMORY_BASE (full): 0xc0000000
PCI_MEMORY_LIMIT (full): 0xbfffffff
PCI_PREF(ETCH)_MEMORY_BASE (full): 0x10000000
PCI_PREF(ETCH)_MEMORY_LIMIT (full): 0xfffff
PCI_BRIDGE_CONTROL:
PCI_INTERRUPT_PIN: 0x1

Unknown bridge
Cannot enable blind prefetch for PCI:8.0,0, because this device doesn't support it.
Found a bridge: PCI:8.0,0
PCI_DEVICE_ID: 0x1
PCI_VENDOR_ID: 0xacbe
PCI_STATUS: ECP enable, DEVSEL# timing 0,
PCI_COMMAND: I/O space enabled, Mem space enabled, Bus master enabled,
PCI_CLASS: 0x60400
PCI_REVISION_ID: 0x1
PCI_HEADER_TYPE: 0x1
PCI_LATENCY_TIMER: 0
PCI_CACHE_LINE_SIZE: 8
PCI_SEC_LATENCY_TIMER: 0
PCI_PRIMARY_BUS: 0
PCI_SECONDARY_BUS: 1
PCI_SUBORDINATE_BUS: 1
PCI_SEC_STATUS: DEVSEL# timing 0, Received master abort,
PCI_IO_BASE (full): 0x2000
PCI_IO_LIMIT (full): 0x2fff
PCI_MEMORY_BASE (full): 0xa0000000
PCI_MEMORY_LIMIT (full): 0xb00fffff
PCI_PREF(ETCH)_MEMORY_BASE (full): 0x10000000
PCI_PREF(ETCH)_MEMORY_LIMIT (full): 0xfffff
PCI_BRIDGE_CONTROL:
PCI_INTERRUPT_PIN: 0x0




Now, the StarTech PEX1PCI1 (Pericom controller) card inserted with the Wifi adapter piggy backed:

BridgeDump:
Scanning for PCI-to-PCI(e) bridges
Unknown bridge
Cannot enable blind prefetch for PCI:5.0,0, because this device doesn't support it.
Found a bridge: PCI:5.0,0
PCI_DEVICE_ID: 0x0
PCI_VENDOR_ID: 0xacbe
PCI_STATUS: ECP enable, DEVSEL# timing 0,
PCI_COMMAND: I/O space enabled, Mem space enabled, Bus master enabled,
PCI_CLASS: 0x60400
PCI_REVISION_ID: 0x1
PCI_HEADER_TYPE: 0x1
PCI_LATENCY_TIMER: 0
PCI_CACHE_LINE_SIZE: 8
PCI_SEC_LATENCY_TIMER: 0
PCI_PRIMARY_BUS: 0
PCI_SECONDARY_BUS: 1
PCI_SUBORDINATE_BUS: 2
PCI_SEC_STATUS: DEVSEL# timing 0, Received master abort,
PCI_IO_BASE (full): 0x2000
PCI_IO_LIMIT (full): 0x1fff
PCI_MEMORY_BASE (full): 0xc0000000
PCI_MEMORY_LIMIT (full): 0xc00fffff
PCI_PREF(ETCH)_MEMORY_BASE (full): 0x10000000
PCI_PREF(ETCH)_MEMORY_LIMIT (full): 0xfffff
PCI_BRIDGE_CONTROL:
PCI_INTERRUPT_PIN: 0x0

Unknown bridge
Cannot enable blind prefetch for PCI:6.0,0, because this device doesn't support it.
Found a bridge: PCI:6.0,0
PCI_DEVICE_ID: 0xe111
PCI_VENDOR_ID: 0x12d8
PCI_STATUS: ECP enable, DEVSEL# timing 0,
PCI_COMMAND: I/O space enabled, Mem space enabled, Bus master enabled,
PCI_CLASS: 0x60400
PCI_REVISION_ID: 0x2
PCI_HEADER_TYPE: 0x1
PCI_LATENCY_TIMER: 0
PCI_CACHE_LINE_SIZE: 8
PCI_SEC_LATENCY_TIMER: 0
PCI_PRIMARY_BUS: 1
PCI_SECONDARY_BUS: 2
PCI_SUBORDINATE_BUS: 2
PCI_SEC_STATUS: 66 MHz capable, Fast back-to-back capable, DEVSEL# timing 1, Received master abort,
PCI_IO_BASE (full): 0x2000
PCI_IO_LIMIT (full): 0x1fff
PCI_MEMORY_BASE (full): 0xc0000000
PCI_MEMORY_LIMIT (full): 0xc00fffff
PCI_PREF(ETCH)_MEMORY_BASE (full): 0x10000000
PCI_PREF(ETCH)_MEMORY_LIMIT (full): 0xfffff
PCI_BRIDGE_CONTROL:
PCI_INTERRUPT_PIN: 0x1

Unknown bridge
Cannot enable blind prefetch for PCI:8.0,0, because this device doesn't support it.
Found a bridge: PCI:8.0,0
PCI_DEVICE_ID: 0x1
PCI_VENDOR_ID: 0xacbe
PCI_STATUS: ECP enable, DEVSEL# timing 0,
PCI_COMMAND: I/O space enabled, Mem space enabled, Bus master enabled,
PCI_CLASS: 0x60400
PCI_REVISION_ID: 0x1
PCI_HEADER_TYPE: 0x1
PCI_LATENCY_TIMER: 0
PCI_CACHE_LINE_SIZE: 8
PCI_SEC_LATENCY_TIMER: 0
PCI_PRIMARY_BUS: 0
PCI_SECONDARY_BUS: 1
PCI_SUBORDINATE_BUS: 1
PCI_SEC_STATUS: DEVSEL# timing 0, Received master abort,
PCI_IO_BASE (full): 0x2000
PCI_IO_LIMIT (full): 0x2fff
PCI_MEMORY_BASE (full): 0xa0000000
PCI_MEMORY_LIMIT (full): 0xb00fffff
PCI_PREF(ETCH)_MEMORY_BASE (full): 0x10000000
PCI_PREF(ETCH)_MEMORY_LIMIT (full): 0xfffff
PCI_BRIDGE_CONTROL:
PCI_INTERRUPT_PIN: 0x0


   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just can't stay away
Joined:
2007/1/26 23:48
From New Zealand
Posts: 1409
@graffias79

The bridges appear to be correctly configured. All of the Mem and IO ranges are what they need to be for the CPU to communicate with the card behind the bridges.

However, I have noticed some things that are wrong in your ranger screenshots:

Picture 2: The PCI C-Media Card's interrupt line is 0xFF. That is an illegal value which does *not* match the interrupt line that is physically connected to that PCIe slot. The RadeonHD driver specifically checks for this and disables VBlank interrupts, because this misconfiguration can instantly lockup the machine when an interrupt occurs.** In your case it seems to freeze just the program attempting to use the card.

Picture 3: The Prism2 wifi card's interrupt line is set to 0x00. In fact, its interrupt settings are the same as for the PCI bridges. AFAIK, this is either an illegal value, or indicates that interrupts aren't supported. Hence, the first attempt to use interrupts with this device will lock up the machine (as you observed).

Spectre660 sent me a screenshot of a true PCIe device plugged into that slot, and it had the following interrupt settings:
Line: 0x60, Pin: A, Number: 112
Anything plugged into this PCIe port must be configured to use line 0x60.** This is also the settings that your Envy24DT is given, and that's the one that almost works. Maybe this one's problems really are caused by the Envy24HT driver not supporting the *HT chip.

So, we do have a configuration problem when a device is attached via a bridge. This is something that needs to be fixed in UBoot. It may or may not fix all of the issues, but we have enough details here to pass on to Max (a.k.a. m3x) at ACube.

Hans




** When I started working on the RadeonHD driver, I used an A1-XE and it also set the RadeonHD card's interrupt line to 0xFF, resulting in lockups when interrupts were used. I managed to temporarily work around the problem by plugging a different card into that slot to discover the correct interrupt line and pin, and then manually reprogramming the device with the correct values. That enabled me to get the interrupts working despite the UBoot bug.

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
http://keasigmadelta.co.nz/ - more of my software.
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2009/11/25 3:08
Posts: 58
Wow! I am very excited to have been able to help!

Please let me know if there is anything else that you would like me to do.

Thanks,
Jamie

   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just can't stay away
Joined:
2007/1/26 23:48
From New Zealand
Posts: 1409
I'm just posting to link this to a related thread on Hyperion's support forums.

Link.

Hans

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
http://keasigmadelta.co.nz/ - more of my software.
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2006/12/1 14:20
From Bologna, Italy
Posts: 89
Thanks to graffias79 for the experiments and thanks to Hans for the detailed analysis.
What puzzles me is why the Envy24DT has the right IRQ assigned and not on the others PCIE cards, I'll investigate the problem.
In the meantime a little external executable which assign the IRQ to the PCIE card may help to check if there is any other problem to correct, hope to find time in the next days to develop this little patch...

_________________
Max Tretene, ACube Systems Srl, Soft3
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2009/11/25 3:08
Posts: 58
Glad to help m3x

The Envy24DT card has its own ASMedia ASM1083 bridge mounted on the card. I have to assume that the ASMedia chip is getting the correct IRQ.

The other devices (C-Media and Wifi) required the StarTech PCIe to PCI adapter card which has the Pericom chip. That's the one that seems to collect the bad IRQs.

   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just can't stay away
Joined:
2007/1/26 23:48
From New Zealand
Posts: 1409
@m3x

Quote:

m3x wrote:
What puzzles me is why the Envy24DT has the right IRQ assigned and not on the others PCIE cards, I'll investigate the problem.


Yes, that is puzzling. It's inconsistent. Added to this, Spectre660 reports that the PCI devices behind his PEX8112 PCIe-to-PCI bridge don't even get detected. Maybe he can comment on that a bit further...

Good luck with fixing whatever is causing this behaviour. Hopefully it's easy to track down and fix.

Hans

_________________
http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
http://keasigmadelta.co.nz/ - more of my software.
   Report Go to top

Re: PCI Express devices I've tried on Sam460EX
Just popping in
Joined:
2006/12/1 14:20
From Bologna, Italy
Posts: 89
@graffias79

I've done a little utility to modify the IRQ line, details in PM.

_________________
Max Tretene, ACube Systems Srl, Soft3
   Report Go to top





[Advanced Search]


Powered by XOOPS 2.0 © 2001-2014 The XOOPS Project