| Summary: | Chipset SiS630E / ATA SiS 5591 | ||
|---|---|---|---|
| Product: | Base System | Reporter: | roland <roland> |
| Component: | kern | Assignee: | Søren Schmidt <sos> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
Responsible Changed From-To: freebsd-bugs->sos Over to ATA maintainer. State Changed From-To: open->closed This patch is bogus, it just sets ATA33 mode timing and pretends to be ATA66. Reeal support is coming as soon as I get docs from SiS I have verified this problem still exists in the 4.3 stable release. My workaround was to unset the UDMA mode in the bios, which at least made the drive reachable. Motherboard in question is a new (as of 7/1/2001) ASUS CUSI-FX, using SIS-630E chip set, BIOS release 1007m. However, I was never able to successfully format and partition IDE drives in this unit. All attempts to write labels failed with messages about slice 4 being too large to fit in the drive. The only way I got a successful install was to move the drive to another machine, format, partition, and newfs it there, then return it to the CUSI-FX. This problem occurred with two different Seagate drives, one 10.005GB, one 8.4GB. FYI, there were two other problems with this board. The first was failure to properly recognize the (admittedly ancient) CD-ROM. Workaround was to manually set various BIOS options for it; details on request. The second (which I have not given up on) is failure to activate all the USB ports. Currently I have only been able to get activity on the lower built-in port. USB devices attached to other ports are not seen by FreeBSD, and the devices themselves do not see the system unless attached to that single port. I continue to investigate. -- "The optimist proclaims that we live in the best of all possible worlds; and the pessimist fears this is true." -- James Branch Cabell, from 'The Silver Stallion', 1926. |
The SiS630E (recognized as SiS 5591) Driver will do only UDMA33. Fix: Its not a fix but adds UDMA66 to the SiS 5591 for the primary master. Dont use a UDMA33-Device there because it will fallback to plain PIO later and I dont know where to fix this... Bonnie shows no difference between UDMA33 and UDMA66. Insert the following in sys/dev/ata/ata-dma.c just bevore line #409: if (udmamode >= 4 && scp->unit == 0 && device == ATA_MASTER ) { error = ata_command(scp, device, ATA_C_SETFEATURES, 0, 0, 0, ATA_UDMA4, ATA_C_F_SETXFER, ATA_WAIT_READY); if (bootverbose) ata_printf(scp, device, "%s setting UDMA4 on SiS chip\n", (error) ? "failed" : "success"); if (!error) { pci_write_config(parent, 0x40 + (devno << 1), 0xa301, 2); scp->mode[ATA_DEV(device)] = ATA_UDMA4; return; } } From /var/run/dmesg.boot: ata0-master: success setting UDMA4 on SiS chip ad0: <QUANTUM FIREBALLP LM15/A35.0700> ATA-5 disk at ata0 as master ad0: 14324MB (29336832 sectors), 29104 cyls, 16 heads, 63 S/T, 512 B/S ad0: 16 secs/int, 1 depth queue, UDMA66 ad0: piomode=4 dmamode=2 udmamode=4 cblid=1 ata1-master: success setting UDMA2 on SiS chip ad2: <ST313032A/3.09> ATA-4 disk at ata1 as master ad2: 12419MB (25434228 sectors), 25232 cyls, 16 heads, 63 S/T, 512 B/S ad2: 16 secs/int, 1 depth queue, UDMA33 ad2: piomode=4 dmamode=2 udmamode=4 cblid=1 How-To-Repeat: Install FreeBSD on a ASUS CUSI-FX with UDMA66-Disk.