You are not logged in.

#1 2013-05-16 20:19:58

serviscope_minor
Member
Registered: 2013-05-15
Posts: 9

Modules not autoloading after upgrade.

I recently performed a substantial upgrade on a laptop (Zenbook UX21).

After the upgrade numerous parts weren't working due to kernel modules not being automatically loaded. Everything seems to work fine now after they were all tracked down. The ones in question that I've noticed so far are snd-hda-intel, ath9k, battery and psmouse, rfkill and asus-wmi.

My question is does anyone know why? The hardware worked fine before without having to specify a list of things to be manually loaded.

Is there a `proper' way that this should be done automatically? At the moment, I'm modprob'ing them all after boot by hand, and if the answer is no, then I'll just add them to which ever place one adds modules to be loaded.

Also, can anyone suggest any extra documentation to read? I've done some searching but can't find any explanation as to why this has changed.

The only piece of information I can thing of which might be useful is that this was a system which modev over to systemd on a previous upgrade. Being rather unfamiliar with systemd, I may have botched something.

Offline

#2 2013-05-16 20:28:47

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Modules not autoloading after upgrade.

Did you actually move to systemd?  I mean did you go through the process of switching, or did you expect it to do it on its own?  What is the output of "cat /proc/1/comm"?

Also, this should not be happening.  It should autodetect your hardware and load modules accordingly.  At first I thought maybe you didn't mont your /boot when you upgraded kernel's, but you then go on to say that you are able to modprobe all the relevant modules.  So your /usr/lib/modules directory must match your runnign kernel.

So I guess that leads back to the question of whether or not you really are running systemd?

Offline

#3 2013-05-16 20:28:59

jrussell
Member
From: Cape Town, South Africa
Registered: 2012-08-16
Posts: 510

Re: Modules not autoloading after upgrade.

Have you read these?
https://wiki.archlinux.org/index.php/Kernel_modules
https://wiki.archlinux.org/index.php/Mkinitcpio

I have no idea why this would have happened to you.
Could you post the output of

cat /etc/mkinitcpio.conf

Last edited by jrussell (2013-05-16 20:30:48)


bitcoin: 1G62YGRFkMDwhGr5T5YGovfsxLx44eZo7U

Offline

#4 2013-05-17 08:32:39

serviscope_minor
Member
Registered: 2013-05-15
Posts: 9

Re: Modules not autoloading after upgrade.

WonderWoofy wrote:

Did you actually move to systemd?  I mean did you go through the process of switching, or did you expect it to do it on its own?

Certainly did: I had to change the boot line to init=/bin/systemd, and then change it again on the recent upgrade when the symlink in /bin vanished. That had me panicing for a few minutes.

There were a couple of other bits and bobs I had to fiddle with to get it booting, but that was a while ago, and I can't recall what they were. Before that I'd never encountered systemd in the flesh as it were, and I would still class my self as utterly unfamiliar with it.

What is the output of "cat /proc/1/comm"?

systemd

Also, this should not be happening.  It should autodetect your hardware and load modules accordingly.  At first I thought maybe you didn't mont your /boot when you upgraded kernel's, but you then go on to say that you are able to modprobe all the relevant modules.  So your /usr/lib/modules directory must match your runnign kernel.

All seems to be in order in that regard.

So I guess that leads back to the question of whether or not you really are running systemd?

I certainly am smile


Not specifically: I assumed I knew what was going on, though I'll give them a read through. In the latter case, though I'm not sure what the initrd would have to do with it: the machine has enough modules to boot and my current understanding was that everything except the non-essentials could be left off.

Nevertheless, I've not had to touch that one on this machine before.

I have no idea why this would have happened to you.
Could you post the output of

cat /etc/mkinitcpio.conf

Sure.

Stripping out comments for berevity (i.e. cat /etc/mkinitcpio.conf | grep -ve '^# -e '^$'):

MODULES=""
BINARIES=""
FILES=""
HOOKS="base udev autodetect modconf block filesystems keyboard fsck"

Offline

#5 2013-05-17 15:24:14

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Modules not autoloading after upgrade.

I'm at a bit of a loss here.  The thing that handles automagic module loading and HW polling is udev.  As you may or may not know, udev has been absorbed into systemd (much to the dismay of some).  So if you are running systemd, you're most certainly running udev.  Are all the necessary udev services and sockets running on your machine?  If so, are they succeeding according to the output of "systemctl"?

Offline

#6 2013-05-21 19:40:25

serviscope_minor
Member
Registered: 2013-05-15
Posts: 9

Re: Modules not autoloading after upgrade.

WonderWoofy wrote:

I'm at a bit of a loss here.  The thing that handles automagic module loading and HW polling is udev.  As you may or may not know, udev has been absorbed into systemd (much to the dismay of some).  So if you are running systemd, you're most certainly running udev.  Are all the necessary udev services and sockets running on your machine?  If so, are they succeeding according to the output of "systemctl"?

I didn't actually know udev went into systemd.

I'm not sure how to check that the services and sockets are running. Going on what I do know:

bash $ pgrep udev | xargs ps
  PID TTY      STAT   TIME COMMAND
  148 ?        Ss     0:00 /usr/lib/systemd/systemd-udevd

so that seems to be operational. Note that dvd playing works fine, which implies that the machine happily loaded all the correct modules when the DVD player was plugged in. So it doesn't appear to be hotplug that's the problem.

The output of systemctl -a s at the end of this post.

The "Load Kernel Modules" service seems to have failed.

Do you know any way of inspecting the boot process to see what's going wrong? Systemd seems quite large and complex and is not as transparent to me as the old init system (I'm used to wading through shell scripts). I'd love to be able to dig further, but I'm not even really sure how to start.



UNIT                       LOAD   ACTIVE   SUB       DESCRIPTION
proc-sys..._misc.automount loaded active   running   Arbitrary Executable File Formats File System Automount Point
dev-disk...24000865.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...x2dpart1.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...x2dpart2.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...x2dpart3.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...x2dpart4.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...0c6b8e75.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...2db101aa.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...71dc6a91.device loaded active   plugged   ADATA_XM11_128GB
dev-disk...0b9df4f5.device loaded active   plugged   ADATA_XM11_128GB
dev-sda.device             loaded active   plugged   ADATA_XM11_128GB
dev-sda1.device            loaded active   plugged   ADATA_XM11_128GB
dev-sda2.device            loaded active   plugged   ADATA_XM11_128GB
dev-sda3.device            loaded active   plugged   ADATA_XM11_128GB
dev-sda4.device            loaded active   plugged   ADATA_XM11_128GB
dev-ttyS0.device           loaded active   plugged   /dev/ttyS0
dev-ttyS1.device           loaded active   plugged   /dev/ttyS1
dev-ttyS2.device           loaded active   plugged   /dev/ttyS2
dev-ttyS3.device           loaded active   plugged   /dev/ttyS3
sys-devi...nd-card0.device loaded active   plugged   6 Series/C200 Series Chipset Family High Definition Audio Controller
sys-devi...et-wlan0.device loaded active   plugged   AR9485 Wireless Network Adapter
sys-devi...sda-sda1.device loaded active   plugged   ADATA_XM11_128GB
sys-devi...sda-sda2.device loaded active   plugged   ADATA_XM11_128GB
sys-devi...sda-sda3.device loaded active   plugged   ADATA_XM11_128GB
sys-devi...sda-sda4.device loaded active   plugged   ADATA_XM11_128GB
sys-devi...lock-sda.device loaded active   plugged   ADATA_XM11_128GB
sys-devi...ty-ttyS0.device loaded active   plugged   /sys/devices/platform/serial8250/tty/ttyS0
sys-devi...ty-ttyS1.device loaded active   plugged   /sys/devices/platform/serial8250/tty/ttyS1
sys-devi...ty-ttyS2.device loaded active   plugged   /sys/devices/platform/serial8250/tty/ttyS2
sys-devi...ty-ttyS3.device loaded active   plugged   /sys/devices/platform/serial8250/tty/ttyS3
sys-module-configfs.device loaded active   plugged   /sys/module/configfs
sys-subs...es-wlan0.device loaded active   plugged   AR9485 Wireless Network Adapter
-.mount                    loaded active   mounted   /
boot.mount                 loaded active   mounted   /boot
dev-hugepages.mount        loaded active   mounted   Huge Pages File System
dev-mqueue.mount           loaded active   mounted   POSIX Message Queue File System
home.mount                 loaded active   mounted   /home
proc-sys...nfmt_misc.mount loaded active   mounted   Arbitrary Executable File Formats File System
sys-fs-f...nnections.mount loaded inactive dead      FUSE Control File System
sys-kernel-config.mount    loaded active   mounted   Configuration File System
sys-kernel-debug.mount     loaded active   mounted   Debug File System
tmp.mount                  loaded active   mounted   /tmp
systemd-...rd-console.path loaded active   waiting   Dispatch Password Requests to Console Directory Watch
systemd-...sword-wall.path loaded active   waiting   Forward Password Requests to Wall Directory Watch
acpid.service              loaded active   running   ACPI event daemon
alsa-restore.service       loaded inactive dead      Restore Sound Card State
alsa-state.service         loaded inactive dead      Manage Sound Card State (restore and store)
alsa-store.service         loaded inactive dead      Store Sound Card State
auditd.service             error  inactive dead      auditd.service
colord.service             loaded active   running   Manage, Install and Generate Color Profiles
console-...m-start.service loaded active   exited    Console System Startup Logging
crond.service              loaded active   running   LEGACY unit for "crond" rc script
cups.service               loaded active   running   CUPS Printing Service
dbus.service               loaded active   running   D-Bus System Message Bus
display-manager.service    error  inactive dead      display-manager.service
dmeventd.service           loaded inactive dead      Device-mapper event daemon
emergency.service          loaded inactive dead      Emergency Shell
getty@tty1.service         loaded active   running   Getty on tty1
hwclock.service            loaded active   exited    LEGACY unit for "hwclock" rc script
lvmetad.service            loaded inactive dead      LVM2 metadata daemon
netfs.service              masked inactive dead      netfs.service
NetworkM...-online.service loaded failed   failed    Network Manager Wait Online
NetworkManager.service     loaded active   running   Network Manager
networkmanager.service     error  inactive dead      networkmanager.service
plymouth-quit-wait.service error  inactive dead      plymouth-quit-wait.service
plymouth-start.service     error  inactive dead      plymouth-start.service
polkit.service             loaded active   running   Authorization Manager
rc-local-shutdown.service  loaded inactive dead      /etc/rc.local.shutdown Compatibility
rc-local.service           loaded active   exited    /etc/rc.local Compatibility
rescue.service             loaded inactive dead      Rescue Shell
rtkit-daemon.service       loaded active   running   RealtimeKit Scheduling Policy Service
sshd.service               loaded active   running   OpenSSH Daemon
sshdgenkeys.service        loaded inactive dead      SSH Key Generation
syslog-ng.service          loaded active   running   System Logger Daemon
syslog.service             error  inactive dead      syslog.service
systemd-...console.service loaded inactive dead      Dispatch Password Requests to Console
systemd-...rd-wall.service loaded inactive dead      Forward Password Requests to Wall
systemd-binfmt.service     loaded active   exited    Set Up Additional Binary Formats
systemd-fsck-root.service  loaded inactive dead      File System Check on Root Device
systemd-...db101aa.service loaded inactive dead      File System Check on /dev/disk/by-uuid/89d3d060-7ac0-49e5-b8a0-d79e2db101aa
systemd-...1dc6a91.service loaded inactive dead      File System Check on /dev/disk/by-uuid/8a066dee-f6a5-4211-94a2-9cba71dc6a91
systemd-initctl.service    loaded inactive dead      /dev/initctl Compatibility Daemon
systemd-...l-flush.service loaded inactive dead      Trigger Flushing of Journal to Persistent Storage
systemd-journald.service   loaded active   running   Journal Service
systemd-logind.service     loaded active   running   Login Service
systemd-...es-load.service loaded failed   failed    Load Kernel Modules
systemd-...ed-load.service loaded inactive dead      Load Random Seed
systemd-...ed-save.service loaded inactive dead      Save Random Seed
systemd-...collect.service loaded inactive dead      Collect Read-Ahead Data
systemd-...ad-done.service loaded inactive dead      Stop Read-Ahead Data Collection
systemd-...-replay.service loaded inactive dead      Replay Read-Ahead Data
systemd-remount-fs.service loaded active   exited    Remount Root and Kernel File Systems
systemd-shutdownd.service  loaded inactive dead      Delayed Shutdown Service
systemd-suspend.service    loaded inactive dead      Suspend
systemd-sysctl.service     loaded active   exited    Apply Kernel Variables
systemd-...s-clean.service loaded inactive dead      Cleanup of Temporary Directories
systemd-...tup-dev.service loaded inactive dead      Create static device nodes in /dev
systemd-...s-setup.service loaded active   exited    Recreate Volatile Files and Directories
systemd-...trigger.service loaded active   exited    udev Coldplug all Devices
systemd-udevd.service      loaded active   running   udev Kernel Device Manager
systemd-...unlevel.service loaded inactive dead      Update UTMP about System Runlevel Changes
systemd-...hutdown.service loaded inactive dead      Update UTMP about System Shutdown
systemd-...essions.service loaded active   exited    Permit User Sessions
systemd-...e-setup.service loaded active   exited    Setup Virtual Console
udisks2.service            loaded active   running   Disk Manager
upower.service             loaded active   running   Daemon for power management
wpa_supplicant.service     loaded active   running   WPA supplicant
xdm.service                loaded active   running   X-Window Display Manager
acpid.socket               loaded active   listening ACPID Listen Socket
dbus.socket                loaded active   running   D-Bus System Message Bus Socket
dmeventd.socket            loaded active   listening Device-mapper event daemon FIFOs
lvmetad.socket             loaded active   listening LVM2 metadata daemon socket
syslog.socket              loaded inactive dead      Syslog Socket
systemd-initctl.socket     loaded active   listening /dev/initctl Compatibility Named Pipe
systemd-journald.socket    loaded active   running   Journal Socket
systemd-shutdownd.socket   loaded active   listening Delayed Shutdown Socket
systemd-...-control.socket loaded active   listening udev Control Socket
systemd-...d-kernel.socket loaded active   running   udev Kernel Socket
dev-disk...5\x2dpart2.swap loaded active   active    /dev/disk/by-id/ata-ADATA_XM11_128GB_6300002724000865-part2
dev-disk...920c6b8e75.swap loaded active   active    /dev/disk/by-uuid/6970d353-0644-4791-93d5-b5920c6b8e75
dev-sda2.swap              loaded active   active    /dev/sda2
arch-daemons.target        loaded active   active    Arch Daemons
basic.target               loaded active   active    Basic System
cryptsetup.target          loaded active   active    Encrypted Volumes
emergency.target           loaded inactive dead      Emergency Mode
final.target               loaded inactive dead      Final Step
getty.target               loaded active   active    Login Prompts
graphical.target           loaded active   active    Graphical Interface
local-fs-pre.target        loaded active   active    Local File Systems (Pre)
local-fs.target            loaded active   active    Local File Systems
multi-user.target          loaded active   active    Multi-User System
network.target             loaded active   active    Network
nss-user-lookup.target     loaded inactive dead      User and Group Name Lookups
paths.target               loaded active   active    Paths
remote-fs-pre.target       loaded inactive dead      Remote File Systems (Pre)
remote-fs.target           loaded active   active    Remote File Systems
rescue.target              loaded inactive dead      Rescue Mode
runlevel1.target           error  inactive dead      runlevel1.target
runlevel2.target           error  inactive dead      runlevel2.target
runlevel3.target           error  inactive dead      runlevel3.target
runlevel4.target           error  inactive dead      runlevel4.target
runlevel5.target           error  inactive dead      runlevel5.target
shutdown.target            loaded inactive dead      Shutdown
sleep.target               loaded inactive dead      Sleep
sockets.target             loaded active   active    Sockets
sound.target               loaded active   active    Sound Card
suspend.target             loaded active   active    Suspend
swap.target                loaded active   active    Swap
sysinit.target             loaded active   active    System Initialization
syslog.target              error  inactive dead      syslog.target
timers.target              loaded active   active    Timers
umount.target              loaded inactive dead      Unmount All Filesystems
systemd-...head-done.timer loaded inactive dead      Stop Read-Ahead Data Collection 10s After Completed Startup
systemd-...les-clean.timer loaded active   waiting   Daily Cleanup of Temporary Directories

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

154 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.

Last edited by serviscope_minor (2013-05-21 19:41:06)

Offline

#7 2013-05-21 23:18:54

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Modules not autoloading after upgrade.

Have you checked the journal for information?  You can restrict journalctl to the current boot with the '-b' switch.  Though unless you are a member of the systemd-journal group, you have to be root to view the actual system journal.  Otheriwse it is a user journal only.

Typically, systemd-modules-load.service fails becuase it is trying to load a module specified in one of the modules-load.d directories that is not actually there. You can check out /etc/modules-load.d and /lib/modules-load.d (the nam page also claims to load from /run/modules-load.d, but i have never seen this directory appear before).  I don't honestly think that would make *all* you modules not be loaded though.

OTOH, we just had a kernel update, so have you updated to the new kernel?  Oh and that makes me think... you said all was in order in regard to your modules matching your kernel, how exactly did you check?  Can you compare a "pacman -Q linux" against a "uname -r" to see if they match?  You can do it either before you update the kernel, or after you update and reboot.  But not after you update but before you reboot because they will certainly not match then.

Offline

#8 2013-05-28 19:21:35

serviscope_minor
Member
Registered: 2013-05-15
Posts: 9

Re: Modules not autoloading after upgrade.

WonderWoofy wrote:

Have you checked the journal for information?  You can restrict journalctl to the current boot with the '-b' switch.  Though unless you are a member of the systemd-journal group, you have to be root to view the actual system journal.  Otheriwse it is a user journal only.

Thanks for the advice. The log doesn't go back far enough, so I'll check when the machine is next rebooted.

OTOH, we just had a kernel update, so have you updated to the new kernel?  Oh and that makes me think... you said all was in order in regard to your modules matching your kernel, how exactly did you check?  Can you compare a "pacman -Q linux" against a "uname -r" to see if they match?  You can do it either before you update the kernel, or after you update and reboot.  But not after you update but before you reboot because they will certainly not match then.

The kernel versions are the same, according to the two commands. Also, the relevant directory in /lib/modules is populated.

Offline

Board footer

Powered by FluxBB