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:
|
![]() |
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.2. Reboot.
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.
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:The following steps take the ath driver as an example.
copy the driver to /kernel/drv or /usr/kernel/drv
- ath is for Atheros 802.11g cards.
- pcwl is for Lucent and Prism-II 802.11b.
- pcan is for Cisco Aironet 802.11b.
#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
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)Tested Laptop models
pci1180,475
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
|
|
|