[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#679978: Thinkpad T430 user, found workaround which works for me



Hello, Linux n00b here.

Marcin's post led me to a solution:

>...I have found that removing e1000e module before reboot/shutdown solves
>the problem, so perhaps it is a bug in the kernel...

>Cheers,

>Marcin

Removing the e1000e module does indeed allow a normal reboot/shutdown.  However, running all day without any ethernet module is a ridiculous proposition

So, make an addition to a rc script which automatically rmmod's the e1000e module upon shutdown:


Edit one of the scripts in /etc/rc0.d or /etc/rc6.d and insert a line which removes the kernel module.  From my understanding, rc0.d scripts are responsible for halts/shutdowns, and rc6.d is responsible for reboots.
But, these scripts seem to all be symlinked from /etc/init.d, so you could just edit one of the scripts in there instead and it would accomplish the same thing.

Since the module we are removing is an ethernet driver, it seems fitting to choose '/etc/rc0.d/K70networking' (aka '/etc/init.d/networking').  And because Debian naturally calls the stop method of this script when shutting down or rebooting, we can simply insert our addition inside the method.

Change this:

stop)
        if init_is_upstart; then
                exit 0
        fi
        check_network_file_systems
        check_network_swap

        log_action_begin_msg "Deconfiguring network interfaces"
        if ifdown -a --exclude=lo $verbose; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi
        ;;

So that it reads:

stop)
        if init_is_upstart; then
                exit 0
        fi
        check_network_file_systems
        check_network_swap

        log_action_begin_msg "Deconfiguring network interfaces"
        if ifdown -a --exclude=lo $verbose; then
            log_action_end_msg $?
        else
            log_action_end_msg $?
        fi

        modprobe -r e1000e
        ;;

Sorry if my terminology is incorrect, or if it's a bad/dangerous idea to edit these scripts.  Like I said, I'm really new to Linux; I only learned what a kernel module is a couple days ago, and what an rc script is a few hours ago.
So maybe think twice before taking my crap advice and potentially doing something dangerous.  Hopefully this is of some help!


Kind regards,
Edward Peguillan III

Reply to: