LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-13-2007, 12:33 PM   #1
2Gnu
Senior Member
 
Registered: Jan 2002
Location: Southern California
Distribution: Slackware
Posts: 1,880

Rep: Reputation: 51
Documenting ndiswrapper challenges & fixes


After banging my head on the wall for a few hours yesterday, I thought I'd document some results in case someone else can benefit.

I've been using ndiswrapper on a Dell D400 with a TrueMobile 1400 card for some time, with decent results. My work laptop, I use it for hotspots when traveling and occasionally with my home network (was WEP + EAP/TLS for a long time, now WPA-PSK). Slackware 10.2, 2.4.29 kernel. My personal laptop was a Dell C600, Slackware 11, 2.4.33 kernel and an Atheros card using MadWiFi and wpa_supplicant.

The C600 was showing its age and I replaced it with a D800. Moving the drive over from the old machine, I wanted to use the internal TrueMobile 1350 card instead of the Atheros Cardbus. That meant installing ndiswrapper.

I grabbed the latest, released ndiswrapper code, moved the bcmwl5.inf and .sys files from the D400 to the D800 on a USB drive. All went well and I was up & running in a few minutes by calling wpa_supplicant manually:
Code:
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D ndiswrapper
I could have left things there, but for a few annoyances: The BIOS on the D800 doesn't support APM and the 2.4.33 kernel I was using didn't much like ACPI. The system beep was intolerably loud and the volume keys don't work under Linux without some key mapping (a project for another day). Even plugging in headphones didn't stifle it. Knowing that the PC Speaker is a kernel module in 2.6, I could kill the beep by removing the module. Finally, I was getting an occasional hang on boot after installing ndiswrapper. Time to move to the 21st century and 2.6.

After taking the BIOS to the latest, A13, I installed a 2.6.18 pre-built Slack kernel, along with kernel source and modules. Some clean-up and prep specific to Slack and my install was next: Removed old files from /boot, made sure the symlinks were correct for the new kernel, made an initrd for the 2.6.18 kernel with a Reiser module, fixed symlink for /etc/rc.d/rc.modules, blacklisted the bcm43xx and pcspkr modules, added the ndiswrapper and tg3 (Broadcom gigE wired NIC) modules edited /etc/lilo.conf and ran lilo.

It booted! uname -a confirmed I had finally moved from whale oil lamps to electric lights. Recompiled nVidia driver and restarted X. Ran alsaconf and got sound back. Tried a tab-complete in bash and got no beep. Ahh. Now, to the wireless.

Nada. "Association request to the driver failed" errors. I checked & re-checked my wpa_supplicant config file, recompiled and reinstalled both ndiswrapper 1.34 and wpa_supplicant 0.4.9. Same errors. Googled, cursed, repeat.

Finally, I found some information on the wext driver and gave it a shot.
Code:
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -D wext
Bang! Authentication succeeded. I pulled an IP address and I was off & running. Speed tests showed that performance was up to par. I went back in and edited the inet1.conf file so that things should come up automatically on boot. Here are the relevant config files:
wpa_supplicant.conf:
Code:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

network={
  scan_ssid=0
  ssid="myssd"
  proto=WPA
  key_mgmt=WPA-PSK
  pairwise=CCMP TKIP
  group=CCMP TKIP WEP104 WEP40
  psk="secretpsk"
}
inet1.conf:
Code:
IFNAME[4]="wlan0"
IPADDR[4]=""
NETMASK[4]=""
USE_DHCP[4]="yes"
DHCP_HOSTNAME[4]=""
GATEWAY="192.168.1.1"
WLAN_ESSID[4]=ssid
WLAN_MODE[4]=Managed
#WLAN_RATE[4]="54M auto"
#WLAN_CHANNEL[4]="auto"
WLAN_WPA[4]="wpa_supplicant"
WLAN_WPADRIVER[4]="wext"
The system authenticates and pulls an IP on boot without any manual fiddling. The only lingering issue is the occasional boot hang. No errors, just a hard hang that requires holding the power button to kill. Less frequent than with the 2.4 kernel (different IRQs are being used and I've tried disabling things like the parallel and infrared ports in BIOS to minimize the chance of conflict). I think my options boil down to a) trying different versions of ndiwrapper, b) going back to my ZyXEL G-102 card or c) swapping out the Broadcom miniPCI for an Atheros card.

Sorry for the War And Peace style post, but someone else whose head is sore from wall-banging will find something useful, I hope.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Suse 10.1 & Belkin F5D7051 & ndiswrapper NogungHo Linux - Wireless Networking 7 10-25-2006 02:22 PM
LXer: Linux: Documenting Memory Barriers LXer Syndicated Linux News 0 04-03-2006 08:21 AM
documenting c code sibtay Programming 2 01-02-2005 04:07 AM
FYI: Ndiswrapper, Kernel-Source 2.6.9-4, Linux-2.6.10 && Couple O' Questions Outabux Debian 0 12-29-2004 03:13 PM
bug fixes bu&(^*%%* up system??? Zarik Linux - Newbie 0 02-26-2004 02:36 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 04:56 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration