Deutsch

View FAQ entry #19

Back

SI0680 IDE card - How To
Written on by - 27262 views so far.

After it was announced that the A1 has problems using onboard IDE in DMA mode together with Ethernet, A1 users are advised to add an IDE card based on the SiliconImage 0680 Chip to finally get DMA working.
You may buy any PCI card as long as it is based on the SI0680 Chip, no matter if the card is listed as RAID or normal IDE card.
I'll try to list here all required steps to get this card up and running under OS4. These steps are based on my own experience when adding my own SI0680 controller.

1. Backup your data! As you are changing the Controller chances are that you run into trouble and maybe loose data. I had no problems, but you never know...

2. Power-Off the A1, remove power cord and open the case. Now remove the cables from all IDE devices you plan to add to the SI0680. I have added my HD and my CD-Rom to the card (HD = Master 1st controller, CD-ROM = Master 2nd controller)

3. Place the card in a free PCI slot.

4. Plug-in the cables to the IDE controller. Most of them will have colored connectors, mine was: BLUE = 1st, white = 2nd controller. Make sure that you are using CORRECT UDMA (80 wire) cables, else you WILL have problems activating DMA! Also make sure that the Master is connected to the end of the cable while the slave is connected to the middle connector of the cable.

5. Remove the HD-LED from Mainboard and connect it to the IDE card.

6. Tripple check the installation, then power-on your A1 and interrupt the Boot. If you have removed all drives from internal VIA controller it may take some time until U-Boot finished scanning of the VIA controller.

7. In U-Boot console, enter:

setenv ide sii

This activates the SI0680 card in U-Boot

ide reset

This rescans the IDE bus. You MUST see now all connected drives in the device list. If this is not the case turn-off the A1 and re-check cables!
If all devices are listed correctly, you can enter:

saveenv

and do a cold-reboot afterwards. Now U-Boot will boot per default from the IDE card.

8. After OS4 is loaded, check the following command in a shell:

c:idetool -u si680ide.device DN

Where DN is the device number (0-3). You should get some short output, the important line is:

Xfer mode: best pio / best dma / current: 12 / 70 / 70

If the last digit is not set to the best dma value then your not using the full speed your drive is cabable of. To determine possible modes of your drives, enter:

c:idetool -d si680ide.device -u 0

You will see a list of features the drive supports and also a list of possible DMA/PIO modes for that device. Check out the highest possible DMA value (mine was mode 70 (133MB/s) and write these info down.
When you have infos for all connected devices, reset, interrupt U-Boot boot process and enter the following:

sil_xfer WXYZ

where W is the transfer mode for IDEO
where X is the transfer mode for IDE1
where Y is the transfer mode for IDE2
where Z is the transfer mode for IDE3

Use 0(zero) for atapi devices such as CDROMS / CDRWS
USE A through to G for UDMA harddisks based on the following table:

A - UDMA 0 ( 16 MB/s, modeid 64)
B - UDMA 1 ( 25 MB/s, modeid 65)
C - UDMA 2 ( 33 MB/s, modeid 66)
D - UDMA 3 ( 44 MB/s, modeid 67)
E - UDMA 4 ( 66 MB/s, modeid 68)
F - UDMA 5 (100 MB/s, modeid 69)
G - UDMA 6 (133 MB/s, modeid 70)

Now based on how you connect your drives, enter the according modes for all 4 devices. On my setup, I have one HD as 1st Master and one CD-ROM as 2nd Master, so I had set:

setenv sil_xfer G000
saveenv

Then Cold-Reboot the A1.

This enables UDMA 6 on my Harddisk and leave all other settings as they are.

That's it, you have now finally DMA enabled drives and should enjoy now the faaaaster disk access :)



Back | Top