Dell D830 Broadcom 432AGN WiFi mini PCI-Express

richardpl said:
Does wpa_supplicant -Dbsd works instead of -Dndis for you?
...

Nope! ;)
Error snip:
Code:
... No such file or directory
Association request to the driver failed
...
 
Seeker, could you test last master, scan results should now be available after one second(previously it was after 3 or 6).
 
Yes, I tested it.
;)
It behaves this way:
I initiate a scan and in a fraction of sec., I get list of just 1 entry.
Then I do it again and in less then sec I get another 6 SSIDs
Then I do it again and in less then sec I get another 4-8 SSIDs
...
 
I haven't tried, as only my laptop has 11n support in WiFi module.
AP and other desktop use 11g, so does a laptop too then.
 
Because of this, I had to downgrade from 8.0-STABLE to 8.0-RELEASE-p2
Now I can't get max speed, but max is 1/3.

I also had one freeze when I initiated first scan, which also damaged some files(0 lenght)
I think I caught crash so will post it if I did.

PS: I see new ndis5 branch there, HEAD?
 
There was bug with bssid list OID, so it is important what was last commit when you used git code.
Also it is sane when testing non-stable code to first use INVARIANTS+WITNESSkernel, so to make use of KASSERTs and possible lock order reversal so they got showed in console/dmesg output. Deadlocks are possible and could cause hang.

When you are speaking of max speed to what are you referring to?

ndis5 is going to become NDIS API 5.1 only (only XP drivers with 4 - 5.1 NDIS API version)

master should become NDIS API 6.20 or higher but currently I did not make single step in that direction...
 
Also, do not scan via ifconfig on 8.0 RELEASE with that broadcom driver, 8.0 RELEASE's if_ndis.c have serious bug there.
 
So I have to build a custom kernel, to properly debug?

Regarding max speed, it was 650 kb/s, now I get 200 -150 kb/s, and it oscillates a lot.
richardpl said:
Also, do not scan via ifconfig on 8.0 RELEASE with that broadcom driver, 8.0 RELEASE's if_ndis.c have serious bug there.
That was a motive, for creating this thread.
I download your master, then copy it to /usr/src and compile each ndis and then do a scan and it works.

Thing that never worked, was loading a kernel module at boot time via /boot/loader.conf, of ndis driver, as it causes panic (1 second of uptime)
Even now I have to kldload it when system is fully booted.
 
Depends on what you want to debug. If you found bug in my code than using debug kernel (one from CURRENT is good example) is right direction.

What program you use that give such results?
Are there any strange results in top -HS.
The only thing I changed in that direction from your last test is changeset which should improve general stuff lowering latency and initialization times.

How good is ping to your router/nameserver?

Speaking about boot bug, there is workaround, config_intrhook(9).
 
You are developing with STABLE / CURRENT.
As I reverted from STABLE to RELEASE, I get slower speed.
So maybe FreeBSD's code change between STABLE and RELEASE makes speed slower.

I use my server and in it's apache dir is file of size 80 MB.
Then I use my laptop, which connects to server via WLAN(your code -master) using wget from shell to download that 80 MB file.

I code only in PHP, HTML, JS. That is my realm.
I can't find bug in your code, as I haven't learned it's syntax.
richardpl said:
Speaking about boot bug, there is workaround, config_intrhook(9).
This type of utilization, is out of my scope for now.
I simply don't know, what to do with it.
 
Ok, I've just downloaded latest master and installed it.
I am not home, but in a caffe and am using it's unencrypted WLAN.

I firstly initiated download from my server in WinXP and got 505 Kb/s
Then I reeboted into FreeBSD and got max speed of 50 Kb/s
After installation of latest ndis master and rebuilding of bcmwl5_sys.ko
I got speed oscilating from 450 - 490 Kb/s, which is very close to WinXP's 0.5 MB/s

PS: wpa_suppliciant hasn't been used! I will when I come home.
 
