LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Wicd / wireless can't get IP address (https://www.linuxquestions.org/questions/slackware-14/wicd-wireless-cant-get-ip-address-730548/)

BobNutfield 06-04-2009 05:02 PM

OK, if this is a USB stick with the rtl8187B chipset, reboot with only that one plugged in. After rebooting with the adapter plugged in, run

Quote:

lsmod | grep rtl

and make sure you see rtl8187 driver is loaded. You should see something like this:

Quote:

rtl8187 43772 0
mac80211 155556 1 rtl8187
eeprom_93cx6 1692 1 rtl8187
cfg80211 36436 2 rtl8187,mac80211

The kernel should detect it automatically when you boot with it plugged in and load the modules. Are there any lights on the stick? If so, do they come on or flicker while booting? If you see any light activity at all, open a terminal and type, as root:

Quote:

iwlist wlan0 scan
see if the output is your network ID. Post back these results. If these are successful (your network showing up in this command), then it will be just a matter of setting up the card. Make sure you do not have the Broadcom card connected when you reboot or it will load a conflicting driver.

Bob

Innervision 06-04-2009 05:54 PM

Code:

rtl8187 48768 0
mac80211 158108 1 rtl8187
eeprom_93cx6 5888 1 rtl8187
cfg80211 27144 2 rtl8187,mac80211

Is my output from
Code:

lsmod | grep rtl
There are no lights, however using the "iwlist wlan0 scan " I saw my network, as well as a bunch of others. This is progress.

In my wicd settings, WPA supplicant driver is set to wext, and wireless interface is set to wlan0. In the advanced settings, I'm not sure what to put for "Use Static DNS" if that matters.

Bruce Hill 06-04-2009 06:23 PM

Using WPA supplicant with wicd, wext is the correct choice. There
are two things I would suggest you check:

First, using wicd, you must have an unedited /etc/rc.d/rc.inet1.conf
file, or it won't work.

Another thing that hung me on wicd -- in Advanced Settings for the
wireless when it asks for "WPA 1/2 (Passphrase)" I was putting in
the hexadecimal value for the PSK I generated. However, that is not
what it's asking for -- it wants the Passphrase used to generate the
PSK. If you used this command "wpa_passphrase YOURSSID passphrase" to
generate that key, then the passphrase you used is what wicd requires.

In the Advanced Settings static DNS is the DNS servers for your ISP.
You can get them from your router -- easiest way I know.

Innervision 06-04-2009 07:08 PM

Well it says I've made a connection, but the signal is very weak (about 14%), and I can't actually visit any sites yet (page load error in Firefox, trying to access Google).

Bruce Hill 06-04-2009 07:20 PM

So post all your wireless settings at present, and the output of:
Code:

iwconfig wlan0
ifconfig wlan0
egrep -v "(^#|^ *$)" /etc/rc.d/rc.inet1.conf
cat /etc/wicd/wireless-settings.conf

What are you using ... /etc/rc.d/rc.inet1.conf or wicd?

Did you put the DNS servers from your router into wicd?

Innervision 06-04-2009 07:45 PM

iwconfig wlan0:
Code:

wlan0    IEEE 802.11bg  ESSID:"" 
          Mode:Managed  Frequency:2.437 GHz  Access Point:
          Bit Rate=2 Mb/s  Tx-Power=27 dBm 
          Retry min limit:7  RTS thr:off  Fragment thr=2352 B 
          Encryption key:off
          Power Management:off
          Link Quality=14/100  Signal level:65/65 
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0  Missed beacon:0

ifconfig wlan0:
Code:

wlan0    Link encap:Ethernet  HWaddr 
          inet addr:(hidden)  Bcast:Mask:255.255.255.0
          inet6 addr:  Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:240 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:14616 (14.2 KiB)

egrep -v "(^#|^ *$)" /etc/rc.d/rc.inet1.conf:
Code:

IPADDR[0]=(hidden)
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""
IPADDR[1]=""
NETMASK[1]=""
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""
IPADDR[2]=""
NETMASK[2]=""
USE_DHCP[2]=""
DHCP_HOSTNAME[2]=""
IPADDR[3]=""
NETMASK[3]=""
USE_DHCP[3]=""
DHCP_HOSTNAME[3]=""
GATEWAY="192.168.1.1"
DEBUG_ETH_UP="no"

cat /etc/wicd/wireless-settings.conf:
Code:

