Broadcom Woes with +1 GB of RAM

Bug #38912 reported by plush
10
Affects Status Importance Assigned to Milestone
linux-source-2.6.15 (Ubuntu)
Fix Released
Medium
Ben Collins

Bug Description

Apparently, my problem wasn't in my procedure in following the steps given on this forum, it was in installing more RAM!! I have had intermittent success using my PowerMac G5's Airport Extreme card, and it turns out it is because I've switched up how much RAM my system uses between installs (specifically from 512MB to 1.5GB).

"DMA Engine Bugs
The DMA Engine can only address memory below 1Gb, this seems to be a limitation of the Silicon Backplane used in the Broadcom 44xx chipsets as well. To get around this issue, try to ensure that all memory to be used for DMA is below 1G. In addition, when addressing any memory with the DMA engine, you will need to add 1<<30 to the address. It is believed that the top two bits are used for control, or internal routing, but their exact purpose is unknown."
-http://bcm-specs.sipsolutions.net/DMA

Revision history for this message
plush (plush) wrote :

I have a Dual processor, 2 2Ghz processor... however this bug is not limited to dual processors, methinks, because someone with a Dell Latitude w/ 1.2G of memory reported this too: http://<email address hidden>/msg00882.html

Revision history for this message
tonfa (bboissin) wrote :

Ok, this is a dup of this bug: https://launchpad.net/distros/ubuntu/+source/linux-source-2.6.15/+bug/33024

From the above bug, it looks like it was fixed, do you have a more recent kernel that in the above bug ?

Revision history for this message
tonfa (bboissin) wrote :

I checked the bcm43 tree, it is fixed there (there is a call to set_dma to restrict the address below 1G). It isn't fixed in 2.6.17-rc1. (and it isn't fixed in the kernel.org ubuntu git tree).

Revision history for this message
tonfa (bboissin) wrote :

Ok, it should be fixed in both, there is call to pci_set_dma_mask and pci_set_dma_consistent mask.

You should probably try the latest kernel.

Revision history for this message
plush (plush) wrote : Re: [Bug 38912] Re: Broadcom Woes with +1 GB of RAM

i did a dist-upgrade to the latest kernel days ago, (15-20-smp-
powerpc64 I think). No use. Any other ideas? Sorry for the dup.

On Apr 9, 2006, at 5:04 PM, tonfa wrote:

> Ok, it should be fixed in both, there is call to pci_set_dma_mask
> and pci_set_dma_consistent mask.
>
> You should probably try the latest kernel.
> --
> Broadcom Woes with +1 GB of RAM
> https://launchpad.net/malone/bugs/38912

Revision history for this message
plush (plush) wrote :

Tonfa thanks for all the help, but I don't know how to implement your
fix as listed in the txt file you posted....

On Apr 9, 2006, at 5:04 PM, tonfa wrote:

> Ok, it should be fixed in both, there is call to pci_set_dma_mask
> and pci_set_dma_consistent mask.
>
> You should probably try the latest kernel.
> --
> Broadcom Woes with +1 GB of RAM
> https://launchpad.net/malone/bugs/38912

Revision history for this message
plush (plush) wrote :

I forgot to mention I'm using Dapper Flight 6, which I believe comes with the powerpc-64 15-19 kernel, dist-upgraded to 15-20, so this is a very current problem.

Revision history for this message
tonfa (bboissin) wrote :

On Mon, Apr 10, 2006 at 12:37:16PM -0000, plush wrote:
> I forgot to mention I'm using Dapper Flight 6, which I believe comes with the powerpc-64 15-19 kernel, dist-upgraded to 15-20, so this is a very current problem.

I asked and as you can see here: http://lkml.org/lkml/2006/4/10/1
it is a problem with the ppc dma allocation function. It doesn't enforce
the mask set by the driver. So you have to wait until benh (linux kernel ppc
mainteneur) fixes the ppc code.

