Thinkpad freezes when undocking from Ultrabay if CD/DVD-ROM drive has not been deleted manually

Bug #242638 reported by Mike Knoop
46
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Incomplete
Undecided
Unassigned

Bug Description

This bug is new to Ubuntu 8.04 LTS, it is not present in 7.10. I've applied each kernel update that gets pulled down, each kernel contains this problem in Hardy Heron.

My Thinkpad x60s will completely freeze if I attempt to undock it from an x6 Ultrabay. I am undocking it correctly using the undock button found on the side of the base. The bug has been narrowed down to the fact that the CD/DVD-ROM drive is still being used, because if I manually delete the drive through a command line, and then undock, my system will not freeze up. This also holds true if I boot into Ubuntu while not docked, and then place my thinkpad onto the docking station. I am able to successfully remove it in this scenario without freezing. [The strange thing about the latter scenario is I get access to the media drive when I dock it. This would seem to indicate something is going on during startup to mount the drive/base that simply docking and undocking does not?)

Futher information can be found at this thread:
http://ubuntuforums.org/showthread.php?t=750480

A workaround script can found at this thread:
http://ubuntuforums.org/showthread.php?t=816755

Thanks,
Mike

Revision history for this message
ingo (rum-topf) wrote :

Confirm same behaviour in Thinkpad T41 for Kubuntu 8.04 (all kernels up to now, i.e. 2.6.24-19-generic). Again, it worked fine on 7.10

Revision history for this message
epv (epv) wrote :

Confirm, same happens on T43p on 2.6.24-19-generic.
Immediate hang on removing ultrabay cdrom drive.

Revision history for this message
snowstar1963 (snowstar1963) wrote :

I to am having the same problem with the freezing behavior on a T42 running hardy kernel 2.6.24-19-generic. As a side note, I only have to run "echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/delete" after manually unmounting the volumn. the re-insert of either the DVD or the ultrabay hard drive behaves normally or behaves just as when running gutsy kernel 2.6.22.x. I did notice that the /proc/acpi/ibm/bay does not exist - I tried to run "echo eject > /proc/acpi/ibm/bay" got the no such file or directory.... sooo I'm guessing that a place to start sniffing is why "bay" is not getting created.....

Revision history for this message
acidix (acidix) wrote :

Confirmed on Thinkpad T61 2.6.24-19-generic

Revision history for this message
Bismark (bismark-foofus) wrote :

Same issues on a T60p on 2.6.24-19-generic.

Additional info from my working with this. The thinkpad_acpi module does not load bay support as the generic ACPI bay module is suppose to handle this now. However looking at dmesg you see this.

$ dmesg | grep bay
[ 70.229156] ACPI: \_SB_.PCI0.IDE0.PRIM.MSTR: found ejectable bay
[ 70.229186] ACPI: Error installing bay notify handler

so under /proc/acpi there is no bay reference nor is there anything under /proc/acpi/ibm/

According to this thread on ibm-acpi-dev list
http://www.nabble.com/Re:--ibm-acpi-devel---proc-acpi-ibm-bay-gone-with-ThinkPad-ACPI-Extras-v0.19-20080107-2.6.24-p15221781.html

booting without acpi support in libata may solve the problem though I've never been able to get that to work.

Revision history for this message
Joe Snikeris (snikeris-gmail) wrote :

I am experiencing similar problems with a fresh install of Hardy w/ all of the updates (2.6.24-19-generic). My system is an IBM Thinkpad X40 and it is connected to an X4 UltraBase.

If I boot with the UltraBase connected:
- CDROM works perfectly. If I insert a CD, Ubuntu automatically mounts it and puts an icon on the desktop. Cool.

- If I press the eject button next to the eject lever on the base, the LED next to the button blinks a few times then turns off and then the system appears to freeze. Mouse and keyboard don't work. Then I remove the base with the lever and the system stays frozen. Interestingly, when I put the laptop back on the base, the system unfreezes and I can continue where I left off. This can be done several times with the same effect (I just did it again while typing this).

- If, as root, I run, "echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/delete" as snowstar1963 mentioned above, the system can be removed from the base with the eject button without anything freezing. However, after I put the laptop back on the base, CD's don't pop up on my desktop like they used to until I reboot.

If I boot without the UltraBase connected:
- If I put the laptop back on the base after the machine has booted, CD's don't pop up on my desktop. However, ejecting works fine without freezing and without needing the above delete command.

I have errors in my dmesg similar to the ones Bismark noted above:

 $ dmesg | grep bay
[ 59.236068] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 59.236111] ACPI: Error installing bay notify handler
[ 59.236123] ACPI: \_SB_.PCI0.IDE0.SCDM.MSTR: found ejectable bay
[ 59.236147] ACPI: Error installing bay notify handler

