View Full Version : [Solved] bcm4310 usb controller driver ?
rocky
March 22nd, 2009, 05:12
Hello all,
I have a HP Compaq Presario 40-401TU and its WLAN chip is below. I failed to setup my WLAN :(
none5@pci0:9:0:0: class=0x028000 card=0x137d103c chip=0x431514e4 rev=0x01 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM4310 USB Controller'
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
I tried
NDIS
Using Dell's driver at ftp://ftp.us.dell.com/network/R174291.exe and ndisgen I have a kernel module. Be cause my system is amd64, I used bcmwl564.sys. The system is panic when this module is loaded.
$ file *.sys
bcmwl5.sys: MS-DOS executable PE for MS Windows (native) Intel 80386 32-bit
bcmwl564.sys: MS-DOS executable PE for MS Windows (native) Mono/.Net assembly
I don't know much about Mono/.NET but I think there may be something wrong with "Mono/.NET". Is "Mono/.NET" used for windows/amd64?
BWI
I cannot compile BWI.02c because of
if_bwi.c:68:36: error: net80211/ieee80211_phy.h: No such file or directory
Though I can compile BWI.01 but the loadable modules donot expose any message in system log (drivers are loaded but I can't see bwi device in dmesg)
Please help me to use wifi in my Laptop :) I just like to install FreeBSD on it :) Thank you so much!
richardpl
March 22nd, 2009, 13:26
What version of FreeBSD?
Could you post whole "pciconf -lv" output.
If system paniced you could show bt if your FreeBSD is 7 or better.
paradox
March 22nd, 2009, 14:27
>chip=0x431514e4
it's 802.11 LP revision chip
currently not support by bwi driver
I used bcmwl654.sys
bcmwl6[64] it compiled under windows vista
you need to use bcmwl5[64].sys
this module compiled under windows XP
as i now
ndis_wrapper support only XP driver not vista
rocky
March 22nd, 2009, 15:56
Thanks Richardpl and Paradox for your helps.
What version of FreeBSD?
Could you post whole "pciconf -lv" output.
If system paniced you could show bt if your FreeBSD is 7 or better.
I use FreeBSD-7.1-RELEASE. The output of 'pciconf -lv' is below
http://viettug.org/attachments/download/128/icy_pciconf.txt
bcmwl6[64] it compiled under windows vista
you need to use bcmwl5[64].sys
this module compiled under windows XP
as i now ndis_wrapper support only XP driver not vista
I had some typo in my previous post and I have no change to re-edit (the forum doesnot allow me to do that). I used bcmwl564.sys (my system is amd64 based).
In http://linuxwireless.org/en/users/Drivers/b43#unsupported there is a note
BCM 4310 USB - This device has an LP PHY. We think that means low power. In any case, previous code does not work. The reverse engineers have generated specs for the code writers and development is in progress. Note: This card uses the PCI bus, despite its name.
I don't know whether someone has worked on this chip...
I used the *.sys file from Dell's archiver (ftp://ftp.us.dell.com/network/R174291.exe). Should I install Windows XP 64 bit on my system, install WLAN driver then get the correct *.sys file?
Thank you again,
Regards,
paradox
March 22nd, 2009, 16:59
I don't know whether someone has worked on this chip...
this wifi cards prefectly work under freebsd but only i386 arch with bcmwl5.sys
Should I install Windows XP 64 bit on my system, install WLAN driver then get the correct *.sys file?
no
you can only unpack archive
as i now about ndis_wrap & amd64 - not work
only crash and panic...
my be its problem on freebsd inside kernel ..
if you want
try i386 arch
rocky
March 22nd, 2009, 20:08
Thanks Paradox.
Is there anyway to trace the error with bcmwl564.sys? The trace may help some programmer to reverse the chip? :P
I will install i386 arch as your suggestion.
Thank you very much.
PS: It's naturally to install amd64 on a amd64 laptop. So I'll wait for the amd64 drivers :)
richardpl
March 22nd, 2009, 20:54
If it is usb device, and everything points it really is, there is chance it will work only with recent 8.0 CURRENT. Only on 8.0 CURRENT ndisulator have usable USB support.
Vista drivers (NDIS api version > 5.1) don't work with ndisulator.
paradox
March 22nd, 2009, 21:05
device = 'BCM4310 USB Controller'
no usb, its wifi
its inrorrect info at pciconf
richardpl
March 23rd, 2009, 01:08
Check with lspci (sysutils/pciutils) then.
Anyway, reporting bug with backtrace is only way to fixing it.
See textdump and http://www.freebsd.org/send-pr.html
rocky
March 23rd, 2009, 04:05
Thanks Richardpl.
It's so funny that the result of `lspci` and `pciconf -lv` are different. The output of my `lspci' is here (simple) (http://viettug.org/attachments/download/129/icy_lspci.txt) and here (with chipset ID) (http://viettug.org/attachments/download/132/icy_lspci_nn.txt). You will see that
$ lspci |grep -i net
09:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
0a:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
`lspci` tells me that's "BCM4312" while `pciconf` tells me that's "BCM4310 USB Controller" :\ . Now I have a hope. I will try another Dell's driver instead of R174291.exe (ftp://ftp.us.dell.com/network/R174291.exe). I will report soon.
Thank you all so much.
rocky
March 23rd, 2009, 13:29
Hello all,
Though `lspci` and `pciconf` provided differents names, they provided that same chipset id (chip=0x431514e4). It seems that `pciconf` provides correct information.
I now give up with bcm4310 on Adm64 system. I have installed FreeBSD-7.1-RELEASE / i386 and things seem works :)
$ dmesg |grep ndis
ndis0: <Dell Wireless 1395 WLAN Mini-Card> mem 0x91100000-0x91103fff irq 18 at device 0.0 on pci9
ndis0: [ITHREAD]
ndis0: NDIS API version: 5.1
ndis0: WARNING: using obsoleted if_watchdog interface
ndis0: Ethernet address: 00:21:00:af:6a:a1
$ ifconfig ndis0 up scan
<nothing here>
The bad news is that the last command (scan for wireless network) runs forever while providing nothing: I must press Ctrl+C to stop it.
Is there any way to make `ifconfig' more verbose?
paradox
March 23rd, 2009, 14:10
try directly connect to wifi ap
if you know ssid name and other param
paradox
March 23rd, 2009, 14:51
`lspci` tells me that's "BCM4312" while `pciconf` tells me that's "BCM4310 USB Controller"
yes its bcm4312
you my try to compile and load
for more verbouse info
this driver
paradox.lissyara.su/bwi.02.tar.bz2
only for more verbouse debug
not for work
richardpl
March 23rd, 2009, 16:24
Hello all,
Though `lspci` and `pciconf` provided differents names, they provided that same chipset id (chip=0x431514e4). It seems that `pciconf` provides correct information.
I now give up with bcm4310 on Adm64 system. I have installed FreeBSD-7.1-RELEASE / i386 and things seem works :)
$ dmesg |grep ndis
ndis0: <Dell Wireless 1395 WLAN Mini-Card> mem 0x91100000-0x91103fff irq 18 at device 0.0 on pci9
ndis0: [ITHREAD]
ndis0: NDIS API version: 5.1
ndis0: WARNING: using obsoleted if_watchdog interface
ndis0: Ethernet address: 00:21:00:af:6a:a1
$ ifconfig ndis0 up scan
<nothing here>
The bad news is that the last command (scan for wireless network) runs forever while providing nothing: I must press Ctrl+C to stop it.
Is there any way to make `ifconfig' more verbose?
ifconfig X up scan work only if roaming is set to manual, in any other case you need to use ifconfig ndis0 list scan
ifconfig is not very user friendly, for example you could type:
ifconfig ndis0 afjdsakfjkasjfas and it will wait forever.
rocky
March 23rd, 2009, 16:46
Hello all,
@paradox: I compiled bwi.02 successfully (/ i386). The module is loadable but I don't see any message in `dmesg`. Could you give me some more instructions? I will test & gather information that may help you.
@richardpl: Thank you for a nice command ;) It works fine at this time. I will try other tests tomorrow.
Thank you all for helps.
richardpl
March 23rd, 2009, 16:53
Also before using it note that you need to turn device radio on: either via special button or special keyboard shortcut, in other words ndisulator will not trigger radio on on interface creation/upping.
rocky
March 23rd, 2009, 18:57
Also before using it note that you need to turn device radio on: either via special button or special keyboard shortcut, in other words ndisulator will not trigger radio on on interface creation/upping.
Thank you Richardpl. The problem is that such button/keyboard doesnot work. The wireless button is next to power button and no matter I press its colour is always "orange". It took me hours to search via google and I found nothing good. I guess that we should change something via sysctl (for ndis0)
I found ndis's registries by sysctl -a |grep ndis. Where can I found the full document for these flags? Could I use these flags to turn on the wireless?
Below the message from `dmesg` when the wireless button is pressed:
acpi_ec0: EcRead: failed waiting to get data
ACPI Exception (evregion-0529): AE_NO_HARDWARE_RESPONSE, Returned by Handler for [EmbeddedControl] [20070320]
ACPI Error (psparse-0626): Method parse/execution failed [\\_SB_.PCI0.LPC0.EC0_._Q43] (Node 0xc4dcf820), AE_NO_HARDWARE_RESPONSE
acpi_ec0: evaluation of query method _Q43 failed: AE_NO_HARDWARE_RESPONSE
richardpl
March 23rd, 2009, 20:08
In your case it might be different. Just when trying to associate with AP try it first time without pressing button and second time pressing it.
In my case toggling button toggles wireless radio on/off and at same time enable bluetooth interface, but that is just my special case.
If it still doesnt work try with ACPI disabled.
rocky
March 24th, 2009, 10:06
Hello paradox and richardpl,
It took me hours to install FreeBSD and it took me a week to install hardware drivers :) I feel tired now :)
After turning ACPI off the sound works though the extra keys/buttons keep the silence. Amd64 / no ACPI is not bootable....
I will be back soon.
rocky
March 26th, 2009, 05:01
Hello all,
Anyway, reporting bug with backtrace is only way to fixing it.
See textdump and http://www.freebsd.org/send-pr.html
Should I report my hardware problems to FreeBSD Team so that they may fix in future? If "yes" where should I start?
Thank you.
rocky
April 2nd, 2009, 05:25
Thanks paradox, richardpl et. al. for helps.
The wireless card works well on my FreeSBD-7.1 though the button is always in orange (strange!).
The system summary (HP Compaq Presario CQ40-401)
Arch | i386/acpi | i386/acpi=off | x86_64/acpi |
---------+-----------+---------------+-------------+
Sound | no sound | good | no sound |
Wireless | good | good | system hang |
Hope this helps someone else ;)
Regards,
-- kyanh
alish
June 5th, 2009, 16:44
Hi all,
Recently I switched from GNU/Debian to FreeBSD, I installed my wireless drive with ndisgen and now I want to connect to an access point? how should I do this?
Here is my pciconf -lv:
ndis0@pci0:12:0:0: class=0x028000 card=0x000b1028 chip=0x431514e4 rev=0x01 hdr=0x00
vendor = 'Broadcom Corporation'
device = 'BCM4310 USB Controller'
class = network
and ifconfig ndis0:
ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:16:44:b9:fe:cd
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid "" channel 1 (2412 Mhz 11g)
authmode OPEN privacy OFF bmiss 7 scanvalid 60 protmode CTS bintval 0
thanks,
rocky
June 6th, 2009, 03:16
Assuming that you know to load the ndis0-module at boot time.
Because it's hard to scan wireless network with ndis (as I experienced) you should first know the SSID (it's the network broadcast name that you can read from windows machine or ask someone else). For e.g, if the SSID is "my_ap" then
method 1: from root terminal try
$ ifconfig ndis0 ssid my_ap
$ ifconfig ndis0 list scan
Your network should be showed. If not, don't worry so much. Press the wireless button and try again. Now
$ dhclient ndis0
You should the FreeBSD handbook to learn about
* access wireless network using WPA or s.th similar
* configure wireless network in /etc/rc.conf
Many topics on this forum relate to your topic. Please search as my topic is "solved".
Good luck.
alish
June 6th, 2009, 08:13
Assuming that you know to load the ndis0-module at boot time.
Because it's hard to scan wireless network with ndis (as I experienced) you should first know the SSID (it's the network broadcast name that you can read from windows machine or ask someone else). For e.g, if the SSID is "my_ap" then
method 1: from root terminal try
$ ifconfig ndis0 ssid my_ap
$ ifconfig ndis0 list scan
Your network should be showed. If not, don't worry so much. Press the wireless button and try again. Now
$ dhclient ndis0
You should the FreeBSD handbook to learn about
* access wireless network using WPA or s.th similar
* configure wireless network in /etc/rc.conf
Many topics on this forum relate to your topic. Please search as my topic is "solved".
Good luck.
Thanks for your help, but it doesn't work, I think the kernel module doesn't work correctly because my wifi led is off.
how should I verify that my module is OK?
rocky
June 6th, 2009, 13:22
If you can see `ndis0` when running `ifconfig` the module is loaded.
You *must* use `ndisgen` with right windows driver for your laptop. What is your laptop model? And please follow the right way to generate kernel module (if possible please post your steps here.)
If you want to debug, please read http://forums.freebsd.org/showthread.php?t=4429
PS: Don't be upset. It tooke me about 2 weeks to get my `ndis0` to work :P My wifi led is off too but I can access to WLAn normally.
alish
June 6th, 2009, 15:55
Thanks, now I can set ssid but, I couldn't scan.
here is ifconfig ndis0:
ndis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:16:44:b9:fe:cd
media: IEEE 802.11 Wireless Ethernet autoselect
status: no carrier
ssid xxxxx channel 1 (2412 Mhz 11g)
authmode OPEN privacy OFF bmiss 7 scanvalid 60 protmode CTS bintval 0
and dmesg:
ndis_newstate: INIT -> INIT
Setting BSSID to ff:ff:ff:ff:ff:ff
Setting ESSID to ""
ndis_newstate: INIT -> SCAN
ndis_scan_results: 0 results
ndis_scan_results: 0 results
ndis_scan_results: 0 results
ndis_scan_results: 0 results
DutchDaemon
June 6th, 2009, 15:59
Use [code] (http://forums.freebsd.org/misc.php?do=bbcode#code) tags, please.
alish
June 6th, 2009, 16:13
sorry, It is my first time that playing in forums.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.