afterscript = None
ip = (hidden)
passphrase = )hidden)
quality = 13
strength = -1
disconnect = 1
encryption = True
beforescript = None
hidden = False
channel = 6
essid = (hidden)
has_profile = True
netmask = 255.255.255.0
enctype = wep-passphrase
dns3 = None
dns2 = None
dns1 = 4.2.2.1
use_settings_globally = 0
use_static_dns = 1
encryption_method = WEP
mode = Master
automatic = False

I am using wicd. I put a DNS server in the DNS1 slot, 4.2.2.1 was just something I found online to try.

wicd general settings:
Use global DNS servers is NOT checked.
Wireless interface: wlan0
Wired interface: eth0

Advanced settings:
Use global DNS servers NOT checked
DNS1: 4.2.2.1
DNS2: blank
DNS3: blank
Encryption: WEP (Passphrase)

Bruce Hill 06-04-2009 09:21 PM

You can't use custom settings in /etc/rc.d/rc.inet1.conf with wicd.
Either choose to use one or the other. If you never travel with this
box, there's really no need to use wicd; but again, it's your choice.

Also, you need to get YOUR DNS servers from YOUR router. Look under
Status -- that's where they're found in LinkSys routers.

I see wicd says you're using WEP, but you once said you use WPA.
However, iwconfig states
Code:

"Encryption key:off"
so atm you're not using either one. Decide which one, but you should
just try without encryption first to see if you connect and can use it.
I don't remember how to setup WEP, as it's basically useless -- especially
where I live. If you can't do that, someone can help. I think that is
also covered in Alien Bob's wiki on Slackware wireless.

Here's a sample /etc/rc.d/rc.inet1.conf that should work for you:
Code:

# Config information for eth0:
# IFNAME[0]="eth0"
# IPADDR[0]="192.168.1.11"
# NETMASK[0]="255.255.255.0"
# USE_DHCP[0]=""
# DHCP_HOSTNAME[0]=""

# Config information for wlan0:
IFNAME[1]="wlan0"
IPADDR[1]="192.168.1.12"
NETMASK[1]="255.255.255.0"
# USE_DHCP[1]=""
# DHCP_HOSTNAME[1]=""
WLAN_ESSID[1]="insert your essid"
WLAN_MODE[1]=Managed
WLAN_RATE[1]="54M auto"
WLAN_CHANNEL[1]="auto"
# WLAN_WPA[1]="wpa_supplicant"
# WLAN_WPADRIVER[1]="wext"

# Default gateway IP address:
GATEWAY="192.168.1.1"

# Change this to "yes" for debugging output to stdout.  Unfortunately,
# /sbin/hotplug seems to disable stdout so you'll only see debugging output
# when rc.inet1 is called directly.
DEBUG_ETH_UP="yes"

NB: That is for trying without encryption, since I don't remember
how to setup WEP.

lumak 06-04-2009 11:17 PM

I find with my card (BCM4306) that I have bad support with the b43legacy drivers. Certain functions are missing, more importantly I can't force a change of the essid while it is up. I have to wait 5 minutes for it to decide to kick in. I eventually gave up and went with the ndiswrapper to load windows 2000 drivers for my card which fixed all the non functional operations. However my card still has problems initializing with just the ndiswrapper. I put the following in my rc.local and blacklisted the modules to prevent auto loading of it.

/sbin/modprobe b43legacy
/sbin/ifconfig wlan0 up
/sbin/modprobe -r b43legacy
/sbin/modprobe ndiswrapper

On slackware 12.2, I also did not attempt to configure the wireless settings with the startup scripts rc.inet1.conf and rc.wireless.conf. If installed Wicd should handle all of this for you... unless you need internet support in console without loading x. I would search the wireless forum and the internet for ndiswrapper information. The extra tools you need to 'cut' the driver from binary packages are available at SlackBuilds.org

My solution for the drivers probably isn't the best but it works for me.

You may also want to see the slackware notes on wicd located at /usr/doc/wicd-<version>/README.SLACKWARE. It basically confirms that you don't want to configure the wlan0 interface at all using the startup scripts.

Also... any problems you may be noticing may be the drivers them self. Like I said, I had problems with changing my essid after I had already booted and loaded the modules. Even unloading and reloading the module would not let me reinitialize the essid. It would literally take 5 to 10 minutes... I had no clue what "I was doing wrong" when in reality I was doing everything right.

Innervision 06-05-2009 11:29 AM

I got it working!!! Thanks so much everyone! :)
I ended up not using wicd, and just editing the rc.inet1.conf, based on Bruce Hill's suggestions.


All times are GMT -5. The time now is 12:19 AM.