Discussion:
PCI / USB Problems?
John Jason Jordan
2007-02-16 17:27:58 UTC
Permalink
Compaq R3240, Ubuntu Edgy amd64

I started with Ubuntu Hoary, then Breezy, then Dapper, and now have
Edgy, all 64-bit. I have had a problem since the beginning making
backups to an external USB disk. Whether I use tar, dar or rsync the
computer will lock up somewhere in the middle of the backup. It will
also sometimes lock up when doing a lot of file deletions on the USB
disk, e.g., to delete an old backup set.

I have two different external hard disks, both 60 GB. One is a Datastor
Pocketec and the other is the original 60 GB hard disk that was in the
computer when I purchased it. I replaced the original disk with an 80
GB 7200 rpm disk, then bought a USB 2.0 enclosure for the old disk to
use it as an external. The lockups happen regardless of which disk I
use.

I usually just back up ~/, which has about 9.8 GB. The lockups seem to
happen most often when it is working on a large file. Sometimes only
the backup utility will lock up and I can kill it and continue to use
the computer. However, the other day something different happened that
made me wonder if the problem is with USB. I use a Logitech external
USB optical wireless mouse instead of the touchpad, and it has always
functioned flawlessly. I was using rsync to back up ~/ to the Pocketec
drive when rsync locked up. I killed it and continued working, but I
noticed that I was unable to umount the Pocketec drive. Fifteen minutes
later the Logitech mouse stopped working. In other words, something bad
happened to the USB bus.

So I rebooted, then did dmesg | less looking for references to USB. I
found the following:

[ 13.243077] PCI: Bus #03 (-#06) is hidden behind bridge #02 (-#02) (try 'pci=assign-busses') [ 13.243083] Please report the result to
linux-kernel to fix this permanently
[ 13.243142] PCI: Bus #07 (-#0a) is hidden behind bridge #02 (-#02) (try 'pci=assign-busses')
[ 13.243149] Please report the result to linux-kernel to fix this permanently later [ 13.378924] PCI: Using ACPI for IRQ routing
[ 13.378930] PCI: If a device doesn't work, try "pci=routeirq". If it helps, post a report later
[ 18.119887] usbcore: registered new driver usbfs
[ 18.119925] usbcore: registered new driver hub
later
[ 18.465892] usb usb1: configuration #1 chosen from 1 choice
[ 18.466107] hub 1-0:1.0: USB hub found
[ 18.466126] hub 1-0:1.0: 3 ports detected
later
[ 18.570786] usb usb2: configuration #1 chosen from 1 choice
[ 18.571009] hub 2-0:1.0: USB hub found
[ 18.571024] hub 2-0:1.0: 6 ports detected
later
[ 19.006683] usb usb3: configuration #1 chosen from 1 choice
[ 19.006725] hub 3-0:1.0: USB hub found
[ 19.006740] hub 3-0:1.0: 3 ports detected
[ 19.500499] usb 1-1: new low speed USB device using ohci_hcd and
address 2 later
[ 19.715407] usb 1-1: configuration #1 chosen from 1 choice
[ 19.733837] usbcore: registered new driver hiddev
[ 19.743624] input: Logitech USB Receiver as /class/input/input1
[ 19.743830] input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:02.0-1
[ 19.743850] usbcore: registered new driver usbhid
[ 19.743857] drivers/usb/input/hid-core.c: v2.6:USB HID core driver
later
[ 42.278295] usbcore: registered new driver ndiswrapper

So it appears that there may be a problem with ACPI. I am wondering if
the USB driver uses an IRQ that is being shared with something else. I
haven't tried pci=assign-busses or pci=routeirq yet because I thought
I'd ask here first if anyone else has encountered similar problems.

