From OPG China Wiki

How to get 802.11 wireless on Solaris x86



Where to Start

You need the following equipments to go wireless.
1. An x86 laptop with Solaris installed.
2. One of the following 802.11 wireless adapters:
  • Cisco Aironet 802.11b PC Card
  • Lucent WaveLan 802.11b PC Card
  • Atheros 802.11g (mini-PCI or CardBus PC Card)
  • Centrino(IPW2100) (mini-PCI)


Notes: This document focuses on how to make your CardBus/PC Card wifi cards work. For built-in wireless mini-PCI cards, the installation steps are just like that of standard PCI cards. Please check the output of your prtconf -pv to identify the built-in wireless card and run add_drv. Right now, we have atheros and ipw2100native mini-PCI cards drivers.


Terminology
PCMCIA
It stands for Personal Computer Memory Card International Association, established in 1991 to standardize a particular form of add-in memory cards for mobile computers. It owns a set of specifications called PC Card Standard.
PC Card
It refers to the technology and the products based upon the PC Card Standard. When referring to products (both card and sockets) that support 16-bit operation, the terms '16-bit PC Card' or '16-bit PC Card socket' should be used. 'CardBus PC Card' is the correct term that can be used when referring to the 32-bit bus master specification of the PC Card Standard. The terms 'PCMCIA Card' and 'PCMCIA socket' should never be used.
CardBus
It's the 32-bit PCI-like bus standard for PC Cards. It's effectively a "mobile hot-pluggable PCI" bus. It shares PC Card-16's form factor but operates at PCI local-bus speeds of up to 33MHz. CardBus devices are capable of acting as system-bus masters. This contrasts with PC Card-16 devies which can only act as slaves to system-resident master devices. Every laptop has at least one CardBus bridge inside. In the Solaris device tree, PC Cards are leaf devices under the CardBus bridge. Most 802.11b PC Cards are 16-bit devices. All 802.11g PC Cards are 32bit CardBus devices.


