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

Bug#376965: bcm43xx: ASSERTION FAILED (radio_attenuation < 10)



Package: linux-image-2.6.17-1-powerpc
Version: 2.6.17-2
Severity: minor
File: /lib/modules/2.6.17-1-powerpc/kernel/drivers/net/wireless/bcm43xx/bcm43xx.ko

In debian-powerpc, I stated I was having some issues with the airport
driversi in the 2.6.17 kernel.

Here is the bug report to followup on these issues:

There are a number of issues with the bcm43xx driver, most/ all of which
have nothing todo with the Debian packaging, but are rather functions of
the maturity of the driver.

The driver doesn't appear to function well at 54Mbps, but gives good 
results when forced down to 11Mbps.

To force 11Mbps I use the following network/interfaces:

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth1
iface lo inet loopback

iface eth1 inet static
    address 192.168.1.200
    network 192.168.1.0
    netmask 255.255.255.0
    gateway 192.168.1.150
    broadcast 192.168.1.255

    post-up iwconfig eth1 rate 11M
    post-up iwconfig eth1 essid pos

When coming out of hibernation mode, unfortunatly the driver
defaults back to 54Mbs, which doesn't work well. Initially, I 
thought the above network/interfaces would be sufficient to reset
to 11Mbps after sleep, but it would appear the it isn't so I had to do
futher modifications:

--- /usr/lib/powersave/scripts/sleep_helper_functions   2006-05-26
22:16:19.000000000 +0100
+++ /usr/lib/powersave/scripts/sleep_helper_functions.ibook
2006-05-19 08:34:21.000000000 +0100
@@ -496,6 +496,7 @@

     echo >> $LSMOD_LOG
     echo "Restarting services:" >> $LSMOD_LOG
+    /etc/init.d/networking restart 2>&1 | awk '{print "##  "$0}' >>
$LSMOD_LOG
     ####### S t a r t   S e r v i c e s  (but not hotplug or
boot.hotplug)  ##########
     if [ "$SERVICES_TO_RESTART" -a -s "${STATE}.resume" ]; then
         for X in `tac ${STATE}.resume | awk '/^stopped:/ { if
(($2!="hotplug")&&($2!="boot.hotplug")) print $2 }'`; do

Note that this isn't a conffile so everytime powersaved is upgraded
this change needs to be made.

Finially now that we have migrated to the native kernel bcm43xx, it
reports the following errors on loading. The Call Trace's scare me a
bit, but performance seems OK:

