* What is in bcm43xx-wireless-dev.git?
@ 2007-01-11 20:10 Michael Buesch
2007-01-12 7:25 ` Pavel Roskin
0 siblings, 1 reply; 13+ messages in thread
From: Michael Buesch @ 2007-01-11 20:10 UTC (permalink / raw)
To: bcm43xx-dev; +Cc: netdev, Linville, John
In case you wonder what's the future of bcm43xx, here's
a list of changes in my bcm43xx development tree:
bcm43xx-d80211: Add some PHY register definitions.
bcm43xx-d80211: Move ILT stuff to OFDM table stuff
bcm43xx-d80211: Remove PHY OFDM routing bit, if we are on A-PHY.
bcm43xx-d80211: Merge new LO-control code.
bcm43xx-d80211: Fix compilation: Missing files for LO and VSTACK.
bcm43xx-d80211: Rename struct bcm43xx_phyinfo to struct bcm43xx_phy
bcm43xx-d80211: merge struct bcm43xx_radioinfo into struct bcm43xx_phy
bcm43xx-d80211: Merge all "radio" stuff into phy.c
bcm43xx-d80211: Fix antenna selection for TX and RX.
bcm43xx-d80211: Fix bogus LO validation failure.
bcm43xx-d80211: Remove netpoll and ethtool stuff.
Remove obsolete SSB driver library.
Implement new SSB subsystem.
bcm43xx-d80211: Port driver to the new SSB subsystem.
Well, that doesn't tell you anything, right?
Let's explain it:
Most significant changes are the new "LO" code and
the completely rewritten "SSB" subsystem.
The LO calibration code is not yet finished and contains
a few bugs, so it works _worse_ that the LO calibration
code that's in mainline kernel. But it's the first step
in the direction to support hwpctl cards (4318).
The other major change is the new SSB subsystem. This is
a big step in the embedded direction. The new SSB subsystem
makes it possible to run an (almost) vanilla (vanilla, as in
my tree, which is supposed to get merged upstream some time :))
kernel on broadcom MIPS based embedded WLAN routers (openWRT).
bcm43xx works on the new subsystem. A working b44 port is
available, but not included here. We might probably want to
merge that through jeff directly once this is upstream.
The SSB subsystem is able to boot my Linksys WRT54G.
Wireless and LAN with SSB based chips basically works.
So, what to do?
Next think will be to fix the LO code to make it ready
for upstream merge. I don't know if that means "making
4318 usable", too. Hopefully it does. Let's see. ;)
If you want to test this, get it from my repository.
If you have a linville-wireless-dev tree around, please
_don't_ clone my tree, but simply pull my stuff into
a seperate branch of that tree:
git branch crazy_stuff
git checkout crazy_stuff
git pull http://bu3sch.de/git/wireless-dev.git master
That will save lots of bandwidth. (Yours and mine) Thanks! ;)
Here's also a bzipped patch between today's linville-wireless-dev
and my tree. Yeah, it's huge, so not attached. :)
http://bu3sch.de/misc/linville_to_buesch_20070111.patch.bz2
--
Greetings Michael.
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: What is in bcm43xx-wireless-dev.git?
2007-01-11 20:10 What is in bcm43xx-wireless-dev.git? Michael Buesch
@ 2007-01-12 7:25 ` Pavel Roskin
2007-01-12 14:06 ` Michael Buesch
0 siblings, 1 reply; 13+ messages in thread
From: Pavel Roskin @ 2007-01-12 7:25 UTC (permalink / raw)
To: Michael Buesch; +Cc: bcm43xx-dev, netdev
Hello, Michael!
I've tried the master branch of bcm43xx-wireless-dev.git for the first
time. The results are not encouraging so far (although I'm quite new to
this chipset).
drivers/ssb/driver_mips/mips.c includes asm/time.h, which is missing on
x86_64. It also refers to struct ssb_serial_ports, which is not defined
anywhere.
drivers/ssb/driver_pci/pcicore.c refers to SSB_PCICORE_SBTOPCI1_CFG1
that is not defined anywhere in the kernel.
I could send you huge logs, but I think it's already a clear sign that
you didn't compile-test the current tree with CONFIG_SSB_DRIVER_MIPS
enabled. Things are better if it is disabled.
In case you haven't seen those warnings:
/home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c:843: warning: 'bcm43xx_wireless_core_mark_inactive' defined but not used
/home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c:3032: warning: 'bcm43xx_bluetooth_coext_enable' defined but not used
I could compile the code, and it even loaded as a module, but the kernel
oopsed once I brought wlan0 up by ifconfig.
bcm43xx_d80211: Adding Interface type 2
bcm43xx_d80211: Found PHY: Version 4, Type 2, Revision 8
bcm43xx_d80211: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
bcm43xx_d80211: Loading firmware version 351.126 (2006-07-29 05:54:02)
bcm43xx_d80211: Radio turned on
bcm43xx_d80211: FIXME: Possibly broken code in bcm43xx_phy_initg() at /home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_phy.c:1650
bcm43xx_d80211: Chip initialized
Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
[<ffffffff8021eee6>] dma_alloc_coherent+0x52/0x23f
PGD 50d1067 PUD 5201067 PMD 0
Oops: 0000 [1] SMP
CPU 1
Modules linked in: bcm43xx_d80211 ssb
Pid: 2623, comm: ifconfig Not tainted 2.6.20-rc3 #5
RIP: 0010:[<ffffffff8021eee6>] [<ffffffff8021eee6>] dma_alloc_coherent+0x52/0x23f
RSP: 0018:ffff810005127bd8 EFLAGS: 00010206
RAX: 0000000000000000 RBX: 0000000000003500 RCX: 00000000000010d4
RDX: 00000000ffffffff RSI: 0000000000001000 RDI: ffff81000196c3a8
RBP: 00000000000010d0 R08: ffff81001f6d1600 R09: 0000000000000004
R10: 0000000000000001 R11: ffff810001122c60 R12: 0000000000001000
R13: ffff810001b96000 R14: ffff81000196c3a8 R15: 00000000ffffffff
FS: 00002b411b2133b0(0000) GS:ffff810001827440(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000015fdf000 CR4: 00000000000006e0
Process ifconfig (pid: 2623, threadinfo ffff810005126000, task ffff81001f58d180)
Stack: ffff81001ee6a3c0 ffff81001ee6a3e8 ffff810001b96000 0000000000003500
ffff81001ee6a3c0 0000000000000080 ffff810001b96000 0000000000000000
0000000000000000 ffffffff88019966 0000000000000005 0000000100000036
Call Trace:
[<ffffffff88019966>] :bcm43xx_d80211:bcm43xx_setup_dmaring+0x1a7/0x460
[<ffffffff88019ea3>] :bcm43xx_d80211:bcm43xx_dma_init+0xc0/0x290
[<ffffffff88008131>] :bcm43xx_d80211:bcm43xx_wireless_core_init+0x78f/0x9f1
[<ffffffff8022885e>] mntput_no_expire+0x19/0x77
[<ffffffff8020a3c3>] do_page_fault+0x40b/0x74a
[<ffffffff88009f4e>] :bcm43xx_d80211:bcm43xx_add_interface+0x67/0xeb
[<ffffffff804378d2>] ieee80211_open+0x1c6/0x2c5
[<ffffffff803fd3ec>] dev_open+0x2f/0x6e
[<ffffffff803fbcd5>] dev_change_flags+0x5a/0x119
[<ffffffff80423bab>] devinet_ioctl+0x235/0x59c
[<ffffffff803f4bef>] sock_ioctl+0x1c8/0x1e5
[<ffffffff8023b862>] do_ioctl+0x21/0x6b
[<ffffffff8022b614>] vfs_ioctl+0x25c/0x275
[<ffffffff8024559b>] sys_ioctl+0x3c/0x5c
[<ffffffff802548ee>] system_call+0x7e/0x83
Code: 4c 23 38 49 39 d7 0f 46 e9 49 8d 44 24 ff 83 ca ff 49 89 c5
RIP [<ffffffff8021eee6>] dma_alloc_coherent+0x52/0x23f
RSP <ffff810005127bd8>
CR2: 0000000000000000
It's Fedora Core 6 x86_64 on a Dell Latitude with Core 2 Duo and an PCIe
wireless card. SMP is enabled. From .config:
CONFIG_BCM43XX_D80211=m
CONFIG_BCM43XX_D80211_PCI=y
CONFIG_BCM43XX_D80211_DEBUG=y
CONFIG_BCM43XX_D80211_DMA=y
CONFIG_BCM43XX_D80211_PIO=y
CONFIG_BCM43XX_D80211_DMA_AND_PIO_MODE=y
# CONFIG_BCM43XX_D80211_DMA_MODE is not set
# CONFIG_BCM43XX_D80211_PIO_MODE is not set
[skip]
CONFIG_SSB=m
# CONFIG_SSB_SILENT is not set
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_EXTIF=y
# CONFIG_SSB_DRIVER_MIPS is not set
[root@localhost proski]# lspci -v -s 0c:00.0
0c:00.0 Network controller: Broadcom Corporation BCM4310 UART (rev 01)
Subsystem: Dell Unknown device 0007
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at efdfc000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 2
Capabilities: [58] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
Capabilities: [d0] Express Legacy Endpoint IRQ 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel
[root@localhost proski]# lspci -n -s 0c:00.0
0c:00.0 0280: 14e4:4312 (rev 01)
[root@localhost proski]#
P.S. Second attempt, this time with "pio=1" parameter. At least it
didn't crash, but it would not work either:
ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:0c:00.0 to 64
ssb: Sonics Silicon Backplane found on PCI device 0000:0c:00.0
wmaster0: Selected rate control algorithm 'simple'
bcm43xx_d80211: Adding Interface type 2
bcm43xx_d80211: Found PHY: Version 4, Type 2, Revision 8
bcm43xx_d80211: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
bcm43xx_d80211: Loading firmware version 351.126 (2006-07-29 05:54:02)
bcm43xx_d80211: Radio turned on
bcm43xx_d80211: FIXME: Possibly broken code in bcm43xx_phy_initg()
at /home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_phy.c:1650
bcm43xx_d80211: Chip initialized
bcm43xx_d80211: ERROR: This card does not support PIO operation mode.
Please use DMA mode (module parameter pio=0).
bcm43xx_d80211: Radio turned off
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: What is in bcm43xx-wireless-dev.git?
2007-01-12 7:25 ` Pavel Roskin
@ 2007-01-12 14:06 ` Michael Buesch
0 siblings, 0 replies; 13+ messages in thread
From: Michael Buesch @ 2007-01-12 14:06 UTC (permalink / raw)
To: Pavel Roskin
Cc: netdev-u79uwXL29TY76Z2rM5mHXA, bcm43xx-dev-0fE9KPoRgkgATYTw5x5z8w
On Friday 12 January 2007 08:25, Pavel Roskin wrote:
> Hello, Michael!
>
> I've tried the master branch of bcm43xx-wireless-dev.git for the first
> time. The results are not encouraging so far (although I'm quite new to
> this chipset).
>
> drivers/ssb/driver_mips/mips.c includes asm/time.h, which is missing on
> x86_64. It also refers to struct ssb_serial_ports, which is not defined
> anywhere.
Yeah, CONFIG_SSB_MIPS should depend on the MIPS CPU.
Which kconfig option do you suggest to make a "depend" on?
> drivers/ssb/driver_pci/pcicore.c refers to SSB_PCICORE_SBTOPCI1_CFG1
> that is not defined anywhere in the kernel.
Yeah, could be a typo. I'll have a look at it.
> I could send you huge logs, but I think it's already a clear sign that
> you didn't compile-test the current tree with CONFIG_SSB_DRIVER_MIPS
> enabled. Things are better if it is disabled.
It is tested. But obviously on MIPS platform.
> In case you haven't seen those warnings:
>
> /home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c:843: warning: 'bcm43xx_wireless_core_mark_inactive' defined but not used
> /home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_main.c:3032: warning: 'bcm43xx_bluetooth_coext_enable' defined but not used
I am very well aware of these warnings, as they mark
unimplemented features.
> I could compile the code, and it even loaded as a module, but the kernel
> oopsed once I brought wlan0 up by ifconfig.
>
> bcm43xx_d80211: Adding Interface type 2
> bcm43xx_d80211: Found PHY: Version 4, Type 2, Revision 8
> bcm43xx_d80211: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
> bcm43xx_d80211: Loading firmware version 351.126 (2006-07-29 05:54:02)
> bcm43xx_d80211: Radio turned on
> bcm43xx_d80211: FIXME: Possibly broken code in bcm43xx_phy_initg() at /home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_phy.c:1650
> bcm43xx_d80211: Chip initialized
> Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
> [<ffffffff8021eee6>] dma_alloc_coherent+0x52/0x23f
> PGD 50d1067 PUD 5201067 PMD 0
> Oops: 0000 [1] SMP
> CPU 1
> Modules linked in: bcm43xx_d80211 ssb
> Pid: 2623, comm: ifconfig Not tainted 2.6.20-rc3 #5
> RIP: 0010:[<ffffffff8021eee6>] [<ffffffff8021eee6>] dma_alloc_coherent+0x52/0x23f
> RSP: 0018:ffff810005127bd8 EFLAGS: 00010206
> RAX: 0000000000000000 RBX: 0000000000003500 RCX: 00000000000010d4
> RDX: 00000000ffffffff RSI: 0000000000001000 RDI: ffff81000196c3a8
> RBP: 00000000000010d0 R08: ffff81001f6d1600 R09: 0000000000000004
> R10: 0000000000000001 R11: ffff810001122c60 R12: 0000000000001000
> R13: ffff810001b96000 R14: ffff81000196c3a8 R15: 00000000ffffffff
> FS: 00002b411b2133b0(0000) GS:ffff810001827440(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 0000000000000000 CR3: 0000000015fdf000 CR4: 00000000000006e0
> Process ifconfig (pid: 2623, threadinfo ffff810005126000, task ffff81001f58d180)
> Stack: ffff81001ee6a3c0 ffff81001ee6a3e8 ffff810001b96000 0000000000003500
> ffff81001ee6a3c0 0000000000000080 ffff810001b96000 0000000000000000
> 0000000000000000 ffffffff88019966 0000000000000005 0000000100000036
> Call Trace:
> [<ffffffff88019966>] :bcm43xx_d80211:bcm43xx_setup_dmaring+0x1a7/0x460
> [<ffffffff88019ea3>] :bcm43xx_d80211:bcm43xx_dma_init+0xc0/0x290
> [<ffffffff88008131>] :bcm43xx_d80211:bcm43xx_wireless_core_init+0x78f/0x9f1
> [<ffffffff8022885e>] mntput_no_expire+0x19/0x77
> [<ffffffff8020a3c3>] do_page_fault+0x40b/0x74a
> [<ffffffff88009f4e>] :bcm43xx_d80211:bcm43xx_add_interface+0x67/0xeb
> [<ffffffff804378d2>] ieee80211_open+0x1c6/0x2c5
> [<ffffffff803fd3ec>] dev_open+0x2f/0x6e
> [<ffffffff803fbcd5>] dev_change_flags+0x5a/0x119
> [<ffffffff80423bab>] devinet_ioctl+0x235/0x59c
> [<ffffffff803f4bef>] sock_ioctl+0x1c8/0x1e5
> [<ffffffff8023b862>] do_ioctl+0x21/0x6b
> [<ffffffff8022b614>] vfs_ioctl+0x25c/0x275
> [<ffffffff8024559b>] sys_ioctl+0x3c/0x5c
> [<ffffffff802548ee>] system_call+0x7e/0x83
>
>
> Code: 4c 23 38 49 39 d7 0f 46 e9 49 8d 44 24 ff 83 ca ff 49 89 c5
> RIP [<ffffffff8021eee6>] dma_alloc_coherent+0x52/0x23f
> RSP <ffff810005127bd8>
> CR2: 0000000000000000
Hm, not sure why this oopses. It works on PPC (can transmit data and so on).
> It's Fedora Core 6 x86_64 on a Dell Latitude with Core 2 Duo and an PCIe
> wireless card. SMP is enabled. From .config:
PCIe is a seperate issue and not really supported by bcm43xx.
> CONFIG_BCM43XX_D80211=m
> CONFIG_BCM43XX_D80211_PCI=y
> CONFIG_BCM43XX_D80211_DEBUG=y
> CONFIG_BCM43XX_D80211_DMA=y
> CONFIG_BCM43XX_D80211_PIO=y
> CONFIG_BCM43XX_D80211_DMA_AND_PIO_MODE=y
> # CONFIG_BCM43XX_D80211_DMA_MODE is not set
> # CONFIG_BCM43XX_D80211_PIO_MODE is not set
> [skip]
> CONFIG_SSB=m
> # CONFIG_SSB_SILENT is not set
> # CONFIG_SSB_DEBUG is not set
> CONFIG_SSB_DRIVER_EXTIF=y
You can disable that. I think that should probably depend
on CONFIG_SSB_DRIVER_MIPS. I'll take a look.
> # CONFIG_SSB_DRIVER_MIPS is not set
>
> [root@localhost proski]# lspci -v -s 0c:00.0
> 0c:00.0 Network controller: Broadcom Corporation BCM4310 UART (rev 01)
> Subsystem: Dell Unknown device 0007
> Flags: bus master, fast devsel, latency 0, IRQ 17
> Memory at efdfc000 (32-bit, non-prefetchable) [size=16K]
> Capabilities: [40] Power Management version 2
> Capabilities: [58] Message Signalled Interrupts: 64bit- Queue=0/0 Enable-
> Capabilities: [d0] Express Legacy Endpoint IRQ 0
> Capabilities: [100] Advanced Error Reporting
> Capabilities: [13c] Virtual Channel
>
> [root@localhost proski]# lspci -n -s 0c:00.0
> 0c:00.0 0280: 14e4:4312 (rev 01)
> [root@localhost proski]#
>
> P.S. Second attempt, this time with "pio=1" parameter. At least it
> didn't crash, but it would not work either:
Does it work with linville's tree (in DMA mode)?
--
Greetings Michael.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What is in bcm43xx-wireless-dev.git?
@ 2007-01-13 7:45 Pavel Roskin
2007-01-13 14:09 ` Michael Buesch
0 siblings, 1 reply; 13+ messages in thread
From: Pavel Roskin @ 2007-01-13 7:45 UTC (permalink / raw)
To: Michael Buesch; +Cc: bcm43xx-dev, netdev
[-- Attachment #1: Type: text/plain, Size: 2041 bytes --]
Quoting Michael Buesch <mb@bu3sch.de>:
> > drivers/ssb/driver_mips/mips.c includes asm/time.h, which is missing on
> > x86_64. It also refers to struct ssb_serial_ports, which is not defined
> > anywhere.
>
> Yeah, CONFIG_SSB_MIPS should depend on the MIPS CPU.
> Which kconfig option do you suggest to make a "depend" on?
I try not to add artificial restrictions. The driver should depend on the
components providing the necessary API.
It's better to allow compiling the driver for as many configurations as
possible, so that it could be compile tested after massive updates. It would
also be useful for checking the code with tools like sparse.
It's not hard to come up with more portable alternatives to asm/time.h.
> > drivers/ssb/driver_pci/pcicore.c refers to SSB_PCICORE_SBTOPCI1_CFG1
> > that is not defined anywhere in the kernel.
>
> Yeah, could be a typo. I'll have a look at it.
I only found it because the driver didn't depend on MIPS. See what I mean?
This only manifests if CONFIG_SSB_PCICORE_HOSTMODE is defined, and it is only
selected by CONFIG_SSB_DRIVER_MIPS.
> Hm, not sure why this oopses. It works on PPC (can transmit data and so on).
My PPC machine is a venerable Blue&White G3, so it won't take PCIe.
> You can disable that. I think that should probably depend
> on CONFIG_SSB_DRIVER_MIPS. I'll take a look.
OK, disabled.
> Does it work with linville's tree (in DMA mode)?
Yes, it does. I couldn't connect to the AP, but it's a different story. I may
be doing things wrong. At least I can scan and I see the APs around.
I'm using an AP with 128-bit WEP. Setting the key and the ESSID is not
sufficient to associate. I tried wpa_supplicant, but it won't associate
either. The kernel messages and the wpa_supplicant output are attached. I
could not compile wpa_supplicant with MLME (too much code to fix), but I don't
think it should be required.
I tried the current version from your branch without SMP, but it still crashes
in dma_alloc_coherent (also attached).
--
Regards,
Pavel Roskin
[-- Attachment #2: wpa_supplicant.output --]
[-- Type: application/octet-stream, Size: 843 bytes --]
# ./wpa_supplicant -Dwext -iwlan0 -cJEDI.conf
ioctl[SIOCSIWMODE]: Device or resource busy
Could not configure driver to use managed mode
ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 4 value 0x0 - ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - Trying to associate with 00:0f:66:2f:ef:59 (SSID='JEDI' freq=2437 MHz)
ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - ioctl[SIOCSIWMODE]: Device or resource busy
Association request to the driver failed
Authentication with 00:00:00:00:00:00 timed out.
Trying to associate with 00:0f:66:2f:ef:59 (SSID='JEDI' freq=2437 MHz)
ioctl[SIOCSIWAUTH]: Operation not supported
WEXT auth param 5 value 0x1 - ioctl[SIOCSIWMODE]: Device or resource busy
Association request to the driver failed
Authentication with 00:00:00:00:00:00 timed out.
[-- Attachment #3: d80211.log --]
[-- Type: text/x-log, Size: 3657 bytes --]
ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:0c:00.0 to 64
ssb: Core 0 found: cc 0800, rev 11, vendor 4243
ssb: Core 1 found: cc 0812, rev 0A, vendor 4243
ssb: Core 2 found: cc 0817, rev 03, vendor 4243
ssb: Core 3 found: cc 0820, rev 01, vendor 4243
bcm43xx_d80211: Broadcom 4311 WLAN found
ssb: Switching to core 3
ssb: Switching to core 1
bcm43xx_d80211: PHY connected
bcm43xx_d80211: Detected PHY: Version: 4, Type 2, Revision 8
bcm43xx_d80211: Detected Radio: ID: 2205017f (Manuf: 17f Ver: 2050 Rev: 2)
bcm43xx_d80211: Radio turned off
bcm43xx_d80211: Radio turned off
wmaster0: Selected rate control algorithm 'simple'
bcm43xx_d80211: Virtual interface added (type: 0x00000002, ID: 8, MAC: 00:19:7d:21:7b:50)
ssb: Switching to core 0
ssb: Switching to core 1
bcm43xx_d80211: PHY connected
bcm43xx_d80211: firmware revision 15F, patchlevel 7E, date 2006-07-29 05:54:02
ssb: Switching to core 0
ssb: Switching to core 1
bcm43xx_d80211: Radio turned on
ssb: Switching to core 0
ssb: Switching to core 1
bcm43xx_d80211: Chip initialized
bcm43xx_d80211: 32-bit DMA initialized
bcm43xx_d80211: Selected 802.11 core (phytype 2)
wmaster0: Does not support passive scan, disabled
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: starting scan
wlan0: scan completed
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: Initial auth_alg=0
wlan0: authenticate with AP 00:0f:66:2f:ef:59
wlan0: authenticate with AP 00:0f:66:2f:ef:59
wlan0: authenticate with AP 00:0f:66:2f:ef:59
wlan0: authentication with AP 00:0f:66:2f:ef:59 timed out
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: starting scan
wlan0: scan completed
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: starting scan
warning: many lost ticks.
Your time source seems to be instable or some driver is hogging interupts
rip _spin_unlock_irqrestore+0xb/0xd
Falling back to HPET
wlan0: scan completed
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: starting scan
wlan0: scan completed
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: starting scan
wlan0: scan completed
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
wlan0: starting scan
wlan0: scan completed
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Using hardware based encryption for keyidx: 0, mac: ff:ff:ff:ff:ff:ff
bcm43xx_d80211: Radio turned off
ssb: Switching to core 0
bcm43xx_d80211: DMA-32 0x0200 (RX) max used slots: 1/64
ssb: Switching to core 1
bcm43xx_d80211: DMA-32 0x02A0 (TX) max used slots: 0/128
bcm43xx_d80211: DMA-32 0x0280 (TX) max used slots: 0/128
bcm43xx_d80211: DMA-32 0x0260 (TX) max used slots: 0/128
bcm43xx_d80211: DMA-32 0x0240 (TX) max used slots: 0/128
bcm43xx_d80211: DMA-32 0x0220 (TX) max used slots: 2/128
bcm43xx_d80211: DMA-32 0x0200 (TX) max used slots: 0/128
bcm43xx_d80211: Virtual interface removed (type: 0x00000002, ID: 8, MAC: 00:19:7d:21:7b:50)
[-- Attachment #4: bcm43xx_d80211-oops-dma-nosmp --]
[-- Type: application/octet-stream, Size: 3463 bytes --]
ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 17 (level, low) -> IRQ 17
PCI: Setting latency timer of device 0000:0c:00.0 to 64
ssb: Sonics Silicon Backplane found on PCI device 0000:0c:00.0
ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x11, vendor 0x4243)
ssb: Core 1 found: IEEE 802.11 (cc 0x812, rev 0x0A, vendor 0x4243)
ssb: Core 2 found: USB 1.1 Host (cc 0x817, rev 0x03, vendor 0x4243)
ssb: Core 3 found: PCI-E (cc 0x820, rev 0x01, vendor 0x4243)
ssb: Switching to ChipCommon core, index 0
ssb: Switching to PCI-E core, index 3
ssb: PCIcore in client mode found
wmaster0: Selected rate control algorithm 'simple'
ssb: Switching to IEEE 802.11 core, index 1
ssb: Switching to PCI-E core, index 3
ssb: Switching to IEEE 802.11 core, index 1
bcm43xx_d80211: Adding Interface type 2
bcm43xx_d80211: Found PHY: Version 4, Type 2, Revision 8
bcm43xx_d80211: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2
bcm43xx_d80211: Loading firmware version 351.126 (2006-07-29 05:54:02)
ssb: Switching to ChipCommon core, index 0
ssb: Switching to IEEE 802.11 core, index 1
bcm43xx_d80211: Radio turned on
bcm43xx_d80211: FIXME: Possibly broken code in bcm43xx_phy_initg() at /home/proski/src/linux-2.6/drivers/net/wireless/d80211/bcm43xx/bcm43xx_phy.c:1650
bcm43xx_d80211: Chip initialized
Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP:
[<ffffffff8021e9ac>] dma_alloc_coherent+0x52/0x23f
PGD 699e067 PUD 5df0067 PMD 0
Oops: 0000 [1]
CPU 0
Modules linked in: bcm43xx_d80211 ssb
Pid: 2929, comm: ip Not tainted 2.6.20-rc3 #10
RIP: 0010:[<ffffffff8021e9ac>] [<ffffffff8021e9ac>] dma_alloc_coherent+0x52/0x23f
RSP: 0018:ffff810006b31bf8 EFLAGS: 00010206
RAX: 0000000000000000 RBX: 0000000000003500 RCX: 00000000000010d4
RDX: 00000000ffffffff RSI: 0000000000001000 RDI: ffff8100065fc3a8
RBP: 00000000000010d0 R08: ffff81001f6d1600 R09: 0000000000000004
R10: 0000000000000001 R11: ffff810001147a20 R12: 0000000000001000
R13: ffff81001b836800 R14: ffff8100065fc3a8 R15: 00000000ffffffff
FS: 00002b11e9bdd7f0(0000) GS:ffffffff8056c000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000000000000000 CR3: 0000000006ba5000 CR4: 00000000000006e0
Process ip (pid: 2929, threadinfo ffff810006b30000, task ffff81000f0a38a0)
Stack: ffff81001f2afb40 ffff81001f2afb68 ffff81001b836800 0000000000003500
ffff81001f2afb40 0000000000000080 ffff81001b836800 0000000000000000
0000000000000000 ffffffff8801a95e ffff810000000005 0000000100000036
Call Trace:
[<ffffffff8801a95e>] :bcm43xx_d80211:bcm43xx_setup_dmaring+0x1a7/0x460
[<ffffffff80250161>] cache_alloc_refill+0x162/0x471
[<ffffffff8801ae9b>] :bcm43xx_d80211:bcm43xx_dma_init+0xc0/0x290
[<ffffffff88009131>] :bcm43xx_d80211:bcm43xx_wireless_core_init+0x78f/0x9f1
[<ffffffff8020dab8>] __alloc_pages+0x5a/0x2a1
[<ffffffff8800af1c>] :bcm43xx_d80211:bcm43xx_add_interface+0x67/0xeb
[<ffffffff804420f8>] ieee80211_open+0x1c6/0x2c4
[<ffffffff80408bef>] dev_open+0x2e/0x6c
[<ffffffff8040750f>] dev_change_flags+0x5a/0x119
[<ffffffff8042e57d>] devinet_ioctl+0x235/0x59b
[<ffffffff804004a6>] sock_ioctl+0x1c8/0x1e5
[<ffffffff80238f2a>] do_ioctl+0x1b/0x50
[<ffffffff8022a82a>] vfs_ioctl+0x215/0x227
[<ffffffff80242166>] sys_ioctl+0x3c/0x5c
[<ffffffff80250ede>] system_call+0x7e/0x83
Code: 4c 23 38 49 39 d7 0f 46 e9 49 8d 44 24 ff 83 ca ff 49 89 c5
RIP [<ffffffff8021e9ac>] dma_alloc_coherent+0x52/0x23f
RSP <ffff810006b31bf8>
CR2: 0000000000000000
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What is in bcm43xx-wireless-dev.git?
2007-01-13 7:45 Pavel Roskin
@ 2007-01-13 14:09 ` Michael Buesch
2007-01-13 19:30 ` Pavel Roskin
0 siblings, 1 reply; 13+ messages in thread
From: Michael Buesch @ 2007-01-13 14:09 UTC (permalink / raw)
To: Pavel Roskin; +Cc: bcm43xx-dev, netdev
On Saturday 13 January 2007 08:45, Pavel Roskin wrote:
> Quoting Michael Buesch <mb@bu3sch.de>:
>
> > > drivers/ssb/driver_mips/mips.c includes asm/time.h, which is missing on
> > > x86_64. It also refers to struct ssb_serial_ports, which is not defined
> > > anywhere.
> >
> > Yeah, CONFIG_SSB_MIPS should depend on the MIPS CPU.
> > Which kconfig option do you suggest to make a "depend" on?
>
> I try not to add artificial restrictions. The driver should depend on the
> components providing the necessary API.
Ehm, it is clearly not artificial. The MIPS core depends on the MIPS
platform. Logically and technically. You must not enable it on
non-MIPS platforms, as it's tied with the internals of the MIPS
arch dependent code.
The only logical way to solve the compile issues are to make a dependency
on the MIPS platform.
> > > drivers/ssb/driver_pci/pcicore.c refers to SSB_PCICORE_SBTOPCI1_CFG1
> > > that is not defined anywhere in the kernel.
> >
> > Yeah, could be a typo. I'll have a look at it.
>
> I only found it because the driver didn't depend on MIPS. See what I mean?
>
> This only manifests if CONFIG_SSB_PCICORE_HOSTMODE is defined, and it is only
> selected by CONFIG_SSB_DRIVER_MIPS.
HOSTMODE is not really tested, yet.
And HOSTMODE is _also_ very closely tied to the MIPS platform. So
it must depend on it, too (probably indirectly through the MIPS core driver).
To be honest, I did not even compiletest the HOSTMODE code, as I don't
even have a device for it. But I am going to fix that before pushing stuff
upstream.
> > Hm, not sure why this oopses. It works on PPC (can transmit data and so on).
>
> My PPC machine is a venerable Blue&White G3, so it won't take PCIe.
I looked more closely at it, but I really can't see why it oopses.
Any idea what's happening there?
> > Does it work with linville's tree (in DMA mode)?
>
> Yes, it does. I couldn't connect to the AP, but it's a different story. I may
> be doing things wrong. At least I can scan and I see the APs around.
Well, ok. So it should work in my tree, too, once we fixed the DMA oops.
--
Greetings Michael.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: What is in bcm43xx-wireless-dev.git?
2007-01-13 14:09 ` Michael Buesch
@ 2007-01-13 19:30 ` Pavel Roskin
[not found] ` <20070113143033.fi804so8ok04wc4k-2RFepEojUI3Rd1RZctBqVdHuzzzSOjJt@public.gmane.org>
0 siblings, 1 reply; 13+ messages in thread
From: Pavel Roskin @ 2007-01-13 19:30 UTC (permalink / raw)
To: Michael Buesch; +Cc: bcm43xx-dev, netdev
Quoting Michael Buesch <mb@bu3sch.de>:
> I looked more closely at it, but I really can't see why it oopses.
> Any idea what's happening there?
I haven't looked at the code yet, but I tried to locate the bad commit. I tried
commit a13f85d8a8eb40dfd157ab78c2fb91b5765b7b9d, which is your last merge, just
before the SSB changes.
The kernel doesn't oops anymore! But it doesn't connect either. I reconfigured
the AP to use WPA-PSK with TKIP. MadWifi works with it, but bcm43xx fails in
the same configuration. The wireless-dev tip has the same problem.
So, the oops was introduced in the transition to the new SSB.
bcm43xx_setup_dmaring(), which appears in the stack dump, is affected by the
patch.
I'll try to look closely at the changes. My immediate suspect is that we have
too many different fields called "dev". All it takes is one cast to hide a
horrible mistake. Although I think it would have affected you as well (unless
it's casts to/from integers, something that won't be a problem on 32-bit
kernels).
> Well, ok. So it should work in my tree, too, once we fixed the DMA oops.
You mean there is a reason for me to think that your changes would fix
accociation to the AP?
I have never had any success with any d80211 based driver, so I have a strong
suspicion that I'm doing something wrong. I'll try to report a clear-cut case
with a less problematic driver in a separate thread.
--
Regards,
Pavel Roskin
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-01-14 17:21 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-11 20:10 What is in bcm43xx-wireless-dev.git? Michael Buesch
2007-01-12 7:25 ` Pavel Roskin
2007-01-12 14:06 ` Michael Buesch
-- strict thread matches above, loose matches on Subject: below --
2007-01-13 7:45 Pavel Roskin
2007-01-13 14:09 ` Michael Buesch
2007-01-13 19:30 ` Pavel Roskin
[not found] ` <20070113143033.fi804so8ok04wc4k-2RFepEojUI3Rd1RZctBqVdHuzzzSOjJt@public.gmane.org>
2007-01-13 19:51 ` Michael Buesch
2007-01-14 2:10 ` Pavel Roskin
[not found] ` <20070113211030.11zo8cokcsoskccg-2RFepEojUI3Rd1RZctBqVdHuzzzSOjJt@public.gmane.org>
2007-01-14 10:15 ` Michael Buesch
2007-01-14 14:18 ` Pavel Roskin
[not found] ` <20070114091812.hz2fokosw0o0cc0k-2RFepEojUI3Rd1RZctBqVdHuzzzSOjJt@public.gmane.org>
2007-01-14 15:51 ` Michael Buesch
2007-01-14 16:39 ` Pavel Roskin
[not found] ` <20070114113910.py9s0gggk8gwskwo-2RFepEojUI3Rd1RZctBqVdHuzzzSOjJt@public.gmane.org>
2007-01-14 17:21 ` Michael Buesch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).