Share your knowledge at the LQ Wiki.
Go Back > Blogs > radiodee1
User Name


Rate this Entry

linux-image-2.6.24-rc8 and wireless

Posted 11-15-2008 at 07:17 AM by radiodee1
Updated 11-26-2008 at 06:22 AM by radiodee1

--Dell Laptop: linux-image-2.6.24-rc8 and wireless 1/26/08--

I bought a wireless router. I dual boot windows and linux on my laptop. I was getting good reception with windows, but not with linux, so I decided that I needed to try out different options with my wireless to try to get better reception.

I was using bcm43xx, but as I say, the signal was always week. I tried out ndiswrapper. I had tried out ndiswrapper once before without success, but they are constantly updating the code, so I thought there was a chance that it would work now, even though it really really didn't work before. I was no more successfull the second time.

I was fairly desperate, and I had read that the newest kernels (2.6.24) had code in them that was entirely re written for broadcom wireless chips. The old module, called bcm43xx was being replaced by new code, called b43. I went and downloaded a stock kernel from the debian kernel trunk. This area on the internet is above 'experemental' in the debian hierarchy of testing and research. I had read good things about this kernel, but I really didn't know if it would work. I didn't even know if the b43 module would work at all, let alone give my linux installation better wifi reception.

It worked well. I downloaded the pre-built kernel and installed it with the 'dpkg' command. I restarted my computer and the wireless signal came in strong from some distance right away. I wanted, though, to get all of my software to work on one kernel, so I needed the kernel headers. They're important as they allow special modules to be compiled against the kernel, allowing your special software to run. The problem was the headers were ready, but another package, called linux-kbuild, wasn't ready, and this package was a dependency of the linux-headers package. I could download the headers, and I did, but I couldn't install them.

I posted on my favorite forum and asked if anybody knew how to compile and build the linux-kbuild package. I was told the easiest thing to do would be to build your own kernel along with your own headers. I was told to do it the debian way, and then I'd have a linux-image package and a linux-headers package and they'd depend on my current version of linux-kbuild. This is what I set about doing.

First of all, I didn't do all this in one day. I tried out the kernel from the 'trunk' and posted to the forum on one evening. The next day I found out that the kernel had been moved from the 'trunk' area to the 'expermental' area. This meant that the source version of the kernel was available as a debian package. I had fairly good internet access at that point - since I was using the binary version of the kernel I had installed the previous day - so I downloaded the source. At that point I made some mistakes.

The reccomended process is to download the source package and install it. Then go to /usr/src and locate the source tarball. Unapck the tarball and go into the directory that 'tar' creates. Configure the kernel somehow, and then build the kernel. If you do it the debian way, you create a debian package automatically at the end of the build process. Take this package and install it. Similarly a debian package for the headers files is created automatically if you want it to be. Install this too.

One problem I had, looking back, is that I probably deleted or moved the kernel 'source' directory after I finished building the kernel. This was what I think I did the first time I tried the process. Sometimes this can be a problem, and if you don't plan ahead and build your kernel where you want the final source code to stay after you're done with the building, you could have problems when you try to build your modules.

The other thing I did was I built the kernel in the /usr/src/ directory, and to do that you need to be the root user. This was not a problem, but it probably would have been more elegant to build the kernel as a regular user and only install it as root. This is what the fakeroot command is for. I didn't use it the first time I built the kernel.

So the first kernel I downloaded helped out my wireless situation, but had no headers. That took all of ten minutes to download, but a little bit longer to configure. The second 2.6.24-rc8 kernel I had I built, and I built it with the headers for it, but I couldn't install the headers properly because - I think - I replaced some essential symbolic link during the build process or I moved the kernel source after I built it. That took about an hour. The third 2.6.24-rc8 kernel I had, and the one I'm keeping, I built from the same source as the second one. I compiled the whole thing using fakeroot, and then installed it as root. It worked well.

EDIT: Later the kernel 2.6.24 moved into testing and I would install the official debian binary.
Posted in Uncategorized
Views 940 Comments 0
« Prev     Main     Next »


All times are GMT -5. The time now is 06:57 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration