FS#12975 - System fails to load if module hdaps is specified in MODULES=() array

Attached to Project: Arch Linux
Opened by none given (hoban) - Sunday, 25 January 2009, 19:35 GMT
Last edited by Aaron Griffin (phrakture) - Wednesday, 11 February 2009, 19:58 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture x86_64
Severity High
Priority Normal
Reported Version None
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
if I have the hdaps module specified in the MODULES array of /etc/rc.conf, my machine fails to boot. Here's what happens: http://imagebin.ca/view/QrwHi1iE.html

Additional info:
* package version(s)
kernel26 2.6.28.2-1
initscripts 2009.01-1

* config and/or log files etc.

# /etc/rc.conf - Main Configuration for Arch Linux
#

# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# HARDWARECLOCK: set to "UTC" or "localtime"
# USEDIRECTISA: use direct I/O requests instead of /dev/rtc for hwclock
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE="en_US.utf8"
HARDWARECLOCK="UTC"
USEDIRECTISA="no"
TIMEZONE="US/Mountain"
KEYMAP="us"
CONSOLEFONT="ter-v16b"
CONSOLEMAP=
USECOLOR="yes"

# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed
# MOD_BLACKLIST: Prevent udev from loading these modules
# MODULES: Modules to load at boot-up. Prefix with a ! to blacklist.
#
# NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array.
#
MOD_AUTOLOAD="yes"
#MOD_BLACKLIST=() #deprecated
MODULES=(acpi-cpufreq cpufreq_ondemand uinput fuse tp_smapi hdaps)
#MODULES=()

# Scan for LVM volume groups at startup, required if you use LVM
USELVM="yes"

# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="guapArch"

# Use 'ifconfig -a' or 'ls /sys/class/net/' to see all available interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
# - prefix an entry in INTERFACES with a ! to disable it
# - no hyphens in your interface names - Bash doesn't like it
#
# DHCP: Set your interface to "dhcp" (eth0="dhcp")
# Wireless: See network profiles below
#
eth0="dhcp"
wlan0="dhcp"
lo="lo 127.0.0.1 netmask 255.0.0.0"
INTERFACES=(lo !eth0 !wlan0)

# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
# - prefix an entry in ROUTES with a ! to disable it
#
gateway="default gw 192.168.0.1"
ROUTES=(!gateway)

# Enable these network profiles at boot-up. These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
# - set to 'menu' to present a menu during boot-up (dialog package required)
# - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This now requires the netcfg package
#
#NETWORKS=(main)

# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
# - prefix a daemon with a ! to disable it
# - prefix a daemon with a @ to start it up in the background
#
DAEMONS=(@rsyslogd hal @fam kdm @dhcdbd @networkmanager !wicd @cpufreq !network @crond !alsa !openntpd @avahi-daemon @stbd @pulseaudio @gpm @smartd)

Steps to reproduce:
List hdaps module in MODULES=() array. Reboot.

Also, if I try to load the hdaps module by hand after a successful boot, this happens:
$ sudo modprobe hdaps
Killed
$ lsmod
Module Size Used by
(hangs)
This task depends upon

Closed by  Aaron Griffin (phrakture)
Wednesday, 11 February 2009, 19:58 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Fixed by a rebuild
Comment by none given (hoban) - Sunday, 25 January 2009, 19:41 GMT
hdaps isn't the only module...tp_smapi produces the same error conditions.
Comment by none given (hoban) - Sunday, 25 January 2009, 20:11 GMT
after thinking about this a bit more I came to the conclusion that maybe this is a symtop caused by two distinct issues.
1) the modules hdaps and tp_smapi are not currently loadable and cause system instability
2) rc.sysinit isn't able to gracefully recover when a module fails to load.
Comment by Jan de Groot (JGC) - Monday, 26 January 2009, 10:18 GMT
tp_smapi is some unofficial module not included in the kernel.
Comment by Greg (dolby) - Monday, 26 January 2009, 11:11 GMT
tp_smapi loads just fine here. as i can see your module list is far from complete. maybe try hwdetect --modules, add those modules in rc.conf and try again.
Comment by none given (hoban) - Monday, 26 January 2009, 13:49 GMT
@jan de Groot - tp_smapi may be unofficial, but hdaps is included in the mainline kernel.
@Grigorios Bouzakis - other modules are loaded by 'MOD_AUTOLOAD="yes"' however to answer your curiosity, I added them all manually using the output of "hwdetect --modules" (making sure to try to manually load each module and look for failures before keeping the module in the list) and the result is still the same; if hdaps _or_ tp_smapi is included in the array, the system hangs at boot upon loading modules. Also, the same instability occurs if I attempt to manually load either module after boot time.
Comment by Greg (dolby) - Monday, 26 January 2009, 14:04 GMT
OK, dont know why, it worked here when i tried about about a week ago.
But as JGC said its hdaps is not in any binary repo. You will have better luck addressing this to the hdaps-devel mailing list.
Comment by Greg (dolby) - Monday, 26 January 2009, 14:09 GMT
But also a question on AUR page wouldnt hurt. Maybe someone else gets that too.
Comment by Greg (dolby) - Wednesday, 28 January 2009, 00:29 GMT
@hoban: see  FS#13013 
Comment by none given (hoban) - Wednesday, 28 January 2009, 02:56 GMT
@dolby: good find, thanks! It half fixes my problem...hdaps can be loaded, but tp_smapi still cannot even after a rebuild.
dmesg produces the following upon loading hdaps, then tp_smapi:
---------------------------------------------------------------
hdaps: inverting axis readings.
hdaps: LENOVO ThinkPad T61 detected.
input: hdaps as /class/input/input10
hdaps: driver successfully loaded.
thinkpad_ec: cannot claim IO ports 0x1600-0x161f... consider using force_io=1.
tp_smapi: Unknown symbol thinkpad_ec_unlock
tp_smapi: Unknown symbol thinkpad_ec_invalidate
tp_smapi: Unknown symbol thinkpad_ec_read_row
tp_smapi: Unknown symbol thinkpad_ec_lock

At least I'm on to something now though.
Comment by none given (hoban) - Wednesday, 28 January 2009, 02:57 GMT
hehe, my bad. A simple google search found me the following:
http://bbs.archlinux.org/viewtopic.php?id=56969
Just had to load them in the correct order...
/me sheepishly walks away
Comment by none given (hoban) - Wednesday, 28 January 2009, 02:58 GMT
thanks all for the help!

Loading...