On Mon, Apr 10, 2006 at 06:28:00AM +0200, Michael Buesch wrote:
> No, GFP_DMA is a NOP on PPC.
> Actually the problems seems much more complex and a correct fix
> seems to be hard to do.
> I think benh is actually fixing this.
>
> To summerize: I actually added these messages, because people were
> hitting "this does not work with >1G" issues and did not get an error
> message.
> So I decided to insert warnings until the issue is fixed inside the
> arch code.
> I will remove them once the issue is fixed.

I'll post here if I get any update on this.

regards,

Benoit

--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

Revision history for this message
plush (plush) wrote :

Tonfa, excuse my rantings and pleadings, but I'm a total n00b so to
speak with Linux, and you have to understand that this whole Broadcom
issue is the only thing holding me back from total Linux immersion.
I'm sure you can relate, and from what I can tell from your expertise
I'm sure helping me would be well within your abilities, with ease.
Could you please help me get my card working :)

On Apr 9, 2006, at 5:04 PM, tonfa wrote:

> Ok, it should be fixed in both, there is call to pci_set_dma_mask
> and pci_set_dma_consistent mask.
>
> You should probably try the latest kernel.
> --
> Broadcom Woes with +1 GB of RAM
> https://launchpad.net/malone/bugs/38912

Revision history for this message
tonfa (bboissin) wrote :

Sorry I replied with an email adress that wasn't subscribed. I'll resend the email.

Revision history for this message
plush (plush) wrote : Re: [Bug 38912] Re: [Bug 38912] Re: Broadcom Woes with +1 GB of RAM

Oh and one more thing, how can I contact BenH (or should I not?)?

On Apr 10, 2006, at 9:03 AM, tonfa wrote:

> On Mon, Apr 10, 2006 at 12:37:16PM -0000, plush wrote:
>> I forgot to mention I'm using Dapper Flight 6, which I believe
>> comes with the powerpc-64 15-19 kernel, dist-upgraded to 15-20, so
>> this is a very current problem.
>
>
> I asked and as you can see here: http://lkml.org/lkml/2006/4/10/1
> it is a problem with the ppc dma allocation function. It doesn't
> enforce
> the mask set by the driver. So you have to wait until benh (linux
> kernel ppc
> mainteneur) fixes the ppc code.
>
> On Mon, Apr 10, 2006 at 06:28:00AM +0200, Michael Buesch wrote:
>> No, GFP_DMA is a NOP on PPC.
>> Actually the problems seems much more complex and a correct fix
>> seems to be hard to do.
>> I think benh is actually fixing this.
>>
>> To summerize: I actually added these messages, because people were
>> hitting "this does not work with >1G" issues and did not get an error
>> message.
>> So I decided to insert warnings until the issue is fixed inside the
>> arch code.
>> I will remove them once the issue is fixed.
>
> I'll post here if I get any update on this.
>
> regards,
>
> Benoit
>
> --
> powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS
> --
> Broadcom Woes with +1 GB of RAM
> https://launchpad.net/malone/bugs/38912

Revision history for this message
Gaëtan Petit (gaetanp) wrote :

if this duplicate
please mark it as dup

=)

Revision history for this message
plush (plush) wrote :

This is no dup, the other bug was reported with the linux-source-2.6.15-i386, and reported as having been "fixed". This bug is with the powerpc64 kernel.

Revision history for this message
plush (plush) wrote :

This is no dup, the other bug was reported with the linux-source-2.6.15-i386, and reported as having been "fixed". This bug is with the latest ubuntu powerpc64 kernel. Several others have confirmed it as well on their powerpc's with the latest distro.

Revision history for this message
Olof Johansson (olof) wrote :

Hi,

I have posted two patches for this:

http://lkml.org/lkml/2006/4/12/229
And:
http://lkml.org/lkml/2006/4/12/233

I'll ping Paulus about it again early next week about getting them in for 2.6.17.

Revision history for this message
plush (plush) wrote : Re: [Bug 38912] Re: Broadcom Woes with +1 GB of RAM