One additional thing that no one has mentioned is that Fn-F9 does nothing in Ubuntu while in Windows XP it could also be used to eject the UltraBase.

Revision history for this message
Pablo Castellano (pablocastellano) wrote :

Hello!
Could you check if this issue still persists in currently available Ubuntu Intrepid release?

Revision history for this message
Joe Snikeris (snikeris-gmail) wrote :

This is NOT resolved in the currently available Intrepid release. I just updated with "update-manager -d". Pressing the eject button on the UltraBase causes the exact same behavior that I've described above. The only difference I've noticed is w/ dmesg | grep bay:

joe@x40:~$ dmesg | grep bay
[ 20.785595] Registered led device: tpacpi::bay_active
[ 24.830642] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 24.830693] ACPI: Error installing bay notify handler
[ 24.831564] ACPI: \_SB_.PCI0.IDE0.SCDM.MSTR: found ejectable bay
[ 24.831596] ACPI: Error installing bay notify handler
[ 24.974958] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 24.975012] ACPI: Error installing bay notify handler
[ 24.975081] ACPI: \_SB_.PCI0.IDE0.SCDM.MSTR: found ejectable bay
[ 24.975111] ACPI: Error installing bay notify handler
[ 34.800608] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 34.800658] ACPI: Error installing bay notify handler
[ 34.800686] ACPI: \_SB_.PCI0.IDE0.SCDM.MSTR: found ejectable bay
[ 34.800712] ACPI: Error installing bay notify handler
[ 239.578720] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 239.579208] ACPI: Error installing bay notify handler
[ 239.579400] ACPI: \_SB_.PCI0.IDE0.SCDM.MSTR: found ejectable bay
[ 239.579747] ACPI: Error installing bay notify handler

I would be VERY happy to help test anything so that this is fixed before Intrepid is released.

Revision history for this message
snowstar1963 (snowstar1963) wrote : Re: [Bug 242638] Re: Thinkpad freezes when undocking from Ultrabay if CD/DVD-ROM drive has not been deleted manually

Pablo Castellano wrote:
> Hello!
> Could you check if this issue still persists in currently available Ubuntu Intrepid release?
>
>
Will check and let you know! Had not loaded Intrepid yet..... but will
load this afternoon!
Thanks
Lisa

Revision history for this message
bomanizer (janne-matolaatikko) wrote :

I installed the Intrepid beta a week ago. The ultrabay works out-of-the box at the moment. I've been applying updates as they come available with update-manager and also no problems.

Revision history for this message
bomanizer (janne-matolaatikko) wrote :

EDIT: I own a Thinkpad R50, I downloaded the alternate cd-image about a week ago and installed with that.

Revision history for this message
snowstar1963 (snowstar1963) wrote : Re: [Bug 242638] Re: Thinkpad freezes when undocking from Ultrabay if CD/DVD-ROM drive has not been deleted manually

Hey --- did a fresh install of intrepid beta (downloaded last night 7:00 PM
EST) and hurray things are now working on my IBM T42. Using the eject lever,
I undocked the CD-ROM and docked the ultrabay harddrive. Things worked just
as in Gutsy Gibbon. I un-docked the ultrabay and re-docked the CD-ROM. Again
everything is working as expected! Thanks for your efforts and work!!!!!!

Lisa

On Wed, Sep 24, 2008 at 8:52 AM, Pablo Castellano <email address hidden>wrote:

> Hello!
> Could you check if this issue still persists in currently available Ubuntu
> Intrepid release?
>
> --
> Thinkpad freezes when undocking from Ultrabay if CD/DVD-ROM drive has not
> been deleted manually
> https://bugs.launchpad.net/bugs/242638
> You received this bug notification because you are a direct subscriber
> of the bug.
>

Revision history for this message
bomanizer (janne-matolaatikko) wrote :

snowstar1963, does the hdd get powered down after unmounting the drive and pulling the lever? Mine doesn't. Although the system doesn't freeze the drive makes a nasty sound when unplugging :(

I'm not sure, but I think this came about after some updates, especially since the kernel got to version 2.6.27-6.

At the moment, I don't feel safe removing my 2nd hdd without doing:

# echo 1 > /sys/class/scsi_device/X\:0\:0\:0/device/delete

(as root, not sudo)

Revision history for this message
bomanizer (janne-matolaatikko) wrote :

here's some interesting output:

# dmesg | grep bay

[ 19.480642] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 19.480702] ACPI: Error installing bay notify handler
[ 20.983327] thinkpad_acpi: another device driver is already handling bay events
[ 20.983331] thinkpad_acpi: disabling subdriver bay
[ 20.983569] Registered led device: tpacpi::bay_active
[ 28.016933] ACPI: \_SB_.PCI0.IDE0.SCND.MSTR: found ejectable bay
[ 28.016988] ACPI: Error installing bay notify handler

