Bug 465931

Summary: ndiswrapper driver is not found by YaST network settings
Product: [openSUSE] openSUSE 11.1 Reporter: Bart geesink <bart>
Component: YaST2Assignee: Vladimir Botka <vbotka>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P3 - Medium CC: andrea, behlert, robermann
Version: Final   
Target Milestone: ---   
Hardware: x86   
OS: openSUSE 11.1   
Whiteboard: .
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: y2logs

Description Bart geesink 2009-01-14 02:48:05 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121300 SUSE/3.0.5-1.1 Firefox/3.0.5

I have the following usb wireless card:
kirk:~ # lsusb
Bus 008 Device 002: ID 0ace:1215 ZyDAS WLA-54L WiFi

I have loaded the ndiswrapper driver for it:
kirk:~ # ndiswrapper -i /media/CD030A4/TL-WN422G/Win98_ME_2K_XP_X64/Driver\ Files/WinXP/ZD1211BU.INF

kirk:~ # ndiswrapper -l
zd1211bu : driver installed
device (0ACE:1215) present (alternate driver: zd1211rw)

zd1211rw has been blacklisted, and the ndiswrapper kernel module is loaded. 

But.. when I try to add the networkcard in YaST/Network Devices/Network Settings and click on "Add" (just like in the wiki is described, like here: http://en.opensuse.org/Ndiswrapper_howto) the module name dropdown box doesn't show "ndiswrapper". Typing it in manually works, but after completion and checking the network connection, ndiswrapper is not shown in the "module name" box in the hardware tab. Consequently, the wireless card is usable (wlan0 doesn't show up):

kirk:~ # iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

If I go back to the card in YaST, the Module Name entry (where I entered ndiswrapper) is gone. My /var/log/YaST2/y2log shows this:

2009-01-13 08:53:40 <1> kirk(4741) [YCP] LanItems.ycp:229 write udev rules: $[]
2009-01-13 08:53:40 <3> kirk(4741) [Interpreter] LanItems.ycp:260 Couldn't find an agent to handle '.mod probe.network.options."ndiswrapper"'
2009-01-13 08:53:40 <3> kirk(4741) [Interpreter] LanItems.ycp:260 SCR::Write() failed
2009-01-13 08:53:40 <3> kirk(4741) [Interpreter] LanItems.ycp:262 Couldn't find an agent to handle '.mod
probe.network'
2009-01-13 08:53:40 <3> kirk(4741) [Interpreter] LanItems.ycp:262 SCR::Write() failed
2009-01-13 08:53:40 <1> kirk(4741) [YCP] NetworkInterfaces.ycp:666 Writing configuration

There is a thread about it on the opensuse forums here:
http://forums.opensuse.org/network-internet/402307-suse-11-1-fritz-wlan-usb-stick.html

I got confirmation of someone else who has the same problem and the same message "Couldn't find an agent to handle '.mod probe.network.options."ndiswrapper"'" in a forum thread here:

http://forums.opensuse.org/hardware/404752-usb-wifi-ndiswrapper-11-1-a.html

Reproducible: Always

Steps to Reproduce:
1. Get a USB wireless card from a manufacturer which is clueless about opening their drivers (shouldn't be too hard this step)
2. Load the drivers with ndiswrapper
3. Open YaST2/network devices/network settings 
4. Add a new network card. Observe the empty "module name" box. Enter "ndiswrapper"
Actual Results:  
The network card is not working

Expected Results:  
The ndiswrapper driver should have shown in the "module name" box. 
Network card should have worked
Comment 1 Cyril Hrubis 2009-01-15 19:35:24 UTC
Please attach y2logs. If you are in doubt follow:

http://en.opensuse.org/Bugs/YaST

Thanks!
Comment 2 Roberto Mannai 2009-02-16 10:05:20 UTC
Created attachment 272934 [details]
y2logs
Comment 3 Roberto Mannai 2009-02-16 10:09:01 UTC
I also have this problem, with a wg111v2 usb stick. 
I'm attaching my own logs, you the reporter feel free to attach yours own :)

The same steps that worked with 11.0 now does not work anymore; I'm using a wg111v2 usb stick. When using ndiswrapper, the device WLAN0 is never created, so not sure if this is a problem related to YaST or UDEV-stuff.
Comment 4 Michal Zugec 2009-02-23 13:37:37 UTC
re comment#3: when you modprobe ndiswrapper and device is not created, it's not YaST's fault, it's ndiswrapper/driver problem
Comment 5 Helmut Schaa 2009-02-23 13:45:15 UTC
Can you modprobe ndiswrapper manually after installation (modprobe ndiswrapper)? Does it create a wlanX interface after that?
Comment 6 Helmut Schaa 2009-02-23 14:07:17 UTC
Looks to me like ndiswrapper is somehow broken.
Comment 7 Helmut Schaa 2009-02-23 14:50:33 UTC
Building the same module (with all 11.1 patches) manually works just fine.
Comment 8 Roberto Mannai 2009-02-24 20:18:17 UTC
(In reply to comment #5)
> Can you modprobe ndiswrapper manually after installation (modprobe
> ndiswrapper)? Does it create a wlanX interface after that?

Hi Helmut
after installing ndiswrapper, I have:

linux:/home/roberto # rpm -qa | grep ndiswrapper
ndiswrapper-kmp-pae-1.54_2.6.27.7_9.1-4.1
ndiswrapper-1.54-4.1
linux:/home/roberto # uname -ar
Linux linux 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686 i686 i386 GNU/Linux
linux:/home/roberto # ndiswrapper -l
net111v2 : driver installed
	device (0846:6A00) present (alternate driver: rtl8187)

Then, after "rmmod rtl8187", I have correctly no wlan0 device. Next, after "modprobe ndiswrapper", no wlan0 is created.

This is a problem of ndiswrapper, not yast related, isn'it?
Comment 9 Helmut Schaa 2009-02-25 06:28:22 UTC
(In reply to comment #8)
> This is a problem of ndiswrapper, not yast related, isn'it?

Yes, as I wrote in comment #7 ndiswrapper works fine when compiled manually. I do not have a clue yet why the packaged one is broken. Could you please try if the issue persists with the newer ndiswrapper package from [1]? Thanks.

http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.1/
Comment 10 Roberto Mannai 2009-02-25 19:26:24 UTC
I'm already using the driver:/wireless/openSUSE_11.1 package. Did you compiled it with DEBUG enabled? To what level?
Comment 11 Helmut Schaa 2009-02-26 09:52:45 UTC
No I did not compile with DEBUG. But the ndiswrapper package in openSUSE uses a different Makefile then the one shipped with ndiswrapper. Maybe that's the culprit.
Comment 12 Roberto Mannai 2009-02-26 10:02:36 UTC
My DEBUG question springs from the message read in the ndiswrapper forum on https://sourceforge.net/forum/forum.php?thread_id=2992216&forum_id=323168, which I copy here for your convenience:

------------------------------------
It's been a while I try to get ndiswrapper working with a recent kernel (>2.6.22, with this one it's working). 
The issue is always the same : the pcmcia card is turning on normaly (LED ok), but can't connect to my WPA network. 
Here's a small detail of my hardware : 
Laptop HP/compaq nx9000 
Pcmcia card Marvel/libertas 88w8335 
 
The last try was from a 2.6.27 kernel, ndiswrapper 1.54, manually builded. 
For figuring out the bug reason, I followed the README, enabling debug mode with "make DEBUG=3". 
Surprise : that's working with it, but not without (???). Several trys give same result. 
 
Here's a partial log provided : 
Feb 10 19:14:41 [kernel] ndiswrapper (mp_request:144): Exit 
Feb 10 19:14:41 [kernel] ndiswrapper (iw_get_infra_mode:224): Exit 
Feb 10 19:14:42 [kernel] ndiswrapper (iw_get_network_type:245): Enter  
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:113): ddc82900, 0D010204, cb023900 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:128): 00000000, 0D010204 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:142): 00000000, 4, 4, 4 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:144): Exit 
Feb 10 19:14:42 [kernel] ndiswrapper (iw_get_freq:265): Enter  
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:113): ddc82900, 0D010211, cb023900 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:128): 00000000, 0D010211 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:142): 00000000, 32, 32, 32 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:144): Exit 
Feb 10 19:14:42 [kernel] ndiswrapper (iw_get_encr:745): Enter wnd = daa81380 
Feb 10 19:14:42 [kernel] ndiswrapper (iw_get_encr:750): index = 0 
Feb 10 19:14:42 [kernel] ndiswrapper (get_ndis_encr_mode:729): Enter  
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:113): ddc82900, 0D01011B, cb023900 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:128): 00000000, 0D01011B 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:142): 00000000, 4, 4, 4 
Feb 10 19:14:42 [kernel] ndiswrapper (mp_request:144): Exit 
Feb 10 19:14:42 [kernel] ndiswrapper (get_ndis_encr_mode:735): Exit 
 
