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 [color="Red"]chip=0x431514e4[/color] rev=0x01 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = '[color="Red"]BCM4310 USB Controller[/color]'
    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!
 
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.
 
>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
 
Thanks Richardpl and Paradox for your helps.

richardpl said:
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


paradox said:
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,
 
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
 
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 :)
 
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.
 
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.
 
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: [color="Red"]WARNING: using obsoleted if_watchdog interface[/color]
ndis0: Ethernet address: 00:21:00:af:6a:a1

$  ifconfig ndis0 up scan
[color="Red"]<nothing here>[/color]

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?
 
`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
 
rocky said:
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: [color="Red"]WARNING: using obsoleted if_watchdog interface[/color]
ndis0: Ethernet address: 00:21:00:af:6a:a1

$  ifconfig ndis0 up scan
[color="Red"]<nothing here>[/color]

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.
 
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.
 
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.
 
richardpl said:
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
 
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.
 
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.
 
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
 
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,
 
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.
 
rocky said:
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?
 
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.
 
Back
Top