Comment 6 for bug 273266

Revision history for this message
Leann Ogasawara (leannogasawara) wrote : Re: regression: wifi with AR242x doesn't work with 2.6.27-4, did work with 2.6.27-2

Hi Antoine,

Sorry I didn't get back to you before the weekend. Lets see if I can give you a step by step set of directions for performing the bisect the next time you'll have some free time. Again, I really appreciate you willing to do the git bisect. The best (and probably easiest) way to get the Ubuntu kernel source it to clone the ubuntu-intrepid git tree:

git clone git://kernel.ubuntu.com/ubuntu/ubuntu-intrepid.git

You'll then run the git bisect from the ubuntu-intrepid git tree you just cloned:

cd ubuntu-intrepid
git bisect start
git bisect good Ubuntu-2.6.27-2.3
git bisect bad Ubuntu-2.6.27-3.4

Ubuntu-2.6.27-2.3 and Ubuntu-2.6.27-3.4 are the git tags marking each release in the git tree. To see a list of the Ubuntu tags to choose from you can do: git tag -l "Ubuntu-*"

At this point you're ready to start building and testing the kernel. https://help.ubuntu.com/community/Kernel/Compile should outline how to build the kernel from the git tree - make sure you've installed the packages it lists at that page. Then basically do the following (from inside the ubuntu-intrepid directory):

AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-generic

Once the build finishes, it should have produced two .deb files in the directory above ubuntu-intrepid. Install these .debs:

cd ..
sudo dpkg -i linux-headers-2.6.27-2-generic_2.6.27-2.3_i386.deb
sudo dpkg -i linux-image-2.6.27-2-generic_2.6.27-2.3_i386.deb

Then you should be able to just reboot and choose the kernel you just built and installed. Once you've booted, verify if wifi is working or not. If it is working, go back to the ubuntu-intrepid git tree and mark that bisect as good. If it is not working mark the bisect as bad:

cd ubuntu-intrepid
git bisect good

--or--

cd ubuntu-intrepid
git bisect bad

You'll then continue this process of building and testing the kernel and marking each with either a git bisect good or git bisect bad until it finally tells you which commit is the bad commit. I'm guessing you'll only need to do a few iterations to narrow down the bad commit since you had already pretty closely narrowed down which versions you noticed the regression.

Once you have narrowed down the patch you should be able to then do:

git bisect reset
git revert <commit id>

Then do one final build to confirm that reverting that patch does indeed resolve the bug. I hope that helps. Just in case what I wrote above isn't exactly clear, I've pasted the execution of the above steps up to installing the first kernel:

ogasawara@emiko:/tmp$ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-intrepid.git
Initialized empty Git repository in /tmp/ubuntu-intrepid/.git/
remote: Counting objects: 910228, done.
remote: Compressing objects: 100% (175290/175290), done.
remote: Total 910228 (delta 752334), reused 891181 (delta 733442)
Receiving objects: 100% (910228/910228), 258.02 MiB | 750 KiB/s, done.
Resolving deltas: 100% (752334/752334), done.
Checking out files: 100% (25052/25052), done.
ogasawara@emiko:/tmp$ cd ubuntu-intrepid/
ogasawara@emiko:/tmp/ubuntu-intrepid$ git bisect start
ogasawara@emiko:/tmp/ubuntu-intrepid$ git bisect good Ubuntu-2.6.27-2.3
ogasawara@emiko:/tmp/ubuntu-intrepid$ git bisect bad Ubuntu-2.6.27-3.4
Bisecting: 3 revisions left to test after this
[9a95c56475cc81e731ca172c1161bb7917e7dba3] UBUNTU: SAUCE: appleir: Enable driver for new MacBook Pro
ogasawara@emiko:/tmp/ubuntu-intrepid$ AUTOBUILD=1 NOEXTRAS=1 fakeroot debian/rules binary-generic
... (kernel build output) ...
ogasawara@emiko:/tmp/ubuntu-intrepid$ cd ..
ogasawara@emiko:/tmp$ sudo dpkg -i linux-headers-2.6.27-2-generic_2.6.27-2.3_i386.deb
ogasawara@emiko:/tmp$ sudo dpkg -i linux-image-2.6.27-2-generic_2.6.27-2.3_i386.deb