Unable to install MSI Ms-3871 WLAN wireless driver in openSuse 12.1

I installed openSuse 11.2 for my desktop that I recently built. I have Intel DX79SI motherboard which came with the wireless/bluetooth combo device “The module is an MSI MS-3871 WLAN 802.11b/g/n 1T1R+BT2.1 EDR Combo Slim Module”.

It looks like driver is not automatically installed. I took the compat-wireless driver and tried to install and surprised to find that I need to set some differnet configuration and recompile the kernel to install a wireless driver.

Two things…

  1. I need some help on what to do to install the driver. Clearly “Enable CONFIG_WIRELESS_EXT and recompile linux kernel” is not the level of instruction that will help me. Is there more detailed steps that I can follow?

  2. Not to offend anyone but just trying to understand the intent. In the world of Apple & google which is trying to make it easy for people to use things, why such a complexity in trying to have a basic wireless device enabled? Is the intent to drive people away from using linux?

Here is the message that I got when I tried to make compat driver.

inux-f0cv:/home/test/Downloads/compat-wireless-2012-03-04 # make
/home/test/Downloads/compat-wireless-2012-03-04/config.mk:242: “WARNING: CONFIG_CFG80211_WEXT will be deactivated or not working because kernel was compiled with CONFIG_WIRELESS_EXT=n. Tools using wext interface like iwconfig will not work. To activate it build your kernel e.g. with CONFIG_LIBIPW=m.”
./scripts/gen-compat-autoconf.sh .config config.mk > include/linux/compat_autoconf.h
make -C /home/test/Downloads/compat-wireless-2012-03-04 modules
make[1]: Entering directory /home/test/Downloads/compat-wireless-2012-03-04' /home/test/Downloads/compat-wireless-2012-03-04/config.mk:242: "WARNING: CONFIG_CFG80211_WEXT will be deactivated or not working because kernel was compiled with CONFIG_WIRELESS_EXT=n. Tools using wext interface like iwconfig will not work. To activate it build your kernel e.g. with CONFIG_LIBIPW=m." make -C /lib/modules/3.1.0-1.2-desktop/build M=/home/test/Downloads/compat-wireless-2012-03-04 modules make: Entering an unknown directory make: *** /lib/modules/3.1.0-1.2-desktop/build: No such file or directory. Stop. make: Leaving an unknown directory make[1]: *** [modules] Error 2 make[1]: Leaving directory /home/test/Downloads/compat-wireless-2012-03-04’

Also lsusb shows the following… the wireless device is in red color

linux-f0cv:/home/test/Downloads/compat-wireless-2012-03-04 # lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 003: ID 1c4f:0002 SiGma Micro
Bus 001 Device 004: ID 0461:4d81 Primax Electronics, Ltd
Bus 002 Device 004: ID 0db0:3871 Micro Star International
Bus 002 Device 005: ID 0db0:a871 Micro Star International
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
linux-f0cv:/home/test/Downloads/compat-wireless-2012-03-04 #

Thanks for the help in advance

I’m pretty sure you mean openSUSE 12.1

Are we to assume you can’t access a wired connection with this machine?

Some light reading
http://forums.opensuse.org/network-internet/wireless/410319-getting-your-wireless-work.html

I am able to enable wired connection with this machine.

First thing then is to get the updates.

Connect to a wired connection and open a terminal

Do the following;

su -
zypper patch

when that is done, in the same terminal run it again

zypper patch

then

zypper up

then make sure you have a package by doing

zypper in kernel-firmware

Once you have done that. Report back here

I did these steps. Last command comes back with “kernel-firware” is already installed. No update candidate for ‘kernel-firmware-20111025git-1.71.noarch’. The highest available version is already installed".

No change in the wireless device’s ability to scan network.

Now, in the guide I posted earlier. Can I draw your attention to this part

II. What device do you have?

Information about your wireless hardware can be obtained by starting YaST, clicking on Hardware in the left panel and selecting Hardware Information. Henceforth, this sequence will be abbreviated YaST => Hardware => Hardware Information. In the resulting display, check for an entry named “Wireless LAN”. Report its presence/absence in your report.

If you found this entry in your list, then click on its + and find the “Kernel Driver” line, note and report that value.

If the �Wireless LAN� entry is not found, you then need to open either the PCI or USB items to find your wireless device. Just because your wireless device is internal to the computer does not necessarily mean it is PCI as some internal devices are attached to a USB port. Scroll through the entries to find the one that starts with “UDI:” and post it. This line contains the PCI or USB ID that determines which driver is needed for the device. Note: To use copy-and-paste with the Hardware Information listing, you will need to copy it to a file, and then open that file with an editor such as Kedit. The saved listing will not look quite the same as the original, but will have the same information. The UDI line for my USB wireless stick with an RTL8187B chip is “udi = ‘/org/freedesktop/Hal/devices/usb_device_bda_8187_00e04c000001_if0’”. The USB IDs for this device are 0bda:8187 (Leading zeros are suppressed.).

We need to know this info

It had the “Wireless LAN”. Kernel Driver is rt2800usb

OK
This device should work from what I can see
But I’m not sure what your next step is exactly

Your usb device isn’t listed here
HCL:Network (Wireless) - openSUSE
But I’m almost certain it will work, once you get some good advice from a wireless expert.
Just be patient. Larry may see this post and reply (He wrote the guide)

Thanks! Let me wait. I have definitely spent a good amount of time in trying to find it from the internet and did not get anything that helped to solve the issue…

This is the vendor & device id of the device (VID=0db0 & DID=3871)
Bus 002 Device 004: ID 0db0:3871 Micro Star International

It looks like Micro Star International is the vendor. But when I look it up in the net, there are references to RaLink corp for this device. so I am unsure who is the vendor. That apart, not sure what is happening here…

any help would be appreciated a lot!

On 03/06/2012 01:16 AM, rahilakasim wrote:
>
> Thanks! Let me wait. I have definitely spent a good amount of time in
> trying to find it from the internet and did not get anything that helped
> to solve the issue…
>
> This is the vendor& device id of the device (VID=0db0& DID=3871)
> Bus 002 Device 004: ID 0db0:3871 Micro Star International
>
> It looks like Micro Star International is the vendor. But when I look
> it up in the net, there are references to RaLink corp for this device.
> so I am unsure who is the vendor. That apart, not sure what is happening
> here…

I have no idea where that external driver came from, but it should not be
needed. The reason you got into problems with WIRELESS_EXT is that modern
kernels no longer use that antiquated, obsolete mechanism. Think of trying to
install a Windows 98 driver into Windows 7.

The wireless chip is made by Ralink, which is all that counts. That chip was
purchased by Micro Star and packaged by them, but as far as the driver is
concerned, that is not relevant.

Your device is in the kernel’s USB tables for rt2800usb, and the driver should
be loaded automatically, but let’s check that. You say that “it has the wireless
device”, but show no output. In addition, you state that you get no scan
results, but again produce no output. Thus we will do some elementary checking.

  1. Does /usr/sbin/iwconfig show a wireless device? If not, your driver is not
    loading.

  2. Does ‘ls /lib/firmware/rt2870.bin’ produce any output? If not, your firmware
    is not installed.

  3. If the answers to 1 and 2 are yes, then does ‘/usr/sbin/rfkill list’ show any
    blocks? To be able to do this, you may have to ‘sudo zypper install rfkill’.

Please return the answers to 1 - 3. We can go from there. In addition, indicate
if you are using NetworkManager, and if you are using KDE or Gnome.

Here is the data that was requested. ( I seem to get inconsistent results on different attempts of settings through yast->network settings. not sure why this is the case)

linux-f0cv:~ # /usr/sbin/iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

eth1 no wireless extensions.

wlan0 IEEE 802.11bgn ESSID:“att712”
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:7DB9-294C-97A4-0688-8C93-BB54-D7
Power Management:off

linux-f0cv:~ # ls /lib/firmware/rt2870.bin
/lib/firmware/rt2870.bin

linux-f0cv:~ # /usr/sbin/rfkill list
0: hci0: Bluetooth
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

  1. linux-f0cv:~ # sudo /usr/sbin/iwlist scan
    lo Interface doesn’t support scanning.

eth0 Interface doesn’t support scanning.

eth1 Interface doesn’t support scanning.

wlan0 No scan results

linux-f0cv:~ # ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr E0:B9:A5:E1:BC:B7
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:4644 (4.5 Kb)

I am not sure about the Network Manager… how do I know if I am using network manager?
I am using KDE.

About the incosistent results part…

By default operating mode is “Managed”. If it is managed and if I do scan, it does not find any ESSID.
On the other hand if I change it to Ad-Hoc and scan, it seems to scan the network.
Probably that is what the difference between these two operating modes.

so if I set it to Ad-Hoc, I am able to scan but it still does not find the list of networks. I had to manually enter the essid and then it seems to remember.

What are the other settings? Is the encryption “WEP-open” with the ESSID key entered?

Here is what I get with scan after changing to ad-hoc mode.

linux-f0cv:~ # sudo /usr/sbin/iwlist scan
lo Interface doesn’t support scanning.

eth0 Interface doesn’t support scanning.

eth1 Interface doesn’t support scanning.

wlan0 Scan completed :
Cell 01 - Address: F2:4A:46:10:04:19
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=70/70 Signal level=0 dBm
Encryption key:on
ESSID:“att712”
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Ad-Hoc
Extra:tsf=0000000000000000
Extra: Last beacon: 15719ms ago
IE: Unknown: 0006617474373132
IE: Unknown: 010882040B160C121824
IE: Unknown: 030101
IE: Unknown: 06020000
IE: Unknown: 32043048606C
IE: Unknown: DD070050F202000100

Inspite of different settings that I tried, I am not able to connect to network using wireless…

I do see that ifconfig is showing TxPackets is constantly increasing with RxPackets staying at zero, after I set it to Adhoc mode. That seems to possibly indicate encryption setting related issue? I know for sure that the key is correct…

linux-f0cv:~ # ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr E0:B9:A5:E1:BC:B7
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:4644 (4.5 Kb)

To eliminate the network settings issue, I had set up another wireless router which had no encryption. But I see the same problem with that too.
I am not sure why it always gets only inet6 address. Also TxPacket keeps increasing but Rx does not. I dont see any indication from the router that it got any communication from this mac address… is there any other setting that matters?

inux-f0cv:~ # sudo /usr/sbin/iwlist scan
lo Interface doesn’t support scanning.

eth0 Interface doesn’t support scanning.

eth1 Interface doesn’t support scanning.

wlan0 Scan completed :
Cell 01 - Address: A6:8C:0E:CD:1F:24
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=70/70 Signal level=0 dBm
Encryption key:off
ESSID:“smc”
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s
Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Ad-Hoc
Extra:tsf=0000000000000000
Extra: Last beacon: 172456ms ago
IE: Unknown: 0003736D63
IE: Unknown: 010882040B160C121824
IE: Unknown: 030101
IE: Unknown: 06020000
IE: Unknown: 32043048606C
IE: Unknown: DD070050F202000100

linux-f0cv:~ # ifconfig wlan0
wlan0 Link encap:Ethernet HWaddr E0:B9:A5:E1:BC:B7
inet6 addr: fe80::e2b9:a5ff:fee1:bcb7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:547 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:170958 (166.9 Kb)

On 03/06/2012 09:36 PM, rahilakasim wrote:
>
> To eliminate the network settings issue, I had set up another wireless
> router which had no encryption. But I see the same problem with that
> too.
> I am not sure why it always gets only inet6 address. Also TxPacket
> keeps increasing but Rx does not. I dont see any indication from the
> router that it got any communication from this mac address… is there
> any other setting that matters?
>
>
> inux-f0cv:~ # sudo /usr/sbin/iwlist scan
> lo Interface doesn’t support scanning.
>
> eth0 Interface doesn’t support scanning.
>
> eth1 Interface doesn’t support scanning.
>
> wlan0 Scan completed :
> Cell 01 - Address: A6:8C:0E:CD:1F:24
> Channel:1
> Frequency:2.412 GHz (Channel 1)
> Quality=70/70 Signal level=0 dBm
> Encryption key:off
> ESSID:“smc”
> Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
> 9 Mb/s; 12 Mb/s; 18 Mb/s
> Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
> Mode:Ad-Hoc
> Extra:tsf=0000000000000000
> Extra: Last beacon: 172456ms ago
> IE: Unknown: 0003736D63
> IE: Unknown: 010882040B160C121824
> IE: Unknown: 030101
> IE: Unknown: 06020000
> IE: Unknown: 32043048606C
> IE: Unknown: DD070050F202000100
>
> linux-f0cv:~ # ifconfig wlan0
> wlan0 Link encap:Ethernet HWaddr E0:B9:A5:E1:BC:B7
> inet6 addr: fe80::e2b9:a5ff:fee1:bcb7/64 Scope:Link
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:547 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:1000
> RX bytes:0 (0.0 b) TX bytes:170958 (166.9 Kb)

The RX packets are not increasing because you have never associated. The TX
packets are due to the interface probing for APs.

With YaST => Network Devices => Settings, open the Global tab and select to have
your interface controlled by NetworkManager. After you exit, you may have to
install the plasmoid NetworkManager applet. Move the mouse to the lower
right-hand corner of the screen, right click and unlock the widgets (if
necessary), and then “add widgets”. Scroll right to the “Network Management”
icon and drag that to the status area. For safety, then lock the widgets.

Now, click on the new widget, select “Manage Networks” and enter the details of
your connection. When asked if you want to keep the secret in Kwallet, say “Yes”.

Just for comparison purposes on ease of use, I have 3-4 windows laptops and couple of mobile phones and 3 network media players… In each of these, it took at max 5 minutes to set up the wireless connection… sofar I have spent 3 days in trying to figure out how to enable the wireless on this system and still not successful.

This is a honest feedback which should not be taken in the negative sense, but should be taken as a data for improvement.

Thanks for the help! Could you let me know which is the status area?

I did the steps above.

I added the “Network Management” to the status bar. I believe it shows as a X in a Red color rectangular square icon. It shows that “no network interfaces”. When I open the settings, it has wireless grayed out. Wired is not grayed out but “add/edit/delete” is grayed out. Also it says “NetworkManager is not running. Please start it”…

Let me know if I am missing something…

On 03/06/2012 10:26 PM, rahilakasim wrote:
>
> Just for comparison purposes on ease of use, I have 3-4 windows laptops
> and couple of mobile phones and 3 network media players… In each of
> these, it took at max 5 minutes to set up the wireless connection…
> sofar I have spent 3 days in trying to figure out how to enable the
> wireless on this system and still not successful.
>
> This is a honest feedback which should not be taken in the negative
> sense, but should be taken as a data for improvement.

Believe me, Linux has improved a great deal in the past year or two.

Your laptop vendor(s) have a whole staff of experts dedicated to making sure
that wireless works “out of the box” on that computer. Here we have a few
volunteers working indirectly with no certainty that you are doing what you were
instructed to do. If you bring your laptop to my house, I will have it working
within 10 minutes.

Did you do the YaST thing? The red X indicates that you did not.

Yes. I agree that Linux has come a long way from where it used to be and thanks a lot for the help you guys are providing!

I did do the YaST thing ( go to globals tab and then change it to network manager). After I did that YaST said now it is managed by network manager and I need to use network manager to control things. Then I added the applet like you have mentioned. But when I added the applet it came up in red.

I am not sure if I miss anything else. I am not infront of my computer now. For the specifics, I will have to post in the evening.

If you click the applet > then Manage Connections SUSE Paste
Or is that not available to you?

Then like this
http://dl.dropbox.com/u/10573557/SUSE%20Misc/kde-wireless-new.png