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
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!
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(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.
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.
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).
The ActionTec(http://www.actiontec.com) 802MIP works with Linux
orinoco_pci module and maybe the
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
To be able to use the integrated wireless card of a Sony VAIO PCG-U101, one will have to patch the module
The problem is that wireless card is off by one from the Device ID 3873 in the driver source.
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
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).
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.
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).
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.
The Linux Wireless LAN Project(http://www.linux-wlan.com/linux-wlan/index.html) offers support for the ISL3874 based mini-pci card.
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.
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+
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.
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).
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/).
There is also an alternative
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.
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).
rtl8139[WH]. For 2.4.x Kernels see
8139toomodule. Karol 'sziwan' Kozimor wrote: "The L3800C, to my best knowledge, uses an integrated version of the rtl8139 chip, and the miniPCI slot is either left empty, or contains a WLAN card."
02:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
|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>|
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>|
doesn't work yet
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)|
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).
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.