I can provide kernel config, more hardware details, on demand 
------------------------------------
Comment 13 Helmut Schaa 2009-02-26 11:55:08 UTC
Could you please try the ndiswrapper package from [1]?

[1] http://download.opensuse.org/repositories/home://hschaa:/ndiswrapper/
Comment 14 Roberto Mannai 2009-02-26 19:27:35 UTC
Yes, hschaa:/ndiswrapper/'s package creates the wlan0 device. Did you figure out the problem?
Comment 15 Helmut Schaa 2009-02-26 20:00:49 UTC
Yep. The Makefile we used in the openSUSE package did something wrong. I changed the package to use the original Makefile and it works now. I'll commit a fixed package to openSUSE:Factory soon. 

Thanks for testing.
Comment 16 Roberto Mannai 2009-02-26 20:19:26 UTC
Mmm the device is created, it get a DHCP address, but keeps connecting and disconneting from the access point. In the while, I'm never able to ping the access point itself. Am I supposed to upgrade some other package, let's say wpa_supplicant?
Comment 17 Helmut Schaa 2009-02-26 20:39:15 UTC
(In reply to comment #16)
> Mmm the device is created, it get a DHCP address, but keeps connecting and
> disconneting from the access point. In the while, I'm never able to ping the
> access point itself. Am I supposed to upgrade some other package, let's say
> wpa_supplicant?

No. It should just work with the new ndiswrapper. I'll do some tests tomorrow.
Comment 18 andrea florio 2009-02-28 13:00:18 UTC
adding me in CC because driver:wireless packge maintainer.

(why i wasn't noticed about it??)
Comment 19 andrea florio 2009-02-28 13:16:27 UTC
applyed Helmut fix to driver:wireless ndiswrapper package..

please report, (the package is building right now)
Comment 20 Roberto Mannai 2009-02-28 16:58:53 UTC
Tested the following versions:

Repo: http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.1/i586/
- ndiswrapper-kmp-pae-1.54_2.6.27.7_9.1-4.1
- ndiswrapper-1.54-4.1

- Repo:
http://download.opensuse.org/repositories/driver:/wireless/11.1-update/
- ndiswrapper-1.54-4.1
- ndiswrapper-kmp-pae-1.54_2.6.27.19_3.2-4.1 

None version creates the wlanX device.
Comment 21 andrea florio 2009-03-01 18:19:53 UTC
considering also infos you gave me in suseialia, i think the issue maybe related to version 1.54, infact the spec file used on driver:wireless is exactly the same now...
Comment 22 Helmut Schaa 2009-03-02 14:33:13 UTC
(In reply to comment #20)
> http://download.opensuse.org/repositories/driver:/wireless/11.1-update/
> - ndiswrapper-1.54-4.1
> - ndiswrapper-kmp-pae-1.54_2.6.27.19_3.2-4.1 
> 
> None version creates the wlanX device.

These work for me. Maybe the package wasn't rebuilt yet when you tried them.

Andrea, I'll just commit the ndiswrapper package from driver:wireless to openSUSE:Factory. Any objections?
Comment 23 andrea florio 2009-03-02 15:47:59 UTC
he was correct, the problem existed.. i workaround using "make DEBUG=3" 

with ndiswrapper 1.54 looks to be the only way to fix the issue... (waiting for patches)
Comment 24 Helmut Schaa 2009-03-02 15:51:48 UTC
(In reply to comment #23)
> he was correct, the problem existed.. i workaround using "make DEBUG=3" 

Ah, ok. So the problem is also not fixed upstream yet. Thanks.
Comment 25 Roberto Mannai 2009-03-02 22:56:29 UTC
Just tried: 
ndiswrapper-1.54-32.1.i586.rpm
ndiswrapper-kmp-pae-1.54_2.6.27.7_9.1-32.1.i586.rpm
from:
http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.1/i586/

linux:/home/roberto/Desktop # uname -r
2.6.27.7-9-pae


I have the same problems I spoken about in Comment #16.
Comment 28 Helmut Schaa 2009-06-04 13:35:48 UTC
Vlado, could you please take over here? If you want to see the fix just have a look at "osc diff -r17:18 | less" in driver:wireless/ndiswrapper.
Comment 29 andrea florio 2009-07-01 19:28:26 UTC
please check new package 1.55 in driver:wireless repo and report if they fix you problems
Comment 30 Vladimir Botka 2009-10-14 17:15:03 UTC
Bart. Roberto, does ndiswrapper 1.55 solves the problem ?
Comment 31 Roberto Mannai 2009-10-24 00:13:52 UTC
(In reply to comment #30)
> Bart. Roberto, does ndiswrapper 1.55 solves the problem ?

What kernel version should I have? It seems to me that ndiswrapper-kmp-pae (1.55_2.6.27.7_9.1) from http://download.opensuse.org/repositories/driver:/wireless/openSUSE_11.1 requires the kernel 2.6.27.7_9.1, but I have 2.6.27.29-0.1:

uname -ar
Linux linux 2.6.27.29-0.1-pae #1 SMP 2009-08-15 17:53:59 +0200 i686 i686 i386 GNU/Linux

Should I downgrade my kernel?
Comment 32 andrea florio 2009-10-24 07:08:22 UTC
please rember that the repo you used build all kmp packages on OSS repo kernel.

use: http://download.opensuse.org/repositories/driver:/wireless/11.1-update/

if you have the "updates" repo enabled
Comment 33 Roberto Mannai 2009-10-24 21:48:26 UTC
I installed the new packages, but I get the same situation as https://bugzilla.novell.com/show_bug.cgi?id=465931#c16.

Anyway, maybe that is a different problem. As for me, given that now Yast recognizes ndiswrapper, this bug can be closed.
Comment 34 andrea florio 2009-10-24 23:34:11 UTC
perfect.

thanks, please open another bug report for that then.

feel free to assign it to me and vladimir
Comment 35 Bernhard Wiedemann 2016-04-15 09:27:48 UTC
This is an autogenerated message for OBS integration:
This bug (465931) was mentioned in
https://build.opensuse.org/request/show/7809 Factory / ndiswrapper