$ dmesg
[...]
Uniform CD-ROM driver Revision: 3.20
bcm43xx driver
PCI: Enabling device 0001:10:12.0 (0004 -> 0006)
bcm43xx: Chip ID 0x4318, rev 0x2
bcm43xx: Number of cores: 4
bcm43xx: Core 0: ID 0x800, rev 0xd, vendor 0x4243, enabled
bcm43xx: Core 1: ID 0x812, rev 0x9, vendor 0x4243, disabled
bcm43xx: Core 2: ID 0x804, rev 0xc, vendor 0x4243, enabled
bcm43xx: Core 3: ID 0x80d, rev 0x7, vendor 0x4243, enabled
bcm43xx: PHY connected
bcm43xx: Detected PHY: Version: 3, Type 2, Revision 7
bcm43xx: Detected Radio: ID: 8205017f (Manuf: 17f Ver: 2050 Rev: 8)
bcm43xx: Radio turned off
bcm43xx: Radio turned off
ieee1394: Host added: ID:BUS[0-00:1023]  GUID[001451fffe21844e]
[...]
bcm43xx: PHY connected
bcm43xx: Radio turned on
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 64, index: 130)
Call Trace:
[C1E4FC20] [C00078AC] show_stack+0x54/0x174 (unreliable)
[C1E4FC50] [E2511CA8] bcm43xx_phy_lo_adjust+0x2f0/0x310 [bcm43xx]
[C1E4FC70] [E2509050] bcm43xx_radio_set_txpower_bg+0x288/0x29c [bcm43xx]
[C1E4FC90] [E2510B9C] bcm43xx_phy_initb6+0x75c/0x8b8 [bcm43xx]
[C1E4FCB0] [E2512814] bcm43xx_phy_initg+0x130/0xe60 [bcm43xx]
[C1E4FD20] [E2513C3C] bcm43xx_phy_init+0x6f8/0x730 [bcm43xx]
[C1E4FD40] [E2503C8C] bcm43xx_wireless_core_init+0x880/0x1084 [bcm43xx]
[C1E4FDD0] [E250551C] bcm43xx_init_board+0x2d8/0x610 [bcm43xx]
[C1E4FE00] [C01A99BC] dev_open+0x64/0xc8
[C1E4FE20] [C01A8AC4] dev_change_flags+0x70/0x148
[C1E4FE40] [C01F1CBC] devinet_ioctl+0x288/0x6b0
[C1E4FEA0] [C01F2360] inet_ioctl+0xac/0xe0
[C1E4FEB0] [C019D640] sock_ioctl+0x230/0x26c
[C1E4FED0] [C0088400] do_ioctl+0x38/0x84
[C1E4FEE0] [C00887DC] vfs_ioctl+0x390/0x3c4
[C1E4FF10] [C0088878] sys_ioctl+0x68/0x98
[C1E4FF40] [C0010A24] ret_from_syscall+0x0/0x40
--- Exception: c01 at 0xff649f4
    LR = 0xffed25c
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 64, index: 130)
Call Trace:
[C1E4FC60] [C00078AC] show_stack+0x54/0x174 (unreliable)
[C1E4FC90] [E2511CA8] bcm43xx_phy_lo_adjust+0x2f0/0x310 [bcm43xx]
[C1E4FCB0] [E25133E0] bcm43xx_phy_initg+0xcfc/0xe60 [bcm43xx]
[C1E4FD20] [E2513C3C] bcm43xx_phy_init+0x6f8/0x730 [bcm43xx]
[C1E4FD40] [E2503C8C] bcm43xx_wireless_core_init+0x880/0x1084 [bcm43xx]
[C1E4FDD0] [E250551C] bcm43xx_init_board+0x2d8/0x610 [bcm43xx]
[C1E4FE00] [C01A99BC] dev_open+0x64/0xc8
[C1E4FE20] [C01A8AC4] dev_change_flags+0x70/0x148
[C1E4FE40] [C01F1CBC] devinet_ioctl+0x288/0x6b0
[C1E4FEA0] [C01F2360] inet_ioctl+0xac/0xe0
[C1E4FEB0] [C019D640] sock_ioctl+0x230/0x26c
[C1E4FED0] [C0088400] do_ioctl+0x38/0x84
[C1E4FEE0] [C00887DC] vfs_ioctl+0x390/0x3c4
[C1E4FF10] [C0088878] sys_ioctl+0x68/0x98
[C1E4FF40] [C0010A24] ret_from_syscall+0x0/0x40
--- Exception: c01 at 0xff649f4
    LR = 0xffed25c
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 64, index: 130)
Call Trace:
[C1E4FC20] [C00078AC] show_stack+0x54/0x174 (unreliable)
[C1E4FC50] [E2511CA8] bcm43xx_phy_lo_adjust+0x2f0/0x310 [bcm43xx]
[C1E4FC70] [E2509050] bcm43xx_radio_set_txpower_bg+0x288/0x29c [bcm43xx]
[C1E4FC90] [E2510404] bcm43xx_phy_init_pctl+0x270/0x2ac [bcm43xx]
[C1E4FCB0] [E25134D0] bcm43xx_phy_initg+0xdec/0xe60 [bcm43xx]
[C1E4FD20] [E2513C3C] bcm43xx_phy_init+0x6f8/0x730 [bcm43xx]
[C1E4FD40] [E2503C8C] bcm43xx_wireless_core_init+0x880/0x1084 [bcm43xx]
[C1E4FDD0] [E250551C] bcm43xx_init_board+0x2d8/0x610 [bcm43xx]
[C1E4FE00] [C01A99BC] dev_open+0x64/0xc8
[C1E4FE20] [C01A8AC4] dev_change_flags+0x70/0x148
[C1E4FE40] [C01F1CBC] devinet_ioctl+0x288/0x6b0
[C1E4FEA0] [C01F2360] inet_ioctl+0xac/0xe0
[C1E4FEB0] [C019D640] sock_ioctl+0x230/0x26c
[C1E4FED0] [C0088400] do_ioctl+0x38/0x84
[C1E4FEE0] [C00887DC] vfs_ioctl+0x390/0x3c4
[C1E4FF10] [C0088878] sys_ioctl+0x68/0x98
[C1E4FF40] [C0010A24] ret_from_syscall+0x0/0x40
--- Exception: c01 at 0xff649f4
    LR = 0xffed25c
