Thread: [Ndiswrapper-general] 1.15-rc1
Status: Beta
Brought to you by:
pgiri
From: Giridhar P. <gi...@lm...> - 2006-04-20 14:24:00
|
1.15-rc1 is uploaded for testing. Following is summary of changes since 1.14: * Yet another bug with removing module fixed. * Memory allocation tracking support added; this should help find any memory leaks. * Proper fix for drivers (Atheros PCI and USB drivers) allocating large chunk of memory in atomic context. 'make' now takes two new options: ALLOC_INFO and ALLOC_DEBUG. ALLOC_INFO keeps track of amount of memory allocated by both ndiswrapper and Windows driver and when ndiswrapper is unloaded, prints if any memory is leaking. If there is a leak, the size of leak is logged to KERN_DEBUG (which usually should go in /var/log/debug). In this release, ALLOC_INFO is enabled already. In future releases, this option can be enabled with 'ALLOC_INFO=1' option to 'make. If memory is leaking with a driver, you can then compile with 'ALLOC_DEBUG=1' option to 'make' (in addition to 'ALLOC_INFO=1'), which will keep track of information about memory allocations (file name and line number). When module is removed, it will print this information, which should help identify which memory is leaking. I have tested a few drivers with this, and good news is that all but one driver is not leaking. The bad news is that Atheros USB drivers leak about 1KB of memory in GFP_KERNEL. This is a bug in Atheros USB drivers and not ndiswrapper. Windows drivers themselves (.sys files) are loaded in memory allocated with vmalloc by ndiswrapper. If you see any memory leaking, needless to say, send mail to this list with details. -- Giri |
From: Giridhar P. <gi...@lm...> - 2006-04-20 15:22:28
|
At any time, you can get information about memory allocations with cat /proc/net/ndiswrapper/debug which reports total size of allocations in atomic with kmalloc, non-atomic with kmalloc, vmalloc and "slack" (internal to ndiswrapper) in that order. As noted before, ndiswrapper allocates memory with vmalloc for driver's .sys and .bin files, so discount their sizes from the vmalloc allocations to get memory used by driver. Only allocations with kmalloc and vmalloc are tracked through this; other memory used by driver/ndiswraper, e.g., skb, urb, is not tracked. -- Giri |
From: Jim C. <jim...@gm...> - 2006-04-20 16:20:49
|
Im getting a compile err: $ KVERS=2.6.16-ipipe-124-sk make make -C driver make[1]: Entering directory `/mnt/dilbert/jimc/dilbert/ndis/ndiswrapper-1.15rc1/driver' make -C /lib/modules/2.6.16-ipipe-124-sk/build SUBDIRS=/mnt/dilbert/jimc/dilbert/ndis/ndiswrapper-1.15rc1/driver \ DRIVER_VERSION=1.15rc1 make[2]: Entering directory `/mnt/dilbert/jimc/dilbert/lxbuild/linux-2.6.16-ipipe-124-sk' make -C /mnt/dilbert/jimc/dilbert/lxbuild/linux-2.6.16-ipipe-124 O=/mnt/dilbert/jimc/dilbert/lxbuild/linux-2.6.16-ipipe-124-sk CC [M] /mnt/dilbert/jimc/dilbert/ndis/ndiswrapper-1.15rc1/driver/hal.o In file included from /mnt/dilbert/jimc/dilbert/ndis/ndiswrapper-1.15rc1/driver/hal.c:24: /mnt/dilbert/jimc/dilbert/ndis/ndiswrapper-1.15rc1/driver/ntoskernel.h:69:21: error: wrapmem.h: No such file or directory > At any time, you can get information about memory allocations with > > cat /proc/net/ndiswrapper/debug > Is this the same file you echo X > to to turn on debugging ? (sorry, I couldnt find it in past emails, didnt try too hard ) > which reports total size of allocations in atomic with kmalloc, > non-atomic with kmalloc, vmalloc and "slack" (internal to > ndiswrapper) in that order. As noted before, ndiswrapper allocates > memory with vmalloc for driver's .sys and .bin files, so discount > their sizes from the vmalloc allocations to get memory used by > driver. > is it practical/simple to list allocations individually ? with what theyre for ? > Only allocations with kmalloc and vmalloc are tracked through this; > other memory used by driver/ndiswraper, e.g., skb, urb, is not > tracked. > out of curiosity ( not a request for the code ) how big are these things, pretty small ? is there much variation between drivers ? skbs are part of the networking core arent they ? and are recycled by it when packets have been handled ? tia |
From: Giridhar P. <gi...@lm...> - 2006-04-20 16:55:48
|
On Thu, 20 Apr 2006 12:20:36 -0400, Jim Cromie <jim...@gm...> said: Jim> error: wrapmem.h: No such file or directory Fixed - download again. Jim> Is this the same file you echo X > to to turn on debugging ? Yes. One correction: Current version reports information through WARNING/INFO macros, which log to KERN_WARNING and KERN_INFO, respectively, and not KERN_DEBUG as stated before. Jim> is it practical/simple to list allocations individually ? with Jim> what theyre for ? Yes. With very little overhead. To get information about where memory was allocated that is being leaked. Jim> out of curiosity ( not a request for the code ) how big are Jim> these things, pretty small ? is there much variation between Which things? The overhead of keeping track is very little (certainly shouldn't be a concern in most cases and even then, it is enabled only with ALLOC_DEBUG). I know it may not be very convincing / clear to many with what I have given, but for details, look in wrapmem.c Jim> drivers ? skbs are part of the networking core arent they ? Jim> and are recycled by it when packets have been handled ? What I meant was that the actual amount of memory used by ndiswrapper and ndiswrapper is more than the total reported in /proc/net/ndiswrapper/debug, since memory allocated by anything other than kmalloc, vmalloc and __vmalloc is not tracked. Examples of such allocations are dev_alloc_skb, usb_alloc_urb, alloc_etherdev etc. skbs and urbs are recycled by kernel; ndiswrapper itself implements caching/reuse of some objects used frequently, such as ndis buffers, packets, urbs etc. -- Giri |
From: Giridhar P. <gi...@lm...> - 2006-04-20 17:19:34
|
On Thu, 20 Apr 2006 12:20:36 -0400, Jim Cromie <jim...@gm...> said: Jim> out of curiosity ( not a request for the code ) how big are Jim> these things, pretty small ? is there much variation between To be precise, with ALLOC_DEBUG enabled, the data overhead for keeping track of this information is 16 bytes on x86, 28 bytes in x86-64 for each allocation; the time overhead is negligible (a few assignments are executed). -- Giri |
From: Kathryn H. <kj...@fl...> - 2006-04-21 04:02:18
|
I'll generate the recommended debugging info later but first I want to survey of anyone has seen a similar thing. I have a linksys WPC54G that has been working mostly fine with ndiswrapper since well before the 1.0 release. Up through ndiswrapper 1.13 iwconfig returned decent values for Link Quality, Signal Level, etc. Same deal with the NetworkMonitor applet. However with 1.14 I get zeros. The wireless is working fine, just showing the signal strength is 0. However, iwlist wlan0 scan says quality is 0 and signal level is -33 dBm Anyone else seen similar behavior? -- Kathryn http://womensfooty.com |
From: Andrew O. <ot...@op...> - 2006-04-21 04:36:41
|
On Friday 21 April 2006 14:02, Kathryn Hogg wrote: > I'll generate the recommended debugging info later but first I want to > survey of anyone has seen a similar thing. > > I have a linksys WPC54G that has been working mostly fine with ndiswrapper > since well before the 1.0 release. Up through ndiswrapper 1.13 iwconfig > returned decent values for Link Quality, Signal Level, etc. Same deal with > the NetworkMonitor applet. However with 1.14 I get zeros. The wireless is > working fine, just showing the signal strength is 0. > > However, iwlist wlan0 scan says quality is 0 and signal level is -33 dBm > > Anyone else seen similar behavior? Yes, I use kwifimanager to show signal strength in my kde panel. Previously it worked fine - Since 1.14 it has shown 0 - but it all still works OK. iwlist wlan0 scan shows - Quality:0/100 Signal level:-74 dBm Noise level:-256 dBm -- --------------------------------------- Andrew Otte Laildey, Queensland Australia ot...@op... --------------------------------------- |
From: Giridhar P. <gi...@lm...> - 2006-04-21 04:50:05
|
Fixed in latest svn. -- Giri |
From: Jim C. <jim...@gm...> - 2006-04-25 17:20:27
|
Giridhar Pemmasani wrote: > Fixed in latest svn. > > Im not seeing it yet in 15rc2 I am seeing new display of WPA stuff, instead of old 1-liner Protocol:IEEE 802.11b Mode:Managed Frequency:2.412 GHz (Channel 1) Quality:0/100 Signal level:-55 dBm Noise level:-256 dBm Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s Extra:bcn_int=100 Extra:atim=0 Extra:wpa_ie=dd160050f20101000050f20201000050f20201000050f202 Im now getting: Protocol:IEEE 802.11b Mode:Managed Frequency:2.412 GHz (Channel 1) Quality:0/100 Signal level:-81 dBm Noise level:-256 dBm Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s Extra:bcn_int=100 Extra:atim=0 IE: WPA Version 1 Group Cipher : TKIP Pairwise Ciphers (1) : TKIP Authentication Suites (1) : PSK hope this is mildly useful |
From: Jim C. <jim...@gm...> - 2006-04-22 10:51:04
|
Kathryn Hogg wrote: > I'll generate the recommended debugging info later but first I want to > survey of anyone has seen a similar thing. > > I have a linksys WPC54G that has been working mostly fine with ndiswrapper > since well before the 1.0 release. Up through ndiswrapper 1.13 iwconfig > returned decent values for Link Quality, Signal Level, etc. Same deal with > the NetworkMonitor applet. However with 1.14 I get zeros. The wireless is > working fine, just showing the signal strength is 0. > > However, iwlist wlan0 scan says quality is 0 and signal level is -33 dBm > > Anyone else seen similar behavior? > > On 1.14, realtek 8180 chip and driver: wlan0 IEEE 802.11b ESSID:"WLAN" Mode:Managed Frequency:2.462 GHz Access Point: 00:30:BD:C7:7B:12 Bit Rate:2 Mb/s Tx-Power:20 dBm Sensitivity=0/3 RTS thr:2432 B Fragment thr:2432 B Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 soekris:~# iwlist scan | grep Qual Quality:0/100 Signal level:-49 dBm Noise level:-256 dBm Quality:0/100 Signal level:-53 dBm Noise level:-256 dBm Quality:0/100 Signal level:-60 dBm Noise level:-256 dBm Quality:0/100 Signal level:-70 dBm Noise level:-256 dBm soekris:~# modinfo ndiswrapper filename: /lib/modules/2.6.17-rc1-mm3-hrt-sk/misc/ndiswrapper.ko license: GPL version: 1.15rc1 ... Quality:0/100 Signal level:-50 dBm Noise level:-256 dBm Quality:0/100 Signal level:-63 dBm Noise level:-256 dBm also just built svn, 1775, its apparently the 1.15rc1 version, and shows same Quality reverted to 1.13, Quality:0/100 Signal level:-55 dBm Noise level:-256 dBm Quality:0/100 Signal level:-49 dBm Noise level:-256 dBm So for me at least, Quality isnt working. I dont recall precisely if Ive ever seen one, since I have a ipw2200, with linux driver also. related Qs: Is cvs-version ahead of svn, or are they locked together ? When I `iwlist scan` on with my laptop's ipw2200 card, the results depend upon whether the link is up or not. 1 AP when connected (to that AP) >1 AP when link is down (ifdown <iface>, or just poor sig, phase of moon etc) Having just typed that, I actually tried it. Seems I cant force de-association, but I have observed above previously :/ ndiswrapper always returns >1 AP. I greatly prefer ndiswrapper behavior (gives more info, more consistent too) What is this variation due to ? The windows/linux driver ? Card's hardware/firmware ? version of Wifi extension (kernels, ndiswrappers, net-mgr-apps) ? |
From: Giridhar P. <gi...@lm...> - 2006-04-26 21:30:38
|
On Sat, 22 Apr 2006 06:50:56 -0400, Jim Cromie <jim...@gm...> said: Jim> So for me at least, Quality isnt working. I dont recall Jim> precisely if Ive ever seen one, since I have a ipw2200, with Jim> linux driver also. Quality and Signal are different. Not all Windows drivers support all OIDs. In the case of RTL8180L, presumably the OID for getting quality is not supported, so that will always be zero. The issue (which was fixed) was neither quality nor signal were being obtained and shown in 1.14 release. Jim> Is cvs-version ahead of svn, or are they locked together ? I announced it to the list (and someone later reminded too): ndiswrapper is moved to svn and cvs has been abandoned. Jim> What is this variation due to ? The windows/linux driver ? Jim> Card's hardware/firmware ? version of Wifi extension (kernels, Jim> ndiswrappers, net-mgr-apps) ? I don't know about ipw2200. ndiswrapper gets the information from the Windows driver. How Windows driver scans (there are two methods: active and passive scanning) is upto the driver (which may depend on hardware and any firmware). It certainly doesn't depend on kernel and userland apps. -- Giri |