great. not to be a bother, but can you just give me some quick tips
to applying the patch? Do I have to recompile the kernel from
source? Any help would be greatly appreciated!! You see, I love
Ubuntu (and Linux in general) :)

On Apr 14, 2006, at 4:27 PM, Olof Johansson wrote:

> Hi,
>
> I have posted two patches for this:
>
> http://lkml.org/lkml/2006/4/12/229
> And:
> http://lkml.org/lkml/2006/4/12/233
>
> I'll ping Paulus about it again early next week about getting them
> in for 2.6.17.
> --
> Broadcom Woes with +1 GB of RAM
> https://launchpad.net/malone/bugs/38912

Revision history for this message
plush (plush) wrote :

Thanks!

On Mon, 2006-04-17 at 01:04 +0000, tonfa wrote:
> ** Changed in: Ubuntu
> Binarypackagename: None => linux-image-powerpc64-smp

Revision history for this message
plush (plush) wrote :

As of May 18th, Ben Collins has kindly patched this problem away with the latest ubuntu kernel upgrade (2.6.15-23-powerpc64-smp).

Just remember to "modprobe -r bcm43xx" if you've already modprobe'd it, and then "modprobe bcm43xx pio=1". The pio=1 part is crucial! Oh and don't use DHCP.

Let's hear it for Ben!

Revision history for this message
Cory Prowse (cory-prowse) wrote :

I confirm that this also occurs on AMD64 kernel.

Specifically using the k8 kernel on an Acer Ferrari 4005, with 2GB of memory and a Broadcom 4318 card.

Revision history for this message
Ben Collins (ben-collins) wrote :

It seems like to me that the bug is not so much in the bcm43xx driver,
but in the architectures dma allocation routines. The driver correctly
sets DMA_30BIT_MASK for the device, but still seems to be getting > 30
bit dma addresses from the allocator.

Not sure how this can be fixed.

Revision history for this message
tonfa (bboissin) wrote : Re: [Bug 38912] Re: [Bug 38912] Re: Broadcom Woes with +1 GB of RAM

On Tue, Jun 13, 2006 at 12:28:40PM -0000, Ben Collins wrote:
> It seems like to me that the bug is not so much in the bcm43xx driver,
> but in the architectures dma allocation routines. The driver correctly
> sets DMA_30BIT_MASK for the device, but still seems to be getting > 30
> bit dma addresses from the allocator.
>
> Not sure how this can be fixed.

Did you follow the thread on the lkml ? I believe it was fixed, I could
search it if you want.

regards,

Benoit

--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

Revision history for this message
tonfa (bboissin) wrote :

On Tue, Jun 13, 2006 at 02:45:35PM +0200, Benoit Boissinot wrote:
> On Tue, Jun 13, 2006 at 12:28:40PM -0000, Ben Collins wrote:
> > It seems like to me that the bug is not so much in the bcm43xx driver,
> > but in the architectures dma allocation routines. The driver correctly
> > sets DMA_30BIT_MASK for the device, but still seems to be getting > 30
> > bit dma addresses from the allocator.
> >
> > Not sure how this can be fixed.
>
> Did you follow the thread on the lkml ? I believe it was fixed, I could
> search it if you want.
>

A fix is included in .17-rc3

"Olof Johansson:
      powerpc: IOMMU support for honoring dma_mask"

I believe the driver was "fixed" to fallback to non-dma mode too, but I
cannot remember what the final conclusion was.

regards,

Benoit

--
powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS

Revision history for this message
Ben Collins (ben-collins) wrote :

Pulled in the IOMMU fixes for this.

Changed in linux-source-2.6.15:
assignee: nobody → ben-collins
status: Confirmed → Fix Committed
Changed in linux-source-2.6.15:
status: Fix Committed → Fix Released
Revision history for this message
plush (plush) wrote :

Finally fixed in Edgy!! Woohoo!

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.