It is not slow anymore.
Just 5-10% slower then in WinXP, which is completely fine by me.
Good work! ;)
 
Yesterday I did MASTER.
I had a crappy speed of 50kB/s to 150kB/s with latest win drivers, the one that always panics at boot.

I tried my old win drivers...
At once I succeeded in getting speeds higher then when booted at XP. 720kB/s! ;)
Now I can now boot with kldloaded module and speed is max 430kB/s

But there is a catch!
If file being downloaded is smaller then 100kB then I need to do:
Code:
wget 192.168.0.1/big_file.rar
Which would then start to dowmload at speeds of 230kB/s - 430kB/s
AND it enables that small file to start download from the internet.

That drove me nuts as I had to download 50 those small files, and I had to wget 50 times or they would time out. :p
 
New broadcom drivers use some other methods comparing to older ones. And current implementation is just broken (and too slow).

Did new driver worked better with older master or code from RELEASE you are currently using?

With git it is easy to find commit which introduced some kind of regression.
 
Forget RELEASE, as I can't scan, with any driver version on it.
So master was always a better solution.

I dunno, as I always download tarball.
 
Do you have link to small files, so I can try to reproduce it.

Did you tried to use other programs instead of wget.

Sometimes it is not problem with NDISulator at all, and sometimes there is no fix but just workaround.

For benchmark you could try various torrents to find out what maximal speed you can get, it is also stress test for possible other problems.
 
I used only wget and nothing more, to fetch big file from my getaway server.

I deleted /usr/ports
So small files being downloaded were those of xorg various libs, with command:
[CMD="portupgrade"]-afF[/CMD]
I just refetched them to distfiles
 
I just had a crash with your latest master ndis and my newest driver, with which I can't boot too (currently using old driver, as I can also boot with it)
This time I have a crash core:
Code:
# cat info.11
Dump header from device /dev/ad4s3b
  Architecture: i386
  Architecture Version: 2
  Dump Length: 205078528B (195 MB)
  Blocksize: 512
  Dumptime: Mon Feb  8 18:20:29 2010
  Hostname: cruiser.starforce.biz
  Magic: FreeBSD Kernel Dump
  Version String: FreeBSD 8.0-RELEASE-p2 #0: Sun Jan 31 18:18:54 CET 2010
    root@cruiser.starforce.biz:/usr/obj/usr/src/sys/GENERIC
  Panic String: vm_fault: fault on nofault entry, addr: e81ea000
  Dump Parity: 3760290330
  Bounds: 11
  Dump Status: good
http://www.starforce.biz/core.txt.11.txt
 
Exact what revision?

There are some LORs with scanning and with other stuff ...
And I did fixed problem that cause panic when scanning for some reason fails.
It looks to me that panic happens because of constant link state change.
Are those changes rapid in small time period?
Do you now how to reproduce it?

I dont see backtrace, probably because either driver corrupted random virtual memory or you are just out of luck.

If there is no real reason to use newer driver, do not use it.
Current implementation in that area is plain broken.
BTW:
Next time contact me directly via mail because I do not use forum that much.

And use git, it just makes things easier for everyone.
 
Revision? I dunno.
I downloaded tar ball at February 8th, 2010, 18:00

I am very happy with old driver now, as I can boot with it and have almost max speed with it.

Ok, with e-mail then.

git? I see, it is very popular, too.
Ok, I'll have to study it a bit, first.
 
In a meantime I've shifted to:
Code:
# uname -a
FreeBSD cruiser.starforce.biz 8.1-RELEASE-p1 FreeBSD 8.1-RELEASE-p1 #0: Sat Nov 20 17:44:22 CET 2010     root@cruiser.starforce.biz:/usr/obj/usr/src/sys/GENERIC   amd64

I can see, that now you have 3 dev branches of ndisulator, instead of 2. ;)
I've used 'ndisulator-ndisulator-stable_ndis5.tar', downloaded ~10 hrs ago.

