IBM T30 Dock 2631 USB ports / PCMCIA / PCI problems

Bug #144210 reported by dunDer
4
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Won't Fix
Undecided
Unassigned
linux-source-2.6.20 (Ubuntu)
Won't Fix
Undecided
Unassigned
linux-source-2.6.22 (Ubuntu)
Won't Fix
Undecided
dunDer

Bug Description

From /var/log/kernel (without irqpoll):

--- CUT ---
Sep 23 12:05:18 dunder kernel: [ 18.666000] Yenta TI: socket 0000:09:02.0, mfunc 0x00001002, devctl 0x66
Sep 23 12:05:18 dunder kernel: [ 19.761000] irq 11: nobody cared (try booting with the "irqpoll" option)
Sep 23 12:05:18 dunder kernel: [ 19.761000] [__report_bad_irq+36/128] __report_bad_irq+0x24/0x80
Sep 23 12:05:18 dunder kernel: [ 19.761000] [note_interrupt+569/624] note_interrupt+0x239/0x270
Sep 23 12:05:18 dunder kernel: [ 19.761000] [handle_IRQ_event+48/96] handle_IRQ_event+0x30/0x60
Sep 23 12:05:18 dunder kernel: [ 19.761000] [handle_level_irq+235/288] handle_level_irq+0xeb/0x120
Sep 23 12:05:18 dunder kernel: [ 19.761000] [do_IRQ+64/128] do_IRQ+0x40/0x80
Sep 23 12:05:18 dunder kernel: [ 19.761000] [common_interrupt+35/48] common_interrupt+0x23/0x30
Sep 23 12:05:18 dunder kernel: [ 19.761000] [handle_IRQ_event+16/96] handle_IRQ_event+0x10/0x60
Sep 23 12:05:18 dunder kernel: [ 19.761000] [handle_level_irq+142/288] handle_level_irq+0x8e/0x120
Sep 23 12:05:18 dunder kernel: [ 19.761000] [do_IRQ+64/128] do_IRQ+0x40/0x80
Sep 23 12:05:18 dunder kernel: [ 19.761000] [common_interrupt+35/48] common_interrupt+0x23/0x30
Sep 23 12:05:18 dunder kernel: [ 19.761000] [cpuset_file_write+987/1920] cpuset_file_write+0x3db/0x780
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0c84c05>] yenta_probe_cb_irq+0x85/0xf0 [yenta_socket]
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0c85019>] ti12xx_override+0x129/0x5e0 [yenta_socket]
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0c85f24>] yenta_probe+0x594/0x640 [yenta_socket]
Sep 23 12:05:18 dunder kernel: [ 19.761000] [_spin_unlock+17/48] _spin_unlock+0x11/0x30
Sep 23 12:05:18 dunder kernel: [ 19.761000] [pci_match_device+168/192] pci_match_device+0xa8/0xc0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0c85990>] yenta_probe+0x0/0x640 [yenta_socket]
Sep 23 12:05:18 dunder kernel: [ 19.761000] [pci_device_probe+86/128] pci_device_probe+0x56/0x80
Sep 23 12:05:18 dunder kernel: [ 19.761000] [really_probe+102/400] really_probe+0x66/0x190
Sep 23 12:05:18 dunder kernel: [ 19.761000] [driver_probe_device+73/192] driver_probe_device+0x49/0xc0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [_spin_unlock+17/48] _spin_unlock+0x11/0x30
Sep 23 12:05:18 dunder kernel: [ 19.761000] [klist_next+93/160] klist_next+0x5d/0xa0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [__driver_attach+128/144] __driver_attach+0x80/0x90
Sep 23 12:05:18 dunder kernel: [ 19.761000] [bus_for_each_dev+59/96] bus_for_each_dev+0x3b/0x60
Sep 23 12:05:18 dunder kernel: [ 19.761000] [driver_attach+36/48] driver_attach+0x24/0x30
Sep 23 12:05:18 dunder kernel: [ 19.761000] [__driver_attach+0/144] __driver_attach+0x0/0x90
Sep 23 12:05:18 dunder kernel: [ 19.761000] [bus_add_driver+123/416] bus_add_driver+0x7b/0x1a0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [__pci_register_driver+126/192] __pci_register_driver+0x7e/0xc0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [sys_init_module+349/7120] sys_init_module+0x15d/0x1bd0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0c7a000>] parport_pc_write_data+0x0/0x10 [parport_pc]
Sep 23 12:05:18 dunder kernel: [ 19.761000] [sys_mmap2+205/208] sys_mmap2+0xcd/0xd0
Sep 23 12:05:18 dunder kernel: [ 19.761000] [sysenter_past_esp+105/169] sysenter_past_esp+0x69/0xa9
Sep 23 12:05:18 dunder kernel: [ 19.761000] [atm_dev_deregister+19/160] atm_dev_deregister+0x13/0xa0
Sep 23 12:05:18 dunder kernel: [ 19.761000] =======================
Sep 23 12:05:18 dunder kernel: [ 19.761000] handlers:
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0baef00>] (usb_hcd_irq+0x0/0x60 [usbcore])
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0baef00>] (usb_hcd_irq+0x0/0x60 [usbcore])
Sep 23 12:05:18 dunder kernel: [ 19.761000] [<e0c858b0>] (yenta_interrupt+0x0/0xe0 [yenta_socket])
Sep 23 12:05:18 dunder kernel: [ 19.761000] Disabling IRQ #11
--- CUT ---

