Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 130727 - HPT302 IDE controller renders system unbootable
Summary: HPT302 IDE controller renders system unbootable
Status: RESOLVED NEEDINFO
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-21 06:48 UTC by Jakub Moc (RETIRED)
Modified: 2006-05-10 08:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
kernel .config (gentoo-sources-2.6.16-r3) (kernel-config,39.67 KB, text/plain)
2006-04-21 06:49 UTC, Jakub Moc (RETIRED)
Details
lspci -nvv output (lspcinvv.txt,7.71 KB, text/plain)
2006-04-21 12:39 UTC, Jakub Moc (RETIRED)
Details
lspci -vv output (lspcivv.txt,8.85 KB, text/plain)
2006-04-21 12:40 UTC, Jakub Moc (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jakub Moc (RETIRED) gentoo-dev 2006-04-21 06:48:48 UTC
System completely freezes at the moment HTP302 controller is probed. The only way to boot is to pass 'hde=noprobe hdf=noprobe hdg=noprobe hdh=noprobe' to kernel, rendering the IDE controller unusable. 

This can be reproduced with:

- Gentoo 2005.0 minimal CD
- Gentoo 2006.0 LiveCD
- gentoo-sources-2.6.15-r{5,7}
- gentoo-sources-2.6.16-r{2,3}
- vanilla-sources-2.6.17_rc2

System boots just fine with

- WinXP SP2 *cough* :P
- Ubuntu 5.04 x86 install CD (detects HTP302 and the drives just fine)

lspci -v output:

00:0e.0 RAID bus controller: Triones Technologies, Inc. HPT302 (rev 02)
	Subsystem: Triones Technologies, Inc. Unknown device 0001
	Flags: bus master, 66MHz, medium devsel, latency 120, IRQ 11
	I/O ports at d800 [size=8]
	I/O ports at dc00 [size=4]
	I/O ports at e000 [size=8]
	I/O ports at e400 [size=4]
	I/O ports at e800 [size=256]
	Expansion ROM at 40020000 [disabled by cmd] [size=128K]
	Capabilities: [60] Power Management version 2

# emerge --info (likely irrelevant)

Portage 2.1_pre9-r2 (default-linux/x86/2006.0, gcc-4.1.0, glibc-2.3.6-r3, 2.6.16-gentoo-r3 i686)
=================================================================
System uname: 2.6.16-gentoo-r3 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.12.0_pre17
ccache version 2.4 [enabled]
dev-lang/python:     2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr -ftree-vectorize"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -pipe -fomit-frame-pointer -fforce-addr -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical"
FEATURES="autoconfig ccache collision-protect confcache distlocks metadata-transfer parallel-fetch sandbox sfperms splitdebug strict userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.sh.cvut.cz/MIRRORS/gentoo/gentoo ftp://ftp.fi.muni.cz/pub/linux/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
LINGUAS="cs en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowext 7zip X X509 a52 aac acl acpi alsa apm asf audiofile bash-completion berkdb bluetooth bzip2 caps cddb cdparanoia cdr chroot cli crypt cscope css cups curl curlwrappers dbx dga dlloader dri dts dv dvd dvdr dvdread encode ethereal exif fam fbcon ffmpeg fftw firefox flac flash flatfile foomaticdb gdbm gif glibc-omitfp glut gmp gpm gstreamer iconv icq idn imagemagick imap imlib inifile ipv6 irda jack javascript joystick jpeg jpeg2k lcms libcaca libg++ libwww lirc lm_sensors logrotate mad maildir matroska mikmod mime mmap mmx mng mp3 mpeg musepack musicbrainz ncurses nls nodrm nptl nptlonly nsplugin nvidia offensive ogg openal opengl pam pcre pdf perl png ppds python qt quicktime readline real reflection samba sdl session sftplogging skey sndfile speex spell spl sse ssl svg symlink tcpd theora threads tiff truetype udev unicode urandom usb userlocales v4l v4l2 vcd vorbis win32codecs wmf x264 xine xinerama xinetd xml xml2 xmlrpc xosd xpm xv xvid xvmc zlib elibc_glibc input_devices_joystick input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux linguas_cs linguas_en userland_GNU video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_v4l video_cards_vesa video_cards_vmware"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LC_ALL

One of broken kernel .configs attached below.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-04-21 06:49:31 UTC
Created attachment 85109 [details]
kernel .config (gentoo-sources-2.6.16-r3)
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-04-21 12:39:45 UTC
Created attachment 85138 [details]
lspci -nvv output
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-04-21 12:40:13 UTC
Created attachment 85139 [details]
lspci -vv output
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2006-04-25 16:16:48 UTC
So, even when HPT support is built as a module and not autoloaded, the system still crashes on boot? Or only when the module is loaded?
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-04-25 23:27:45 UTC
(In reply to comment #4)
> So, even when HPT support is built as a module and not autoloaded, the system
> still crashes on boot? Or only when the module is loaded?

Only when the module gets loaded (or when the driver is built into kernel and controller gets probed). I've been debugging the thing w/ johnm, last working kernel is 2.6.10.5 (that's what Ubuntu 5.04 install CD has); 2.6.11 already fails. Didn't trace it to a particular patch, since these old kernels are not in git, so bisect is not useful. :(
Comment 6 Daniel Drake (RETIRED) gentoo-dev 2006-04-26 02:04:06 UTC
git://git.kernel.org/pub/scm/old-2.6-bkcvs.git

The granularity isn't great but you can bisect that
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-04-26 02:27:06 UTC
(In reply to comment #6)
> git://git.kernel.org/pub/scm/old-2.6-bkcvs.git
> 
> The granularity isn't great but you can bisect that

I'm probably missing something here: ;)

# git clone git://git.kernel.org/pub/scm/old-2.6-bkcvs.git kernel-git
fatal: unexpected EOF
fetch-pack from 'git://git.kernel.org/pub/scm/old-2.6-bkcvs.git' failed.
Comment 8 Daniel Drake (RETIRED) gentoo-dev 2006-04-26 05:56:33 UTC
Try git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/old-2.6-bkcvs.git
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2006-04-26 08:27:34 UTC
Erm... unless someone has a brilliant idea here, I'm giving up. 

Even the Ubuntu CD kernel freezes once I load ide-generic. Also, if I unset CONFIG_IDE_GENERIC in any 2.6 kernel version, hpt366 gets loaded during boot - but still requires noprobe passed to kernel to successfully boot (tried w/ gentoo-sources-2.6.16-r4), otherwise it freezes. 

After that, if I rmmod -f hpt366 (rmmod doesn't unload the module w/o -f), it can't be modprobed any more until reboot - only the following appears in /var/log/messages:

kobject_register failed for HPT366_IDE (-17)
[<c02a5d0b>] 
[<c031a382>] 
[<c02b2a0b>] 
[<f10b0177>] 
[<c0132cae>] 
[<c01443ee>] 
[<c0114dc1>] 
[<c0102e7f>] 

So, unless you have some ideas where to, just close the bug - no idea where to start debugging this. So far I've tried lots of kernels starting from 2.6.10 u to 2.6.17 and none of them makes it possible to use the drives connected to that controller.
Comment 10 Daniel Drake (RETIRED) gentoo-dev 2006-04-26 09:19:59 UTC
There are a few things you can try:

Enabling soft lockup detection under kernel hacking
Using the nmi watchdog (see Documentation/nmi_watchdog.txt)
Setting up a serial console and seeing if anything is logged upon freeze
Comment 11 Daniel Drake (RETIRED) gentoo-dev 2006-05-10 08:05:17 UTC
Reopen if you ever decide to follow this up :)