Code:
# kldload bcmwl564_sys.ko
ndis0: <Dell Wireless 1500 Draft 802.11n WLAN Mini-Card> mem 0xf1ffc000-0xf1ffff
ff,0xf0000000-0xf00fffff irq 17 at device 0.0 on pci12
ndis0: [ITHREAD]
fpudna in kernel mode!

# ifconfig wlan0 create wlandev ndis0
wlan0: Ethernet address: 00:1f:e1:71:1a:b9

# ifconfig wlan0 up scan
fpudna in kernel mode!
wlan0: ieee80211_new_state_locked: pending INIT -> SCAN transition lost
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
...

# ifconfig wlan0 scan
fpudna in kernel mode!
...
fpudna in kernel mode!
fpudna in kernel mode!
fpudna in kernel mode!
SSID/MESH ID    BSSID              CHAN RATE   S:N     INT CAPS
NETGEAR         00:1b:2f:00:ff:fa   11   54M -64:-96  100 EP   WPA
Berce           00:1f:c6:8c:a5:f0    1   54M -75:-96  100 EP   WME
cb18e7          00:26:18:04:2d:19    1   54M -92:-96  100 EP   WPS WPA WME
Skugor          00:02:cf:a8:fa:fa    1   54M -89:-96  100 EPSB WPA
Tajana          00:24:8c:68:85:fd    4   54M -86:-96  100 EP   WPS WPA WME
Thom_D014900    00:24:d1:79:53:d1    3   54M -92:-96  100 EP   WME
                00:0e:2e:e5:0b:b9    6   54M -58:-96  100 EPS  WPA
kek_mreza       00:4f:74:31:1d:aa    4   54M -89:-96  100 EP   HTCAP WME WPS
cruiser# fpudna in kernel mode!

Attempt to connect:

Code:
cruiser# ifconfig wlan0 inet 192.168.0.3 netmask 255.255.255.0
cruiser# route add default 192.168.0.1
add net default: gateway 192.168.0.1
cruiser# wpa_supplicant -d -D ndis -i wlan0 -c /etc/wpa_supplicant.conf
Initializing interface 'wlan0' conf '/etc/wpa_supplicant.conf' driver 'ndis' ctr
l_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
eapol_version=2
ap_scan=2
Priority group 0
   id=0 ssid='BLACKHOLE'
Initializing interface (2) 'wlan0'
NDIS: Packet.dll version: FreeBSD WinPcap compatibility shim v1.0
NDIS: 1 adapter names found
NDIS: 1 adapter descriptions found
NDIS: 0 - wlan0 - wlan0
NDIS: Adapter description prefix 'wlan0'
ndis_get_oid: oid=0x1010102 len (6) failed
NDIS: Get OID_802_3_CURRENT_ADDRESS failed
Failed to initialize driver interface
Failed to add interface wlan0
Cancelling scan request
Cancelling authentication timeout
 
8 STABLE have fpu_kern api, 8.2 will also get some mayor stuff from my git NDISulator (mainly resurrrected amd64).

Note that amd64 works for me (on CURRENT) starting from monday version of my git repo.
I do not get fpudna in kernel mode on console, but also I did not tested WPA yet on amd64.

However amd64 miniport drivers do use XMM registers on amd64. Mixing userland
and kernelland XMM registers may cause problems on 8.

8.2 RELEASE, (8 releng) will get mayor NDISulator stuff from 9.0 CURRENT in next days.

Solution for corruption of XMM registers will be available in next days (on my git repo).

To make use of that solution you will need to run recent 8 STABLE - what is going to be 8.2 RELEASE in couple of months because older FreeBSD versions do not have (and will not have) fpu_kern API.
 
So, I have to get rid of /usr/src and csup 8_releng and compile and run 8-STABLE on my laptop? (I had a VARY BAD experience, with STABLE. 1 year ago)
And then download 'ndisulator-ndisulator-stable_ndis5.tar' in a next $N days ...?
 
Back
Top