bcm43xx: Chip initialized
bcm43xx: DMA initialized
bcm43xx: 80211 cores initialized
bcm43xx: Keys cleared
bcm43xx: ASSERTION FAILED (radio_attenuation < 10) at: drivers/net/wireless/bcm43xx/bcm43xx_phy.c:1485:bcm43xx_find_lopair()
bcm43xx: WARNING: Writing invalid LOpair (low: 49, high: 64, index: 130)
Call Trace:
[C1981CA0] [C00078AC] show_stack+0x54/0x174 (unreliable)
[C1981CD0] [E2511CA8] bcm43xx_phy_lo_adjust+0x2f0/0x310 [bcm43xx]
[C1981CF0] [E2512504] bcm43xx_phy_lo_g_measure+0x83c/0xa1c [bcm43xx]
[C1981D70] [E2502CF8] bcm43xx_periodic_task_handler+0x100/0x340 [bcm43xx]
[C1981D90] [C003378C] run_timer_softirq+0x148/0x1c4
[C1981DC0] [C002EEA4] __do_softirq+0x64/0xe4
[C1981DE0] [C0005744] do_softirq+0x50/0x74
[C1981DF0] [C002EC14] irq_exit+0x38/0x48
[C1981E00] [C000DE08] timer_interrupt+0x4d8/0x504
[C1981E60] [C00110EC] ret_from_except+0x0/0x1c
--- Exception: 901 at bcm43xx_ieee80211_set_chan+0xd0/0xe4 [bcm43xx]
    LR = bcm43xx_ieee80211_set_chan+0x50/0xe4 [bcm43xx]
[C1981F40] [E2218D50] ieee80211softmac_scan+0x4c/0x164 [ieee80211softmac]
[C1981F60] [C003A640] run_workqueue+0xa4/0x108
[C1981F70] [C003A854] worker_thread+0xe4/0x12c
[C1981FC0] [C003E560] kthread+0xc4/0x100
[C1981FF0] [C0011C40] kernel_thread+0x44/0x60
SoftMAC: Open Authentication completed with 00:13:10:17:be:4d
[...]

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: powerpc (ppc)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-powerpc
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages linux-image-2.6.17-1-powerpc depends on:
ii  mkvmlinuz                     22         create a kernel to boot a PowerPC 
ii  module-init-tools             3.2.2-3    tools for managing Linux kernel mo
ii  yaird [linux-initramfs-tool]  0.0.12-15  Yet Another mkInitRD

linux-image-2.6.17-1-powerpc recommends no packages.

-- debconf information:
  linux-image-2.6.17-1-powerpc/postinst/kimage-is-a-directory:
  linux-image-2.6.17-1-powerpc/preinst/elilo-initrd-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/preinst/abort-overwrite-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/preinst/overwriting-modules-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/postinst/old-dir-initrd-link-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/preinst/already-running-this-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/postinst/old-initrd-link-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/postinst/depmod-error-initrd-2.6.17-1-powerpc: false
  linux-image-2.6.17-1-powerpc/preinst/abort-install-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/prerm/removing-running-kernel-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/preinst/failed-to-move-modules-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/postinst/old-system-map-link-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/preinst/bootloader-initrd-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/postinst/depmod-error-2.6.17-1-powerpc: false
  linux-image-2.6.17-1-powerpc/preinst/initrd-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/preinst/lilo-has-ramdisk:
  linux-image-2.6.17-1-powerpc/postinst/bootloader-test-error-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/prerm/would-invalidate-boot-loader-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/preinst/lilo-initrd-2.6.17-1-powerpc: true
  linux-image-2.6.17-1-powerpc/postinst/bootloader-error-2.6.17-1-powerpc:
  linux-image-2.6.17-1-powerpc/postinst/create-kimage-link-2.6.17-1-powerpc: true



Reply to: