Wireless networking in SuSE 8.0 using PCMCIA
Has anyone got wireless networking to operate under SuSE 8.0 using a PCMCIA card? YaST2 seems to only offer ethernet and token-ring networking devices, and when I insert the card I get the messages at the end of this Email appearing in /var/log/messages. I know the card is support and works under Linux, and that I'm not too far from my access point, because I used it under RedHat 7.2 for about 3 months from the same place as I'm attempting to use it now. All help appreciated, Al. Apr 28 08:52:07 poppy cardmgr[1219]: socket 0: Intersil PRISM2 Reference Design 11Mb/s WLAN Card Apr 28 08:52:08 poppy cardmgr[1219]: executing: 'insmod -v /lib/modules/2.4.18-4GB//pcmcia-external/prism2_cs.o' Apr 28 08:52:08 poppy kernel: init_module: prism2_cs.o: 0.1.13-devel1 Loaded Apr 28 08:52:08 poppy kernel: init_module: dev_info is: prism2_cs Apr 28 08:52:08 poppy cardmgr[1219]: + Using /lib/modules/2.4.18-4GB//pcmcia-external/prism2_cs.o Apr 28 08:52:08 poppy cardmgr[1219]: + Symbol version prefix '' Apr 28 08:52:08 poppy cardmgr[1219]: executing: './wlan-ng start wlan0' Apr 28 08:52:08 poppy kernel: prism2_cs: index 0x01: Vcc 5.0, irq 5, io 0x0100-0x013f Apr 28 08:52:08 poppy kernel: hfa384x_corereset: hfa384x_corereset not supported on pcmcia. Use driver services COR access function instead Apr 28 08:52:08 poppy kernel: ident: nic h/w: id=0x8002 1.0.0 Apr 28 08:52:08 poppy kernel: ident: pri f/w: id=0x15 0.3.0 Apr 28 08:52:08 poppy kernel: ident: sta f/w: id=0x1f 0.8.3 Apr 28 08:52:08 poppy kernel: MFI:SUP:role=0x00:id=0x01:var=0x01:b/t=1/1 Apr 28 08:52:08 poppy kernel: CFI:SUP:role=0x00:id=0x02:var=0x01:b/t=1/1 Apr 28 08:52:08 poppy kernel: PRI:SUP:role=0x00:id=0x03:var=0x01:b/t=1/2 Apr 28 08:52:08 poppy kernel: STA:SUP:role=0x00:id=0x04:var=0x01:b/t=1/6 Apr 28 08:52:08 poppy kernel: PRI-CFI:ACT:role=0x01:id=0x02:var=0x01:b/t=1/1 Apr 28 08:52:08 poppy kernel: STA-CFI:ACT:role=0x01:id=0x02:var=0x01:b/t=1/1 Apr 28 08:52:08 poppy kernel: STA-MFI:ACT:role=0x01:id=0x01:var=0x01:b/t=1/1 Apr 28 08:52:08 poppy kernel: Prism2 card SN: 99SA01000000 Apr 28 08:52:08 poppy /etc/hotplug/net.agent[1360]: Setting up NET devices switched of. Exiting net.agent ... Apr 28 08:52:08 poppy cardmgr[1219]: + usage: ./network [action] [device name] Apr 28 08:52:08 poppy cardmgr[1219]: + actions: start check stop suspend resume Apr 28 08:52:08 poppy cardmgr[1219]: + Device <wlan0> not found in stab Apr 28 08:52:08 poppy kernel: p80211knetdev_hard_start_xmit: Tx attempt prior to association, frame dropped. Apr 28 08:52:17 poppy last message repeated 3 times Apr 28 08:52:18 poppy kernel: wlan0: no IPv6 routers present Apr 28 08:52:41 poppy cardmgr[1219]: executing: './wlan-ng stop wlan0' Apr 28 08:52:42 poppy cardmgr[1219]: + usage: ./network [action] [device name] Apr 28 08:52:42 poppy cardmgr[1219]: + actions: start check stop suspend resume Apr 28 08:52:42 poppy cardmgr[1219]: + Device <wlan0> not found in stab Apr 28 08:52:42 poppy cardmgr[1219]: executing: 'rmmod prism2_cs' Apr 28 08:52:42 poppy kernel: hfa384x_docmd_wait: hfa384x_cmd timeout(1), reg=0xffff. Apr 28 08:52:42 poppy kernel: hfa384x_drvr_shutdown: hfa384x_drvr_shutdown: cmd_initialize failed, result=-110 Apr 28 08:52:42 poppy kernel: prism2_cs.o: 0.1.13-devel1 Unloaded Apr 28 08:52:42 poppy /etc/hotplug/net.agent[1418]: Setting up NET devices switched of. Exiting net.agent ...
* Al Sutton; <al@alsutton.com> on 28 Apr, 2002 wrote:
I know the card is support and works under Linux, and that I'm not too far from my access point, because I used it under RedHat 7.2 for about 3 months from the same place as I'm attempting to use it now.
All help appreciated,
Have you tried the method described in the unofficial FAQ ? -- Togan Muftuoglu Unofficial SuSE FAQ Maintainer http://dinamizm.ath.cx
Thanks for the pointer, after reading it I've decided to switch back to RedHat where the config is integrated into the RH config system, works, and doesn't have the problems mentioned in the FAQ. Al. On Sunday 28 April 2002 09:14, Togan Muftuoglu wrote:
* Al Sutton; <al@alsutton.com> on 28 Apr, 2002 wrote:
I know the card is support and works under Linux, and that I'm not too far from my access point, because I used it under RedHat 7.2 for about 3 months from the same place as I'm attempting to use it now.
All help appreciated,
Have you tried the method described in the unofficial FAQ ?
*Warning* This post is long... Note to Togan: please replace my previous information in the unofficial FAQ with this more accurate (and less emotional) post. Thanks. ---- Start Wireless PCMCIA cards using the hotplug system in SuSE 8.0 The entire configuration process for wireless cards was changed in SuSE 8.0. Here is what I have learned so far in making my orinoco silver card work (with encryption). As much as possible, I tried to use the new SuSE system and configuration files. However, there is one point where I had to modify one of the scripts to get my card to initialize correctly (without manual shell commands). It is noted below. First, I created the PCMCIA definition as usual using YaST2 | Network/Basic | Network Card Configuration. I created a new ethernet card, marked it as PCMCIA, and set up my static IP settings and routes (default gateway). I ended up not using these, but in most cases, this will work fine and you still need to create the card definition for other scripts to work. YaST2 then saves the settings in /etc/sysconfig/network/ifcfg-eth-pcmcia-0. If you have more than one network card, you'll notice a separate file for each network card there named ifcfg-<something>. Next, SuSE 8.0 ships with kernel pcmcia enabled. I am not very familiar with the kernel implementation, but have read in the past that it does not work well with some cards. I can't really comment on the current status of kernel pcmcia, and since it clearly did not work with my card, I disabled it by setting PCMCIA_SYSTEM="External" in /etc/sysconfig/pcmcia. The new hotplug system brings with it many complex scripts to set up connections and tear them down. After reading through the hotplug scripts, I decided to help them out in my case by setting HOTPLUG_NET_DEFAULT=pcmcia in /etc/sysconfig/hotplug. I'm not sure this was necessary, but I wanted to make everything as explicit as possible. In the past, the pcmcia wireless configuration was controlled by the files in /etc/pcmcia. The key files _were_ config, config.opts, network.opts, and wireless.opts. Most of these files are no longer used. When a pcmcia card is inserted, it is detected by the cardmgr program, which takes the identifier string from card, matches it to a driver entry in the configuration database, and load the correct driver. The configuration database _used_ to be config, but now it uses wlan-ng.conf. To further complicate the issue with regards to Orinoco cards, there are three different drivers to choose from, wvlan_cs, orinoco_cs, and wavelan2_cs. While I have had success using each of these drivers, I tend to favor the orinoco_cs. I can't say it performs any better that the others, but when I did my initial research last year, it was the most up to date open source driver. The wavelan_cs appears to be a new driver, and I have not tested it. I decided to change the entry in /etc/pcmcia/wlan-ng.conf to use the orinoco_cs driver. The entry I changed was: card "Intersil PRISM2 Reference Design 11Mb/s WLAN Card" manfid 0x0156, 0x0002 bind "orinoco_cs" # bind "prism2_cs" Another new file in the mix is /etc/sysconfig/wireless. This is where global wireless settings can be made, such as the mode (ad-hoc vs. managed), ESSID (wireless LAN name), KEY, etc. These settings _used_ to be stored in wireless.opts. You can instead make these entries in the ifcfg-eth-pcmcia-0 if you use more than one wireless card and each needs different settings. Both the /etc/sysconfig/wireless and the /etc/sysconfig/network/ifcfg-<something> are sourced from the script that sets up the connection. I put my settings in the global file, /etc/sysconfig/wireless. The /etc/pcmcia/network.opts file _used_ to contain the schemes and network options for each scheme. You can still use this file if you want to, but you have to set the variable USE_SUSE_NETWORK_SETUP=no in that file. If you leave it at yes, the system is supposed to read the network settings in the /etc/sysconfig/network/ifcfg-eth-pcmcia-0 file, but I choose to set it to no and leave my settings in network.opts. The reason I did this has to do with my use of encryption. Wireless PCMCIA cards usually support multiple encryption keys. This way, if you connect to mutiple wireless networks, you can store the keys for each and select them which one to use at run time. The orinoco silver card supports 4 keys. If you only use the FIRST key, you can probably use the SuSE system without modification. However, I don't use the first key in my network and I could not make the SuSE system set any other key than the first one. This bug will only affect people that a) use encryption in their network and b) DO NOT use the first encryption key. If you use the first key, you should be able to set it in the KEY variable in the etc/sysconfig/wireless file and be done with it. The rest of this post explains how I worked around the multiple key issue. After a lot of trial and error, I found that the hotplug system calls a number of startup scripts, including /etc/hotplug/net.agent, /sbin/ifup, and eventually /etc/sysconfig/network/scripts/ifup-wireless to set up the wireless card. This is where I found the problem. Without getting into all the details, I ended up replacing a section of the script with a working command line that initializes my card correctly with a different encryption key than the first one. This is offending code in /etc/sysconfig/network/scripts/ifup-wireless: case $ACTION in start) # Mode need to be first : some settings apply [snip] run_iw_tool config mode $WIRELESS_MODE # This is a bit hackish, but should do the job right... if [ -n "$WIRELESS_ESSID" -o -n "$WIRELESS_MODE" ] ; then test -z "$WIRELESS_NICK" && WIRELESS_NICK=`/bin/hostname` fi # Regular stuff... [snip] ;; status) I deleted ALL the code in the start section of the case statement, and replaced it with one line so it looks like this: case $ACTION in start) iwconfig eth1 essid "mynet" mode Managed key 9999-9999-9A [3] ;; status) This sets up my card using encryption key 3 (No, thats not my real key). Now, my orinoco card initializes correctly at boot or when hot plugged. ---- End Best Regards, Keith -- LPIC-2, MCSE, N+ Got spam? Get spastic http://spastic.sourceforge.net
Suse 8.0 is deeply broken. I say this with sorrow, because I have worked hard to make it work; even with Keieth's hint's I cannnot get 802.11b to work on my test laptop. At leat I am lucky in that I keep an older laptop - a Toshiba Tecra 8000 with a Lucent Gold wavelan card - around to install "improved" software on before I risk it on my "professional" laptop (an HP 4150b running 7.3). Had I installed the 8.0 release on my "real" machine I'd be hosed - unable to send or receive email, etc. Looking at the pcmcia section in the fat Suse Linux 8.0 "reference manual" - page 339 - one sees the statement, following a vague paragraph, that "more detailed information about PCMCIA can be found in the reference manual". Gaak! This IS the reference manual - this self reference is perhaps the result of very hurried editing - and I think reflects the general quality of the release - namely, by date, with minimal quality control. I'm PISSED. I've spent about ten hours trying to get basic networking to work with 8.0. I even gave up on trying to "update" 7.3, and wiped the machine, doing a clean install of 8.0, and it STILL doesn't work, even with Keith's hints. Suse is going down the drain. I may have to switch to RedHat. I used to LIKE Ssue, and recommend it to friends! Not any more! -r-
participants (4)
-
Al Sutton
-
Keith Winston
-
tauzero.com/suse
-
Togan Muftuoglu