Subject: IDE problems
To: None <current-users@netbsd.org>
From: Mihai CHELARU <kefren@netbastards.org>
List: current-users
Date: 11/02/2003 14:47:05
Hi,

I have an old IDE cable attached to the second IDE channel. The devices 
attached to this are aware of UDMA2 and UDMA5. With the latest current 
(1.6E) the kernel hangs while trying to detect root partition. Here are 
the last messages from console:

cd0(viaide0:1:0): using PIO mode 4, DMA mode 2 (using DMA data 
transfers)
wd2(viaide0:1:1): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using 
DMA data transfers)
wd2: transfer error, downgrading to Ultra-DMA mode 2
cd0(viaide0:1:0): using PIO mode 4, DMA mode 2 (using DMA data 
transfers)
wd2(viaide0:1:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using 
DMA data transfers)
wd2d: error reading fsbn 0 (wd2 bn 0; cn 0 tn 0 sn 0), retrying
wd2: (aborted command, interface CRC error)

	And here it hangs. An older kernel (1.6ZC) continues with:

wd2: soft error (corrected)

	and everything works fine after that (well, there is another downgrade 
during mount that works fine, too). Going into db at that moment show  
the following trace (I copyied only the function names. If somebody 
needs a complete trace, I will copy it all):

	cpu_switch()
	ltsleep()
	biowait()
	read_sector()
	scan_mbr()
	readdisklabel()
	wdgetdisklabel()
	wdopen()
	spec_open()
	VOP_OPEN()
	match_harrddisk()
	findroot()
	cpu_rootconf()
	main()

	When I rebooted the beast from db I cought also this message:

wd2: flush cache didn't complete

Thanks,
Mihai