Any suggestions welcome.
Frank Edwards
2007-02-16 18:52:44 UTC
Permalink
Post by John Jason Jordan
Compaq R3240, Ubuntu Edgy amd64
I also have an R3240, but I'm running 32-bit Kubuntu because I sick of
fighting with browser plugins. :(
Post by John Jason Jordan
I started with Ubuntu Hoary, then Breezy, then Dapper, and now have
Edgy, all 64-bit. I have had a problem since the beginning making
backups to an external USB disk. Whether I use tar, dar or rsync the
computer will lock up somewhere in the middle of the backup. It will
also sometimes lock up when doing a lot of file deletions on the USB
disk, e.g., to delete an old backup set.
I don't use rsync to the flash drives ... it reads the entire file and
calculates checksums, then updates only the portions that need updating.
This means 100% of the file must be read and then some X% must be
written. I've figured it's probably faster to just write 100% and be
done with it. Note that this could hurt the lifetime of the flash
memory, though (they are write-cycle limited). I haven't done any
real-world simulations of this to determine the trade-offs.
Post by John Jason Jordan
[   42.278295] usbcore: registered new driver ndiswrapper
So it appears that there may be a problem with ACPI. I am wondering if
the USB driver uses an IRQ that is being shared with something else. I
haven't tried pci=assign-busses or pci=routeirq yet because I thought
I'd ask here first if anyone else has encountered similar problems.
I have had the 32-bit Debian kernel (2.6.17) also mention
the "pci=assign-busses". The SUSE 10.0 kernel (which I think was 2.6.9,
IIRC) never produced that message.

I also use an external drive (two, actually; one is 40GB and the other is
20GB) and have not experienced any lockups. And I am always sucking
video from my Series2 TiVo, unlocking the mpeg2 stream, then transcoding
it to an mpeg4 AVI. These large files (typically about 1.7GB per
2-hours) are then moved back and forth to the USB drives. Long-term
storage is on the external drive, but before I take a business trip, I'll
copy a few of them back to the internal drive so that I don't need the
external hooked up to watch Battlestar Galactica or Heroes or ...

However, I _have_ had lockups using the ndiswrapper module, which I
noticed you also have installed (it's lucky that you included that
line!). I never had a problem under 64-bit SUSE when I grabbed the
source for ndiswrapper and built it myself, but I have sporadic lockups
whenever I use the wireless under 32-bit Kubuntu. I have not looked into
this in detail yet, since I haven't *needed* the wireless, but I will
likely start on this problem in the next week or two, as I start
traveling again (hotels like wireless, since the infrastructure for it is
easier than wired (sigh)).
Post by John Jason Jordan
Any suggestions welcome.
Try the "assign-busses" and let us know if that solves the problem. If it
doesn't, I'd try leaving out the ndiswrapper and see if that helps.

PS: Have you used ndiswrapper on all of your previous installs as well?
Has it always been from a binary repository, ie. have you ever built it
from source?

I wish you the best of luck!
--
Frank J. Edwards
Edwards & Edwards Consulting, LLC
Voice: (813) 996-7954
Email: ***@eec.com
Large Attachments To: ***@gmail.com
John Jason Jordan
2007-02-16 20:59:40 UTC
Permalink
On Fri, 16 Feb 2007 13:52:44 -0500
Post by Frank Edwards
Post by John Jason Jordan
Compaq R3240, Ubuntu Edgy amd64
I also have an R3240, but I'm running 32-bit Kubuntu because I sick of
fighting with browser plugins. :(
I use 64-bit primarily because I want to learn Linux and I figured a
baptism by fire would be the best way. At the same time, I use this
computer for school, so I need to keep it working. But I am happy to
report that with Edgy amd64 I have 64-bit Firefox working with Flash 9
and Adobe Reader 7.08 (Linux) plugins. It takes a bit of fiddling, but
it can now be done.
Post by Frank Edwards
I don't use rsync to the flash drives ... it reads the entire file and
calculates checksums, then updates only the portions that need updating.
This means 100% of the file must be read and then some X% must be
written. I've figured it's probably faster to just write 100% and be
done with it. Note that this could hurt the lifetime of the flash
memory, though (they are write-cycle limited). I haven't done any
real-world simulations of this to determine the trade-offs.
I have a couple flash drives and I've never had a problem them. But all
I generally use them for is to copy a file to the drive so I can put
the drive on a computer at the university when I need to print
something there. I just drag and drop with Nautilus.
Post by Frank Edwards
Post by John Jason Jordan
[   42.278295] usbcore: registered new driver ndiswrapper
So it appears that there may be a problem with ACPI. I am wondering if
the USB driver uses an IRQ that is being shared with something else. I
haven't tried pci=assign-busses or pci=routeirq yet because I thought
I'd ask here first if anyone else has encountered similar problems.
However, I _have_ had lockups using the ndiswrapper module, which I
noticed you also have installed (it's lucky that you included that
line!). I never had a problem under 64-bit SUSE when I grabbed the
source for ndiswrapper and built it myself, but I have sporadic lockups
whenever I use the wireless under 32-bit Kubuntu. I have not looked into
this in detail yet, since I haven't *needed* the wireless, but I will
likely start on this problem in the next week or two, as I start
traveling again (hotels like wireless, since the infrastructure for it is
easier than wired (sigh)).
Ubuntu Hoary amd64 was the first OS I seriously used on this computer,
although I briefly tried a couple others first. I liked Ubuntu because
it was so much more plug and play than the others. However, it took me
a week to learn how to get ndiswrapper working. Once I had it
configured it worked totally reliably. But it broke when I upgraded to
Breezy, and again when I upgraded to Dapper, and yet again when I
upgraded to Edgy. At one time I posted a how-to on our wiki, partly for
the benefit of others, and partly so I would know where I left the
instructions for the next time an upgrade broke ndiswrapper. However,
the upgrade to Edgy required something slightly different. The
instructions on this Ubuntu page work:

http://ubuntuforums.org/showthread.php?t=340689&highlight=broadcom+4306http://ubuntuforums.org/showthread.php?t=340689&highlight=broadcom+4306

However, that probably won't work if you have a 32-bit OS. I should
also mention that the new bcm43xx driver that is supposed to work with
our Broadcom 4306 chips sucks. If you can even get it working, the
speed is only 11 MB/s. With ndiswrapper and the bandwidth at the
university I get great speed.
Post by Frank Edwards
Try the "assign-busses" and let us know if that solves the problem. If it
doesn't, I'd try leaving out the ndiswrapper and see if that helps.
PS: Have you used ndiswrapper on all of your previous installs as well?
Has it always been from a binary repository, ie. have you ever built it
from source?
You can install it from Synaptic. But this last time around I installed
version 1.34 because the only one in the repositories was 1.18. The
instructions on the Ubuntu forum link above explain how to install it.
If I recall correctly, for Dapper I just used 1.18 from the
repositories, but all other times I did a make-install.

I've never had a lockup when using the wireless, and I've occasionally
used it heavily, so I'm inclined to think the problem is not in
ndiswrapper. I think I'll try the pci=assign-busses first. If that
makes no difference I 'll try disabling ndiswrapper.

Thanks for the observations and suggestions.
JT Moree
2007-02-16 21:24:42 UTC
Permalink
Post by John Jason Jordan
I use 64-bit primarily because I want to learn Linux and I figured a
baptism by fire would be the best way. At the same time, I use this
computer for school, so I need to keep it working. But I am happy to
report that with Edgy amd64 I have 64-bit Firefox working with Flash 9
and Adobe Reader 7.08 (Linux) plugins. It takes a bit of fiddling, but
it can now be done.
how did you do it? nspluginwrapper?

- --
JT Morée
PC Xperience, Inc.
John Jason Jordan
2007-02-16 21:52:19 UTC
Permalink
On Fri, 16 Feb 2007 14:24:42 -0700
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by John Jason Jordan
I use 64-bit primarily because I want to learn Linux and I figured a
baptism by fire would be the best way. At the same time, I use this
computer for school, so I need to keep it working. But I am happy to
report that with Edgy amd64 I have 64-bit Firefox working with Flash 9
and Adobe Reader 7.08 (Linux) plugins. It takes a bit of fiddling, but
it can now be done.
how did you do it? nspluginwrapper?
Yes, nspluginwrapper is part of the solution. Follow pinguin's advice
here:

http://ubuntuforums.org/showthread.php?t=341727

But read all the rest of the posts in that thread as well, because I
had to modify a couple of things. And note that we are on Edgy, not
Dapper or other distros. And the fix is a bit kludgy because one of the
fixes I had to do was create a bash shell to launch Firefox, else every
time I shut it down and relaunched it Flash would stop working.
JT Moree
2007-02-16 21:25:11 UTC
Permalink
Since the last updates in kubuntu my left side USB ports dont work.
haven't looked into it yet.


- --
JT Morée
PC Xperience, Inc.
John Jason Jordan
2007-02-17 02:29:21 UTC
Permalink
On Fri, 16 Feb 2007 12:59:40 -0800
Post by John Jason Jordan
I've never had a lockup when using the wireless, and I've occasionally
used it heavily, so I'm inclined to think the problem is not in
ndiswrapper. I think I'll try the pci=assign-busses first. If that
makes no difference I 'll try disabling ndiswrapper.
OK, I'm stupid.

I rebooted the computer and when the Grub menu came up I hit e to edit.
I entered a new line and put in pci=assign-busses, then b to boot. All
that happened was that Grub said it didn't know the command
pci=assign-busses. So then I tried a suggestion I found elsewhere, that
is, noapic irqpoll pci=routeirq. Same error message. Tried each one
alone, and still got error messages.

OK, evidently you don't put these commands on the boot line
in /boot/grub/menu.lst. So where do I put them?
Frank Edwards
2007-02-17 19:55:21 UTC
Permalink
Post by John Jason Jordan
On Fri, 16 Feb 2007 12:59:40 -0800
I rebooted the computer and when the Grub menu came up I hit e to edit.
I entered a new line and put in pci=assign-busses, then b to boot. All
that happened was that Grub said it didn't know the command
pci=assign-busses. So then I tried a suggestion I found elsewhere, that
is, noapic irqpoll pci=routeirq. Same error message. Tried each one
alone, and still got error messages.
OK, evidently you don't put these commands on the boot line
in /boot/grub/menu.lst. So where do I put them?
Oops, nope, sorry. :)

The phrase, "pci=assign-busses" should be added to the end of the "kernel"
line that appears in GRUB. Basically, put the cursor on the line that
starts with "kernel", then type "e", then press the spacebar and type in
the string "pci=assign-busses" with no quotes and no additional spaces.
When you're done, hit <Escape>. Then the letter "b" to boot.

If it works better, edit /boot/grub/menu.lst and add the string to the end
of the first "kernel" line that you find (the first one is typically the
default in an Ubuntu installation), but you can add it to all of the
kernel lines, if you'd like.

That line is the one that contains the parameters that are passed to the
kernel at boot time.

Also, responding to JT: I have had no trouble with my USB ports, although
when I have _both_ external drives connected using the two ports on the
left, I get problems talking to them periodically. I think it's a power
problem: I received two cables with each external unit, but I don't use
them since the laptop is capable of providing power on a single USB port.
But there aren't enough ports on this laptop to power both external units
at the same time and still have them hooked up to the USB ports for data,
too!
--
Frank J. Edwards
Edwards & Edwards Consulting, LLC
Voice: (813) 996-7954
Email: ***@eec.com
Large Attachments To: ***@gmail.com
JT Moree
2007-02-18 02:43:53 UTC
Permalink
Post by Frank Edwards
Also, responding to JT: I have had no trouble with my USB ports, although
when I have _both_ external drives connected using the two ports on the
left, I get problems talking to them periodically. I think it's a power
I'm on Dapper 64bit. When I choose this kernel the usb on the left side
works fine

vmlinuz-2.6.15-27-amd64-k8

but when I choose the new kernel it does NOT work.

Linux gannon 2.6.15-28-amd64-k8 #1 SMP PREEMPT Thu Feb 1 16:12:58 UTC
2007 x86_64 GNU/Linux

I dont know why the upgrade installed an smp kernel?

I may try a few others and see what I get. I'll need to check bugs and
report it to kubuntu i guess.

- --
JT Morée
PC Xperience, Inc.
John Jason Jordan
2007-02-18 03:33:51 UTC
Permalink
On Sat, 17 Feb 2007 19:43:53 -0700
Post by JT Moree
Post by Frank Edwards
Also, responding to JT: I have had no trouble with my USB ports, although
when I have _both_ external drives connected using the two ports on the
left, I get problems talking to them periodically. I think it's a power
I'm on Dapper 64bit. When I choose this kernel the usb on the left side
works fine
vmlinuz-2.6.15-27-amd64-k8
but when I choose the new kernel it does NOT work.
Linux gannon 2.6.15-28-amd64-k8 #1 SMP PREEMPT Thu Feb 1 16:12:58 UTC
2007 x86_64 GNU/Linux
I dont know why the upgrade installed an smp kernel?
I may try a few others and see what I get. I'll need to check bugs and
report it to kubuntu i guess.
Hmmm. Here is what I get:

Linux Devil5 2.6.17-11-generic #2 SMP Thu Feb 1 18:03:05 UTC 2007
x86_64 GNU/Linux

When I upgraded from Dapper to Edgy it installed the 2.6.17-10 kernel,
but subsequently there was a kernel upgrade to -11. Like you, I have no
idea why I have an SMP kernel.

All three of my USB ports work the same. That is, there is never a
problem until I try to move a lot of stuff over them really fast, as
when I make a backup to an external USB 2.0 hard disk. That's when
either the program or the whole computer will lock up. It doesn't
matter which port I use, I get the same performance from all of them.
Jonathan Berry
2007-02-18 04:04:06 UTC
Permalink
Post by JT Moree
Linux gannon 2.6.15-28-amd64-k8 #1 SMP PREEMPT Thu Feb 1 16:12:58 UTC
2007 x86_64 GNU/Linux
I dont know why the upgrade installed an smp kernel?
There has been no separate SMP kernel for x86_64 for a while now. I
think the i386 kernel finally went SMP-only recently as well.

Jonathan
Frank Edwards
2007-02-18 19:30:17 UTC
Permalink
On Sunday 18 February 2007 13:00,
Post by JT Moree
I dont know why the upgrade installed an smp kernel?
I don't know where the switchover was (sometime in the mid teen's, I
think), but the kernel that is installed is always an SMP kernel and
during the boot-up process, anything which is an SMP instruction is
self-patched to be UMP instead.

Basically, when the kernel is compiled, the SMP-safe structures like
Spinlock_t and similar are "patched" to remove the instructions that
would normally enforce cache coherency between processors (for example).

Check the output of dmesg(1) and search for "SMP". You'll see what I
mean. :)
--
Frank J. Edwards
Edwards & Edwards Consulting, LLC
Voice: (813) 996-7954
Email: ***@eec.com
Large Attachments To: ***@gmail.com
Loading...