Difference between revisions of "Wireless Network Adapters"

From ThinkWiki
Jump to: navigation, search
(IBM 11 a/b/g Wireless Cardbus Adapter)
(Cut out "unauthorized network card" problem and redirect to problem page)
Line 28: Line 28:
  
 
=== "Unauthorized" MiniPCI network card ===
 
=== "Unauthorized" MiniPCI network card ===
Although the MiniPCI slot is an industry standard and can accept any MiniPCI adapter, the IBM BIOS is set to only allow you to boot with an 'authorized' adapter installed. Attempts to install an unsupported card will result in the following message:
+
Attempts to install an unsupported card will result in the following message:
  
 
   1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.
 
   1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.
  
This is because the cards ID(s) (what ''lspci'' uses) are checked against a [[Wikipedia:Whitelist|whitelist]] in the BIOS. IBM's reasoning for this is that the combination of MiniPCI card and the integrated antenna in the ThinkPad needs to be certified by the US FCC (Federal Communications Committee).
+
For a resolution, see the [[Problem with unauthorized MiniPCI network card]] page.
 
 
Several people say that it is not necessary to switch off the computer after receiving the error message. It seems to be possible to press F1 to enter the BIOS and deactivate the WLAN card. -- This does not work on my t43.
 
 
 
There is a tool in the internet called "no-1802". It is used to set a certain bit in the CMOS memory which overrides the whitelist.  This does not work on my t43.
 
 
 
I had the same problem with my T41p and a new wireless card. Doing some research on the internet
 
I found the C-code below (which worked for me):
 
 
 
#include <stdio.h>
 
#include <sys/types.h>
 
#include <unistd.h>
 
#include <sys/stat.h>
 
#include <asm/fcntl.h>
 
 
int main(void)
 
{
 
  int fd;
 
  unsigned char data;
 
 
  fd=open("/dev/nvram", O_RDWR);
 
 
  if (fd < 0) {
 
    fprintf(stderr, "Error\n");
 
  }
 
  lseek(fd,0x5c, SEEK_SET);
 
  read(fd, &data, 1);
 
  printf("index: 0x5c 0x%02x", data);
 
  data |= 0x80;
 
  lseek(fd,0x5c, SEEK_SET);
 
  write(fd, &data, 1);
 
  printf("-> 0x%02x\n", data);
 
  close(fd);
 
}
 
 
 
As far as i can tell this is very similar to the code used in no-1802, only the
 
byte index in NVRAM has changed, and the above code is designed to work from within a running
 
linux system. Just compile it with gcc and run the resulting binary as root.
 
 
 
Additional Information about "Unauthorised" MiniPCI adapters can be found at: http://www.srcf.ucam.org/~mjg59/thinkpad/
 
 
 
Also see [http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html Paul Sladens and Matthew Garretts detailed page on IBM BIOS hacking].
 
 
 
The BIOS hack described in the above links does not seem to apply to the t43.  It seems that IBM has changed the way that the PCI ID's are stored in the BIOS code in the later Thinkpads.
 
  
 
== Cardbus adapters ==
 
== Cardbus adapters ==

Revision as of 05:32, 14 December 2005

This document covers IBM integrated (MiniPCI), Cardbus and PC Card (PCMCIA) Wi-Fi devices.

Finding out which adapter you have

For MiniPCI or Cardbus adapters run the command:

 lspci -n | grep "Class 0200"

And compare the PCI IDS with the ones below.

Note: This will also return the PCI IDS of any Ethernet adapters, as Ethernet adapters and Wireless adapters share the same PCI Class ID.

MiniPCI adapters

Atheros

Cisco

Intel

Prism

"Unauthorized" MiniPCI network card

Attempts to install an unsupported card will result in the following message:

  1802: Unauthorized network card is plugged in - Power off and remove the miniPCI network card.

For a resolution, see the Problem with unauthorized MiniPCI network card page.

Cardbus adapters

Cardbus is a 32bits bus that runs at 33MHz, and is in many ways simular to the PCI bus. In fact under Linux Cardbus adapters are handled by the PCI subsystem.
You can differentiate a PC Card adapter from a Cardbus adapter as the later has a gold coloured grounding strip

IBM 11 a/b/g Wireless Cardbus Adapter

Chipset: Atheros
Driver: madwifi
Supported wireless modes: 802.11a, 802.11b, 802.11g

Specifications: MIGR-51855
Users Guide: MIGE-51855
Service Parts: MIGR-51874 Looking for a reverse PCI to cardbus (ie - want to fit a PCI card into a cardbus slot)

IBM 802.11a Wireless LAN Cardbus Adapter

Chipset: Atheros
Driver: madwifi
Supported wireless modes: 802.11a

Specifications: MIGR-42209
Users Guide: MIGR-42233
Service Parts: MIGR-42231

PC Card (PCMCIA) adapters

PC Card or PCMCIA (Personal Computer Memory Card International Association) as it used to be called, is an 8 or 16bits bus limited to 8MHz, in many ways simular to the old ISA bus and not suitable for highspeed devices.

Cisco Aironet 350 802.11b wireless PC card with 128bit

Chipset: Cisco
Driver: airo_cs
Supported wireless modes: 802.11b

IBM High Rate Wireless LAN PC Card

Chipset: Prism 2.5
Drivers: orinoco_pci or hostap
Supported wireless modes: 802.11b