SuSE 9.0 with Belkin 54g F5D7010 (Broadcom BCM94306 chipset)
Following on from successful SuSE 9.1 install managed SuSE 9.0
Toshiba Satellite 2450 Pentium 4 2.4GHz 256Mb memory onboard Realtek 8139 multiboot XP/SuSE 9.0/SuSE 9.1
Issues:
SuSE 9.1 comes with ndiswrapper 0.6 and better wireless support - SuSE 9.0 doesn't have ndiswrapper.
Needed to have kernel source installed, however, because I hadn't installed it initially and kernel had been upgraded since by YaST online updates I had to reinstall SuSE 9.0 (with everything I could need) and then apply all the online updates and then install nVidia driver last.
SuSE 9.0 loads init scripts (/etc/init.d/rcx.d) in different order from SuSE 9.1 - network script loads by default before hotplug and pcmcia so pcmcia network card won't load!
Downloaded ndiswrapper0.8
Followed the install instructions that came with ndiswrapper.
Extracted to folder
copied all files from Belkin CDROM Driver folder to same folder (bcmwl5.sys bcm43xx.cat bcmwl5.inf)
make install
ndiswrapper -i /path/to/bcmwl5.inf
ndiswrapper -l showed:
bcmwl5 present
ndiswrapper -m
Checked could get it to work by:
ifconfig eth0 down (to disable onboard ethernet and remove any routes etc)
iwconfig wlan0 essid "essid_name"
iwconfig wlan0 key <hexadecimalkey>
iwconfig now shows wlan0 with correct ESSID and Key but ifconfig shows no IP addresses
dhcpcd wlan0
gives error message - no config file but gets IP address
ifconfig wlan0 now shows IP addresses and everything works.
Used /etc/sysconfig/ifcfg.template as a template to create new /etc/sysconfig/network/ifcfg-wlan0.
Key sections are:
STARTMODE='hotplug'
BOOTPROTO='dhcp'
DHCLIENT_MODIFY_RESOLV_CONF='yes'
DHCLIENT_SET_DEFAULT_ROUTE='yes'
WIRELESS_ESSID='your_ESSID'
WIRELESS_KEY='your_key'
WIRELESS_KEY_LENGTH='128'
WIRELESS_MODE='Managed'
WIRELESS_POWER='yes'
everything else can be left as ''
When I rebooted although ndiswrapper -l showed
bcmwl5 present
the card wouldn't start, iwconfig wlan0 returned an error and the only way I could get it to work was by:
rmmod ndiswrapper
insmod ndiswrapper
at which point the green light on the card lit up and I could then use iwconfig to manually set ESSID and key. Once that had been done dhcpcd wlan0 got me going.
Although I could (I think!) have edited an init script to put all the manual bits in to get it going I do try to work with linux as if I ever change card I don't want to be hand editing scripts again! Therefore I had a look at the order in which the /etc/init.d/rcX.d/ scripts get called.
In SuSE the rc3.d and rc5.d directories contain links to Start and Kill scripts that are loaded in order. In SuSE 9.0 both directories have links labelled S05network, S07hotplug and S08pcmcia and K16network, K14hotplug and K13pcmcia (together with other scripts). Because there were no scripts starting K12 or S09 all I did was rename S05network S09network and K16network to K12network in both rc3.d and rc5.d.{edit}but see below
Because this was for fun (!) I then rebooted and hoped nothing would complain such that I'd have an unusable system. However, it came up, the green power light was on the card and I now have a working wireless connection.
Because the ifcfg-wlan0 file exists it appears in YaST .. Network Devices .. Network Cards and clicking on hardware details shows it as using Kernel module ndiswrapper and then on Wireless settings gives me details of operating mode, ESSID, NWID, key (hex) and Nickname. Changing any of these settings will work, however, it will also change
STARTMODE='hotplug' to
STARTMODE='onboot'
so you should keep a copy of your working ifcfg-wlan0 safely somewhere just in case.
Final note is that in installing stuff recently in SuSE 9.0 (and SuSE9.1) I have hit situations where stuff I'd done before successfully inexplicably didn't work. The only differences in what I had done seemed to be what base system I started with, when I applied online updates and when I installed new packages. Therefore because my CDs are quite a way behind current patches (and I have not had time to investigate the issues) in this latest reinstall I installed absolutely everything I could want from the source CDs first, let YaST sort out any dependancy issues and then applied all the YaST online updates - taking care to read what it said about the kernel updates and nVidia drivers!
Although it may not have made a difference I certainly believe it could make a difference and at least now I have a clean installation.
{edit}Changing the order of init scripts
Renaming init scripts in rc3.d and rc5.d worked until I next made a system configuration change which needed to call insserv whereupon it recalculated the dependencies and recreated the links in the original order (S05network, S07hotplug, S08pcmcia)! I had a look at the SuSE 9.1 set up to see what was different, read the manual and found out that the dependancies are calculated by reading the init info header, specifically:
# Required-Start:
# X-UnitedLinux-Should-Start:
The
Both pcmcia and hotplug had 'network' against X-UnitedLinux-Should-Start and 'syslog' against Required-Start. As syslog also runs after network I removed all the entries for hotplug and for pcmcia left 'hotplug' as Should-Start and changed Required-Start to $local_fs.
Ran insserv:
insserv -r pcmcia
insserv -r hotplug
insserv hotplug
insserv pcmcia
New numbering sequence S01hotplug, S02pcmcia and S05network and K16network,K19pcmcia and K20hotplug. Reboot and everything comes up fine. Reinstall webmin (the install process puts its own init script in /etc/init.d and calls insserv) and everything is still ok.
Don't know why the dependancies were originally set that way in the hotplug and pcmcia scripts - probably only need to check interaction with syslog.
Last edited by andrewdodsworth; 07-22-2004 at 02:21 AM.
|