Broadcom Wireless BCM4312 Rev.02 (BCM4310 UART) troubles

Paul B Mahol onemda at gmail.com
Wed Sep 1 08:10:51 UTC 2010


On Tue, Aug 31, 2010 at 10:30 AM, Michael BlackHeart <amdmiek at gmail.com> wrote:
> Hello
>
> I've got a problem with Broadcomm Wireless.
> I have notebook HP Compaq 6720s with BCM4312. I disassemblied book and saw
> there plugable Wireless Module but I'm lazy to do it again to werify it's
> ID.
>
> Windows XP drivers works fine and says that is's
>
> PCI\VEN_14E4&DEV_4312&SUBSYS_1371103C&REV_02\4&29E2C51B&0&00E1
> MEMORY E4000000 - E4003FFF
> IRQ 17
>
> I've tried :
> FreeBSD 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010
> root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
> And noting as i386 8.1 release.
>
> Now I'm running:
> FreeBSD 8.1-STABLE FreeBSD 8.1-STABLE #0 r211991: Mon Aug 30 14:58:34 MSD
> 2010
> root@:/usr/obj/usr/src/sys/GENERIC amd64
>
> With no driver attached "pciconf -l -cvb" says:
>
> none1 at pci0:16:0:0: class=0x028000 card=0x1371103c chip=0x431214e4 rev=0x02
> hdr=0x00
> vendor = 'Broadcom Corporation'
> device = 'BCM4310 UART (Wireless Ethernet Adapter)'
> class = network
> bar [10] = type Memory, range 64, base 0xe4000000, size 16384, enabled
> cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
> cap 09[58] = vendor (length 120)
> cap 05[e8] = MSI supports 1 message, 64 bit
> cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)
>
> Clean install, trying bwi driver first
>
> cd /usr/ports/net/bwi-firmware-kmod && make install clean && rehash
> kldload bwi_ucode_v3
> cd /usr/sys/src/modules/bwi
> make all obj depend install clean
> kldload if_bwi
>
> Aug 18 12:19:58 kernel: bwi0: <Broadcom BCM4312 802.11a/b/g Wireless Lan>
> mem 0xe4000000-0xe4003fff irq 17 at device 0.0 on pci16
> Aug 18 12:19:58 kernel: bwi0: [ITHREAD]
> Aug 18 12:19:58 kernel: bwi0: BBP: id 0x4311, rev 0x2, pkg 0
> Aug 18 12:19:58 kernel: bwi0: MAC rev 13 is not supported
bwi(4) does not support your card.
> Aug 18 12:19:58 kernel: bwi0: no MAC was found
> Aug 18 12:19:58 kernel: device_attach: bwi0 attach returned 6
>
> pciconf -l -cvb says:
>
> bwi0 at pci0:16:0:0: class=0x028000 card=0x1371103c chip=0x431214e4 rev=0x02
> hdr=0x00
> vendor = 'Broadcom Corporation'
> device = 'BCM4310 UART (Wireless Ethernet Adapter)'
> class = network
> cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
> cap 09[58] = vendor (length 120)
> cap 05[e8] = MSI supports 1 message, 64 bit
> cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)
>
> now rebooting 'cos even after kldunloading if_bwi module it's still lists in
> pciconfand trying bwn
>
> cd /usr/ports/net/bwn-firmware-kmod && make install clean && rehash
> kldload bwn_v4_ucode.ko
> kldload if_bwn
>
> pciconf -l -cvb says:
>
> siba_bwn0: <Broadcom BCM4312 802.11a/b/g Wireless> mem 0xe4000000-0xe4003fff
> irq 17 at device 0.0 on pci16
> siba_bwn0: unsupported coreid (USB 1.1 Host)
> bwn0 on siba_bwn0
> bwn0: WLAN (chipid 0x4311 rev 13) PHY (analog 4 type 2 rev 9) RADIO (manuf
> 0x17f ver 0x2050 rev 2)
> bwn0: DMA (64 bits)
> bwn0: Using 1 MSI messages
> bwn0: [FILTER]
>
> siba_bwn0 at pci0:16:0:0: class=0x028000 card=0x1371103c chip=0x431214e4
> rev=0x02 hdr=0x00
> vendor = 'Broadcom Corporation'
> device = 'BCM4310 UART (Wireless Ethernet Adapter)'
> class = network
> bar [10] = type Memory, range 64, base 0xe4000000, size 16384, enabled
> cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
> cap 09[58] = vendor (length 120)
> cap 05[e8] = MSI supports 1 message, 64 bit enabled with 1 message
> cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)
>
> ifconfig bwn0 up scan
> bwn0: firmware version (rev 410 patch 2160 date 0x751a time 0x7c0a)
> ifconfig: unable to get scan results
> bwn0: status of RF switch is changed to OFF

You must create wlanX first.
>
> book have a switch to turn on/off all radio and it's always on. also when
> i'm switching it FreeBSD says nothing
> Also I tried acpi_hp - no sense
> And i didn't find any apropriate in sysctl
>
> Moving next - ndis
> I've tried couple of drivers
> With WinXP that running on drivers v. VERSION: 7.10 REV: B from sp41680
> And OS goes to kernel panic just when I kldloaded it.

NDISulator on amd64 is mostly broken. It can panic on driver
initialization (fixed in my git repo).
Also fpudna in kernel mode can cause panic (not yet fixed).

> No dump, sorry, but I don't think that it matters a thing
>
> Another one - VERSION: 6.10 REV: A from sp34152 works a bit better
> It converts and loads without panic but in debug:
> kldload bcmwl564_sys.ko
>
> ndis0: <Broadcom 802.11a/b/g WLAN> mem 0xe4000000-0xe4003fff irq 17 at
> device 0.
> 0 on pci16
>
> ndis0: [ITHREAD]
>
> ndis0: NDIS API version: 5.1
>
> fpudna in kernel mode!

Interesting, that version of driver does not use symbols which cause
crash on driver initialization of older driver...

Of course most 6.X drivers dont have support for older NDIS 5.1 API.

> pciconf -lcvb says:
> ndis0 at pci0:16:0:0: class=0x028000 card=0x1371103c chip=0x431214e4 rev=0x02
> hdr=0x00
>
> vendor = 'Broadcom Corporation'
>
> device = 'BCM4310 UART (Wireless Ethernet Adapter)'
>
> class = network
>
> bar [10] = type Memory, range 64, base 0xe4000000, size 16384, enabled
>
> cap 01[40] = powerspec 3 supports D0 D1 D2 D3 current D0
>
> cap 09[58] = vendor (length 120)
> cap 05[e8] = MSI supports 1 message, 64 bit
>
> cap 10[d0] = PCI-Express 1 endpoint max data 128(128) link x1(x1)
>
> ifconfig says:
>
>
> ndis0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
>
> ether 00:21:00:43:56:0e
>
> media: IEEE 802.11
> Wireless Ethernet autoselect (autoselect)
>
> status: no carrier
>
> and everything doesn't work again.
>
> I think this as all info I can get, huh.
> I've got only two questions:
> 1)Is there a way to determine what exactly microcode uses Windows Driver
> (There's no info in devmgmgt.msc or I just don't get that it's info I'm
> looking for)
> 2)Have u got any advices to me how to get it all working?
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
>


More information about the freebsd-stable mailing list