It's back :(

Revision history for this message
snowstar1963 (snowstar1963) wrote : Re: [Bug 242638] Re: Thinkpad freezes when undocking from Ultrabay if CD/DVD-ROM drive has not been deleted manually

bomanizer wrote:

> snowstar1963, does the hdd get powered down after unmounting the drive
> and pulling the lever? Mine doesn't. Although the system doesn't freeze
> the drive makes a nasty sound when unplugging :(
>
> I'm not sure, but I think this came about after some updates, especially
> since the kernel got to version 2.6.27-6.
>
> At the moment, I don't feel safe removing my 2nd hdd without doing:
>
> # echo 1 > /sys/class/scsi_device/X\:0\:0\:0/device/delete
>
> (as root, not sudo)
>
>
No --- everything works as hoped for just pull the lever and the device
powers off and can be removed - redocked and the system does not freeze.....

I did a clean install of intrepid from the live cd -

Thanks
Lisa

Revision history for this message
aliencam (cameronk) wrote :

I still have this problem in intrepid with the current kernel version 2.6.27-11-generic x86_64.

When I press the "eject" button, the light turns green (signaling that it is okay to remove) and the cd drive is no longer mounted, however it freezes as soon as I pull the level and actually unplug the laptop from the dock.

This is not a regular freeze either, it is more severe. ctrl-alt-backspace does not work, ctrl-alt-f1 does not work, and alt-printscreen r,e,i,s,u,b does not work either. The only way to restart the laptop is to remove the battery or hold down the power button.

Revision history for this message
Thomas Hood (jdthood) wrote :

This problem persists with X61 in UltraBase X4 on Intrepid and Jaunty (4 March 2009). Symptoms as described above by Joe Snikeris on 2008-08-11 with these differences:
* I haven't tested whether CDs are automatically detected
* After the system has frozen, if I reinstert the X61 into the UltraBase, the system reboots and does not continue where it left off

Revision history for this message
Termo (termopeten) wrote :

I can confirm the same bug still exist on Jaunty with my X41 as well...

Revision history for this message
kernel-janitor (kernel-janitor) wrote :

Hi mikeknoop,

Please be sure to confirm this issue exists with the latest development release of Ubuntu. ISO CD images are available from http://cdimage.ubuntu.com/releases/ . Please then run following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux-image-`uname -r` 242638

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

tags: added: needs-kernel-logs
tags: added: needs-upstream-testing
tags: added: kj-triage
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
aliencam (cameronk) wrote :

I can confirm this bug exists still in ubuntu 9.04, in

2.6.28-14-generic #47-Ubuntu SMP Sat Jul 25 01:19:55 UTC 2009 x86_64 GNU/Linux

Revision history for this message
Raphaël Halimi (raph) wrote :

Hi, using all information gathered mainly here and on ThinkWiki, I made a little package as a workaround for this bug (and others). It should work out-of-the-box for everyone who has an UltraBase with a CD/DVD in the UltraBay (but it should work with any brand handled by the new kernel's dock driver).

It's available at my PPA: https://launchpad.net/~raph/+archive/ppa

Its main component is a shell script that handles docking and undocking events, as well as bay's ejection or insertion (all are handled by the dock driver as of 2.6.28). It detects the type of dock triggering the event (ata_bay or dock_station) and try to unmount and unregister the device before undocking.

As of right now, it doesn't detect the type of device present in a bay (/sys/devices/platform/dock.?/block is missing, maybe because the dock driver is loaded into memory after block devices drivers, see at the end of the dock driver source), so this could be considered dirty because you have to specify in the config file the type of device you're using (defaults to /dev/sr0 on SCSI host 1:0:0:0). It seems that it's the best we can do in Jaunty without recompiling the kernel.

Another problem is the undock button. By default the dock driver disconnects immediately any device connected to the dock triggering the event, before the script could be run; to change this, we have to pass an option to the dock driver, but in Jaunty it's built-in the kernel, so you have to pass it to the kernel via the bootloader. If you use grub, my package can add "dock.immediate_undock=0" to your config file, in order to allow the use of the UltraBase eject button (similar code for lilo welcome).

And, last but not the least, it detects if you have a ThinkPad and if so, it binds the eject hotkey (Fn-F9) by adding a file to ACPI events config directory, so you can use the hotkey as well as the eject button.

Hope it helps.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.