Date: Mon, 7 Mar 2005 01:03:28 GMT From: Andrzej Kukula <akukula@navopgd.pl> To: freebsd-gnats-submit@FreeBSD.org Subject: i386/78517: WRITE_DMA and READ_DMA timeouts with ATI RX330 chipset Message-ID: <200503070103.j2713Sae023132@www.freebsd.org> Resent-Message-ID: <200503070110.j271A2C2022328@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 78517 >Category: i386 >Synopsis: WRITE_DMA and READ_DMA timeouts with ATI RX330 chipset >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-i386 >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Mar 07 01:10:01 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Andrzej Kukula >Release: 5.3-RELEASE ISO from freebsd.org >Organization: >Environment: FreeBSD 5.3-RELEASE i386, kernel GENERIC installed from CD >Description: 1. Default installation CD cannot proceed with newfs(8) due to WRITE_DMA errors. I had to provide hw.ata.ata_dma=0 to proceed with the installation. The hardware is Gigabyte 8TRX330-L mainboard with ATI RX330 chipset (ATI IXP 300 South Bridge with integrated ATA/SATA controller). My disk is Seagate ST340810A 40GB UDMA/33. The error message was exactly as follows: ad0: TIMEOUT - WRITE DMA retrying (2 retries left) LBA=xxxxxx ata0: reiniting channel .. ata0: reset tp1 mask=03 ostat0=58 ostat1=00 ad0: stat=0x50 err=0x01 lsb=0x00 msb=0x00 ata0-slave: stat=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER> ata0: resetting done .. ad0: pio=0x0c wdma=0x22 udma=0x45 cable=80pin ata0: device config done .. ad0: FAILURE - WRITE_DMA timed out It is surprising as FreeBSD is the only OS among 5 I've installed on this machine that doesn't work. 2. Any attempt to enable DMA either via boot loader or atacontrol(8) gives the above error or frozen system. I tried # atacontrol mode 0 wdma2 biospio then # find / System printed: ad0: TIMEOUT - READ DMA retrying (2 retries left) and hung. 3. This ATA controller is detected as atapci0:<GENERIC ATA controller> port 0xf000-0xf00f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 20.1 on pci0 # pciconf -l -v .. atapci0@pci0:20:1: class=0x01018a card=0x50021458 chip=0x43691002 rev=0x01 hdr=0x00 vendor = 'ATI Technologies Inc.' class = mass storage subclass = ATA >How-To-Repeat: obvious methinks... >Fix: I just started poking, but I'm not a kernel hacker by any means... Maybe this is of little help... <http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/pci/ixpide.c?rev=1.2> althought still lacking ID 0x4369 <http://linux.bkbits.net:8080/linux-2.6/anno/drivers/ide/pci/atiixp.c@1.9> <http://linux.bkbits.net:8080/linux-2.6/anno/include/linux/pci_ids.h@1.203> I can help by testing any CVS version and providing root on this machine if it's needed (it's not production, contains no valuable data and is not connected to any machine I care of... :) >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503070103.j2713Sae023132>