The Wayback Machine - https://web.archive.org/web/20040427082725/http://tuxmobil.org:80/minipci_linux.html
Writing TuX Daemon
 - Linux On Mobile Computers -



Howard Rheingold: Smart Mobs - The Next Social Revolution

miniPCI Port Cards in Linux Laptops

For technical details about miniPCI see PCI Spezial Interest Group [external link, opens in new window] . 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.

It seems very difficult to get miniPCI cards if you want to upgrade a laptop, 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 [external link, opens in new window] . They even offer Linux drivers [external link, opens in new window] . Note: not all the miniPCI cards work in every laptop, sometimes even the BIOS does not detect them. See the German computer magazine CT [external link, opens in new window] 02/2004 p. 177.

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 [external link, opens in new window] 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 [external link, opens in new window] 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, Cisco, Intersil, 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 [external link, opens in new window] .

ActionTec

The ActionTec [external link, opens in new window] 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 [external link, opens in new window] 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 [external link, opens in new window] link.

Atheros

Multiband Atheros Driver for WiFi (MadWiFi) [external link, opens in new window] : 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 [external link, opens in new window] 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 [external link, opens in new window] 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 [external link, opens in new window] by Theodore Ts'o.

Intel Wireless Pro 2100 (Centrino)

These miniPCI cards (FCC ID: PD9WM3B2100, MAC 00:04:23:..:..:..) are not yet supported by Open Source drivers, for a workaround see the NDIS wrapper section above. For other workarounds see the Linux on Centrino laptops page. There is also a petition to Intel to provide drivers or technical documentation. Though Intel has now updated their Centrino Mobile Technology Support page [external link, opens in new window] : Quote: "A Linux driver for the Intel(TM) PRO/Wireless 2100 wireless network connection is currently under development", albeit without an expected date of release.

The card has two ports for an antenna (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, you have to make sure that the electro-magnetical shielding works.

Intersil ISL3874

The Linux Wireless LAN Project [external link, opens in new window] 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 [external link, opens in new window] . Example CardBus cards: SMC2835W.

Texas Instruments

The ACX100 wireless network driver project [external link, opens in new window] 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+

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:

  • Compaq Armada E700, 3COM 3c556 miniPCI
  • Compaq Armada M700, Intel miniPCI
  • DELL Inspiron 8000 , 3COM 3c556 miniPIC (works)
  • Gateway Solo 9300XL and 2150, 3COM 3c556 miniPIC
  • HP OmniBook 6000, 3COM 3c556 miniPCI
  • IBM Thinkpad A20p, Ethernet PCI ID 6056
  • Panasonic CF-L1S, 3COM 3c556 miniPCI

The 3c556 is also supported by Donald Becker's driver [external link, opens in new window] .

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 [external link, opens in new window] .

Accton EN 2242

  • HP OmniBook XE3, NIC works.
    The NIC Card in the HP Omnibook XE3 works under Linux! See the German Linux Magazine [external link, opens in new window] 04/2001 page 90. There is a patch for the driver here [external link, opens in new window] . Note: newer machines seem to have another NIC soldered to the motherboard, whichs works with the drivers for the Intel EtherExpress Pro.
    [ Tim Niemueller [external link, opens in new window] ]

BroadCom

These chipsets (e.g. BCM4301) by BroadCom [external link, opens in new window] are not supported yet, but you may sign a petition [external link, opens in new window] . Please check manufacturer website and search engines, because I have got rumors that this situation will change.

Intel EtherExpress Pro

  • Sony VAIO Z600TEK, IBM A21P and other laptops are using this chip. It works with eepro100 driver.

There is also an alternative e100   driver [external link, opens in new window] with additional features. To verify your Intel [external link, opens in new window] 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, go to the Adapter & Driver ID Guide [external link, opens in new window] . For the latest Intel network drivers for Linux, see here [external link, opens in new window] , also available as Debian GNU/Linux package [external link, opens in new window] . 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 informations at the manufacturer page [external link, opens in new window] .

RealTek 8139

  • The ASUS L3800C and other laptops are using this chip. Worked for me with Kernel 2.2.19 and module rtl8139 [WH]. For 2.4.x Kernels see 8139too module. 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)

Modem Cards

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

3COM Internal Modem

DELL [external link, opens in new window]
Inspiron 4000doesn'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 [external link, opens in new window]
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 [external link, opens in new window]
Jason Crockett <jlcrockett_at_4himnet.com>
Hewlett-Packard [external link, opens in new window]
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 [external link, opens in new window]
Linux On HP OmniBook 6000 [external link, opens in new window]

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

  • Rob Russell <Rob.Russell_at_Canada.Com>
  • JJ Urich <jjurich_at_invotechco.com>
  • Fred Maciel [external link, opens in new window] <fred-m_at_crl.hitachi.co.jp>
[ -> back to top ]

site map · index · search
print · i-mode · WAP · PDA · translation (BabelFish)
about · contact · impressum/disclaimer · privacy (P3P) · accessibility · sponsors · RSS

© Werner Heuser 1997-2004 · http://tuxmobil.org/minipci_linux.html · last change Sat Apr 17 2004