TuxMobil: Linux with Laptops, PDAs, Mobile Phones and Portable Computers
PRINT version of "miniPCI Port Cards in Linux Laptops & NoteBooks"
    <= Back to SCREEN version <=

For technical details about miniPCI see PCI Spezial Interest Group(http://www.pcisig.com/). Common miniPCI card types are network cards and modem cards. Often they are built as combo cards. Under Linux they may be detected, e.g. with lspci. Note: not every built-in card is a miniPCI card, especially in older laptop models. Newer Intel Core Duo or Core 2 Duo based laptops come with mini PCI-Express slots instead of miniPCI!



WLAN Cards

A General Solution for x86: NDIS Wrappers

Some vendors refuses to release specs or even a binary Linux driver for their WLAN cards. But now there are approaches to solve this by making a kernel module that can load Microsoft-Windows NDIS drivers.

ndiswrapper

ndiswrapper(http://ndiswrapper.sourceforge.net/) is an Open Source project which tries to implement the necessary NDIS functions needed to get cards without Linux drivers to work.

Linuxant Driverloader

DriverLoader(http://www.linuxant.com/driverloader/) is a commercial compatibility-wrapper allowing standard Windows NDIS (Network Driver Interface Specification) drivers shipped by hardware vendors to be used as-is on Linux x86 systems. It supports the Intel(TM) PRO/Wireless 2100 chipset, which is part of Intel's Centrino technology. The driver also supports WLAN chipsets made by Atheros, Broadcom, CiIntersil, Realtek and Texas Instruments. The new release 1.6 contains support for the Intel PRO/Wireless 2200BG card with 54Mbps WLAN 802.11g.

NDISulator aka Evil

An appropriate solution is also available for FreeBSD: NDISulator aka Evil(http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/compat/ndis/subr_ntoskrnl.c).

ActionTec

The ActionTec(http://www.actiontec.com) 802MIP works with Linux ( orinoco_pci module and maybe the prism2_pci module). The output from hwinfo --network_ctrl shows:

21: PCI 207.0: 0280 Network controller
  [Created at pci.65]
  Unique ID: jqQS.CA1y3f8FAiF
  Hardware Class: network
  Model: "Actiontec Electronics Prism 2.5 Wavelan chipset"
  Vendor: pci 0x1260 "Harris Semiconductor"
  Device: pci 0x3873 "Prism 2.5 Wavelan chipset"
  SubVendor: pci 0x1668 "Actiontec Electronics Inc"
  SubDevice: pci 0x0406
  Revision: 0x01
  Features: WLAN
  Memory Range: 0xf8000000-??? (rw,prefetchable)
  IRQ: 11 (253016 events)
  Driver Info #0:
    Driver Status: orinoco_pci is not active
    Driver Activation Cmd: "modprobe orinoco_pci"
  Driver Info #1:
    Driver Status: prism2_pci is not active
    Driver Activation Cmd: "modprobe prism2_pci"
  Config Status: cfg=yes, avail=yes, need=no

Ambit Wireless card

To be able to use the integrated wireless card of a Sony VAIO PCG-U101, one will have to patch the module orinoco_pci. The problem is that wireless card is off by one from the Device ID 3873 in the driver source. By typing lspci -v you will see that the wireless card is shown with an ID of 3872. In order to fix this you will have to patch the kernel, or open the driver source file, and change this number manually. Then compile the kernel, and copy the binary driver into the modules directory, replacing the old one. If you wish to optain the kernel patch, you can get it from this(http://www.mattdm.org/misc/u101/files/linux-2.4.20-u101lanexpress3872.patch) link.

Atheros

Multiband Atheros Driver for WiFi (MadWiFi)(http://sourceforge.net/projects/madwifi/): A Linux device driver for 802.11a/b/g universal NIC cards - either Cardbus, PCI, or miniPCI - that use Atheros chip sets (ar5210, ar5211, ar5212).

BroadCom

These chipsets are used e.g. in the ASUS L5800C laptops. The DriverLoader for Broadcom WLAN chipsets(http://www.linuxant.com/drivers_bcmwl/bcmwl5/) is a driver made by Linuxant. A part of the driver is provided as a binary object, but the OS specific code is Open Source. This "reduces the inconvenience of binary-only drivers by separating the proprietary code from the operating-system specific code. The latter is provided in source form, allowing users to install the drivers under any supported version (2.4 or later) of the Linux kernel." An Intel x86 processor is required. Some systems may require kernel recompilation with special ACPI patches.

Cisco

HOWTO add a Cisco miniPCI WLAN card to a IBM ThinkPad T40p(http://www.thunk.org/tytso/linux/t40.html) by Theodore Ts'o. Other reports by Martin List-Petersen for a DELL Inspiron 600M(http://www.marlow.dk/tech/dell_latitude_d600.php?noframe=yes) and by Cactus for an. IBM ThinkPad X31(http://wiki.cactuswax.net/doku.php/docs:howto:linuxthinkpadx31?s=ibm+x31#cisco_wireless_minipci).

Here is some more information about the Cisco Aironet MiniPCI card and Linux(http://www.uglx.org/aironet). Cisco itself offers Aironet Wireless LAN Adapters Installation and Configuration Guide for Linux(http://www.cisco.com/univercd/cc/td/doc/product/wireless/airo_350/350cards/linux/instlcfg/index.htm).

Intel Wireless Pro 2100/2200 (Centrino)

These miniPCI cards are supported by different drivers. For details see Linux on Centrino laptops and notebooks.

The card has two ports for an antennas (MAIN and AUX). If you are experienced it might be possible to connect an external antenna to the second port. See some links about disassebling a laptop(http://repair4laptop.org/), you have to make sure that the electro-magnetical shielding works.

Intersil ISL3874

The Linux Wireless LAN Project(http://www.linux-wlan.com/linux-wlan/index.html) offers support for the ISL3874 based mini-pci card.

Intersil ISL3890

Prism GT / Prism Duette / Prism Indigo ISL3980 PCI, miniPCI and CardBus cards are supported by the Intersil ISL3890 Linux device driver(http://prism54.org). Example CardBus cards: SMC2835W.

Texas Instruments

The ACX100 wireless network driver project(http://acx100.sourceforge.net/) Due to the poor support for Open Source operating systems of Texas Instruments' ACX100 wireless network chip, decided to group together to build an Open Source driver for Linux and similar systems. Example PCMCIA cards: D-Link DWL-650+

UbiQuiti

LinuxDevices(http://www.linuxdevices.com/news/NS7780516749.html): is now shipping the first FCC/CE-approved mini-PCI Wi-Fi cards with 400 mW of transmit power. The "Super Range" SR2 and SR5 cards support 802.11b/g and 802.11a, respectively, and should work under Linux. The cards target outdoor applications such as long-range access points and back-hauls.

Network Cards

3 COM 3c556

The 3c556 'mini PCI' NIC and Intel miniPCI are starting to appear as a built-in adaptor (frequently as a combo together with a modem) on, at least:

The 3c556 is also supported by Donald Becker's driver(http://www.scyld.com).

Output from dmesg:

3c59x.c:v0.99H 01Aug00 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
eth0: 3Com 3c556 10/100 Mini PCI Adapter at 0xe800,  00:00:86:4a:aa:e3, IRQ 11
eth0: CardBus functions mapped f8ffd800->d0146800 (PCMCIA committee brain-damage).

Additional details about 3COM and Intel miniPCI devices on diffrerent laptops are at Fred Maciel's page(http://www.geocities.jp/fred_b_maciel/3c556/).

Accton EN 2242

BroadCom

Intel EtherExpress Pro

There is also an alternative e100   Intel driver(http://www.intel.com/) with additional features. To verify your Intel adapter is supported, find the board ID number on the adapter. Look for a label that has a barcode and a number in the format 123456-001 (six digits hyphen three digits). Match this to the list of numbers above. For more information on how to identify your adapter and to get current Linux drivers, go to the Adapter & Driver ID Guide(http://support.intel.com/support/network/adapter/pro100/21397.htm). For Kernels above 2.5.x the e100driver is included.

National Semiconductor

For the integrated ethernet card (National Semicondcutor BP83815/16 "MacPhyter II"), there are Linux information at the manufacturer page(http://www.national.com/appinfo/networks/macphyter2.html).

RealTek 8139

Modem Cards

See also the Linux survey of laptop with internal modems and tips and tricks for internal modems.

3COM Internal Modem

DELL(http://www.dell.com)
Inspiron 4000 doesn't work
Bus  0, device  16, function  0:
  Communication controller: 3Com Unknown device (rev 0).
    Vendor id=10b7. Device id=1007.
WinModem by 3Com, see 3COM petition(http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd)
Terence Haddock <thaddock_at_tripi.com>
Inspiron C810 doesn't work
02:06.1 Communication controller: 3Com Corporation: //
             Unknown device 1007 [..]
WinModem by 3Com, see 3COM petition(http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd)
Jason Crockett <jlcrockett_at_4himnet.com>
Hewlett-Packard(http://www.hp.com)
OmniBook 6000 doesn't work yet

Output from cat /proc/pci:
Bus  0, device  11, function  0:
  Ethernet controller: 3Com Unknown device (rev 16).
    Vendor id=10b7. Device id=6055.
[..]
Bus  0, device  11, function  1:
  Communication controller: 3Com Unknown device (rev 16).
   Vendor id=10b7. Device id=1007.
[..]
integral 3Com 3C556 mini PCI combo 56K V.90 modem and 10/100 ethernet card, WinModem by 3Com, see 3COM petition(http://linmodems.org/cgi-bin/ezmlm-cgi?1:msp:1229:cilpipdmolabpbbbibgd)
Linux On HP OmniBook 6000(http://www.math.psu.edu/dna/omnibook6000_linux.html)

Upgrading or Changing a miniPCI Card

It seems very difficult to get miniPCI cards if you want to upgrade a laptop or notebook, they are either not for sale or expensive. But there are some full-size PCI cards (e.g. the WLAN cards from D-LINK) containing miniPCI cards, which may be removed from their box. Recently I found the miniPCI WLAN cards from TwinMOS(http://www.twinmos.com/). They even offer Linux drivers(http://www.twinmos.com/wlan_download.htm).

Note: not all the miniPCI cards work in every laptop, sometimes even the BIOS does not detect them. See the German computer magazine CT(http://www.heise.de/ct/) 02/2004 p. 177. There are even some current laptop BIOSes around, which prevent to use non-authorised miniPCI cards (e.g. IBM ThinkPad R31 and X40, maybe some HP models). There is an explanation how to re-flash the BIOS(http://www.paul.sladen.org/thinkpad-r31/wifi-card-pci-ids.html) by Paul Sladen and a compatibility survey of wireless miniPCI cards for IBM ThinkPad(http://www.srcf.ucam.org/~mjg59/thinkpad/wireless.html) by Matthew Garrett, which offers also a Linux tool to hack the CMOS. More details may be found in these HOWTOs about replacing miniPCI cards in laptops or notebooks(http://repair4laptop.org/notebook_minipci.html).

Other Resources

Call for Help

If you like to contribute your experiences with your miniPCI port and Linux (whether good or bad), I would gladly appreciate your help. Don't forget to include information about the miniPCI controller. Output of cat /proc/pci or lspci would be nice.

Werner Heuser <wehe_at_tuxmobil.org>

Credits


        /* Adv.    Xtops.DE - Laptops and PDAs with pre-installed Linux   Adv. */        

http://tuxmobil.org/minipci_linux.html, copyright © Werner Heuser, 1997-2008