Driver Installation
(The following steps are enough, don't need to modify bootconf.exe )
1. Upgrade pcic.
/kernel/drv/pcic is the driver for CardBus bridges in Solaris. When a PC Card is inserted into the laptop, pcic allocates resources for it and creates a new node; under the CardBus bridge in the device tree.

The current pcic in the on10 gate was written some time ago. It does not support as many new laptops as we need. So upgrade pcic to make sure that your PC Card can be recognized and listed in the device tree (the output of prtconf). We have two versions of pcic for your test:
http://greatwall.prc.sun.com/solx86/Program/ProjPage/WiFi/pcmcia/driver
This is the pcic refined from the one in the on10 gate. We plan to putback it soon to better support 16bit PC Cards. It doesn't support CardBus PC Cards. To upgrade, just replace your (backup them first):
    /kernel/drv/pcic
    /kernel/misc/pcmcia.
http://greatwall.prc/solx86/Program/ProjPage/WiFi/cardbus/drivers
This set of files is the new CardBus driver. It supports both 16bit PC Cards and 32bit CardBus PC Cards. If you want 802.11g, you need this. To upgrade, just replace your (backup them first):
    /kernel/drv/pcic
    /kernel/drv/pcic.conf
    /kernel/misc/pcic16 (this is a new module, not in S10)
    /kernel/misc/pcmcia
If you are running Ferrari in 64bit mode, please use the binaries in the 'amd64' directory instead:
http://greatwall.prc/solx86/Program/ProjPage/WiFi/cardbus/drivers/amd64/
copy them to:
    /kernel/drv/amd64/pcic
    /kernel/misc/amd64/pcic16
    /kernel/misc/amd64/pcmcia
    /kernel/drv/pcic.conf

How do you tell if a wireless card is 16bit PC Card or CardBus Card? Here are some heuristics.
1. 802.11b Cards are mostly 16bit PC Cards.
2. 802.11g Cards are either CardBus cards or mini-PCI cards or PCI cards. They can't be 16bit PC Cards.
3. Built-in 802.11g cards are unlikely to be PC Cards, they are mini-PCI or PCI cards.
2. Reboot.

3. If you use the new CardBus driver:
If it's a Toshiba laptop, Change your BIOS setting for PC Cards from PCIC Compatible to CardBus/16-bit.
4. Insert your PC Card. Run prtconf.
For 802.11g Cards it looks like:
  pci1014,552, instance #0  <-----------------CardBus bridge
pcs, instance #0 (driver not attached)
pci1385,4600 (driver not attached) <------802.11g Card
pci1014,552, instance #1 <-----------------CardBus bridge
pcs, instance #0 (driver not attached)
For 802.11b Cards it looks like:
  pci1014,552, instance #0  <-----------------CardBus bridge
pcs, instance #0 (driver not attached)
network, instance #0 <-----------------802.11b Card
pci1014,552, instance #1 <-----------------CardBus bridge
pcs, instance #0 (driver not attached)
If you don't see anything like these, it means pcic is not working correctly. Please send us your /var/adm/messages.
5. Install the leaf driver.
There are currently three WIFI PC Card leaf drivers:
  • ath is for Atheros 802.11g cards.
  • pcwl is for Lucent and Prism-II 802.11b. 
  • pcan is for Cisco Aironet 802.11b.
copy the driver to /kernel/drv or /usr/kernel/drv
#cp ath /usr/kernel/drv
#cp pcwl /usr/kernel/drv

To install 802.11b driver:
# add_drv -i '"pccardxxx,x"' pcwl (or pcan)
You can find the correct string 'pccardxxx,x' by searching the output of prtconf -v. For example:
...value='pccard, TOSHIBA,wireless_LAN_card,Version_01.01,' + 'pccard156,2' + ...

The syntax should be:
# add_drv -i '"pccard156,2"' pcwl


802.11g Cards are essentially PCI devices. To install 802.11g driver:
# add_drv -i '"pcixxx,xxx'" ath
Like every PCI device, pcixxx,xxx is according to the output of prtconf
The following steps take the ath driver as an example.
6. ifconfig ath[n] plumb

7. Run the following sequence of commands to configure wifi.
(Get the wificonfig, wificonfig readme and wificonfig manpage from WiFi Project - wificonfig)

   # wificonfig -i ath0 createprofile essid=your_ssid encryption=wep wepkey1=your_wep_key
   # wificonfig -i ath0 connect your_ssid
   # ifconfig ath0 dhcp

   If you don't use WEP and want to connect to whatever WLAN available,
   the command sequence is simplified as:
   # ifconfig ath0 dhcp

8. Trouble shooting
If you find it doesn't work as described above, please turn on the debugging messages by adding the following two lines in /etc/system:
set pcic:_cb_debug=1
set pcic16:pcic_debug=1
Reboot and send us your /var/adm/messages

Tested CardBus bridges
We have tested the new pcic (both versions) with the following CardBus bridges:
  • TI:
    (Most TI CardBus controllers are compatible with one another. We have tested TI PCI7510, TI PCI1520, TI PCI4520, etc).
    pci104c,xxxx
  • O2 Micro
   pci1217,6933
  • Toshiba: (ToPIC97/ToPIC95 )
    pci1179,60a.
    pci1179,617.
    pci1179,60f
  • Ricoh:
    (Sony VIAO)
    pci1180,475
Tested Laptop models
The following laptops have been tested:
    Dell Latitude D800
    Dell Latitude D400
    Dell Inspiron 8200
    IBM R40e
    IBM R50
    IBM T30
    IBM T41
    Compaq Evo N610c
    Compaq nc4010
    Sony VIAO PCG-R505TZCP
    Sony VIAO PCG-V505MNCP
    Toshiba Tecra M2
    Toshiba Tecra 8000
    Toshiba Tecra 9100
    Fujitu Lifebook S6120

Tested S10 builds
From S10 GA to snv_09

Pitfalls
Some people install a *generic* network driver. They have an entry in /etc/driver_aliases like:
bge "pciclass,020000"
This causes bge to attach to the 802.11g card immediately after it is inserted and may hang the system.

Known problems
For 802.11g PC Cards, if the interface is plumbed, before unplugging the card the following steps are required:
# ifconfig ath0 dhcp release
(if it's pending, run pkill dhcpagent)
# ifconfig ath0 unplumb

Without these steps, the driver panics when the card is removed.

Contacts
vincent.wang@sun.com
Jackie.xiao@sun.com
brian.xu@sun.com
mikore.li@sun.com

Appendix -- 802.11g PC Cards with Atheros chipsets
Only the AR5001 and AR5002 chipsets in the following table are supported by ath.
Note: This table is from Athros's website but before buying a card, please DO CHECK with the card vendor to make sure that it is using Atheros chipset. The same product may have different versions using chips from different chip vendors.


Product Name
 Product Type
Technology Band
Atheros Chipset
Advanced Features
3Com
3CRPAG175 : 3Com 11a/b/g Wireless LAN PC Card with XJACK Antenna
PC Card
802.11a/b/g
AR5001X+

3Com
3CRWE154A72: 3Com OfficeConnect Wireless a/b/g PC Card
PC Card
802.11a/b/g
AR5002X

Aztech
WL830PC
PC Card
802.11b/g
AR5002G
Super G
Cisco Systems
Cisco Aironet 802.11a/b/g Wireless CardBus Adapter
PC Card
802.11a/b/g
AR5002X

Contec
FLEXLAN FX-DS540-PCC2
PC Card
802.11a
No Chipset Provided

Contec
FLEXLAN FX-DS540-PCD
PC Card
802.11a/b/g
AR5002X
Super AG
Corega
CG-WLCB54AG
PC Card
802.11a/b/g
AR5002AP-2X
Super AG
D-Link
AirPro DWL-A650
PC Card
802.11a
AR5000

D-Link
AirPremier AG Wireless 108Mbps CardBus DWL-AG660
PC Card
802.11a/b/g
AR5004X
Super AG with XR
D-Link
D-Link AirPlus DWL-G650 Cardbus Adapter
PC Card
802.11b/g
AR5001X

D-Link
AirPlus DWL-G650 CardBus Adapter
PC Card
802.11b/g
AR5001X+

D-Link
AirPro DWL-AB650 Dual Band CardBus
PC Card
802.11a/b
AR5001X+

D-Link
D-Link Air Xpert DWL-AG650 CardBus Adapter
PC Card
802.11a/b/g
AR5001X+

Elecom
LD-WL54/CB
PC Card
802.11a
AR5001A

Elecom
LD-WL54G/CB
PC Card
802.11b/g
AR5002X
Super G
Elecom
LD-WL54AG/CB
PC Card
802.11a/b/g
AR5001X+

Enterasys Networks
RBTBG-AW a/b/g PC radio card
PC Card
802.11a/b/g
AR5001X+

Enterasys Networks
RBTBFAX wireless radio PC card
PC Card
802.11a
AR5001X+

Fujitsu
Wireless LAN Card FMV-JW481
PC Card
802.11a/b/g
AR5002X

Fujitsu (Retail)
CONECT2AIR E5454
PC Card
802.11a/b/g
AR5001X+

Fujitsu (Retail)
Connect2Air WLAN E5454/CB
PC Card
802.11a/b/g
AR5001X+

Fujitsu (Retail)
FMV-JW481 802.11a/b/g CardBus
PC Card
802.11a/b/g
AR5002X
Total ABG
IBM (Enterprise)
Wireless CardBus Adapter, model 31P9101
PC Card
802.11a/b/g
AR5001X+

Icom
WAVEMASTER SL-5200
PC Card
802.11a/b/g
AR5002X

I-O Data
WN-AG/CB2
PC Card
802.11a/b/g
AR5002X

I-O Data
WN-A54/CB
PC Card
802.11a
AR5001A

I-O Data
WN-AG/CB
PC Card
802.11a/b/g
AR5001X+

I-O Data
WN-AB/CB
PC Card
802.11a/b
AR5001X

KCORP ICT Limited
KLG-520: 108G+ Wireless Cardbus Notebook Adapter Card
PC Card
802.11b/g
AR5004G
Super G
Linksys
WPC55AG 802.11a/g CardBus
PC Card
802.11a/g
AR5001X+

Linksys
WPC54A 802.11a CardBus
PC Card
802.11a
AR5000

Linksys
WPC51AB 802.11a/b CardBus
PC Card
802.11a/b
AR5001

NEC (Retail)
Aterm PA-WL/54AG
PC Card
802.11a/b/g
AR5001X+

NEC (Retail)
Aterm PA-WL/54AC
PC Card
802.11a
AR5000

Netgear
WAB501
PC Card
802.11a/b
AR5001X+

Netgear
HA501 Wireless 32-bit Card Bus Adapter
PC Card
802.11a
AR5000

Netgear
WAG511
PC Card
802.11a/b/g
AR5001X+
Super G
Netgear
WG511T
PC Card
802.11b/g
AR5002G
Super G
Nortel Networks
Nortel Networks WLAN Mobile Adapter 2201
PC Card
802.11a/b
AR5001X

Nortel Networks
Nortel Networks WLAN Mobile Adapter 2202
PC Card
802.11a/b/g
AR5002X
Super AG
NTT East
Mickey Fan Station Card
PC Card
802.11b/g
AR5002G

NTT West
Mickey Fan Web Caster FT-STC-Sg
PC Card
802.11b/g
AR5002G
Super G
NTT-ME
MN-WLC54g-HQ
PC Card
802.11b/g
AR5002G
Super G
NTT-ME
MN-WLC54g 802.11g WLAN PC Card
PC Card
802.11a/b/g
AR5002X
Super G
OMRON
LT54CWAG
PC Card
802.11a/b/g
AR5002AP-2X
Super AG
Planex Communications Inc.
GW-NS540a
PC Card
802.11a
AR5002X

Proxim
Orinoco 802.11a/b/g ComboCard
PC Card
802.11a/b
AR5001X+

Proxim
8470WD cardbus card
PC Card
802.11b/g
AR5001X+

Proxim
8471WD b/g cardbus card - Silver
PC Card
802.11b/g
AR5004G

Proxim
11a/b/g world cardbus card- Gold
PC Card
802.11a/b/g
AR5001X+

Proxim
8480JP Japan cardbus card- Gold
PC Card
802.11a/b/g
AR5001X+

Proxim
8481JP 11a/b/g cardbus card, Japan, Silver
PC Card
802.11a/b/g
AR5001X+

Proxim
8660WD 11a/b/g cardbus card world- Gold
PC Card
802.11a/b/g
AR5002X

Proxim
8660JP 11a/b/g cardbus card- Japan- Gold
PC Card
802.11a/b/g
AR5002X

Proxim
8481WD World cardbus card- Silver
PC Card
802.11a/b/g
AR5001X+

Samsung
Samsung WLAN PC Card (SWL-5200N)
PC Card
802.11a/b/g
AR5001X+

Senao
SL-5054CB Aries Wireless Cardbus Adapter
PC Card
802.11a
AR5001A

Senao
SL-5054CB Pisces Dual Band Wireless Cardbus Adapter
PC Card
802.11a/b
AR5001X

SMC
EliteConnect Universal 2.4GHz/5GHz Cardbus SMC2536W-AG
PC Card
802.11a/b/g
AR5002X

SMC
EZ-Stream Universal Wireless Cardbus Adapter SMC2336W-AG
PC Card
802.11a/b/g
AR5002X

SMC
EZ Connect Universal Wireless Cardbus Adapter SMC2335W
PC Card
802.11a/b/g
AR5002X

SMC
EZ Connect Wireless Cardbus Adapter SMC2735W
PC Card
802.11a
AR5000

Sony (Retail)
PCWA-C300S VAIO® 802.11g WLAN LAN PC Card
PC Card
802.11b/g
AR5001X+

Sony (Retail)
PCWA-C500 VAIO 5GHz WLAN LAN PC Card
PC Card
802.11a
AR5000

Sony (Retail)
PCWA-C800S 2,4GHz/5GHz WirelessLAN PC Card
PC Card
802.11a/b/g
AR5001X+
Super AG
Sony (Retail)
PCWA-C700 VAIO® 802.11a/b Dual PC Card
PC Card
802.11a/b
AR5001X+

Toshiba
PATRCO2O TransCube20
PC Card
802.11a/b
AR5001X

TP-LINK
TL-WN510G
PC Card
802.11b/g
AR5005G

TP-LINK
TL-WN610G
PC Card
802.11b/g
AR5005GS
Super G with XR


 
 













  • Local Wednesday Mar 9 10:41:39 2005
  • Beijing Wednesday Mar 9 17:41:39 2005
  • London Wednesday Mar 9 09:41:39 2005
  • LA Wednesday Mar 9 01:41:39 2005
Projects
  • Dashboard (http://greatwall.prc.sun.com/solx86/Program/status/dashboard.html)
  • Personnel (http://namefinder.central.sun.com/NameFinder?-s=87442&amp;view=tree)
  • Development
    • Audio (http://greatwall.prc.sun.com/solx86/Program/ProjPage/audio/)
    • Gigabit (http://greatwall.prc.sun.com/solx86/Program/ProjPage/GigE)
    • SCSI-RAID (http://disk.prc.sun.com)
    • USB (http://greatwall.prc.sun.com/solx86/Program/ProjPage/usb)
    • Video (http://greatwall.prc.sun.com/solx86/Program/ProjPage/agpgart)
    • WLAN (http://greatwall.prc.sun.com/solx86/Program/ProjPage/WiFi)
    • SKaDS (http://hemath.prc)
  • QA & HCTS
  • OPG China Lab (http://opg-lab.prc.sun.com)
    • RT (http://aran.prc.sun.com/)
    • Lab Monitor (http://opg-lab.prc.sun.com/Monitor/)
    • Current Resource (http://greatwall.prc.sun.com/solx86/lab/property)
  • Certification

Edit (http://greatwall.prc.sun.com/mediawiki/index.php?title=Template:Navigation_Bar_Projects&amp;action=edit)

Tools

Edit (http://greatwall.prc.sun.com/mediawiki/index.php?title=Template:Navigation_Bar_Tools&amp;action=edit)