Problem summary:

1. Without irqpoll TV card Leadtek Winfast 2000 (IRQ#11) in PCI slot is not working at all:

ioctl VIDIOC_DQBUF: Input/output error
ioctl VIDIOC_DQBUF: Input/output error
ioctl VIDIOC_DQBUF: Invalid argument
ioctl VIDIOC_DQBUF: Input/output error
total reset

with irqpoll it works but hangs constantly

2. Both USB ports at the back of the deck aren't working
3. PCMCIA #1 works, PCMCIA #2 is not

uname -a :
Linux dunder 2.6.20-16-lowlatency #2 SMP PREEMPT Fri Aug 31 00:58:46 UTC 2007 i686 GNU/Linux

dunDer (dunder)
description: updated
Revision history for this message
dunDer (dunder) wrote :

I've found workaround by myself. It's not perfect, but helps.
In IBM BIOS config -> PCI values must be set to:

INTA: 11 (VGA)
INTB: 5 (Audio / Modem)
INTC: 11 (mini PCI)
INTD: 10 (USB)

Also kernel needs additional parameters: irqpoll acpi=off
Without ircpoll errors are still displayed, with irqpoll there's no errors while loading kernel.
Without acpi=off both USB ports aren't working, with acpi=on USB#2 is working.

TV card works OK when capture mode is set to overlay and deinterlace to none in HdTV. When capture mode is grabdisplay image hangs constantly and errors are shown:

ioctl VIDIOC_DQBUF: Input/output error
ioctl VIDIOC_DQBUF: Input/output error
ioctl VIDIOC_DQBUF: Invalid argument
ioctl VIDIOC_DQBUF: Input/output error
total reset

Pretty sure that all problems are connected with kernel and need to be fixed by kernel maintainers.

Revision history for this message
dunDer (dunder) wrote :

UPDATE: Both PCMCIA slots work OK with these changes, so only USB#1 and grabdisplay solution is needed.

Revision history for this message
dunDer (dunder) wrote :
Revision history for this message
dunDer (dunder) wrote :

!!! Noticed that when turning on docking station error shows up again :( ... After turning it on one time from power off and rebooting, error is disappearing (if workaround changes are already made).
There should be a pernament fix created that will allow to boot kernel without any errors, check if using docking station and turn irqpoll on and allow using USB when ACPI is on !!!

dunDer (dunder)
Changed in linux-source-2.6.20:
assignee: nobody → ubuntu-kernel-team
status: Confirmed → New
Revision history for this message
dunDer (dunder) wrote :

Updated to Gutsy today and kernel 2.6.22 is TOTALY UNUSABLE!!! After turning power on error shows up with or withour workarounds and system hangs. I was hoping that new kernel will have some improvements but instead of it using thinkpad dock is impossible :|

Changed in linux-source-2.6.22:
assignee: nobody → ubuntu-kernel-team
Revision history for this message
dunDer (dunder) wrote :

Here's what I've found:

"The IBM 2631 docking station appears to work great. I couldn't test everything, but I did verify power, USB, network, video, keyboard, and audio out. The Ultrabay and IDE subsystem does work, but Fedora was slightly confused about the mount point for the DVD, which I had taken from the Thinkpad's bay and popped into the dock. On IBM's site there's a page that says "The ThinkPad Dock 2631 currently does not support Linux operating system." Which may be true for older (or other) distros, but from my tests Fedora Core 3 supports everything I want a docking station to do."

http://www.vardaman.org/?count=28

Post is from 2004, so as you can see something's broken in Ubuntu kernel ...

Revision history for this message
dunDer (dunder) wrote :

Found workaround for 2.6.22:

1. Edit /etc/initramfs-tools/modules and add:

fbcon
yenta_socket
thinkpad_acpi
dock
thinkpad

2. Execute command: sudo update-initramfs -u

3. Start kernel with parameters irqpoll (needed!) and acpi=off (if you want to use onboard dock first USB)

4. If you still see some errors remove thinkpad_acpi from modules in initramfs-tools

Revision history for this message
dunDer (dunder) wrote :

PCMCIA USB ports was messing up everything, but got it also worked around. Final fix to have everything except onboard USB 1.0 ports in Dock working:

1. In BIOS Config->PCI, all INT should be set to auto

2. /etc/initramfs-tools/modules should contain:

fbcon
thinkpad_acpi
dock
thinkpad
pcmcia
uhci_hcd
ohci_hcd
yenta_socket

3. kernel options: irqpoll (optional acpi=off can be used to run USB 1.0 port)

Results of the above settings:
- PCMCIA Card with 2xUSB 2.0 & 1xFirewire plugged in Dock PCMCIA slot works fine
- Winfast Leadtek 2000 XP plugged in Dock PCI slot works fine
- Mouse plugged in USB 2.0 on PCMCIA card works fine
- USB#1 in Dock is not working even using acpi=off
- USB#2 in Dock works fine when acpi=off parameter is set in kernel

Conclusion: modules mentioned above should be passed to initramfs by default after Ubuntu installation, also some diagnostics should be made to check why both - ACPI and Dock USB support can work at the same time.

Since Dock is usable as I wanted it to be, I'm done with this.

Revision history for this message
dunDer (dunder) wrote :

Unfortunatelly, after turning power on I see error messages like:

Sep 22 13:11:48 dunder kernel: [ 20.380000] handlers:
Sep 22 13:11:48 dunder kernel: [ 20.380000] [acpi_irq+0/20] (acpi_irq+0x0/0x14)
Sep 22 13:11:48 dunder kernel: [ 20.380000] [<f8baef00>] (usb_hcd_irq+0x0/0x60 [usbcore])
Sep 22 13:11:48 dunder kernel: [ 20.380000] [<f8ddc570>] (ath_intr+0x0/0xc40 [ath_pci])
Sep 22 13:11:48 dunder kernel: [ 20.380000] [<f8cc88b0>] (yenta_interrupt+0x0/0xe0 [yenta_socket])
Sep 22 13:11:48 dunder kernel: [ 20.380000] [<f8cc88b0>] (yenta_interrupt+0x0/0xe0 [yenta_socket])
Sep 22 13:11:48 dunder kernel: [ 20.380000] Disabling IRQ #9

Tested also on Fedora 6 LiveCD and Linux RescueCD (Gentoo) - same error, but only on Ubuntu error is constantly showing up and system is not booting - on others it shows one time and boot procedure is continued. It's strictly related to PCMCIA USB 2.0 card:

0e:00.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
0e:00.1 USB Controller: ALi Corporation USB 1.1 Controller (rev 03)
0e:00.3 USB Controller: ALi Corporation USB 2.0 Controller (rev 01)
0e:00.4 FireWire (IEEE 1394): ALi Corporation M5253 P1394 OHCI 1.1 Controller

It's really strange, because if any linux with any kernel will boot once (error messages appear) and then I'll make a reboot, everything seems to work OK - even PCMCIA USB 2.0 card which is weird - is it some kind cache?

When card is plugged directly to laptop PMCIA there's no errors at all. It seems to be yenta_socket module problem when using dock.

Revision history for this message
dunDer (dunder) wrote :

Finally got it working after recompiling kernel. After power up (with ircpoll), errors still shows up but system is booting, PCMCIA USB card works, TV card works (only overlay mode, grabdisplay is still hanging up from time to time), dock USB#2 works when acpi=off.
I think kernel settings is the key to solve this problem pernamently and someday I'll find out how :P

my /etc/modules:

realtime
lp
bay
sbp2
ohci_hcd
ath_pci
thinkpad
bttv
fuse

(ath_pci was compiled from latest madwifi from madwifi project site, because it's not included in ubuntu kernel source - same as realtime module which must be downloaded via module assistant [apparmor must be uninstalled])

.config file for kernel-2.6.22 source is in attachment (it's a lowlatency kernel because I'm using ubuntu in my home studio)

Revision history for this message
dunDer (dunder) wrote :

I'm preparing a better optimized kernel with APM instead of ACPI support and some other tweaks for IBM T-series laptops & Dock support. It's should be done soon and I'll put .config and deb files here for download. It will be a Gutsy Gibbons version, but somebody could test it on Feisty.

Revision history for this message
dunDer (dunder) wrote :

Ubuntu Gutsy 7.10 Tribe 5
Unofficial Lowlatency Kernel Package
for Thinkpad T30 laptop with Docking Station support
[not tested on any other T series laptops but may also work]
by Adam Brożyński ( www.dunder.pl / <email address hidden> )

1. First we need to install new downloaded kernel and kernel headers:

 dpkg -i ./linux-image-2.6.22.7-t30-rt_2.6.22.7-t30-rt-10.00.Custom_i386.deb
 dpkg -i ./linux-headers-2.6.22.7-t30-rt_2.6.22.7-t30-rt-10.00.Custom_i386.deb

2. To build and start realtime module, boot from the new kernel and type:

 $ sudo -s
 # apt-get remove apparmor
 # rmmod apparmor
 # rmmod commoncap
 # m-a update
 # m-a prepare
 # m-a get realtime-lsm
 # m-a build realtime-lsm
 # m-a install realtime-lsm
 # echo realtime >> /etc/modules
 # modprobe realtime

3. To install MadWifi drivers for Atheros (only if you are using one, because they are not included in kernel package) type:

 $ sudo -s
 # wget http://downloads.sourceforge.net/madwifi/madwifi-0.9.3.2.tar.gz
 # cd madwifi-0.9.3.2
 # make clean && make && make install
 # echo ath_pci >> /etc/modules

4. Reboot laptop to test new kernel:

 $ sudo reboot

5. In IBM BIOS -> Config -> Power, change Power Mode options to Customize and LCD Close Suspend to OFF, because we want standby mode when closing LCD panel.

6. Boot from new kernel (you can add vga=791 kernel parameter to use framebuffer console at 1024x768 - fbcon is compiled into kernel)

7. Even if you see some irq errors, USB#2 in Dock, PCI and PCMCIA cards should work. If not, try to boot with PCMCIA USB 2.0 with connected devices card plugged in and after boot, connect device you need in Dock USB#2 port.

 $ sudo -s
 # rmmod ohci_hcd && rmmod uhci_hcd && modprobe uhci_hcd && modprobe ohci_hcd

8. You don't have to do additional changes to /etc/modules or /etc/initrd-tools/modules or start kernel with any additional parameters.

9. Remember that if you have any Ubuntu kernel installed from any repository, your menu.lst will change and default kernel option can be replaced after update.

10. This kernel is unofficial, so don't bother Ubuntu team about it - you can bother me instead, but you are using it at your own risk.

Revision history for this message
dunDer (dunder) wrote :
Revision history for this message
dunDer (dunder) wrote :
Changed in linux-source-2.6.22:
assignee: ubuntu-kernel-team → adam-gre
status: New → Fix Committed
Revision history for this message
dunDer (dunder) wrote :

Ad.8 Add irqpoll parameter to kernel

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. I apologize for the extremely delayed response to your bug report. We were wondering is this still an issue for you in the latest Hardy Alpha release? The Hardy Heron Alpha series contains an updated version of the kernel. You can download and try the new Hardy Heron Alpha release from http://cdimage.ubuntu.com/releases/hardy/ . You should be able to then test the new kernel via the LiveCD. If you can, please verify if this bug still exists or not and report back your results. General information regarding the release can also be found here: http://www.ubuntu.com/testing/ .

Please note we will keep this report open against the actively developed kernel but will be closing it against 2.6.22 and 2.6.20. Thanks.

Thanks

Changed in linux:
status: New → Incomplete
Changed in linux-source-2.6.22:
status: Fix Committed → Won't Fix
Changed in linux-source-2.6.20:
status: New → Won't Fix
Revision history for this message
Nick Ellery (nick.ellery) wrote :

We are closing this bug report because it lacks the information we need to investigate the problem, as described in the previous comments. Please reopen it if you can give us the missing information, and don't hesitate to submit bug reports in the future. To reopen the bug report you can click on the current status, under the Status column, and change the Status back to "New". Thanks again!

Changed in linux:
status: Incomplete → Invalid
Revision history for this message
dunDer (dunder) wrote :

bug still exist - nothing changed since 2.6.20 kernel

Changed in linux:
status: Invalid → New
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi dunDer,

The upcoming Intrepid Ibex 8.10 release is actively being developed and worked on. Would you be willing to test the latest Alpha for the upcoming Intrepid and confirm if this is still an issue - http://www.ubuntu.com/testing . It has a 2.6.26 based kernel. Please let us know your results. Thanks.

Changed in linux:
status: New → Incomplete
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

The Ubuntu Kernel Team is planning to move to the 2.6.27 kernel for the upcoming Intrepid Ibex 8.10 release. As a result, the kernel team would appreciate it if you could please test this newer 2.6.27 Ubuntu kernel. There are one of two ways you should be able to test:

1) If you are comfortable installing packages on your own, the linux-image-2.6.27-* package is currently available for you to install and test.

--or--

2) The upcoming Alpha5 for Intrepid Ibex 8.10 will contain this newer 2.6.27 Ubuntu kernel. Alpha5 is set to be released Thursday Sept 4. Please watch http://www.ubuntu.com/testing for Alpha5 to be announced. You should then be able to test via a LiveCD.

Please let us know immediately if this newer 2.6.27 kernel resolves the bug reported here or if the issue remains. More importantly, please open a new bug report for each new bug/regression introduced by the 2.6.27 kernel and tag the bug report with 'linux-2.6.27'. Also, please specifically note if the issue does or does not appear in the 2.6.26 kernel. Thanks again, we really appreicate your help and feedback.

Revision history for this message
Launchpad Janitor (janitor) wrote : Kernel team bugs

Per a decision made by the Ubuntu Kernel Team, bugs will longer be assigned to the ubuntu-kernel-team in Launchpad as part of the bug triage process. The ubuntu-kernel-team is being unassigned from this bug report. Refer to https://wiki.ubuntu.com/KernelTeamBugPolicies for more information. Thanks.

Revision history for this message
Brad Figg (brad-figg) wrote :

This bug report is being closed because we received no response to the previous inquiry for information. Please reopen if this is still an issue in the current Ubuntu release, Jaunty Jackalope 9.04. To reopen the bug, click on the current status, under the Status column, and change the status back to "New". Thanks.

Changed in linux (Ubuntu):
status: Incomplete → Won't Fix
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.