27baf [Solved] bcm4310 usb controller driver ? - The FreeBSD Forums
The FreeBSD Forums  

Go Back   The FreeBSD Forums > Base System > Peripheral Hardware

Peripheral Hardware Stuff that plugs in via USB, FireWire, eSATA, PS/2, etc.

Reply
 
Thread Tools Display Modes
  #1  
Old March 22nd, 2009, 04:12
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default bcm4310 usb controller driver ?

Hello all,

I have a HP Compaq Presario 40-401TU and its WLAN chip is below. I failed to setup my WLAN

Code:
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.

Code:
$ 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

Code:
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!
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD

Last edited by rocky; June 6th, 2009 at 02:16. Reason: typo fixed
Reply With Quote
  #2  
Old March 22nd, 2009, 12:26
richardpl richardpl is offline
Member
 
Join Date: Nov 2008
Location: Croatia
Posts: 841
Thanks: 6
Thanked 68 Times in 67 Posts
Default

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.
Reply With Quote
  #3  
Old March 22nd, 2009, 13:27
paradox paradox is offline
Junior Member
 
Join Date: Nov 2008
Posts: 97
Thanks: 0
Thanked 20 Times in 13 Posts
Default

>chip=0x431514e4
it's 802.11 LP revision chip
currently not support by bwi driver

Quote:
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
Reply With Quote
  #4  
Old March 22nd, 2009, 14:56
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

Thanks Richardpl and Paradox for your helps.

Quote:
Originally Posted by richardpl View Post
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/downl...cy_pciconf.txt


Quote:
Originally Posted by paradox
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/Dr...43#unsupported there is a note

Quote:
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,
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #5  
Old March 22nd, 2009, 15:59
paradox paradox is offline
Junior Member
 
Join Date: Nov 2008
Posts: 97
Thanks: 0
Thanked 20 Times in 13 Posts
Default

Quote:
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

Quote:
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
Reply With Quote
The Following User Says Thank You to paradox For This Useful Post:
rocky (March 23rd, 2009)
  #6  
Old March 22nd, 2009, 19:08
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

Thanks Paradox.

Is there anyway to trace the error with bcmwl564.sys? The trace may help some programmer to reverse the chip?

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
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #7  
Old March 22nd, 2009, 19:54
richardpl richardpl is offline
Member
 
Join Date: Nov 2008
Location: Croatia
Posts: 841
Thanks: 6
Thanked 68 Times in 67 Posts
Default

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.
Reply With Quote
  #8  
Old March 22nd, 2009, 20:05
paradox paradox is offline
Junior Member
 
Join Date: Nov 2008
Posts: 97
Thanks: 0
Thanked 20 Times in 13 Posts
Default

Quote:
device = 'BCM4310 USB Controller'
no usb, its wifi
its inrorrect info at pciconf
Reply With Quote
  #9  
Old March 23rd, 2009, 00:08
richardpl richardpl is offline
Member
 
Join Date: Nov 2008
Location: Croatia
Posts: 841
Thanks: 6
Thanked 68 Times in 67 Posts
Default

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
Reply With Quote
The Following User Says Thank You to richardpl For This Useful Post:
rocky (March 23rd, 2009)
  #10  
Old March 23rd, 2009, 03:05
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

Thanks Richardpl.

It's so funny that the result of `lspci` and `pciconf -lv` are different. The output of my `lspci' is here (simple) and here (with chipset ID). You will see that

Code:
$ 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. I will report soon.

Thank you all so much.
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD

Last edited by rocky; March 23rd, 2009 at 12:29. Reason: url added and fixed
Reply With Quote
  #11  
Old March 23rd, 2009, 12:29
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

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

Code:
$ 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?
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #12  
Old March 23rd, 2009, 13:10
paradox paradox is offline
Junior Member
 
Join Date: Nov 2008
Posts: 97
Thanks: 0
Thanked 20 Times in 13 Posts
Default

