[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200701121506.06461.mb@bu3sch.de>
Date: Fri, 12 Jan 2007 15:06:06 +0100
From: Michael Buesch <mb@...sch.de>
To: Pavel Roskin <proski@....org>
Cc: bcm43xx-dev@...ts.berlios.de, netdev@...r.kernel.org
Subject: Re: What is in bcm43xx-wireless-dev.git?
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@...alhost 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@...alhost proski]# lspci -n -s 0c:00.0
> 0c:00.0 0280: 14e4:4312 (rev 01)
> [root@...alhost 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.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists