Open Letter to D-Link - Please help Linux users by providing *.inf and *.sys files (instead of Setup.exe)

So recently I was working on a computer for a customer of mine who wanted to replace Vi$ta on her computer with Ubuntu GNU/Linux Hardy Heron. The customer really, really doesn't like Vi$ta, and I don't blame her, but that is a story for another day.

The real reason for this posting is to hopefully alert the D-Link company to a problem that us GNU/Linux users are faced with when using their products, in this case the D-Link DWA-130 Ver:A1 USB wireless adapter.

First of all, I believe D-Link products are good products, I really do. However, for some of the D-Link products to work on GNU/Linux, we are forced to use the ndiswrapper because there are no Linux drivers available(yet). As for using the ndiswrapper, the ubuntuforums.org says we can use the ndiswrapper for the DWA-130 here.

Using the ndiswrapper is not a big deal to me, since I simply fire up the sudo ndisgtk utility to then load the *.inf (win) driver.

BUT THE PROBLEM IS D-LINK DOES NOT LET ME DOWNLOAD THE *.inf and *.sys files directly, and instead I have to download the Setup.exe driver package, which I am not able to extract on Linux (if someone has a way of easily doing this, please post a comment).

So this problem creates a situation where you have to have WinXP to install the Setup.exe file, thereby extracting the needed *.inf and *.sys files to the Windows directory. You can then copy the files over to your Linux machine and use the sudo ndisgtk command to load the required oem9.inf (Mrvw243.sys &MRVW245.sys) files.

DEAR D-LINK COMPANY: PLEASE PROVIDE ACCESS TO THE RAW *.sys AND *.inf DRIVER FILES FOR YOUR NETWORKING PRODUCTS SO THAT WE LINUX USERS ARE NOT REQUIRED TO FIRST LOAD YOUR DRIVERS ONTO THE WINXP MACHINE BEFORE WE CAN USE THEM ON LINUX. TO REQUIRE WINXP TO GET YOUR DRIVERS, THIS IS SUPPORTING A MONOPOLY OF OPERATING SYSTEMS AND YOUR COMPANY SEEMS FAR TOO REPUTABLE TO SUPPORT AN OPERATING SYSTEM MONOPOLY. PLEASE HELP!! THANK YOU FOR YOUR SUPPORT, GNU/LINUX USERS EVERYWHERE.

As for loading the drivers for DWA-130, here's how I made it work, but this is a bad way of doing it because it requires WinXP here

Sincerely,

Shannon VanWagner
GNU/Linux Enthusiast and IT Professional

Comments

  1. Try running the setup.exe with wine. It has worked for me.

    Kosta

    ReplyDelete
  2. It sounds like you need cabextract. Unlucky souls with Broadcom-based wireless chipsets have been using it to get the oh-so-important bcmwl5.inf file from various manufacturer installer executables for quite some time now.

    ReplyDelete
  3. i found a quick and dirty workaround using WINE also, besides installing cabextract and unshield:

    if you have WINE installed, use either the downloaded .zip file or the installation CD for the DWA-130. run the setup.exe with WINE. and let it go through the installation until it asks you to connect the device. stop there.

    open your .wine directory, go to the windows directory and broswe for the file usbdevice. in there are the driver files. you'll want the netmw245.inf file. copy that to your home directory. you can now install it with ndiswrapper.

    note: when you close the D-Link setup window the driver files will be gone from your .wine drive_c windows directory. so be sure to copy them to another directory before you close D-Link setup.exe window.

    also i don't know if "usbdevice" will always be the name of the directory created in the .wine windows directory. but looking around in it, if not, you should find the drive files folder.

    i had to plug/unplug the adapter and run "ndiswrapper -l" and "sudo dmesg | grep ndis: and then "sudo modprobe ndiswrapper" to check and make sure the driver was loaded. but after that , it blinked on connected. works great so far.

    ReplyDelete
  4. i found a quick and dirty workaround using WINE also, besides installing cabextract and unshield:

    if you have WINE installed, use either the downloaded .zip file or the installation CD for the DWA-130. run the setup.exe with WINE. and let it go through the installation until it asks you to connect the device. stop there.

    open your .wine directory, go to the windows directory and broswe for the file usbdevice. in there are the driver files. you'll want the netmw245.inf file. copy that to your home directory. you can now install it with ndiswrapper.

    note: when you close the D-Link setup window the driver files will be gone from your .wine drive_c windows directory. so be sure to copy them to another directory before you close D-Link setup.exe window.

    also i don't know if "usbdevice" will always be the name of the directory created in the .wine windows directory. but looking around in it, if not, you should find the drive files folder.

    i had to plug/unplug the adapter and run "ndiswrapper -l" and "sudo dmesg | grep ndis: and then "sudo modprobe ndiswrapper" to check and make sure the driver was loaded. but after that , it blinked on connected. works great so far.

    ReplyDelete
  5. i found a quick and dirty workaround using WINE also, besides installing cabextract and unshield:

    if you have WINE installed, use either the downloaded .zip file or the installation CD for the DWA-130. run the setup.exe with WINE. and let it go through the installation until it asks you to connect the device. stop there.

    open your .wine directory, go to the windows directory and broswe for the file "usbdevice". in there are the driver files. you'll want the netmw245.inf file. copy that to your home directory. you can now install it with ndiswrapper.

    note: when you close the D-Link setup window the driver files will be gone from your .wine drive_c windows directory. so be sure to copy them to another directory before you close the D-Link setup.exe window.

    also i don't know if "usbdevice" will always be the name of the directory created in the .wine windows directory. it may be named something else. but if you look around you should find the driver files folder.

    i had to plug/unplug the adapter and run "ndiswrapper -l" and "sudo dmesg | grep ndis: and then "sudo modprobe ndiswrapper" to check and make sure the driver was loaded. but after that , it blinked on and connected. works great so far.

    ReplyDelete
  6. Hi,
    I have the exact same issue except I am using the D-Link Airplus DW630 wireless card. I am okay with getting the .SYS and .INF files from the Win XP machine where the driver was originally installed but I do not know which .SYS and .INF files I should get and from where

    ReplyDelete
  7. I have the same exact issue except that I have a D-Link Airlplus DW630 wireless card (in PCMCIA slot). I am okay with getting the .SYS and .INF file from the WinXP machine where it was originally installed but I would like to know which exact files to get and where they are located in Windows.

    ReplyDelete
  8. @anonymous, so is that the DWL-G630? Here are the links for the drivers that I found:

    Ver. A1
    http://support.dlink.com/products/view.asp?productid=DWL%2DG630

    Ver. B1
    http://support.dlink.com/products/view.asp?productid=DWL%2DG630%5FrevB

    Ver. C1
    http://support.dlink.com/products/view.asp?productid=DWL%2DG630%5FrevC

    Note: In XP, you would find the driver by looking at the device manager "Device ID" properties for the Wireless adapter. You could then search for files containing the "Device ID" in the \w*nd*ws\INF(or drivers) folder. If you open the .inf file with a text editor, it will show which *.sys files are being used and you could then find those in %SYSTEMDRIVE%\System32 folder(I think) or you could search your computer for that file anyway.

    I was able to install the Ver. C drivers into my wine installation (winehq.org), and looking at the configuration - it looks like the files net5211.inf and ar5211.sys are used for the Ver. C adapter.

    So apparently it is possible to install D-Link's setup.exe files into Wine on Linux, if you don't mind muddying up your installation of it. You could then look in the /home/(username)/.wine/drive_c/w*nd*ws/inf
    folder and find the net5211.inf and /home/svanwagner/.wine/drive_c/w*nd*ws/system32 for the ar5211.sys file

    Hopefully that makes enough sense to help.

    Let me know if I can assist further, in which case please provide the version of your adapter.

    Congratulations on your freedom!!

    Shannon V.

    ReplyDelete
  9. Thanks for the reply. I found the “.SYS” and “.INF” files for the network card from an Windows XP machine and copied them to TinyMe and created the ndiswrapper successfully. However after the driver is installed, it still does not detect the network card. I get the messages below.

    No device supporting net5211 ndiswrapper is presentl
    Firmware files are needed for this driver.

    This is a PCMCIA card. When I run the “lspci” command it does not list this particular hardware. Any ideas to resolve this?

    ReplyDelete
  10. @anonymous - Perhaps you could checkout this link for help:
    http://ubuntuforums.org/showthread.php?t=4200

    Also, I'd be glad to look around some more for you but I need some more specific information about your wireless adapter:

    Is the adapter in fact a D-Link DWL-G630?

    If so, what revision is your device(shows on the back of the card at the lower portion of the barcoded label)?

    And, could you create two text files with the output from sudo lspci >> /home/yourusername/Desktop/output1, the first with the adapter unplugged, and second with the adapter plugged in, then find the new entry that appears on the second output file and post it here so we can see what it says?

    There should be something that shows up in lspci, even if it's an unknown device - we can still lookup the device id.

    Regards,

    Shannon

    ReplyDelete
  11. Yes, the wireless card is D-link Airplus DWL-G630. I do not have the output of the lspci command right now but I am pretty sure it did not list any wireless or unknown devices.

    I did try a USB Wirless Adaptor (Netgear WG111) last night. I copied the .SYS and .INF files but when I try to create the ndiswrapper for it (ndiswrapper –i), it simply “hangs”. It does turn on the blue light on the network adaptor and if run the “lsusb” command it shows the device. However, as mentioned earlier, the “ndiswrapper” command just hangs and I have to end up rebooting the machine.

    I am really frustrated. This is a very old laptop (IBM Thinkpad P300 Mhz, 164 M memory) that I am trying to salvage by running Linux (TinyMe). I could try Ubuntu instead of TinyMe but the resource requirements for it are probably much higher.

    ReplyDelete
  12. @anonymous, when you plugin your Netgear WG111 and run the lsusb command, what is the hardware information for that device?

    Perhaps something on this page can help:
    http://ubuntuforums.org/showthread.php?t=51993

    Also, I don't want to dissuade you from using the GNU/Linux distro of your choice but perhaps you could try booting up your machine with Xubuntu LiveCD(made for older computers) with either of the devices plugged in to see if that makes any difference.

    ReplyDelete

Post a Comment

Thanks for commenting. Comments are moderated by the blog owner and will appear once approved. Need to email me directly? Go to http://shannonvanwagner.com/email-me.php

Popular posts from this blog

How To Connect Ubuntu Linux to Cisco VPN with openconnect (anyconnect-capable alternative)

(updated) How To: Ubuntu 16.04 GNU / Linux - Netgear Wireless AC Adapter AC600 ( AC6100 ) Dual Band

How To Set Default Grub / kernel / boot option on Ubuntu GNU/Linux 14.04