try directly connect to wifi ap
if you know ssid name and other param
Reply With Quote
  #13  
Old March 23rd, 2009, 13:51
paradox paradox is offline
Junior Member
 
Join Date: Nov 2008
Posts: 97
Thanks: 0
Thanked 20 Times in 13 Posts
Default

Quote:
`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
Reply With Quote
  #14  
Old March 23rd, 2009, 15:24
richardpl richardpl is offline
Member
 
Join Date: Nov 2008
Location: Croatia
Posts: 841
Thanks: 6
Thanked 68 Times in 67 Posts
Default

Quote:
Originally Posted by rocky View Post
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

Code:
$ 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.
Reply With Quote
  #15  
Old March 23rd, 2009, 15:46
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

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.
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #16  
Old March 23rd, 2009, 15:53
richardpl richardpl is offline
Member
 
Join Date: Nov 2008
Location: Croatia
Posts: 841
Thanks: 6
Thanked 68 Times in 67 Posts
Default

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.
Reply With Quote
  #17  
Old March 23rd, 2009, 17:57
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

Quote:
Originally Posted by richardpl View Post
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:

Code:
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
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #18  
Old March 23rd, 2009, 19:08
richardpl richardpl is offline
Member
 
Join Date: Nov 2008
Location: Croatia
Posts: 841
Thanks: 6
Thanked 68 Times in 67 Posts
Default

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.
Reply With Quote
The Following User Says Thank You to richardpl For This Useful Post:
rocky (March 24th, 2009)
  #19  
Old March 24th, 2009, 09:06
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

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.
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD

Last edited by rocky; March 24th, 2009 at 09:12. Reason: typo fixed
Reply With Quote
  #20  
Old March 26th, 2009, 04:01
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

Hello all,

Quote:
Originally Posted by richardpl View Post
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.
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #21  
Old April 2nd, 2009, 04:25
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

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)
Code:
  
  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
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #22  
Old June 5th, 2009, 15:44
alish alish is offline
Junior Member
 
Join Date: Jun 2009
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default How list access points

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:
Code:
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:
Code:
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,

Last edited by DutchDaemon; June 5th, 2009 at 15:54. Reason: [code] added
Reply With Quote
  #23  
Old June 6th, 2009, 02:16
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

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

Code:
 $ 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

Code:
  $ 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.
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
  #24  
Old June 6th, 2009, 07:13
alish alish is offline
Junior Member
 
Join Date: Jun 2009
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Quote:
Originally Posted by rocky View Post
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

Code:
 $ 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

Code:
  $ 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?
Reply With Quote
  #25  
Old June 6th, 2009, 12:22
rocky's Avatar
rocky rocky is offline
Junior Member
 
Join Date: Nov 2008
Location: Vietnam
Posts: 97
Thanks: 15
Thanked 1 Time in 1 Post
Default

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 My wifi led is off too but I can access to WLAn normally.
__________________
System: FreeBSD-7.2 (i386) on Compaq Presario CQ40-401AU
Topic: replace Ubuntu/kvm by FreeBSD/jail
Current task: build Fedora Directory Server on FreeBSD
Reply With Quote
Reply

Tags
bcm4310, bcm4321, lspci, pciconf

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
What SATA2 controller chips are supported? QuietCanuck System Hardware 14 June 14th, 2009 11:04
usb3: unrecoverable error, controller halted mickey Peripheral Hardware 0 February 12th, 2009 16:41
mini-pci sata raid controller? Guybrush System Hardware 0 November 21st, 2008 13:47
LSI Perc ide controller card dpalme System Hardware 2 November 21st, 2008 04:35


All times are GMT +1. The time now is 03:40.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.
The mark FreeBSD is a registered trademark of The FreeBSD Foundation and is used by The FreeBSD Project with the permission of The FreeBSD Foundation.
Web protection and acceleration provided by CloudFlare
0