Diff for "WifiDocs/WirelessTroubleShootingGuide"


Differences between revisions 54 and 55
Revision 54 as of 2010-10-04 12:14:17
Size: 36774
Editor: 152-239-92-178
Comment:
Revision 55 as of 2010-10-04 12:15:50
Size: 36781
Editor: 152-239-92-178
Comment:
Deletions are marked like this. Additions are marked like this.
Line 738: Line 738:
{i} Notice the bind line which states what driver should be allocated to the device. You will need to find what driver your device uses. More on that in the next step. {i} Notice the bind line which states what driver should be allocated to the device. You will need to find what driver your device [[http://essay-for.me/prices.php|buying essays]] uses. More on that in the next step.
Line 756: Line 756:
   Let's decode the first line: bus 0 (primary) is bridged to busses 2 (secondary) to 4 (subordinate) by a bridge. The second and the third line state that bus 2 is bridged to busses 3-6, and 7-10. However, the CPU (which itself is connected to bus 0 through the root bridge [[http://perfectresume.org/|resume help]]) needs to be able to access all these busses. If you try to walk the tree to bus 7, for example, you see that the CPU can't get there, as bus 0 is only bridged to busses 2 to 4.    Let's decode the first line: bus 0 (primary) is bridged to busses 2 (secondary) to 4 (subordinate) by a bridge. The second and the third line state that bus 2 is bridged to busses 3-6, and 7-10. However, the CPU (which itself is connected to bus 0 through the root bridge) needs to be able to access all these busses. If you try to walk the tree to bus 7, for example, you see that the CPU can't get there, as bus 0 is only bridged to busses 2 to 4.

Tag/tag.png

Style Cleanup Required
This article does not follow the style standards in the Wiki Guide. More info...

A Quick Check

  • Left click on the panel applet (four vertical bars in 9.10 or older; 4 concentric arcs in 10.04). If you can see wireless networks, then your wireless works; you need to connect to a network. See below on network connection.

Purpose

This guide can serve as a checklist for troubleshooting your wireless network connections. While it may not solve all your problems, it can hopefully steer you in the right direction.

Overview

1. Steps

  1. A Rapid Overall Check

  2. Check for Device Recognition

  3. Check for driver

  4. Check for network connection

  5. Check for ip address assignment

  6. Connected but no internet

  • These are best approached in order.

1.1. Config files

  • Config files used in wireless are listed with notes about the particular file

1.2. Commands

  • This contains the commands associated with troubleshooting wireless. Details about the command and some basics of what it does will be given. When going through the steps, where commands are given they link to the command section.

  • With each command will be an example with key points noted.
  • For more information on each command check the manual.
    • man <command>

  • Where a word appears inside <>. you need to input a value to complete the command. Do not include the <> symbols in your command.

    • eg Where you see <ath0> you need to replace this with your device's logical name (could be ath0; wlan0; eth1; etc...)

Troubleshooting Steps

1. Rapid Overall Check

  • Ubuntu installs the NetworkManager program to manage your connections by default. The command

nm-tool

typed in a terminal will output the information Network Manager has collected about your card, and is a collection of much of the information the individual commands given throughout use.

  • If the output starts with

State: connected

(and you are not on a wired connection) then your wireless is working.

2. Check Device

  • To check if device is recognized use the lshw -C network command. If a wireless device shows up then you can check off step I

3. Device Drivers

  • First you should check if a driver automatically loaded. (Your device may be supported in Ubuntu with a native driver.) Use the lshw command. As explained under lshw, if there is a line saying "configuration: ...driver=..." in the description of the wireless card, this indicates the driver is installed.

  • If you are not running the most recent kernel, update your system (System > Administration > Update Manager). Drivers, especially wireless, are constantly being added and modified.

3.1. Native Linux Drivers

  • Check in System > Administration > Hardware Drivers for a binary driver. For instance, many Broadcom cards will work with the Broadcom STA driver. Unfortunately, the driver is proprietary (the source code is not freely available), and so cannot be installed automatically as part of Ubuntu. If you are willing to accept this limitation, activate the driver.

  • Search your card manufacturer's website for a Linux driver.

3.2. ndiswrapper for non supported cards

If you find your card does not have a Linux driver you will have to look at an app called ndiswrapper.

3.3. Check driver

  • If you ran lshw -C network and saw a driver bound to the device then let's test to make sure it's communicating with the kernel.

    1. run the command lsmod to see if driver is loaded. (look for the driver name that was listed in the output of lshw, "configuration" line).

      • If you did not see the driver module in the list then use the modprobe command to load it. If you see two modules (usually ndiswrapper and a native Linux driver) blacklist one of them (see below).

    2. run the command sudo iwconfig. If you see output like in the example in the command section then the driver is at least identifying the device as a wireless device to the kernel.

      1. Opening networking in system>administration> and seeing the device in the list is how to identify through a gui if the driver is at least communicating with the kernel.

    3. run the command sudo iwlist scan to scan for a router. If an access point is identified this shows that the card is probably working properly as it can complete a wireless interface task. (note not all cards support scanning)

3.4. Multiple drivers loaded

  • For some cards (e.g., SMC2632W v1.02), an additional set of drivers is incorrectly loaded, effectively disabling wireless networking by generating two apparent wifi cards where there should only be one. Typically, you'll see entries for both eth1 and wlan0_rename after running the iwconfig command, with your communication speed divided evenly between them. One of those drivers should not be loaded, and should be blacklisted. To do so, edit /etc/modprobe.d/blacklist and add the following lines:

      blacklist <drivername>
      blacklist <drivername>_cs

    where <drivername> is, for example, "hostap" (the "hostap" driver apparently causes problems for several cards). Then save, reboot, and check your connection with iwconfig.

3.5. Driver looks ok, device disabled

  • Newer laptops come with battery saving features to disable the wireless radio. Usually this is switched by a FN+Fx key combo or a specific button for the purpose. It is possible the driver and connection is ok but the wireless device is disabled and can't be used. Using the designated key(s) in linux sometimes does not work. Options for identifying this:
    1. rfkill list will show if there is a hardware or software block.

    2. lshw command you see *-network:1 DISABLED or wireless=radio off

    3. If you run the iwconfig command you see eth1      NOT READY!.

    So how do you rectify this? It varies so much the exact solution can't be put here in this document for all the different models. So...
  • Look at the LaptopTestingTeam page on the team wiki to see if your laptop is listed with any information.

  • Do a google search using terms such as manufacture, model, linux, wireless, enable, button, radio....etc. When searching and finding similar pages that don't help, use words that are used in those pages to help you search.
  • Go to the ubuntu forums and ask, maybe someone else has the same laptop and knows the work around.

  • Some laptops have a controller chip on the motherboard that is only accessible through a different OS. If you have turned off your WiFi card in a different operating system, you may have to boot back into that OS and enable the card before it is accessible to Linux.

4. Router Connection

  • With the driver loaded go to the panel applet. Select your wireless network (or "Connect to Hidden Wireless Network.." for encrypted wireless), enter your networking info, and then try to activate.
    1. You should see on the panel applet an active connection.
    2. You can check if you're associated to a router by running the command sudo iwconfig.

  • You can also connect to the router via the command line using a Manual Connection- see below.

  • If you cannot connect to the router then try these.
    1. Change your router to an open signal (instead of encrypted). This may be an unattractive option but it's a short term one to make sure the card and router can connect. Once you've verified this then you can add encryption back in.
      1. When using wep more people seem to have success using an open key instead of shared and a hexadecimal method instead of ascii. But there should be no reason any setting shouldn't work. Try the settings you want and consider adjusting if you have problems.
      2. To get wpa working you may need to install the wpasupplicant from the repositories. There are instructions for various drivers on using wpa. See notes on wpa below.
    2. Use network manager or remove it and try gtk wifi, or wifi radar. of course this is not an option if you can not connect to the internet without wireless

    3. Try booting with kernel option pci=noacpi or acpi=off as acpi sometimes conflicts with network devices. The second option will affect power management.
    4. Check for firmware update on the router and update it if there is newer firmware custom research paper available.

    5. Make sure that your wireless adapter is compatible with the encryption type used by the router. Older adapters (such as 802.11b) are often not able to handle WPA or WPA2, at least not without a firmware upgrade.

4.1. Notes on wep

  • ubuntu wep faq

  • If you have a 10 digit wep key try entering it in this format xxxx-xxxx-xx (include dashes)
  • Use an open setting instead of shared when using wep
  • When using wep, check driver files such as README as some drivers need a command to adjust the mode to work properly. Here are a couple examples.
    • Madwifi driver needs to change to authmode 2 when using shared key setting.
      • manually from command line iwpriv ath0 authmode 2

      • add line pre-up iwpriv ath0 authmode 2 to interfaces file to automate during boot

    • For ipw2200 driver interface file should say wireless-key restricted <key>

4.2. Notes on wpa

(i) There have been a few posts where no association is established with router even on an open signal. At the point of writing this line, no answer has been seen to why this happens. A router reboot has been noted once to resolve but in other situations has caused heartache as network settings need to be set up again. Booting with acpi=off or noapci should be tried.

5. ip assignment

  • Now that you have association to the router did you get an ip assigned to the device? This can be checked two ways.

    1. Run the command ifconfig and look for an assigned ip.

    2. You can always try to ping the router with the routers ip. A lot of home routers use something similar to 192.168.0.1 You'll have to find what that ip address is to ping.

    If you do not have an ip then here are things to try

    • Using DHCP
      sudo dhclient <ath0>
    or
      sudo invoke-rc.d networking restart

after running the invoke-rc.d command try dhclient ath0 again

You may want to try and reboot making sure your networking interfaces file is set up properly.

If you can connect to the router, but can't get an ip, it may be because you put the wrong WEP key in.

* Using Static ip assignment

  •   sudo ifconfig <ath0> down
      sudo ifconfig ip addr 192.168.x.x netmask 255.255.255.0 broadcast 192.168.x.255 up
    where the x = an ip address in your network range.
      sudo route add default gw <router_ip> dev <ath0>
  • Now try to ping your router and a website. If you're connected now and have an ip assigned but can not surf website then move on to next section.

  • You will need to make sure your interfaces file writing services is set up properly so you get internet again when you reboot

6. Connected but no internet

6.1. DNS

  • If you are connected to your router and have an ip address assigned to your wireless device but can't search the web, you will need to check to see if you have a DNS nameserver set

    • A simple test to see if it's a DNS server setting is to use the ping command. If you can ping an external site via ip address but can't load a web page in your browser then it is possible you have a DNS server problem.

    • Check this file to see if there is a DNS server listed.
      cat /etc/resolv.conf

  •   search telus.net
      nameserver 209.53.4.130
      nameserver 209.53.4.150
    • Use the Google DNS servers at 8.8.8.8 and 8.8.8.4 to check if your local ones are the problem.
    • Your DNS server settings can also be identified by calling your isp provider and asking them.

    You can set up your dns settings so they don't change.

    • StaticDnsWithDhcp:StaticDnsWithDhcp

6.2. IPV6

  • The internet standard is currently considered ipv4. The new standard, ipv6, is slowly being implemented to replace ipv4. Because it's not widely used at the moment, ipv6 can cause problems. It is enabled by default in Ubuntu. This can cause no internet if above seems ok.

    • Firefox specific
      • In the address bar type about:config. Find this line network.dns.disableIPv6 and double click on it to change the value to true.

    • System wide
      • Open the file /etc/modprobe.d/aliases
        Add the first three lines to the file. The line with # starting is already in the file. Find it and add the # in front of it.

    alias net-pf-10 ipv6 off
    alias net-pf-10 off
    alias ipv6 off
    #alias net-pf-10 ipv6

    After making these changes a reboot is required.

Connection Established, Problems Persist

  • This section is reserved for solutions to problems where you can get connected but the connection is unstable. If you find a solution to your problem that's not here, please edit this page and add your solution.

1. Dropped Connections

  1. One common problem is channel interference. Cordless phones and other wireless devices can interrupt your wireless connection. If you are having a problem with dropped connections then try using a different channel. Use
  •   sudo iwlist scan

to check what wireless channels are being used in your immediate area.

  1. Network-Manager; Wifi-radar; and gtk wifi can cause dropped signals every so often as they scan the interfaces, causing the connection to drop. You can try uninstalling these apps to see if your problem goes away, but doing so will remove any GUI tools that you may or may not have been using to configure and monitor your wireless connections. If removing these tools solves your problem, please file a bug report on the product's launchpad page to help improve the app's performance.

2. Connected, Issues with Certain Websites

  1. Disable IPV6.

3. Incorrect Driver Loads at Boot

  1. Some devices will have multiple drivers, and some will function better than others. To prevent a specific driver from loading during boot, read the modprobe command section.

Config Files

  • The following is a list of important config files used with wireless
    • /etc/network/interfaces
      This is where your interface settings for the network are kept sample

      1. man interfaces has information about this file.

      2. Network Manager cannot manage any interfaces that are named in this file. If you wish to use it (it is the default in Ubuntu and has been for some time) delete or comment out (with a # at the start of each line)your interfaces except for the two lines referring to lo (this is an internal loopback).
      3. For a little more detailed info on the interfaces file look at the file in /usr/share/doc/ifupdown/examples/network-interfaces.gz. You can read through it with the cat command and then adding | less to the end of the command.

      4. For pcmcia users who want to start your card at boot do not use an auto stanza. add map <ath0> to the file. So here is an example of what it would look like.

  • Check your routers settings to ensure it can accept another connection.
    1. Check your /etc/network/interfaces file. If you are on an older version of Ubuntu than 8.10, you should have something similar to this (newer versions only contain the first 3 lines):

  •   # The loopback network interface
      auto lo
      iface lo inet loopback
    
      # This is a list of hotpluggable network interfaces.
      # They will be activated automatically by the hotplug subsystem.
      # With lines # out these don't work. If they were removed this would hotplug only eth0 when cable is plugged in with active network
      #mapping hotplug
      #       script grep
      #       map eth0
    
      #echo connects ath0 when device is hotplugged. using echo instead of grep allows any device to be brought up when hotplugged. Note this could cause a problem if a device is active and another one that is mapped is plugged in.
      mapping hotplug
              script echo
              map ath0
    
      #interfce of ath0 device with wep setting (not all these lines are required but show you options that may be needed)
      iface <ath0> inet dhcp
      wireless-essid xxxx
      wireless-key xxxxx
      wireless-key xxxx-xxxx-xx (in certain situations a - is needed after every 4 characters to work)
      wireless-key1 xxxx (add a number after key to specify key number to use.)
      wireless-defaultkey 1 (specifies which key is default)
      wireless-key s:xxx (add s: in front of key if ascii form)
      wireless-key XXXXXXXXXX open|restricted (if using shared/restricted setting add this line)
    
      auto <ath0>
    • /etc/resolv.conf
      Where your DNS server settings are kept

    • /etc/modules
      If a driver won't load at boot, you can add it to this list so it does

    • /etc/modprobe.d/blacklist
      If you don't want a driver to load at boot you add it to this list. Usually this is used if you have a driver conflict and you want to make sure a specific driver is used. Note: this method will not work unless it is a LKM (loadable kernel module) If driver/mod was compiled into the base kernel, it will still load if on blacklist.

Commands

  • This section gives a real brief summary of commands used to help you troubleshoot. There are also examples of the commands discussed. For more information, consult the man page of the command or do a google search.

1. lshw

  • This command shows information about hardware:
      sudo lshw

Info (!) We can limit the the output to show just specific devices by adding options to the command:

  •   sudo lshw -businfo

  • BusInfo

    Device

    Class

    Description

    pci@00:1f.5

    multimedia

    82801CA/CAM AC'97 Audio Controller

    pci@00:1f.6

    communication

    82801CA/CAM AC'97 Modem Controller

    pci@03:00.0

    ath0

    network

    AR5212 802.11abg NIC


Info (!) You can then use the "-C network" option to limit output so it shows just your networking devices.

  •   sudo lshw -C network

  • *-network
           description: Wireless interface
           product: AR5212 802.11abg NIC
           vendor: Atheros Communications, Inc.
           physical id: 1
           bus info: pci@03:00.0
           logical name: ath0
           version: 01
           serial: 00:11:95:50:be:62
           width: 32 bits
           clock: 33MHz
           capabilities: bus_master cap_list ethernet physical wireless
           configuration: broadcast=yes '''driver=ath_pci driverversion=0.9.6.0 (EXPERIMENTAL)''' ip=192.168.1.12 multicast=yes wireless=IEEE 802.11g
           resources: iomemory:10800000-1080ffff irq:11

Key Points

  1. Notice the configuration line. This area will tell you if there is a driver loaded for your device. (except devices using orinoco driver, these don't show here) If you do not see a driver listed here then there is not one loaded and assigned to the device and it will not show up in iwconfig output or the nework-admin gui.
  2. The businfo line has importance as some devices are recognized and memory is readable but the device is not physically on the bus. This is rare but it has been seen. It may seem cryptic but your output will vary greatly and there needs to be some characters (other then 0) here denoting it's place in the pci bus.
  3. The logical name is assigned if the driver has been recognised. If there is none, the problem is either the card or the driver. Also, wmaster0 is a generic driver used by the kernel, and if this is the logical name assigned there is usually a problem with the driver also.

TODO: describe what it means when it shows *-network UNCLAIMED, and no configuration line is present.

2. lspci

  • This command lists information about devices on the pci bus:
      lspci -v
    Lists out pci devices with information about the device. (information is different then output from lshw)

Info (!) You can limit the output by piping the output with grep

  •   lspci -v | grep Ethernet

  • 0000:03:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
            '''Subsystem: D-Link System Inc D-link DWL-G650 (Rev B5)''' Wireless cardbus adapter
            Flags: bus master, medium devsel, latency 168, IRQ 11
            Memory at 10800000 (32-bit, non-prefetchable) [size=64K]
            Capabilities: [44] Power Management version 2
    command:
      sudo lspci -n

  • 0000:03:00.0 0200: '''168c:0013''' (rev 01)

Key Points

  1. This command shows the revision of the card (in above example the revision of the card is B5 not 01).
  2. Using the -n option you can find the PCI ID (168C:0013) of the card and find the correct driver to use with ndiswrapper. ndiswrapper list order essays

3. lsusb

  • This command lists information about devices on the usb bus.
      sudo lsusb -v

  • $ lsusb
    Bus 005 Device 001: ID 0000:0000
    Bus 001 Device 001: ID 0000:0000
    Bus 004 Device 002: ID 2001:3700 D-Link Corp. [hex] DWL-122 802.11b
    Bus 004 Device 001: ID 0000:0000
    Bus 003 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000

4. lsmod

  • This command simply shows what modules are loaded and running.
      sudo lsmod

Info (!) When the command lshw was run, you saw the name of the driver allocated to the device. You can pipe this command through grep to limit the output.

  •   lsmod | grep ath

  • ath_pci                78908  0
    ath_rate_sample        16776  1 ath_pci
    wlan                  141532  4 wlan_wep,ath_pci,ath_rate_sample
    ath_hal               148432  3 ath_pci,ath_rate_sample

5. modprobe

  • modprobe runs or stops a module from running. Most wireless drivers in breezy are in a module form. The following commands remove or add a module.

(i) When a recognized device loads, the kernel automatically loads the correct module custom essay for the device. This command is only needed to manually run a module

  • To start a module run this command:
      sudo modprobe <module>
    To stop and remove a module run this command:
      sudo modprobe -r <module>

6. rfkill list

  • This command prints information online book reports detailing whether there are software or hardware blocks on your rf devices. To get a list of devices and their hardware and software status, try

      rfkill list

7. iwconfig

  • This command prints information about a wireless interface and allows you to configure the network interface from the command line.
      sudo iwconfig

  • * eth0      no wireless extensions.
    
    * ath0      IEEE 802.11g  ESSID:"XXXXX"
              Mode- Managed  '''Frequency- 2.437 GHz'''  '''Access Point- 00:17:16:1D:FC:DE'''
              Bit Rate-36 Mb/s   Tx-Power-18 dBm   Sensitivity=0/3
              Retry- off   RTS thr:off   Fragment thr- off
              Encryption key:xxxx-xxxx-xx   Security mode:restricted
              Power Management off
              Link Quality=50/94  Signal level=-45 dBm  Noise level=-95 dBm
              Rx invalid nwid:10911  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Key Points

  1. This example shows the interface of ath0. If you do not see anything like this sample then you do not have a working driver.
  2. The interface may not be named "ath0". It could say "wlan1". You may need to use the correct interface name to configure WICD or other wireless manager.
  3. Access Point: If you see all zeros here or nothing then you are not connected/associated to your router. When you are connected it will show the mac address of the router here.
  4. Frequency more commonly known as channel. If you can not connect to your router ensure frequency is correct.

(i) You can not set the channel(currently with breezy or earlier) via the network gui. Most drivers are set up as auto so it changes to the corresponding channel of the ap you're trying to connect to. But if you must make the change then this is the command to change it.

  •   sudo iwconfig <ath0> channel <X>
      or
      sudo iwconfig <ath0> freq <x.xxxG>
  • Channel/Frequency Chart

    Ch 1

    2.412

    Ch 2

    2.417

    Ch 3

    2.422

    Ch 4

    2.427

    Ch 5

    2.432

    Ch 6

    2.437

    Ch 7

    2.442

    Ch 8

    2.447

    Ch 9

    2.452

    Ch 10

    2.457

    Ch 11

    2.462

    Ch 12

    2.467

    Non US Channels

    Ch 13

    2.472

    Ch 14

    2.484

8. ifconfig

  • This command is similar to iwconfig with the following differences.
    • It's a more general networking command. It works with any interface whether wireless or wired.
    • It's configuration options and output show different networking references or set different settings.
      sudo ifconfig

  •   ath0      Link encap:Ethernet  HWaddr 00:11:95:50:BE:62
              inet addr:192.168.1.11 Bcast:192.168.255.255  Mask:255.255.255.0
              inet6 addr: fe80::211:95ff:fe50:be62/64 Scope;Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:32568 errors:162786 dropped:0 overruns:0 frame:162786
              TX packets:17252 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:200
              RX bytes:20362191 (19.4 MiB)  TX bytes:6778264 (6.4 MiB)
              Interrupt:11 Memory:d0c80000-d0c90000

Key Points

  1. The benefit with ifconfig on a wireless device is it shows if you have an ip address assigned to the device which is noted next to inet addr. iwconfig may show you're connected to your router but you still have no internet connection with out an ip address assigned to the device.

9. iwlist

  • This command will give you more detailed information from the wireless interface such as a scan of all available routers with in range.
      sudo iwlist <ath0> scan

  • ath0      Scan completed :
              Cell 01 - Address: 00:13:46:1D:BC;0E
                        ESSID:"xxx"
                        Mode: Master
                        Frequency: 2.437 GHz (Channel 6)
                        Quality=49/94  Signal level=-46 dBm  Noise level=-95 dBm
                        Encryption key:on
                        Bit Rate:1 Mb/s
                        Bit Rate:2 Mb/s
                        Bit Rate:5 Mb/s
                        Bit Rate:6 Mb/s
                        Bit Rate:9 Mb/s
                        Bit Rate;11 Mb/s
                        Bit Rate;12 Mb/s
                        Bit Rate;18 Mb/s
                        Bit Rate;24 Mb/s
                        Bit Rate;36 Mb/s
                        Bit Rate;48 Mb/s
                        Bit Rate;54 Mb/s
                        Extra bcn_int=100

Key Points

  1. If you get a completed scan like example, then your device and driver is probably working properly.
  2. Some devices do not support scanning so this command may not work for you.(such as orinoco cards)

10. dhclient

  • dhclient is simply the program that deals with dhcp if you're dealing with a router running as a dhcp server.
      sudo dhclient <ath0>

(i) If you are associated with your router try running this command to get ip and other information to set up connection.

11. ping

  • ping is a good troubleshooting command to track down where the connection problem may be: First ping your local loopback device
      ping -c 4 127.0.0.1

(i) If this doesn't work then there is a problem in the tcp/ip stack some where.

  • If the device is assigned an ip address next ping that. (i) use ifconfig to find the ip address assigned to the device

      ping -c 4 <192.168.1.11>
    Next ping your router
      ping -c 4 <192.168.0.1>
    Next ping an external site using the ip address
      ping -c 4 216.239.57.99
    Next ping using common name
      ping -c 4 www.google.com

(i) If you can ping an external site with the ip address but not the common name then there is a dns nameserver problem

12. Manual Installation of a Card

12.1. Non-recognized Card

  • Some devices are not recognized by the OS upon insertion.
    1. If card doesn't show up (in lshw) try these steps:
  • Run the following command. Hopefully you'll get some output about the device.

      sudo pccardctl ident

  •   Socket 0:
        product info: "Atheros Communications, Inc.", "AR5001-0000-0000", "Wireless LAN Reference Card", "00"
        manfid: 0x0271, 0x0012
        function: 6 (network)

    If you get no output then the memory on the card cannot be read. Now we need to open a configuration file and add this information to it:

      gksudo gedit /etc/pcmcia/config.opts
    the information you add should look like this, with your own data substituted.

  • card ""Atheros Communications, Inc.", "AR5001-0000-0000", "Wireless LAN"
      manfid 0x0271, 0x0012
      function: 6 (network)
      bind "ath_pci"
    After making this change run this command:
      sudo kill -HUP `cat /var/run/cardmgr.pid`

    Now run lshw to see if the card is recognized and loaded properly.

(i) Most cards requiring this step will be older devices. You should not have to do this with any cards made in the past few years, but there can be exceptions.

(i) Notice the bind line which states what driver should be allocated to the device. You will need to find what driver your device buying essays uses. More on that in the next step.

12.1.1. Problem with bridge in PCI bus line

  • On several, especially new systems the Yenta bridge is not on the root PCI bridge, but behind a PCI-to-PCI bridge. On some x86 or x86_64 systems, these bridges aren't corrreclty set up by the BIOS, which may cause CardBus and even PCMCIA devices not to show up in lspci or in pccardctl ident correctly. If you suspect that this may be the cause, issue this command:

      lspci -v | grep subordinate
    • Its result may be like this:
            Bus: primary=00, secondary=02, subordinate=04, sec-latency=64
            Bus: primary=02, secondary=03, subordinate=06, sec-latency=176
            Bus: primary=02, secondary=07, subordinate=0a, sec-latency=176
    • Let's decode the first line: bus 0 (primary) is bridged to busses 2 (secondary) to 4 (subordinate) by a bridge. The second and the third line state that bus 2 is bridged to busses 3-6, and 7-10. However, the CPU (which itself is connected to bus 0 through the root bridge) needs to be able to access all these busses. If you try to walk the tree to bus 7, for example, you see that the CPU can't get there, as bus 0 is only bridged to busses 2 to 4.
    If this is the case, or you find a message stating "try pci=assign-busses" in the dmesg log, append the following to the kernel boot line:
            pci=assign-busses

12.2. System locks upon card insertion

  • When a card is first inserted, the system attempts to read the card's memory. This can sometimes cause your system to lock-up. Try this to see if it helps:

1) Open the file /etc/pcmcia/config.opts

gksudo gedit /etc/pcmcia/config.opts

2) Find the following section:

  •   include memory 0xc0000-0xfffff
      include memory 0xa0000000-0xa0ffffff
      include memory 0x60000000-0x60ffffff

3) Change it to look like this:

  •   include memory 0xd0000-0xdffff
      include memory 0xc0000-0xcffff
      include memory 0xc8000-0xcffff
      include memory 0xd8000-0xdffff

13. Manual Connections

Use the command iwconfig. The syntax looks like this.

  •   sudo iwconfig <ath0> essid <essid> ap <xx:xx:xx:xx:xx:> key <XXX> mode <> commit

note: not all these may be used, check the man page for more information

These are sites with information on wireless networking:

https://help.ubuntu.com/community/WirelessTroubleshootingProcedure
linux wireless access point HOWTO
Wireless linux resources
tldp Linux networking howto
Debian Network Configuration
Survey of Linux and Wifi


CategoryNetworking CategoryWireless

WifiDocs/WirelessTroubleShootingGuide (last edited 2022-01-09 21:12:48 by guiverc)