Mathieu Baudier wrote: >> OK then, I'll take your sillence as an approval of the manual and remove >> the DRAFT tag and move it to *Making Wireless work on your laptop (or >> desktop) >> *So if anyone has any final suggestions or comments I'd be happy to hear >> it before this goes official. >> > > Sorry, for not testing sooner. > > I took some time this morning and could update my driver using the > latest kernel update! > > Here are my comments: > > 1. There is a typo in: mkdir -P /usr/local/src/hybrid-wl > mkdir takes the -p option (lower case) > > 2. I could not perform: modprobe wl.ko > but: > insmod wl.ko > works > > 3. I did not need to define all the aliases, neither remove all b43 > stuff (I'm on a CentOS x86_64) > Since I prefer not to diverge too much from the base system, I left it > like that. > > 4. Interestingly I tried to define TYPEDEF_BOOL via the command line > (which would avoid the modification of the files): > make -C /lib/modules/`uname -r`/build/ M=$BUILD_DIR MODFLAGS=-DTYPEDEF_BOOL > It builds without error, and the module can be inserted, but then it > is not working (wlan networks are not found) > > More generally my question would be: if we would automate this > procedure in a RPM (including the download from Broadcom website), > would it count as redistribution?? > > Please find below for reference the script and patch I used for my testing. > (please note: that the module is built in a temporary directory in > order to keep the source directory read-only) > > Thanks for the hard work! > > Mathieu > > ## > ## broadcom.sh > ## > #!/bin/sh > > WL_VERSION=v5.10.91.9.3 > WL_ARCH=x86_64 > SRC_DIR=/usr/local/src/broadcom-hybrid-wl-$WL_ARCH-$WL_VERSION > BUILD_DIR=/tmp/wlbuild > > # Step 1: Prerequisites > sudo /sbin/lspci | grep Broadcom > sudo yum install kernel-headers kernel-devel gcc > > # Step 2: Retrieve sources > sudo mkdir -p $SRC_DIR > sudo cp -v broadcom-wl.patch $SRC_DIR > cd /tmp && wget -N > http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-$WL_ARCH-$WL_VERSION.tar.gz > cd $SRC_DIR && sudo tar -xzf /tmp/hybrid-portsrc-$WL_ARCH-$WL_VERSION.tar.gz > > # Step 3: Build as unprivileged user > mkdir $BUILD_DIR > cp -r $SRC_DIR/* $BUILD_DIR > cd $BUILD_DIR > #make -C /lib/modules/`uname -r`/build/ M=$BUILD_DIR MODFLAGS=-DTYPEDEF_BOOL > patch -Np1 < $SRC_DIR/broadcom-wl.patch > make -C /lib/modules/`uname -r`/build/ M=`pwd` > strip --strip-debug $BUILD_DIR/wl.ko > > # Step 4a: Check that the new module can be loaded > #sudo /sbin/rmmod bcm43xx > #sudo /sbin/rmmod b43 > #sudo /sbin/rmmod b43legacy > #sudo /sbin/rmmod ndiswrapper > #sudo /sbin/modprobe ieee80211_crypt_tkip > > #sudo /sbin/rmmod wl > sudo /sbin/insmod $BUILD_DIR/wl.ko > #sudo /sbin/service NetworkManager restart > > # Step 4b: Install > sudo cp -v $BUILD_DIR/wl.ko /lib/modules/`uname -r`/extra/ > sudo /sbin/depmod $(uname -r) > sudo /sbin/modprobe wl > #sudo /sbin/service NetworkManager restart > > # Clean up > rm -vf /tmp/hybrid-portsrc-*.tar.gz > rm -rf $BUILD_DIR > > > ## > ## broadcom-wl.patch > ## > > diff -Naur hybrid-portsrc/src/include/typedefs.h > hybrid-portsrc-mod/src/include/typedefs.h > --- hybrid-portsrc/src/include/typedefs.h 2009-09-16 00:25:27.000000000 +0200 > +++ hybrid-portsrc-mod/src/include/typedefs.h 2009-12-23 > 12:32:15.000000000 +0100 > @@ -65,11 +65,11 @@ > > #ifdef USE_TYPEDEF_DEFAULTS > #undef USE_TYPEDEF_DEFAULTS > - > +/* > #ifndef TYPEDEF_BOOL > typedef unsigned char bool; > #endif > - > +*/ > #ifndef TYPEDEF_UCHAR > typedef unsigned char uchar; > #endif > _______________________________________________ > CentOS-docs mailing list > CentOS-docs at centos.org > http://lists.centos.org/mailman/listinfo/centos-docs > > Thanks for the correction (with the 'mkdir')! I've made the change and updated the "Making wireless work page" with the new manual... Curious that you have to use 'insmod' to load the module, instead 'modprobe'. Funny thing is that I've been using the same procedure every time after upgrading the kernel on the same /CentOS 5.3-5.4 x86_64/ since August... when I first installed this driver, and as far as I recall, modprobe always worked. The excerpt from the 'modprobe' manual states: "/*insmod* is a trivial program to insert a module into the kernel: if the filename is a hyphen, the module is taken from standard input. Most users will want to use modprobe(8) instead, which is cleverer." /In the event we see some more users experiencing this issue, it would surely be a good idea to add the note to the manual. The draft will be removed from my CentOS Wiki home page shortly. -- *Srdacan pozdrav,* *Milos Blazevic* Cert. No: 605008720421478 Email: milos.blazevic at sbb.rs <mailto:milos.blazevic at sbb.rs> Tel: 064/301 45 78